666d98f077933b12b5accadc20c244a689869cd1
[gnulib.git] / ChangeLog
1 2011-07-31  Bruno Haible  <bruno@clisp.org>
2
3         Add support for Minix with ACK compiler.
4         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
5         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
6         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
7
8 2011-07-31  Bruno Haible  <bruno@clisp.org>
9
10         Documentation about Minix.
11         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
12         * doc/glibc-headers/*.texi: Likewise.
13         * doc/posix-functions/*.texi: Likewise.
14         * doc/glibc-functions/*.texi: Likewise.
15
16 2011-07-31  Bruno Haible  <bruno@clisp.org>
17
18         snippet/warn-on-use: Fix indentation.
19         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
20
21 2011-07-25  Jim Meyering  <meyering@redhat.com>
22
23         tests: test-update-copyright.sh: remove unnecessary "rm" commands
24         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
25         commands.
26
27 2011-07-27  Jim Meyering  <meyering@redhat.com>
28
29         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
30         * top/maint.mk (gl_extract_significant_defines_): Now that
31         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
32         gnulib/lib/signal.in.h, and now that we recommend to
33         define-if-undefined those two symbols in application code,
34         we must filter them out of the "significant" list.
35         This avoids a "make syntax-check" failure in coreutils.
36
37 2011-07-26  Eric Blake  <eblake@redhat.com>
38
39         warnings: add comments about previous patch
40         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
41         * m4/include_next.m4: Likewise.
42         * m4/warn-on-use.m4: Likewise.
43         * m4/warnings.m4: Likewise, and simplify use.
44         Suggested by Stefano Lattarini.
45
46         include-next, warnings: support older autoconf
47         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
48         AS_VAR_PUSHDEF in a way that works with older autoconf.
49         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
50         Reported by Daniel P. Berrange.
51
52 2011-07-25  Bruno Haible  <bruno@clisp.org>
53
54         fseek, ftell: Fix doc.
55         * doc/posix-functions/fseek.texi: Reword statement about
56         AC_SYS_LARGEFILE.
57         * doc/posix-functions/ftell.texi: Likewise.
58
59 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
60             Bruno Haible  <bruno@clisp.org>
61
62         Add dependencies to the 'largefile' module.
63         * modules/fopen (Depends-on): Add 'largefile'.
64         * modules/freopen (Depends-on): Likewise.
65         * modules/fseeko (Depends-on): Likewise.
66         * modules/ftello (Depends-on): Likewise.
67         * modules/glob (Depends-on): Likewise.
68         * modules/lseek (Depends-on): Likewise.
69         * modules/lstat (Depends-on): Likewise.
70         * modules/mkostemp (Depends-on): Likewise.
71         * modules/mkostemps (Depends-on): Likewise.
72         * modules/mkstemp (Depends-on): Likewise.
73         * modules/mkstemps (Depends-on): Likewise.
74         * modules/open (Depends-on): Likewise.
75         * modules/openat (Depends-on): Likewise.
76         * modules/pread (Depends-on): Likewise.
77         * modules/pwrite (Depends-on): Likewise.
78         * modules/scandir (Depends-on): Likewise.
79         * modules/stat (Depends-on): Likewise.
80         * modules/tmpfile (Depends-on): Likewise.
81         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
82         since the containing module now depends on the largefile module.
83         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
84         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
85         off_t is fixed by gnulib.
86         * doc/posix-functions/freopen.texi: Likewise.
87         * doc/posix-functions/fseeko.texi: Likewise.
88         * doc/posix-functions/fstatat.texi: Likewise.
89         * doc/posix-functions/ftello.texi: Likewise.
90         * doc/posix-functions/glob.texi: Likewise.
91         * doc/posix-functions/lseek.texi: Likewise.
92         * doc/posix-functions/lstat.texi: Likewise.
93         * doc/posix-functions/mkstemp.texi: Likewise.
94         * doc/posix-functions/open.texi: Likewise.
95         * doc/posix-functions/openat.texi: Likewise.
96         * doc/posix-functions/pread.texi: Likewise.
97         * doc/posix-functions/pwrite.texi: Likewise.
98         * doc/posix-functions/scandir.texi: Likewise.
99         * doc/posix-functions/stat.texi: Likewise.
100         * doc/posix-functions/tmpfile.texi: Likewise.
101         * doc/glibc-functions/mkostemp.texi: Likewise.
102         * doc/glibc-functions/mkostemps.texi: Likewise.
103         * doc/glibc-functions/mkstemps.texi: Likewise.
104
105 2011-07-25  Bruno Haible  <bruno@clisp.org>
106
107         fcntl: Move AC_LIBOBJ invocation to module description.
108         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
109         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
110
111         fcntl: Remove call-in from fchdir.m4.
112         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
113         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
114
115         dup3: Remove potential call-in from fchdir.m4.
116         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
117         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
118
119         dup2: Move AC_LIBOBJ invocation to module description.
120         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
121         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
122         Don't invoke AC_LIBOBJ.
123         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
124
125         dup2: Remove call-in from fchdir.m4.
126         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
127         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
128
129         fclose: Move AC_LIBOBJ invocation to module description.
130         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
131         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
132         to 1.
133         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
134
135         fclose: Remove call-in from close.m4.
136         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
137         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
138
139         close: Move AC_LIBOBJ invocation to module description.
140         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
141         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
142         1.
143         * modules/close (configure.ac): Invoke AC_LIBOBJ.
144
145         close: Remove call-in from fchdir.m4.
146         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
147         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
148
149         open: Move AC_LIBOBJ invocation to module description.
150         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
151         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
152         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
153
154         open: Remove call-in from fchdir.m4.
155         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
156         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
157
158         fchdir: Start to remove gl_REPLACE_* idiom.
159         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
160         (gl_FUNC_FCHDIR): Invoke it.
161
162 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
163
164         * lib/ftell.c (ftell): Comment out cast.
165
166         close: use gl_REPLACE_FCLOSE only if defined
167         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
168         is defined.  The close module doesn't depend on the fclose module
169         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
170         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
171         I reproduced the problem with "./gnulib-tool --test close sys_socket".
172
173 2011-07-24  Jim Meyering  <meyering@redhat.com>
174
175         test-select.h: avoid warning when using gcc's -Wmissing-declarations
176         * tests/test-select.h (test_function): Declare as "static".
177
178 2011-07-24  Bruno Haible  <bruno@clisp.org>
179
180         doc: Mention the effects of AC_SYS_LARGEFILE.
181         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
182         on this function.
183         * doc/posix-functions/aio_error.texi: Likewise.
184         * doc/posix-functions/aio_fsync.texi: Likewise.
185         * doc/posix-functions/aio_read.texi: Likewise.
186         * doc/posix-functions/aio_return.texi: Likewise.
187         * doc/posix-functions/aio_suspend.texi: Likewise.
188         * doc/posix-functions/aio_write.texi: Likewise.
189         * doc/posix-functions/fgetpos.texi: Likewise.
190         * doc/posix-functions/fopen.texi: Likewise.
191         * doc/posix-functions/freopen.texi: Likewise.
192         * doc/posix-functions/fsetpos.texi: Likewise.
193         * doc/posix-functions/fstatvfs.texi: Likewise.
194         * doc/posix-functions/ftruncate.texi: Likewise.
195         * doc/posix-functions/ftw.texi: Likewise.
196         * doc/posix-functions/getrlimit.texi: Likewise.
197         * doc/posix-functions/glob.texi: Likewise.
198         * doc/posix-functions/lio_listio.texi: Likewise.
199         * doc/posix-functions/lockf.texi: Likewise.
200         * doc/posix-functions/mkstemp.texi: Likewise.
201         * doc/posix-functions/mmap.texi: Likewise.
202         * doc/posix-functions/nftw.texi: Likewise.
203         * doc/posix-functions/openat.texi: Likewise.
204         * doc/posix-functions/opendir.texi: Likewise.
205         * doc/posix-functions/posix_fadvise.texi: Likewise.
206         * doc/posix-functions/posix_fallocate.texi: Likewise.
207         * doc/posix-functions/pread.texi: Likewise.
208         * doc/posix-functions/pwrite.texi: Likewise.
209         * doc/posix-functions/readdir.texi: Likewise.
210         * doc/posix-functions/readdir_r.texi: Likewise.
211         * doc/posix-functions/rewinddir.texi: Likewise.
212         * doc/posix-functions/scandir.texi: Likewise.
213         * doc/posix-functions/seekdir.texi: Likewise.
214         * doc/posix-functions/setrlimit.texi: Likewise.
215         * doc/posix-functions/statvfs.texi: Likewise.
216         * doc/posix-functions/telldir.texi: Likewise.
217         * doc/posix-functions/tmpfile.texi: Likewise.
218         * doc/posix-functions/truncate.texi: Likewise.
219         * doc/glibc-functions/fallocate.texi: Likewise.
220         * doc/glibc-functions/fstatfs.texi: Likewise.
221         * doc/glibc-functions/fts_children.texi: Likewise.
222         * doc/glibc-functions/fts_read.texi: Likewise.
223         * doc/glibc-functions/getdirentries.texi: Likewise.
224         * doc/glibc-functions/mkostemp.texi: Likewise.
225         * doc/glibc-functions/mkostemps.texi: Likewise.
226         * doc/glibc-functions/mkstemps.texi: Likewise.
227         * doc/glibc-functions/preadv.texi: Likewise.
228         * doc/glibc-functions/pwritev.texi: Likewise.
229         * doc/glibc-functions/sendfile.texi: Likewise.
230         * doc/glibc-functions/statfs.texi: Likewise.
231
232 2011-07-24  Bruno Haible  <bruno@clisp.org>
233
234         doc: Fix typo.
235         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
236
237 2011-07-24  Bruno Haible  <bruno@clisp.org>
238
239         doc: Mention fsusage.
240         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
241
242 2011-07-24  Bruno Haible  <bruno@clisp.org>
243
244         doc: Mention new glibc headers and functions.
245         * doc/glibc-headers/gshadow.texi: New file.
246         * doc/glibc-functions/endsgent.texi: New file.
247         * doc/glibc-functions/fgetsgent.texi: New file.
248         * doc/glibc-functions/fgetsgent_r.texi: New file.
249         * doc/glibc-functions/getsgent.texi: New file.
250         * doc/glibc-functions/getsgent_r.texi: New file.
251         * doc/glibc-functions/getsgnam.texi: New file.
252         * doc/glibc-functions/getsgnam_r.texi: New file.
253         * doc/glibc-functions/putsgent.texi: New file.
254         * doc/glibc-functions/setsgent.texi: New file.
255         * doc/glibc-functions/sgetsgent.texi: New file.
256         * doc/glibc-functions/sgetsgent_r.texi: New file.
257         * doc/glibc-functions/malloc_info.texi: New file.
258         * doc/glibc-functions/preadv.texi: New file.
259         * doc/glibc-functions/pwritev.texi: New file.
260         * doc/glibc-functions/register_printf_modifier.texi: New file.
261         * doc/glibc-functions/register_printf_specifier.texi: New file.
262         * doc/glibc-functions/register_printf_type.texi: New file.
263         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
264         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
265         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
266         * doc/glibc-functions/pthread_getname_np.texi: New file.
267         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
268         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
269         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
270         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
271         * doc/glibc-functions/pthread_setname_np.texi: New file.
272         * doc/glibc-functions/pthread_sigqueue.texi: New file.
273         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
274         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
275         * doc/glibc-functions/qsort_r.texi: New file.
276         * doc/glibc-functions/quick_exit.texi: New file.
277         * doc/glibc-functions/syncfs.texi: New file.
278         * doc/gnulib.texi: Include them.
279         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
280         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
281         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
282         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
283         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
284         * doc/glibc-functions/execvpe.texi: Likewise.
285
286 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
287
288         ftell: don't include <unistd.h>
289         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
290         guaranteed to define off_t, and the ftell module depends on the
291         stdio module.
292
293         ftell: do not assume wraparound signed arithmetic
294         * lib/ftell.c: Include <limits.h>.
295         (ftell): Don't assume wraparound signed arithmetic.
296
297 2011-07-24  Bruno Haible  <bruno@clisp.org>
298
299         close: No longer depend on module 'fclose'.
300         * modules/close (Depends-on): Remove fclose.
301         * NEWS: Mention the change.
302         Suggested by Sam Steingold <sds@gnu.org>.
303
304 2011-07-24  Bruno Haible  <bruno@clisp.org>
305
306         fsusage: Enable large volume support on AIX >= 5.2.
307         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
308         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
309         instead of STAT_STATVFS.
310         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
311
312         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
313         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
314         f_blocks field only on MacOS X.
315
316         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
317         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
318         * modules/fsusage (Depends-on): Add largefile.
319
320 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
321
322         * README: Modernize discussion of signed integers.
323         Assuming overflow wraparound is no longer safe.
324         Mention ones' complement and signed magnitude.
325
326 2011-07-22  Bruno Haible  <bruno@clisp.org>
327
328         select tests, pselect tests: Refactor.
329         * tests/test-select.h: New file, extracted from tests/test-select.c.
330         (select_fn): New type.
331         (test, do_select, do_select_nowait, do_select_wait, test_tty,
332         test_connect_first, test_accept_first, test_pair, test_socket_pair,
333         test_pipe): Add my_select argument.
334         (test_function): Renamed from main. Add my_select argument.
335         * tests/test-select.c: Move most code to tests/test-select.h. Include
336         test-select.h.
337         * modules/select-tests (Files): Add tests/test-select.h.
338         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
339         (my_select, main): New functions.
340         * modules/pselect-tests (Files): Add tests/test-select.h,
341         tests/macros.h, tests/signature.h.
342         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
343         (configure.ac): Check for <sys/wait.h>.
344
345 2011-07-22  Bruno Haible  <bruno@clisp.org>
346
347         sys_select tests: Check the signature of FD_*.
348         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
349         signature tests from here...
350         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
351         here.
352         * modules/sys_select-tests (Files): Add tests/signature.h.
353
354 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
355
356         largefile: new module, replacing large-inode
357         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
358         * MODULES.html.sh: Add largefile, remove large-inode.
359         * modules/largefile, m4/largefile.m4: New files.
360         * modules/large-inode, m4/large-inode.m4: Remove.
361
362         fsusage: port to MacOS X 10.7 with 4 TiB file systems
363         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
364         implementations that use only 32 bits to count blocks.
365         On typical hosts with 1024-byte blocks, this fails with file
366         systems as small as 4 TiB.  Problem reported by Herb Wartens
367         <http://debbugs.gnu.org/9140> and this should also fix a similar
368         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
369
370         large-inode: New module
371         * MODULES.html.sh: Add it.
372         * modules/large-inode, m4/large-inode.m4: New files.
373
374         extensions: Enable extensions on MacOS X 10.5 and later.
375         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
376
377 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
378
379         file-has-acl: use acl_extended_file_nofollow if available
380         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
381         (acl_extended_file): New macro.
382         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
383         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
384
385 2011-07-21  Bruno Haible  <bruno@clisp.org>
386
387         Declare system functions in a way that works with C++.
388         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
389         declare fdopendir as extern "C".
390         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
391         declare frexpl as extern "C".
392         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
393         declare gai_strerror as extern "C".
394         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
395         programs, declare gai_strerror as extern "C".
396         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
397         declare getlogin_r as extern "C".
398         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
399         as extern "C".
400         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
401         declare ldexpl as extern "C".
402         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
403         as extern "C".
404         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
405         program, declare getmntinfo as extern "C".
406         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
407         stpncpy as extern "C".
408         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
409         program, declare __xpg_strerror_r as extern "C".
410         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
411         strndup as extern "C".
412         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
413         declare memset and bzero as extern "C".
414         Reported by Sam Steingold <sds@gnu.org>.
415
416 2011-07-12  Jim Meyering  <meyering@redhat.com>
417
418         maint.mk: prohibit inclusion of "verify.h" without use
419         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
420
421 2011-07-19  Pádraig Brady  <P@draigBrady.com>
422
423         timer-time: A new module to check for timer_settime()
424         * m4/timer_time.m4: Check for the posix function.
425         * modules/timer-time: Add the new module.
426         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
427         Mention it.
428
429 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
430             Bruno Haible  <bruno@clisp.org>
431
432         pthread_sigmask: assume POSIX threads if --avoid=threadlib
433         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
434         not defined, assume POSIX threads and look for pthread_sigmask in
435         $LIBS, without changing $CPPFLAGS.
436
437 2011-07-19  Bruno Haible  <bruno@clisp.org>
438
439         strstr: Update cross-compilation guess.
440         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
441         CPUs, guess no, in view of glibc
442         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
443         Suggested by Eric Blake. Reported by Reuben Thomas.
444
445 2011-07-19  Pádraig Brady  <P@draigBrady.com>
446
447         getopt-gnu: suppress core dumps from detection code
448         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
449         to suppress core dumps that may well occur on glibc systems.
450         * modules/getopt-gnu: Depend on nocrash.
451
452 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
453
454         pthread_sigmask: ensure usleep is declared
455         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
456         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
457
458 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
459
460         doc: Document NonStop portability issues.
461         * doc/posix-functions/sigaction.texi (sigaction):
462         * doc/posix-headers/signal.texi (signal.h):
463         Document NonStop.  See Joachim Schmitz in
464         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
465
466 2011-07-15  Bruno Haible  <bruno@clisp.org>
467
468         ffsl, ffsll: Avoid unportable behaviour.
469         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
470
471 2011-07-15  Bruno Haible  <bruno@clisp.org>
472
473         ffs: More tests.
474         * tests/test-ffs.c (NBITS): New macro.
475         (main): Add more tests.
476         * tests/test-ffsl.c (NBITS): New macro.
477         (main): Add more tests.
478         * tests/test-ffsll.c (NBITS): New macro.
479         (main): Add more tests.
480
481 2011-07-15  Eric Blake  <eblake@redhat.com>
482
483         ffsl, ffsll: new modules
484         * modules/ffsl: New file.
485         * modules/ffsll: Likewise.
486         * m4/ffsl.m4: Likewise.
487         * m4/ffsll.m4: Likewise.
488         * lib/ffsl.c: Likewise.
489         * lib/ffsl.h: Likewise.
490         * lib/ffsll.c: Likewise.
491         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
492         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
493         * modules/string (Makefile.am): Substitute witnesses.
494         * lib/strings.in.h (ffsl, ffsll): Declare.
495         * modules/ffsl-tests: New test file.
496         * modules/ffsll-tests: Likewise.
497         * tests/test-ffsl.c: Likewise.
498         * tests/test-ffsll.c: Likewise.
499         * MODULES.html.sh (Integer arithmetic functions): Mention it.
500         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
501         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
502
503         ffs: fix m4 prerequisite
504         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
505
506         ffs: avoid undefined behavior
507         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
508         * tests/test-ffs.c (naive, main): Avoid signed shifts.
509         Reported by Bruno Haible.
510
511 2011-07-12  Bruno Haible  <bruno@clisp.org>
512
513         pthread_sigmask: Rely on module 'threadlib'.
514         * modules/pthread_sigmask (Depends-on): Add threadlib.
515         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
516         is defined.
517
518 2011-07-12  Bruno Haible  <bruno@clisp.org>
519
520         regex: Depend on module 'strcase'.
521         * modules/regex (Depends-on): Add strcase, for strcasecmp().
522
523 2011-07-12  Jim Meyering  <meyering@redhat.com>
524
525         warn-on-use: fix typo in file name
526         * modules/snippet/warn-on-use (Files): Correct file name:
527         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
528
529 2011-07-12  Bruno Haible  <bruno@clisp.org>
530
531         strings: Document module.
532         * doc/posix-headers/strings.texi: Mention module 'strings'.
533
534 2011-07-12  Bruno Haible  <bruno@clisp.org>
535
536         Rename module '_Noreturn' to 'snippet/_Noreturn'.
537         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
538         (Files, Makefile.am): Update.
539         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
540         * modules/stdlib (Depends-on): Update.
541
542 2011-07-12  Bruno Haible  <bruno@clisp.org>
543
544         * NEWS: Mention the changes.
545
546         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
547         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
548         (Files, Makefile.am): Update.
549         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
550         * modules/arpa_inet (Depends-on): Update.
551         * modules/ctype (Depends-on): Update.
552         * modules/dirent (Depends-on): Update.
553         * modules/fcntl-h (Depends-on): Update.
554         * modules/glob (Depends-on): Update.
555         * modules/iconv-h (Depends-on): Update.
556         * modules/inttypes-incomplete (Depends-on): Update.
557         * modules/langinfo (Depends-on): Update.
558         * modules/locale (Depends-on): Update.
559         * modules/math (Depends-on): Update.
560         * modules/netdb (Depends-on): Update.
561         * modules/poll-h (Depends-on): Update.
562         * modules/pty (Depends-on): Update.
563         * modules/search (Depends-on): Update.
564         * modules/signal (Depends-on): Update.
565         * modules/spawn (Depends-on): Update.
566         * modules/stdio (Depends-on): Update.
567         * modules/stdlib (Depends-on): Update.
568         * modules/string (Depends-on): Update.
569         * modules/strings (Depends-on): Update.
570         * modules/sys_file (Depends-on): Update.
571         * modules/sys_ioctl (Depends-on): Update.
572         * modules/sys_select (Depends-on): Update.
573         * modules/sys_socket (Depends-on): Update.
574         * modules/sys_stat (Depends-on): Update.
575         * modules/sys_time (Depends-on): Update.
576         * modules/sys_times (Depends-on): Update.
577         * modules/sys_utsname (Depends-on): Update.
578         * modules/sys_wait (Depends-on): Update.
579         * modules/termios (Depends-on): Update.
580         * modules/time (Depends-on): Update.
581         * modules/unistd (Depends-on): Update.
582         * modules/wchar (Depends-on): Update.
583         * modules/wctype-h (Depends-on): Update.
584         * MODULES.html.sh (Support for building libraries and executables):
585         Update.
586
587         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
588         * modules/snippet/unused-parameter: Renamed from
589         modules/unused-parameter.
590         (Files, Makefile.am): Update.
591         * build-aux/snippet/unused-parameter.h: Renamed from
592         build-aux/unused-parameter.h.
593         * modules/selinux-h (Depends-on): Update.
594         * modules/unistr/base (Depends-on): Update.
595         * MODULES.html.sh (Core language properties): Update.
596
597         Rename module 'link-warning' to 'snippet/link-warning'.
598         * modules/snippet/link-warning: Renamed from modules/link-warning.
599         (Files, Makefile.am): Update.
600         * build-aux/snippet/link-warning.h: Renamed from
601         build-aux/link-warning.h.
602         * MODULES.html.sh (Support for building libraries and executables):
603         Update.
604
605         Rename module 'c++defs' to 'snippet/c++defs'.
606         * modules/snippet/c++defs: Renamed from modules/c++defs.
607         (Files, Makefile.am): Update.
608         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
609         * modules/arpa_inet (Depends-on): Update.
610         * modules/ctype (Depends-on): Update.
611         * modules/dirent (Depends-on): Update.
612         * modules/fcntl-h (Depends-on): Update.
613         * modules/glob (Depends-on): Update.
614         * modules/iconv-h (Depends-on): Update.
615         * modules/langinfo (Depends-on): Update.
616         * modules/locale (Depends-on): Update.
617         * modules/math (Depends-on): Update.
618         * modules/netdb (Depends-on): Update.
619         * modules/poll-h (Depends-on): Update.
620         * modules/pty (Depends-on): Update.
621         * modules/search (Depends-on): Update.
622         * modules/signal (Depends-on): Update.
623         * modules/spawn (Depends-on): Update.
624         * modules/stdio (Depends-on): Update.
625         * modules/stdlib (Depends-on): Update.
626         * modules/string (Depends-on): Update.
627         * modules/strings (Depends-on): Update.
628         * modules/sys_ioctl (Depends-on): Update.
629         * modules/sys_select (Depends-on): Update.
630         * modules/sys_socket (Depends-on): Update.
631         * modules/sys_stat (Depends-on): Update.
632         * modules/sys_time (Depends-on): Update.
633         * modules/sys_wait (Depends-on): Update.
634         * modules/termios (Depends-on): Update.
635         * modules/time (Depends-on): Update.
636         * modules/unistd (Depends-on): Update.
637         * modules/wchar (Depends-on): Update.
638         * modules/wctype-h (Depends-on): Update.
639
640         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
641         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
642         (Files, Makefile.am): Update.
643         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
644         * modules/argv-iter (Depends-on): Update.
645         * modules/arpa_inet (Depends-on): Update.
646         * modules/dirent (Depends-on): Update.
647         * modules/fcntl-h (Depends-on): Update.
648         * modules/fnmatch (Depends-on): Update.
649         * modules/getopt-posix (Depends-on): Update.
650         * modules/glob (Depends-on): Update.
651         * modules/iconv-h (Depends-on): Update.
652         * modules/inttypes-incomplete (Depends-on): Update.
653         * modules/locale (Depends-on): Update.
654         * modules/math (Depends-on): Update.
655         * modules/netdb (Depends-on): Update.
656         * modules/search (Depends-on): Update.
657         * modules/signal (Depends-on): Update.
658         * modules/spawn (Depends-on): Update.
659         * modules/stdio (Depends-on): Update.
660         * modules/stdlib (Depends-on): Update.
661         * modules/string (Depends-on): Update.
662         * modules/strings (Depends-on): Update.
663         * modules/sys_socket (Depends-on): Update.
664         * modules/sys_stat (Depends-on): Update.
665         * modules/sys_time (Depends-on): Update.
666         * modules/sys_times (Depends-on): Update.
667         * modules/sys_utsname (Depends-on): Update.
668         * modules/time (Depends-on): Update.
669         * modules/unistd (Depends-on): Update.
670         * modules/wchar (Depends-on): Update.
671         * MODULES.html.sh (Support for building libraries and executables):
672         Update.
673
674 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
675
676         Improvements on _Noreturn and related modules.
677
678         modules/_Exit-tests: test _Noreturn too
679         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
680         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
681         (main): Use them.
682
683         stdnoreturn, stdnoreturn-tests: remove modules
684         They're not needed here and a bit premature for use elsewhere.  See
685         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
686         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
687         * tests/test-stdnoreturn.c: Remove files.
688         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
689         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
690         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
691         and using noreturn.
692         * modules/openat, modules/sigpipe-die, modules/xalloc:
693         * modules/xmemdup0, modules/xstrtol:
694         Remove dependency on stdnoreturn.
695
696         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
697         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
698         Reparenthesize to avoid GCC warning.
699         Support Microsoft's syntax.
700         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
701
702         _Noreturn-tests: remove module
703         * modules/_Noreturn-tests: Remove.
704         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
705         * tests/test-_Noreturn.c: Remove.
706         * tests/test-stdnoreturn.c: Merge from the old
707         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
708
709 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
710
711         _Noreturn, stdnoreturn, and related modules.
712
713         * top/maint.mk: Adjust to new noreturn support.
714         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
715         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
716
717         xalloc: use stdnoreturn.h
718         * lib/xalloc.h: Include <stdnoreturn.h>.
719         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
720         * modules/xalloc (Depends-on): Add stdnoreturn.
721
722         xstrtol: use stdnoreturn.h
723         * lib/xstrtol.h: Include <stdnoreturn.h>.
724         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
725         * modules/xstrtol (Depends-on): Add stdnoreturn.
726
727         xmemdup0: use stdnoreturn.h
728         * lib/xmemdup0.h: Include <stdnoreturn.h>.
729         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
730         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
731
732         sigpipe-die: use stdnoreturn.h
733         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
734         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
735         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
736
737         openat: use stdnoreturn.h
738         * lib/openat.h: Include <stdnoreturn.h>.
739         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
740         * modules/openat (Depends-on): Add stdnoreturn.
741
742         * lib/openat-die.c (openat_save_fail): Modernize comment.
743
744         * lib/xalloc-die.c (xalloc_die): Modernize comment.
745
746         * lib/glthread/thread.h: Modernize comment.
747
748         obstack: use _Noreturn
749         * lib/obstack.c (__attribute__): Remove macro.
750         (print_and_abort): Use _Noreturn.
751
752         c-stack: use _Noreturn
753         * lib/c-stack.c (die, overflow_handler, segv_handler):
754         Use _Noreturn rather than __attribute__((noreturn)).
755
756         argmatch-tests, exclude_tests: use _Noreturn
757         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
758         Remove.
759         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
760
761         stdlib: use _Noreturn
762         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
763         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
764         * modules/stdlib (Depends-on): Add _Noreturn.
765         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
766
767         stdnoreturn-tests: new module
768         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
769
770         stdnoreturn: new module
771         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
772         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
773
774         _Noreturn-tests: new module
775         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
776
777         _Noreturn: new module
778         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
779         New section, mentioning it.
780         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
781
782         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
783
784 2011-07-11  Eric Blake  <eblake@redhat.com>
785
786         ffs: new module
787         * modules/ffs: New file.
788         * m4/ffs.m4: Likewise.
789         * lib/ffs.c: Likewise.
790         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
791         * modules/strings (Makefile.am): Substitute witness.
792         (Depends-on): Add c++defs.
793         * lib/strings.in.h (ffs): Declare.
794         * modules/ffs-tests: New test file.
795         * tests/test-ffs.c: Test new module.
796         * MODULES.html.sh (Integer arithmetic functions): Mention it.
797         * doc/posix-functions/ffs.texi (ffs): Likewise.
798
799         regex: avoid compiler warning
800         * lib/regex.c (includes): Include <strings.h>, for use of
801         strcasecmp in regcomp.c.
802         Reported by Joachim Schmitz.
803
804 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
805
806         stdint: respect system's intmax_t if INTMAX_MAX
807         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
808         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
809         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
810         long but int64_t is long long, and where we will clash with the
811         system intmax_t if we override it.  See
812         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
813         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
814         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
815         similarly for UINTMAX_C.
816
817 2011-07-08  Bruno Haible  <bruno@clisp.org>
818
819         pthread_sigmask tests: Avoid a compiler warning.
820         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
821         non-zero.
822
823         sigprocmask tests: A better way to avoid a compiler warning.
824         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
825         (main): Complain if system() returns non-zero.
826         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
827
828 2011-07-08  Bruno Haible  <bruno@clisp.org>
829
830         pthread_sigmask: Work around IRIX bug.
831         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
832         bug.
833         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
834         there may be unblocked pending signals.
835         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
836
837 2011-07-08  Bruno Haible  <bruno@clisp.org>
838
839         pthread_sigmask: Work around Cygwin bug.
840         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
841         bug.
842         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
843         the system's pthread_sigmask function.
844         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
845
846 2011-07-08  Bruno Haible  <bruno@clisp.org>
847
848         pthread_sigmask: Work around bug in single-threaded implementation.
849         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
850         FreeBSD, HP-UX, Solaris bug.
851         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
852         * lib/pthread_sigmask.c: Include <stddef.h>.
853         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
854         the system's pthread_sigmask function.
855         * modules/pthread_sigmask (configure.ac): Invoke
856         gl_PREREQ_PTHREAD_SIGMASK.
857         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
858         HP-UX, Solaris.
859
860 2011-07-08  Eric Blake  <eblake@redhat.com>
861
862         test-sigprocmask: avoid compiler warning
863         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
864         * tests/test-sigprocmask.c (main): Use it to silence warning.
865         Reported by Jim Meyering.
866
867         test-snprintf: avoid compiler warning
868         * tests/test-snprintf.c (main): Avoid shadowed declaration.
869         * tests/test-vsnprintf.c (main): Likewise.
870         Reported by Jim Meyering.
871
872 2011-07-08  Bruno Haible  <bruno@clisp.org>
873
874         Tests for module 'pthread_sigmask'.
875         * modules/pthread_sigmask-tests: New file.
876         * tests/test-pthread_sigmask1.c: New file, based on
877         tests/test-sigprocmask.c.
878         * tests/test-pthread_sigmask2.c: New file.
879
880 2011-07-08  Jim Meyering  <meyering@redhat.com>
881
882         test-getopt.h: avoid warning about an unused variable
883         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
884
885 2011-07-07  Jim Meyering  <meyering@redhat.com>
886
887         maint: reduce list of files exempt from sc_prohibit_leading_TABs
888         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
889         now that it no longer contains leading TABs.
890         Remove unused "url=FIXME" statement.
891
892 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
893
894         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
895         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
896         When gl_THREADLIB is not in use, assume that the POSIX sematics
897         are desired.  This is better for Emacs, which uses POSIX semantics
898         on GNUish and/or POSIXish platforms, and does not use threads at
899         all otherwise.
900
901         pthread_sigmask: fix typo when testing for libraries
902         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
903         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
904
905 2011-07-08  Eric Blake  <eblake@redhat.com>
906
907         fts: introduce FTS_NOATIME
908         * lib/fts_.h (FTS_NOATIME): New bit flag.
909         (FTS_OPTIONMASK): Adjust.
910         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
911         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
912
913 2011-07-08  Bruno Haible  <bruno@clisp.org>
914
915         Tests for module 'thread'.
916         * modules/thread-tests: New file.
917         * tests/test-thread_self.c: New file.
918         * tests/test-thread_create.cc: New file.
919
920 2011-07-08  Bruno Haible  <bruno@clisp.org>
921
922         thread: Avoid gcc warnings when using gl_thread_self().
923         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
924         'void *'.
925         (gl_thread_self_pointer): Update.
926
927 2011-07-07  Bruno Haible  <bruno@clisp.org>
928
929         signal-c++-tests: Check declaration of pthread_sigmask.
930         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
931         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
932         $(LIB_PTHREAD_SIGMASK).
933
934 2011-07-07  Bruno Haible  <bruno@clisp.org>
935
936         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
937         * lib/signal.in.h (pthread_sigmask): Override if
938         REPLACE_PTHREAD_SIGMASK is 1.
939         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
940         REPLACE_PTHREAD_SIGMASK.
941         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
942         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
943         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
944         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
945         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
946
947 2011-07-07  Bruno Haible  <bruno@clisp.org>
948
949         pthread_sigmask: Ensure declaration in <signal.h>.
950         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
951         include <pthread.h>.
952         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
953         problem.
954
955 2011-07-07  Bruno Haible  <bruno@clisp.org>
956
957         pthread_sigmask: Document the module.
958         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
959
960 2011-07-07  Bruno Haible  <bruno@clisp.org>
961
962         pthread_sigmask: Follow gnulib conventions.
963         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
964         gl_PTHREAD_SIGMASK.
965         * modules/pthread_sigmask (configure.ac): Update.
966
967 2011-07-07  Bruno Haible  <bruno@clisp.org>
968
969         pthread_sigmask: Make declaration C++ safe.
970         * lib/signal.in.h: In two special conditions, just do an #include_next.
971         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
972         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
973         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
974         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
975         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
976         not REPLACE_PTHREAD_MASK.
977         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
978         not REPLACE_PTHREAD_MASK.
979         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
980
981 2011-07-07  Bruno Haible  <bruno@clisp.org>
982
983         pthread_sigmask: Fix return value.
984         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
985         * lib/pthread_sigmask.c: New file.
986         * modules/pthread_sigmask (Files): Add it.
987         (configure.ac): Invoke AC_LIBOBJ.
988
989 2011-07-07  Eric Blake  <eblake@redhat.com>
990
991         getopt: more portable argv creation
992         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
993         const, use char arrays rather than strings.
994         Suggested by Paul Eggert.
995
996 2011-07-07  Bruno Haible  <bruno@clisp.org>
997
998         Tests for module 'sigprocmask'.
999         * modules/sigprocmask-tests: New file.
1000         * tests/test-sigprocmask.c: New file.
1001
1002 2011-07-07  Bruno Haible  <bruno@clisp.org>
1003
1004         float tests: Tweak.
1005         * tests/test-float.c (main): Tweak skip message.
1006
1007 2011-07-07  Eric Blake  <eblake@redhat.com>
1008
1009         getopt: avoid compiler warning during configure
1010         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
1011         assigning string literals to non-const pointer.
1012
1013         getopt-gnu: avoid crash in glibc getopt
1014         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
1015         * tests/test-getopt.h (test_getopt): Enhance test.
1016         * tests/test-getopt_long.h (test_getopt_long): Likewise.
1017         * doc/posix-functions/getopt.texi (getopt): Document it.
1018         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
1019         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
1020         Likewise.
1021
1022 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
1023
1024         getopt: handle W; without long options in getopt [BZ #12922]
1025         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
1026         but no long options are defined, just return 'W'.
1027
1028 2011-07-07  Bruno Haible  <bruno@clisp.org>
1029
1030         Avoid literal tabs.
1031         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
1032         variable containing a tab instead of a literal tab.
1033         Reported by Jim Meyering.
1034
1035 2011-07-07  Bruno Haible  <bruno@clisp.org>
1036
1037         Comments.
1038         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
1039
1040 2011-07-06  Bruno Haible  <bruno@clisp.org>
1041
1042         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
1043         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
1044         <winsock2.h>.
1045         (rpl_fd_isset, FD_ISSET): New definitions, copied from
1046         lib/sys_socket.in.h.
1047         (close, gethostname): Hide declarations from <winsock2.h>.
1048         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
1049         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
1050         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
1051         (select): Don't override if gnulib's <sys/select.h> was already
1052         included.
1053         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
1054         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
1055         setsockopt, shutdown, select): Tweak indentation.
1056
1057 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
1058
1059         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
1060         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
1061         in an application that does not use the sys_select module.
1062
1063 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
1064
1065         poll: do not return 0 on timeout=-1
1066         * lib/poll.c: Loop with yield if no events occured
1067
1068 2011-07-06  Eric Blake  <eblake@redhat.com>
1069
1070         pthread_sigmask: always replace when not using pthread
1071         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
1072         replacement when using some threading other than pthread.  Fix
1073         logic bug.
1074
1075 2011-07-06  Bruno Haible  <bruno@clisp.org>
1076
1077         Comments.
1078         * m4/printf.m4: Update comments about mingw.
1079
1080 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
1081
1082         sys_select: define sigset_t more portably
1083         * lib/sys_select.in.h: Always include <sys/types.h>, since
1084         we now need sigset_t and mingw defines it there.
1085         Include <signal.h> before split inclusion guard, to avoid
1086         mishaps on Solaris, whose <signal.h> eventually includes us.
1087         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
1088         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
1089         which come from ...
1090         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
1091         gl_CHECK_TYPE_SIGSET_T.
1092         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
1093         does the real work.
1094         * modules/sys_select (Depends-on): Add 'signal'.
1095
1096         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
1097         Suggested by Bruno Haible.
1098
1099         pselect: Use pthread_sigmask, not sigprocmask.
1100         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
1101         multithreaded apps better than sigprocmask does.
1102         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
1103         sigprocmask directly.
1104
1105 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
1106
1107         * lib/pselect.c (pselect): Use plain name, without "rpl_".
1108         Don't #undef,  since we don't need any underlying pselect.
1109         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
1110         (Depends-on): Add select.
1111         (Link): Add $(LIBSOCKET).
1112         These changes suggested by Bruno Haible.
1113
1114         pselect: document better
1115         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
1116         * doc/posix-functions/pselect.texi (pselect): Document new module.
1117
1118         pthread_sigmask: new module
1119         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
1120         * doc/posix-functions/pthread_sigmask.texi: Document new module.
1121         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
1122         This is done only as a macro; I don't know how well that'll
1123         work for C++.  Move <sys/types.h> include before the include_next,
1124         to avoid mishap on Solaris.
1125         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
1126         * modules/signal (Makefile.am): Substitute the check's results.
1127         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
1128
1129         test-pselect: new module
1130         * modules/pselect-tests, tests/test-pselect.c: New files.
1131         * tests/test-select.c, tests/test-sys_select-c++.cc:
1132         If TEST_PSELECT is defined, test pselect instead of testing select.
1133
1134         * tests/test-sys_select.c (sigset_t): Test for it, too.
1135         Suggested by Bruno Haible.
1136
1137 2011-07-05  Eric Blake  <eblake@redhat.com>
1138
1139         snprintf: guarantee %1$d, for libintl
1140         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
1141         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
1142         * doc/posix-functions/snprintf.texi (snprintf): Update.
1143         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
1144         * tests/test-snprintf.c (main): Enhance test.
1145         * tests/test-vsnprintf.c (main): Likewise.
1146
1147 2011-07-05  Jim Meyering  <meyering@redhat.com>
1148
1149         maint: exempt stdio-read.c and stdio-write.c from the cppi check
1150         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
1151         per Bruno's request, to accommodate this idiom (no space after "#")
1152         even when the function is inside an #if block:
1153         char *
1154         gets (char *s)
1155         #undef gets
1156         {
1157           ...
1158         }
1159
1160 2011-07-04  Jim Meyering  <meyering@redhat.com>
1161
1162         maint: indent with spaces, not TABs, and add a rule to check this
1163         * tests/test-userspec.c: Indent with spaces, not TABs.
1164         * tests/test-argp.c: Likewise.
1165         * tests/test-c-stack2.sh: Likewise.
1166         * tests/test-parse-duration.sh: Likewise
1167         * m4/strtod.m4: Likewise.
1168         * m4/alloca.m4: Likewise.
1169         * m4/pselect.m4: Likewise.
1170         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
1171
1172 2011-07-03  Jim Meyering  <meyering@redhat.com>
1173
1174         maint.mk: correct omissions in prohibit_argmatch_without_use check
1175         This rule would mistakenly report that argmatch.h is included without
1176         use even when both the argmatch and invalid_arg macro were used.
1177         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
1178         of argmatch and invalid_arg.
1179
1180 2011-07-03  Bruno Haible  <bruno@clisp.org>
1181
1182         Comments about EINTR.
1183         * lib/safe-read.h: Explain the purpose of this module.
1184         * lib/safe-write.h: Likewise.
1185         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
1186         module.
1187         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
1188         module.
1189         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
1190
1191 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
1192
1193         xnanosleep: Rewrite to use new dtotimespec module.
1194         It has the conversion code that used to be in xnanosleep.
1195         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
1196         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
1197         (TIME_T_MAX): Remove.
1198         (xnanosleep): Rewrite in terms of dtotimespec.
1199         * modules/xnanosleep (Depends-on): Add dtotimespec.
1200         Remove intprops, stdbool.
1201
1202         timespec-add, timespec-sub: new modules
1203         * lib/timespec.h (timespec_add, timespec_sub): New decls.
1204         * lib/timespec-add.c, lib/timespec-sub.c:
1205         * modules/timespec-add, modules/timespec-sub: New files.
1206
1207         dtotimespec: new module
1208         * lib/timespec.h (dtotimespec): New decl.
1209         * lib/dtotimespec.c, modules/dtotimespec: New files.
1210
1211         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
1212
1213         pselect: new module
1214         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
1215         (pselect): New decls.
1216         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
1217         since the standard pselect decl uses 'restrict'.
1218         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
1219         HAVE_PSELECT, REPLACE_PSELECT.
1220         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
1221         HAVE_PSELECT, REPLACE_PSELECT.
1222         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
1223
1224         sys_select: don't depend on sys_socket
1225         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
1226         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
1227         This fix works on GNU and GNU-like platforms, but has not been tested
1228         on native Windows.
1229         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
1230         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
1231         gl_HEADER_SYS_SOCKET.
1232         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
1233         gl_PREREQ_SYS_H_WINSOCK2.
1234
1235 2011-06-29  Eric Blake  <eblake@redhat.com>
1236
1237         pipe2: fix C89 compile problem
1238         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
1239         Reported by Bruno Haible.
1240
1241         pipe, pipe2: don't corrupt fd on error
1242         * lib/pipe.c (pipe): Leave fd unchanged on error.
1243         * lib/pipe2.c (pipe2): Likewise.
1244         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
1245         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
1246
1247 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
1248
1249         mmap-anon: do not use regular expressions inadvertently
1250         * m4/mmap-anon.m4: Remove trailing period from strings sought
1251         in the output.
1252
1253 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
1254
1255         nanosleep: fix integer overflow problem
1256         * lib/nanosleep.c (my_usleep): Don't assume signed integer
1257         arithmetic wraps around on overflow.
1258
1259         nanosleep: simplify carrying
1260         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
1261         first call to the underyling nanosleep, not for the last one.
1262         This doesn't fix any bugs, but it simplifies the computation of
1263         the remaining delay.  Found while auditing integer overflow issues.
1264
1265         dup2: remove test for existence of fcntl
1266         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
1267         "#if HAVE_FCNTL", in the configure-time test program.
1268         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
1269         and therefore speeds up "configure" a bit.  Found while
1270         adding the dup2 module to Emacs.
1271
1272 2011-06-24  Eric Blake  <eblake@redhat.com>
1273
1274         maint.mk: enhance useless header checks
1275         * top/maint.mk (_sc_header_without_use): Check both include
1276         styles.
1277         (sc_prohibit_assert_without_use)
1278         (sc_prohibit_close_stream_without_use)
1279         (sc_prohibit_getopt_without_use)
1280         (sc_prohibit_quotearg_without_use)
1281         (sc_prohibit_quote_without_use)
1282         (sc_prohibit_long_options_without_use)
1283         (sc_prohibit_inttostr_without_use)
1284         (sc_prohibit_ignore_value_without_use)
1285         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
1286         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
1287         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
1288         (sc_prohibit_hash_pjw_without_use)
1289         (sc_prohibit_safe_read_without_use)
1290         (sc_prohibit_argmatch_without_use)
1291         (sc_prohibit_canonicalize_without_use)
1292         (sc_prohibit_root_dev_ino_without_use)
1293         (sc_prohibit_openat_without_use)
1294         (sc_prohibit_c_ctype_without_use)
1295         (sc_prohibit_signal_without_use)
1296         (sc_prohibit_stdio--_without_use)
1297         (sc_prohibit_stdio-safer_without_use)
1298         (sc_prohibit_strings_without_use)
1299         (sc_prohibit_intprops_without_use)
1300         (sc_prohibit_stddef_without_use)
1301         (sc_prohibit_xfreopen_without_use): Update clients.
1302
1303 2011-06-24  Jim Meyering  <meyering@redhat.com>
1304
1305         syntax-check: keep one maint.mk rule in sync with its header
1306         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
1307         of the bug Eric has just fixed, with today's commit 25e4c2ec.
1308         I prefer to avoid temporary files here, so use <(...), but that
1309         is not supported by /bin/sh, so...
1310         (SHELL): Define to /bin/bash.
1311
1312 2011-06-24  Eric Blake  <eblake@redhat.com>
1313
1314         maint.mk: update sc_prohibit_intprops_without_use
1315         * top/maint.mk (_intprops_names): Match recent changes.
1316
1317 2011-06-24  Bruno Haible  <bruno@clisp.org>
1318
1319         strerror-override: No-op tweak.
1320         * lib/strerror-override.h (strerror_override): Reorder conditions,
1321         for consistency with lib/strerror-override.c.
1322
1323 2011-06-23  Eric Blake  <eblake@redhat.com>
1324
1325         maint.mk: test further PATH_MAX issues
1326         * top/maint.mk (sc_prohibit_path_max_array): Rename...
1327         (sc_prohibit_path_max_allocation): ...and also test alloca.
1328         Suggested by Jim Meyering.
1329
1330 2011-06-22  Eric Blake  <eblake@redhat.com>
1331
1332         maint.mk: add syntax-check to avoid char[PATH_MAX]
1333         * top/maint.mk (sc_prohibit_path_max_array): New rule.
1334
1335         stat: be robust to PATH_MAX definition
1336         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
1337         * modules/stat (Depends-on): Add verify.
1338
1339         link: work around IRIX bug
1340         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
1341         * lib/link.c (rpl_link): Work around it.
1342         * tests/test-link.h (test_link): Enhance test.
1343         * doc/posix-functions/link.texi (link): Document the bug.
1344
1345         getopt: silence clang warning
1346         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
1347         dereference.
1348         Reported by Gustavo Martin Domato.
1349
1350 2011-06-22  Jim Meyering  <meyering@redhat.com>
1351
1352         bootstrap: do not insert a blank line into each .gitignore file
1353         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
1354
1355 2011-06-21  Eric Blake  <eblake@redhat.com>
1356
1357         perror: test for output mismatch
1358         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
1359         perror on IRIX.
1360
1361         strerror_r: fix OpenBSD behavior on out-of-range
1362         * lib/strerror_r.c (strerror_r): Always use maximal string.
1363         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
1364
1365         strerror_r: fix OpenBSD behavior on 0
1366         * lib/strerror-override.c (strerror_override): Also override 0
1367         when needed.
1368         * lib/strerror-override.h (strerror_override): Likewise.
1369         * lib/strerror.c (strerror): Simplify, now that 0 override is done
1370         earlier.
1371         * lib/strerror_r.c (strerror_r): Likewise.
1372         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
1373         behavior...
1374         (gl_FUNC_STRERROR_0): ...into new macro.
1375         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
1376         is overridden.
1377         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
1378         * modules/strerror-override (Files): Add strerror.m4.
1379         (configure.ac): Also provide override for 0 when needed.
1380         * doc/posix-functions/strerror.texi (strerror): Document this.
1381         * doc/posix-functions/perror.texi (perror): Likewise.
1382
1383         perror: adjust array size
1384         * modules/perror (Depends-on): Add strerror-override.
1385         * lib/perror.c (perror): Use it to avoid magic number.
1386
1387         strerror-override: reduce size
1388         * lib/strerror-override.c (strerror_override): Use fewer lines.
1389
1390 2011-06-20  Bruno Haible  <bruno@clisp.org>
1391
1392         pathmax: Ensure correct value for PATH_MAX on HP-UX.
1393         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
1394
1395 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
1396
1397         alloca: port to compilers that can optimize like GCC 4.6.0
1398         * lib/alloca.c (find_stack_direction): New signature, taken from
1399         Autoconf git.  This works with GCC 4.6.0.  This code should never
1400         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
1401         be used with other compilers that optimize as well as GCC 4.6.0 does.
1402         (alloca): Adjust to new signature.
1403         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
1404         New macro, which patches Autoconf in a similar way.
1405
1406         c-stack: stop worrying about stack direction
1407         * lib/c-stack.c (find_stack_direction): Remove.
1408         (segv_handler): Don't worry about stack direction growth, as it's
1409         too much of a pain to configure this correctly, given how compilers
1410         are optimizing-away our stack-growth detection code.  Instead, assume
1411         that any access to just before or just after the stack is OK.
1412         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
1413         Don't require AC_FUNC_ALLOCA; no longer needed.
1414
1415 2011-06-20  Eric Blake  <eblake@redhat.com>
1416
1417         test-stat: don't allocate PATH_MAX bytes
1418         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
1419         PATH_MAX-sized buffer.
1420         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
1421         * modules/stat-tests (Depends-on): Likewise.
1422         * tests/test-fstatat.c (includes): Drop pathmax.h.
1423         * tests/test-stat.c (includes): Likewise.
1424         Reported by Bruno Haible.
1425
1426 2011-06-20  Bruno Haible  <bruno@clisp.org>
1427
1428         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
1429         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
1430         * lib/float.c: New file.
1431         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
1432         REPLACE_FLOAT_LDBL.
1433         * modules/float (Files): Add lib/float.c.
1434         (configure.ac): Invoke AC_LIBOBJ.
1435         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
1436
1437 2011-06-20  Bruno Haible  <bruno@clisp.org>
1438
1439         Tests for module 'float'.
1440         * modules/float-tests: New file.
1441         * tests/test-float.c: New file.
1442
1443 2011-06-19  Bruno Haible  <bruno@clisp.org>
1444
1445         isinf: Coding style.
1446         * lib/isinf.c: Use GNU coding style.
1447
1448 2011-06-19  Bruno Haible  <bruno@clisp.org>
1449
1450         linkat test: Avoid test failure on AIX 7.1.
1451         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
1452         * tests/test-link.h (test_link): Likewise.
1453
1454 2011-06-19  Bruno Haible  <bruno@clisp.org>
1455
1456         pread test: Avoid test failure on OpenBSD 4.9.
1457         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
1458
1459 2011-06-19  Bruno Haible  <bruno@clisp.org>
1460
1461         sprintf-posix: Fix test failure on AIX 7.1.
1462         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
1463         * doc/posix-functions/dprintf.texi: Mention limited precision problem
1464         on AIX.
1465         * doc/posix-functions/fprintf.texi: Likewise.
1466         * doc/posix-functions/printf.texi: Likewise.
1467         * doc/posix-functions/snprintf.texi: Likewise.
1468         * doc/posix-functions/sprintf.texi: Likewise.
1469         * doc/posix-functions/vdprintf.texi: Likewise.
1470         * doc/posix-functions/vfprintf.texi: Likewise.
1471         * doc/posix-functions/vprintf.texi: Likewise.
1472         * doc/posix-functions/vsnprintf.texi: Likewise.
1473         * doc/posix-functions/vsprintf.texi: Likewise.
1474
1475 2011-06-19  Bruno Haible  <bruno@clisp.org>
1476
1477         roundl-ieee: Fix test failure on AIX 7.1.
1478         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
1479         * doc/posix-functions/roundl.texi: Mention problem with negative
1480         arguments.
1481
1482 2011-06-19  Bruno Haible  <bruno@clisp.org>
1483
1484         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
1485         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
1486         * doc/posix-functions/round.texi: Mention problem with negative
1487         arguments.
1488         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
1489
1490 2011-06-19  Bruno Haible  <bruno@clisp.org>
1491
1492         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
1493         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
1494         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
1495         * doc/posix-functions/roundf.texi: Mention problem with negative
1496         arguments.
1497         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
1498
1499 2011-06-19  Bruno Haible  <bruno@clisp.org>
1500
1501         ceilf-ieee: Work around bug on MacOS X 10.5.
1502         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
1503
1504         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
1505         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
1506         IEEE compliant, avoid compiler optimizations.
1507         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
1508         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
1509         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
1510         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
1511         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
1512         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
1513         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
1514         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
1515         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
1516         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
1517
1518 2011-06-19  Bruno Haible  <bruno@clisp.org>
1519
1520         ceilf-ieee: Work around bug on AIX 7.1.
1521         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
1522         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
1523
1524 2011-06-19  Bruno Haible  <bruno@clisp.org>
1525
1526         ceil-ieee: Work around bug on AIX 7.1.
1527         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
1528         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
1529
1530 2011-06-18  Bruno Haible  <bruno@clisp.org>
1531
1532         fsync test: Avoid test failure on MacOS X and AIX.
1533         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
1534         EINVAL.
1535
1536 2011-06-18  Bruno Haible  <bruno@clisp.org>
1537
1538         openat, fdopendir tests: Fix link errors.
1539         * modules/openat-tests (Depends-on): Add progname.
1540         * modules/fdopendir-tests (Depends-on): Likewise.
1541         * tests/test-fchownat.c: Include progname.h.
1542         (main): Call set_program_name.
1543         * tests/test-fstatat.c: Include progname.h.
1544         (main): Call set_program_name.
1545         * tests/test-mkdirat.c: Include progname.h.
1546         (main): Call set_program_name.
1547         * tests/test-openat.c: Include progname.h.
1548         (main): Call set_program_name.
1549         * tests/test-unlinkat.c: Include progname.h.
1550         (main): Call set_program_name.
1551         * tests/test-fdopendir.c: Include progname.h.
1552         (main): Call set_program_name.
1553
1554 2011-06-18  Bruno Haible  <bruno@clisp.org>
1555
1556         Doc update.
1557         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
1558         HP-UX.
1559         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
1560
1561 2011-06-18  Bruno Haible  <bruno@clisp.org>
1562
1563         getcwd tests: Avoid compilation error on HP-UX 11.31.
1564         * modules/getcwd-tests (Depends-on): Add pathmax.
1565         * tests/test-getcwd.c: Include pathmax.h.
1566
1567 2011-06-18  Bruno Haible  <bruno@clisp.org>
1568
1569         isfinite, isinf: Fix link error on AIX 6 and 7.
1570         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
1571         needed, also test the macro with a 'float' argument.
1572         * m4/isinf.m4 (gl_ISINF): Likewise.
1573
1574 2011-06-18  Bruno Haible  <bruno@clisp.org>
1575
1576         getloadavg: Don't clobber LIBS. Regression from previous commit.
1577         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
1578         AC_CHECK_LIB from here...
1579         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
1580         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
1581         gl_func_getloadavg_done.
1582         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1583
1584 2011-06-18  Bruno Haible  <bruno@clisp.org>
1585
1586         clean-temp: Improve documentation.
1587         * lib/clean-temp.h: Explain better how to use this module.
1588         Reported by John Darrington <john@darrington.wattle.id.au>.
1589
1590 2011-06-17  Bruno Haible  <bruno@clisp.org>
1591
1592         pread, pwrite: Avoid cc warning on AIX.
1593         * lib/unistd.in.h (pread): Undefine before defining as a macro.
1594         (pwrite): Likewise.
1595
1596 2011-06-17  Bruno Haible  <bruno@clisp.org>
1597
1598         spawn-pipe tests: Fix link error.
1599         * tests/test-spawn-pipe-child.c: Undefine fprintf.
1600         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1601
1602 2011-06-17  Bruno Haible  <bruno@clisp.org>
1603
1604         Tests: Remove unnecessary dependency.
1605         * modules/canonicalize-tests (Depends-on): Remove progname.
1606         * modules/chown-tests (Depends-on): Likewise.
1607         * modules/dirname-tests (Depends-on): Likewise.
1608         * modules/fdopendir-tests (Depends-on): Likewise.
1609         * modules/fdutimensat-tests (Depends-on): Likewise.
1610         * modules/hash-tests (Depends-on): Likewise.
1611         * modules/lchown-tests (Depends-on): Likewise.
1612         * modules/linkat-tests (Depends-on): Likewise.
1613         * modules/renameat-tests (Depends-on): Likewise.
1614         * modules/spawn-pipe-tests (Depends-on): Likewise.
1615         * modules/utimensat-tests (Depends-on): Likewise.
1616
1617 2011-06-17  Bruno Haible  <bruno@clisp.org>
1618
1619         spawn-pipe tests: Fix link error.
1620         * tests/test-spawn-pipe-child.c: Undefine fflush.
1621
1622 2011-06-17  Bruno Haible  <bruno@clisp.org>
1623
1624         Fix tests link errors.
1625         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
1626         * modules/chown-tests (Makefile.am): Don't link test-chown with
1627         LIBINTL.
1628         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
1629         LIBINTL.
1630         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
1631         LIBINTL.
1632         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
1633         LIBINTL.
1634
1635 2011-06-16  Bruno Haible  <bruno@clisp.org>
1636
1637         crypto/gc-sha1: Fix recent regression.
1638         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
1639         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
1640
1641         crypto/gc-md5: Fix recent regression.
1642         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
1643
1644         crypto/gc-md4: Fix recent regression.
1645         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
1646         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
1647
1648         crypto/gc-arctwo: Fix recent regression.
1649         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
1650         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
1651
1652         crypto/gc-rijndael: Fix recent regression.
1653         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
1654         (configure.ac): Invoke AC_LIBOBJ here.
1655         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
1656         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1657
1658         crypto/gc-hmac-sha1: Fix recent regression.
1659         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
1660         (configure.ac): Invoke AC_LIBOBJ here.
1661         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
1662         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1663
1664         crypto/gc-hmac-md5: Fix recent regression.
1665         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
1666         (configure.ac): Invoke AC_LIBOBJ here.
1667         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
1668         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1669
1670         crypto/gc-des: Fix recent regression.
1671         * modules/crypto/gc-des (Files): Remove m4/des.m4.
1672         (configure.ac): Invoke AC_LIBOBJ here.
1673         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
1674         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1675
1676         crypto/gc-arcfour: Fix recent regression.
1677         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
1678         (configure.ac): Invoke AC_LIBOBJ here.
1679         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
1680         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1681
1682 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
1683
1684         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
1685         After the 2011-05-21 change, this macro requires
1686         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
1687         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
1688
1689 2011-06-16  Bruno Haible  <bruno@clisp.org>
1690
1691         fprintftime: Move AC_LIBOBJ invocations to module description.
1692         * m4/fprintftime.m4: Remove file.
1693         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
1694         (configure.ac): Remove gl_FPRINTFTIME call.
1695         (Makefile.am): Augment lib_SOURCES.
1696         Reported by Jim Meyering.
1697
1698 2011-06-16  Bruno Haible  <bruno@clisp.org>
1699
1700         tmpfile-safer: Finish 2011-05-23 commit.
1701         * m4/stdio-safer.m4: Really remove file.
1702         Reported by Jim Meyering.
1703
1704 2011-06-16  Bruno Haible  <bruno@clisp.org>
1705
1706         syntax-check: Fix typo.
1707         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
1708         printf-posix.m4.
1709         Reported by Jim Meyering.
1710
1711 2011-06-13  Jim Meyering  <meyering@redhat.com>
1712
1713         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
1714         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
1715
1716 2011-05-23  Bruno Haible  <bruno@clisp.org>
1717
1718         yesno: Move AC_LIBOBJ invocations to module description.
1719         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
1720         * modules/yesno (Makefile.am): Augment lib_SOURCES.
1721
1722 2011-05-23  Bruno Haible  <bruno@clisp.org>
1723
1724         xstrtol: Move AC_LIBOBJ invocations to module description.
1725         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
1726         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
1727
1728 2011-05-23  Bruno Haible  <bruno@clisp.org>
1729
1730         xstrtold: Move AC_LIBOBJ invocations to module description.
1731         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
1732         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
1733
1734 2011-05-23  Bruno Haible  <bruno@clisp.org>
1735
1736         xstrtod: Move AC_LIBOBJ invocations to module description.
1737         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
1738         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
1739
1740 2011-05-23  Bruno Haible  <bruno@clisp.org>
1741
1742         xnanosleep: Move AC_LIBOBJ invocations to module description.
1743         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
1744         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
1745
1746 2011-05-23  Bruno Haible  <bruno@clisp.org>
1747
1748         xgetcwd: Move AC_LIBOBJ invocations to module description.
1749         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
1750         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
1751
1752 2011-05-23  Bruno Haible  <bruno@clisp.org>
1753
1754         xalloc: Move AC_LIBOBJ invocations to module description.
1755         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
1756         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
1757
1758 2011-05-23  Bruno Haible  <bruno@clisp.org>
1759
1760         write-any-file: Move AC_LIBOBJ invocations to module description.
1761         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
1762         invocation.
1763         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
1764
1765 2011-05-23  Bruno Haible  <bruno@clisp.org>
1766
1767         utimens: Move AC_LIBOBJ invocations to module description.
1768         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
1769         * modules/utimens (Makefile.am): Augment lib_SOURCES.
1770
1771 2011-05-23  Bruno Haible  <bruno@clisp.org>
1772
1773         utimecmp: Move AC_LIBOBJ invocations to module description.
1774         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
1775         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
1776
1777 2011-05-23  Bruno Haible  <bruno@clisp.org>
1778
1779         userspec: Move AC_LIBOBJ invocations to module description.
1780         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
1781         * modules/userspec (Makefile.am): Augment lib_SOURCES.
1782
1783 2011-05-23  Bruno Haible  <bruno@clisp.org>
1784
1785         unlinkdir: Move AC_LIBOBJ invocations to module description.
1786         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
1787         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
1788
1789 2011-05-23  Bruno Haible  <bruno@clisp.org>
1790
1791         unistd-safer: Move AC_LIBOBJ invocations to module description.
1792         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
1793         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
1794
1795 2011-05-23  Bruno Haible  <bruno@clisp.org>
1796
1797         tempname: Move AC_LIBOBJ invocations to module description.
1798         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
1799         * modules/tempname (Makefile.am): Augment lib_SOURCES.
1800
1801 2011-05-23  Bruno Haible  <bruno@clisp.org>
1802
1803         strftime: Move AC_LIBOBJ invocations to module description.
1804         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
1805         * modules/strftime (Makefile.am): Augment lib_SOURCES.
1806
1807 2011-05-23  Bruno Haible  <bruno@clisp.org>
1808
1809         stdlib-safer: Move AC_LIBOBJ invocations to module description.
1810         * m4/stdlib-safer.m4: Remove file.
1811         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
1812         (configure.ac): Remove gl_STDLIB_SAFER call.
1813         (Makefile.am): Augment lib_SOURCES.
1814
1815 2011-05-23  Bruno Haible  <bruno@clisp.org>
1816
1817         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
1818         * m4/stdio-safer.m4: Remove file.
1819         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
1820         (configure.ac): Remove gl_TMPFILE_SAFER call.
1821         (Makefile.am): Augment lib_SOURCES.
1822
1823 2011-05-23  Bruno Haible  <bruno@clisp.org>
1824
1825         popen-safer: Move AC_LIBOBJ invocations to module description.
1826         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
1827         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
1828         (configure.ac): Remove gl_POPEN_SAFER call.
1829         (Makefile.am): Augment lib_SOURCES.
1830
1831 2011-05-23  Bruno Haible  <bruno@clisp.org>
1832
1833         freopen-safer: Move AC_LIBOBJ invocations to module description.
1834         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
1835         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
1836         (configure.ac): Remove gl_FREOPEN_SAFER call.
1837         (Makefile.am): Augment lib_SOURCES.
1838
1839 2011-05-23  Bruno Haible  <bruno@clisp.org>
1840
1841         fopen-safer: Move AC_LIBOBJ invocations to module description.
1842         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
1843         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
1844         (configure.ac): Remove gl_FOPEN_SAFER call.
1845         (Makefile.am): Augment lib_SOURCES.
1846
1847 2011-05-23  Bruno Haible  <bruno@clisp.org>
1848
1849         crypto/sha512: Move AC_LIBOBJ invocations to module description.
1850         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
1851         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
1852
1853 2011-05-23  Bruno Haible  <bruno@clisp.org>
1854
1855         crypto/sha256: Move AC_LIBOBJ invocations to module description.
1856         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
1857         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
1858
1859 2011-05-23  Bruno Haible  <bruno@clisp.org>
1860
1861         crypto/sha1: Move AC_LIBOBJ invocations to module description.
1862         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
1863         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
1864
1865 2011-05-23  Bruno Haible  <bruno@clisp.org>
1866
1867         settime: Move AC_LIBOBJ invocations to module description.
1868         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
1869         * modules/settime (Makefile.am): Augment lib_SOURCES.
1870
1871 2011-05-23  Bruno Haible  <bruno@clisp.org>
1872
1873         savedir: Move AC_LIBOBJ invocations to module description.
1874         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
1875         * modules/savedir (Makefile.am): Augment lib_SOURCES.
1876
1877 2011-05-23  Bruno Haible  <bruno@clisp.org>
1878
1879         save-cwd: Move AC_LIBOBJ invocations to module description.
1880         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
1881         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
1882
1883 2011-05-23  Bruno Haible  <bruno@clisp.org>
1884
1885         same: Move AC_LIBOBJ invocations to module description.
1886         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
1887         * modules/same (Makefile.am): Augment lib_SOURCES.
1888
1889 2011-05-23  Bruno Haible  <bruno@clisp.org>
1890
1891         safe-write: Move AC_LIBOBJ invocations to module description.
1892         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
1893         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
1894         instead of gl_SAFE_WRITE.
1895         (Makefile.am): Augment lib_SOURCES.
1896
1897 2011-05-23  Bruno Haible  <bruno@clisp.org>
1898
1899         safe-read: Move AC_LIBOBJ invocations to module description.
1900         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
1901         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
1902         of gl_SAFE_READ.
1903         (Makefile.am): Augment lib_SOURCES.
1904
1905 2011-05-23  Bruno Haible  <bruno@clisp.org>
1906
1907         safe-alloc: Move AC_LIBOBJ invocations to module description.
1908         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
1909         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
1910
1911 2011-05-23  Bruno Haible  <bruno@clisp.org>
1912
1913         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
1914         * m4/rijndael.m4: Remove file.
1915         * modules/crypto/rijndael (Files): Remove it.
1916         (configure.ac): Remove gl_RIJNDAEL call.
1917         (Makefile.am): Augment lib_SOURCES.
1918
1919 2011-05-23  Bruno Haible  <bruno@clisp.org>
1920
1921         readtokens: Move AC_LIBOBJ invocations to module description.
1922         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
1923         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
1924
1925 2011-05-23  Bruno Haible  <bruno@clisp.org>
1926
1927         read-file: Move AC_LIBOBJ invocations to module description.
1928         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
1929         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
1930         of gl_FUNC_READ_FILE.
1931         (Makefile.am): Augment lib_SOURCES.
1932
1933 2011-05-23  Bruno Haible  <bruno@clisp.org>
1934
1935         quotearg: Move AC_LIBOBJ invocations to module description.
1936         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
1937         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
1938
1939 2011-05-23  Bruno Haible  <bruno@clisp.org>
1940
1941         quote: Move AC_LIBOBJ invocations to module description.
1942         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
1943         * modules/quote (Makefile.am): Augment lib_SOURCES.
1944
1945 2011-05-23  Bruno Haible  <bruno@clisp.org>
1946
1947         posixver: Move AC_LIBOBJ invocations to module description.
1948         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
1949         * modules/posixver (Makefile.am): Augment lib_SOURCES.
1950
1951 2011-05-23  Bruno Haible  <bruno@clisp.org>
1952
1953         posixtm: Move AC_LIBOBJ invocations to module description.
1954         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
1955         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
1956
1957 2011-05-23  Bruno Haible  <bruno@clisp.org>
1958
1959         physmem: Move AC_LIBOBJ invocations to module description.
1960         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
1961         * modules/physmem (Makefile.am): Augment lib_SOURCES.
1962
1963 2011-05-23  Bruno Haible  <bruno@clisp.org>
1964
1965         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
1966         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
1967         invocation.
1968         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
1969
1970 2011-05-23  Bruno Haible  <bruno@clisp.org>
1971
1972         mpsort: Move AC_LIBOBJ invocations to module description.
1973         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
1974         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
1975
1976 2011-05-23  Bruno Haible  <bruno@clisp.org>
1977
1978         modechange: Move AC_LIBOBJ invocations to module description.
1979         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
1980         * modules/modechange (Makefile.am): Augment lib_SOURCES.
1981
1982 2011-05-23  Bruno Haible  <bruno@clisp.org>
1983
1984         mkdir-p: Move AC_LIBOBJ invocations to module description.
1985         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
1986         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
1987
1988 2011-05-23  Bruno Haible  <bruno@clisp.org>
1989
1990         mkancesdirs: Move AC_LIBOBJ invocations to module description.
1991         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
1992         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
1993
1994 2011-05-23  Bruno Haible  <bruno@clisp.org>
1995
1996         mgetgroups: Move AC_LIBOBJ invocations to module description.
1997         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
1998         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
1999
2000 2011-05-23  Bruno Haible  <bruno@clisp.org>
2001
2002         memxor: Move AC_LIBOBJ invocations to module description.
2003         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
2004         * modules/memxor (Makefile.am): Augment lib_SOURCES.
2005
2006 2011-05-23  Bruno Haible  <bruno@clisp.org>
2007
2008         memcoll: Move AC_LIBOBJ invocations to module description.
2009         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
2010         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
2011
2012 2011-05-23  Bruno Haible  <bruno@clisp.org>
2013
2014         memcasecmp: Move AC_LIBOBJ invocations to module description.
2015         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
2016         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
2017
2018 2011-05-23  Bruno Haible  <bruno@clisp.org>
2019
2020         crypto/md5: Move AC_LIBOBJ invocations to module description.
2021         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
2022         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
2023
2024 2011-05-23  Bruno Haible  <bruno@clisp.org>
2025
2026         crypto/md4: Move AC_LIBOBJ invocations to module description.
2027         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
2028         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
2029
2030 2011-05-23  Bruno Haible  <bruno@clisp.org>
2031
2032         crypto/md2: Move AC_LIBOBJ invocations to module description.
2033         * m4/md2.m4: Remove file.
2034         * modules/crypto/md2 (Files): Remove it.
2035         (configure.ac): Remove gl_MD2 call.
2036         (Makefile.am): Augment lib_SOURCES.
2037
2038 2011-05-23  Bruno Haible  <bruno@clisp.org>
2039
2040         long-options: Move AC_LIBOBJ invocations to module description.
2041         * m4/long-options.m4: Remove file.
2042         * modules/long-options (Files): Remove it.
2043         (configure.ac): Remove gl_LONG_OPTIONS call.
2044         (Makefile.am): Augment lib_SOURCES.
2045
2046 2011-05-23  Bruno Haible  <bruno@clisp.org>
2047
2048         i-ring: Move AC_LIBOBJ invocations to module description.
2049         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
2050         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
2051
2052 2011-05-23  Bruno Haible  <bruno@clisp.org>
2053
2054         idcache: Move AC_LIBOBJ invocations to module description.
2055         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
2056         * modules/idcache (Makefile.am): Augment lib_SOURCES.
2057
2058 2011-05-23  Bruno Haible  <bruno@clisp.org>
2059
2060         human: Move AC_LIBOBJ invocations to module description.
2061         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
2062         * modules/human (Makefile.am): Augment lib_SOURCES.
2063
2064 2011-05-23  Bruno Haible  <bruno@clisp.org>
2065
2066         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
2067         * m4/hmac-sha1.m4: Remove file.
2068         * modules/crypto/hmac-sha1 (Files): Remove it.
2069         (configure.ac): Remove gl_HMAC_SHA1 call.
2070         (Makefile.am): Augment lib_SOURCES.
2071
2072 2011-05-23  Bruno Haible  <bruno@clisp.org>
2073
2074         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
2075         * m4/hmac-md5.m4: Remove file.
2076         * modules/crypto/hmac-md5 (Files): Remove it.
2077         (configure.ac): Remove gl_HMAC_MD5 call.
2078         (Makefile.am): Augment lib_SOURCES.
2079
2080 2011-05-23  Bruno Haible  <bruno@clisp.org>
2081
2082         hash: Move AC_LIBOBJ invocations to module description.
2083         * m4/hash.m4: Remove file.
2084         * modules/hash (Files): Remove it.
2085         (configure.ac): Remove gl_HASH call.
2086         (Makefile.am): Augment lib_SOURCES.
2087
2088 2011-05-23  Bruno Haible  <bruno@clisp.org>
2089
2090         hard-locale: Move AC_LIBOBJ invocations to module description.
2091         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
2092         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
2093
2094 2011-05-23  Bruno Haible  <bruno@clisp.org>
2095
2096         getugroups: Move AC_LIBOBJ invocations to module description.
2097         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
2098         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
2099
2100 2011-05-23  Bruno Haible  <bruno@clisp.org>
2101
2102         gettime: Move AC_LIBOBJ invocations to module description.
2103         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
2104         * modules/gettime (Makefile.am): Augment lib_SOURCES.
2105
2106 2011-05-23  Bruno Haible  <bruno@clisp.org>
2107
2108         getndelim2: Move AC_LIBOBJ invocations to module description.
2109         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
2110         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
2111
2112 2011-05-23  Bruno Haible  <bruno@clisp.org>
2113
2114         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
2115         * m4/gc-pbkdf2-sha1.m4: Remove file.
2116         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
2117         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
2118         (Makefile.am): Augment lib_SOURCES.
2119
2120 2011-05-23  Bruno Haible  <bruno@clisp.org>
2121
2122         fts: Move AC_LIBOBJ invocations to module description.
2123         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
2124         * modules/fts (configure.ac): ... to here.
2125
2126 2011-05-23  Bruno Haible  <bruno@clisp.org>
2127
2128         file-type: Move AC_LIBOBJ invocations to module description.
2129         * m4/file-type.m4: Remove file.
2130         * modules/file-type (Files): Remove it.
2131         (configure.ac): Remove gl_FILE_TYPE call.
2132         (Makefile.am): Augment lib_SOURCES.
2133
2134 2011-05-23  Bruno Haible  <bruno@clisp.org>
2135
2136         filenamecat*: Respect rules for use of AC_LIBOBJ.
2137         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
2138         Remove AC_LIBOBJ invocation.
2139         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
2140         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
2141
2142 2011-05-23  Bruno Haible  <bruno@clisp.org>
2143
2144         filemode: Move AC_LIBOBJ invocations to module description.
2145         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
2146         * modules/filemode (Makefile.am): Augment lib_SOURCES.
2147
2148 2011-05-23  Bruno Haible  <bruno@clisp.org>
2149
2150         openat-safer: Move AC_LIBOBJ invocations to module description.
2151         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
2152         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
2153
2154 2011-05-23  Bruno Haible  <bruno@clisp.org>
2155
2156         fcntl-safer: Move AC_LIBOBJ invocations to module description.
2157         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
2158         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
2159
2160 2011-05-23  Bruno Haible  <bruno@clisp.org>
2161
2162         exclude: Move AC_LIBOBJ invocations to module description.
2163         * m4/exclude.m4: Remove file.
2164         * modules/exclude (Files): Remove it.
2165         (configure.ac): Remove gl_EXCLUDE call.
2166         (Makefile.am): Augment lib_SOURCES.
2167
2168 2011-05-23  Bruno Haible  <bruno@clisp.org>
2169
2170         dirname*: Respect rules for use of AC_LIBOBJ.
2171         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
2172         invocations.
2173         * modules/dirname (Makefile.am): Augment lib_SOURCES.
2174         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
2175
2176 2011-05-23  Bruno Haible  <bruno@clisp.org>
2177
2178         dirent-safer: Move AC_LIBOBJ invocations to module description.
2179         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
2180         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
2181
2182 2011-05-23  Bruno Haible  <bruno@clisp.org>
2183
2184         crypto/des: Move AC_LIBOBJ invocations to module description.
2185         * m4/des.m4: Remove file.
2186         * modules/crypto/des (Files): Remove it.
2187         (configure.ac): Remove gl_DES call.
2188         (Makefile.am): Augment lib_SOURCES.
2189
2190 2011-05-23  Bruno Haible  <bruno@clisp.org>
2191
2192         cycle-check: Move AC_LIBOBJ invocations to module description.
2193         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
2194         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
2195
2196 2011-05-23  Bruno Haible  <bruno@clisp.org>
2197
2198         c-strtold: Move AC_LIBOBJ invocations to module description.
2199         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
2200         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
2201
2202 2011-05-23  Bruno Haible  <bruno@clisp.org>
2203
2204         c-strtod: Move AC_LIBOBJ invocations to module description.
2205         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
2206         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
2207
2208 2011-05-23  Bruno Haible  <bruno@clisp.org>
2209
2210         crc: Move AC_LIBOBJ invocations to module description.
2211         * m4/crc.m4: Remove file.
2212         * modules/crc (Files): Remove it.
2213         (configure.ac): Remove gl_CRC call.
2214         (Makefile.am): Augment lib_SOURCES.
2215
2216 2011-05-23  Bruno Haible  <bruno@clisp.org>
2217
2218         close-stream: Move AC_LIBOBJ invocations to module description.
2219         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
2220         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
2221
2222 2011-05-23  Bruno Haible  <bruno@clisp.org>
2223
2224         closeout: Move AC_LIBOBJ invocations to module description.
2225         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
2226         * modules/closeout (Makefile.am): Augment lib_SOURCES.
2227
2228 2011-05-23  Bruno Haible  <bruno@clisp.org>
2229
2230         closein: Move AC_LIBOBJ invocations to module description.
2231         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
2232         * modules/closein (Makefile.am): Augment lib_SOURCES.
2233
2234 2011-05-23  Bruno Haible  <bruno@clisp.org>
2235
2236         cloexec: Move AC_LIBOBJ invocations to module description.
2237         * m4/cloexec.m4: Remove file.
2238         * modules/cloexec (Files): Remove it.
2239         (configure.ac): Remove gl_CLOEXEC call.
2240         (Makefile.am): Augment lib_SOURCES.
2241
2242 2011-05-23  Bruno Haible  <bruno@clisp.org>
2243
2244         check-version: Move AC_LIBOBJ invocations to module description.
2245         * m4/check-version.m4: Remove file.
2246         * modules/check-version (Files): Remove it.
2247         (configure.ac): Remove gl_CHECK_VERSION call.
2248         (Makefile.am): Augment lib_SOURCES.
2249
2250 2011-05-23  Bruno Haible  <bruno@clisp.org>
2251
2252         chdir-safer: Move AC_LIBOBJ invocations to module description.
2253         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
2254         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
2255
2256 2011-05-23  Bruno Haible  <bruno@clisp.org>
2257
2258         canonicalize: Move AC_LIBOBJ invocations to module description.
2259         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
2260         AC_LIBOBJ invocation.
2261         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
2262
2263 2011-05-23  Bruno Haible  <bruno@clisp.org>
2264
2265         canon-host: Move AC_LIBOBJ invocations to module description.
2266         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
2267         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
2268         instead of gl_CANON_HOST.
2269         (Makefile.am): Augment lib_SOURCES.
2270
2271 2011-05-23  Bruno Haible  <bruno@clisp.org>
2272
2273         backupfile: Move AC_LIBOBJ invocations to module description.
2274         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
2275         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
2276
2277 2011-05-23  Bruno Haible  <bruno@clisp.org>
2278
2279         argmatch: Move AC_LIBOBJ invocations to module description.
2280         * m4/argmatch.m4: Remove file.
2281         * modules/argmatch (Files): Remove it.
2282         (configure.ac): Remove gl_ARGMATCH call.
2283         (Makefile.am): Augment lib_SOURCES.
2284
2285 2011-05-23  Bruno Haible  <bruno@clisp.org>
2286
2287         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
2288         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
2289         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
2290
2291 2011-05-23  Bruno Haible  <bruno@clisp.org>
2292
2293         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
2294         * m4/arcfour.m4: Remove file.
2295         * modules/crypto/arcfour (Files): Remove it.
2296         (configure.ac): Remove gl_ARCFOUR call.
2297         (Makefile.am): Augment lib_SOURCES.
2298
2299 2011-05-22  Bruno Haible  <bruno@clisp.org>
2300
2301         write: Move AC_LIBOBJ invocations to module description.
2302         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
2303         * modules/write (configure.ac): ... to here.
2304
2305 2011-05-22  Bruno Haible  <bruno@clisp.org>
2306
2307         wmemset: Move AC_LIBOBJ invocations to module description.
2308         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
2309         here...
2310         * modules/wmemset (configure.ac): ... to here.
2311
2312 2011-05-22  Bruno Haible  <bruno@clisp.org>
2313
2314         wmemmove: Move AC_LIBOBJ invocations to module description.
2315         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
2316         here...
2317         * modules/wmemmove (configure.ac): ... to here.
2318
2319 2011-05-22  Bruno Haible  <bruno@clisp.org>
2320
2321         wmemcpy: Move AC_LIBOBJ invocations to module description.
2322         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
2323         here...
2324         * modules/wmemcpy (configure.ac): ... to here.
2325
2326 2011-05-22  Bruno Haible  <bruno@clisp.org>
2327
2328         wmemcmp: Move AC_LIBOBJ invocations to module description.
2329         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
2330         here...
2331         * modules/wmemcmp (configure.ac): ... to here.
2332
2333 2011-05-22  Bruno Haible  <bruno@clisp.org>
2334
2335         wmemchr: Move AC_LIBOBJ invocations to module description.
2336         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
2337         here...
2338         * modules/wmemchr (configure.ac): ... to here.
2339
2340 2011-05-22  Bruno Haible  <bruno@clisp.org>
2341
2342         wcswidth: Move AC_LIBOBJ invocations to module description.
2343         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
2344         here...
2345         * modules/wcswidth (configure.ac): ... to here.
2346
2347 2011-05-22  Bruno Haible  <bruno@clisp.org>
2348
2349         wcwidth: Respect rules for use of AC_LIBOBJ.
2350         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
2351         invocation from here...
2352         * modules/wcwidth (configure.ac): ... to here.
2353         (Depends-on): Update conditions.
2354
2355 2011-05-22  Bruno Haible  <bruno@clisp.org>
2356
2357         wctype: Move AC_LIBOBJ invocations to module description.
2358         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
2359         invocation from here...
2360         * modules/wctype (configure.ac): ... to here.
2361         (Depends-on): Update conditions.
2362
2363 2011-05-22  Bruno Haible  <bruno@clisp.org>
2364
2365         wctrans: Move AC_LIBOBJ invocations to module description.
2366         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
2367         invocation from here...
2368         * modules/wctrans (configure.ac): ... to here.
2369
2370 2011-05-22  Bruno Haible  <bruno@clisp.org>
2371
2372         wctomb: Move AC_LIBOBJ invocations to module description.
2373         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
2374         invocations from here...
2375         * modules/wctomb (configure.ac): ... to here.
2376
2377 2011-05-22  Bruno Haible  <bruno@clisp.org>
2378
2379         wctob: Move AC_LIBOBJ invocations to module description.
2380         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
2381         gl_PREREQ_WCTOB invocations from here...
2382         * modules/wctob (configure.ac): ... to here.
2383         (Depends-on): Update conditions.
2384
2385 2011-05-22  Bruno Haible  <bruno@clisp.org>
2386
2387         wcsxfrm: Move AC_LIBOBJ invocations to module description.
2388         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
2389         here...
2390         * modules/wcsxfrm (configure.ac): ... to here.
2391
2392 2011-05-22  Bruno Haible  <bruno@clisp.org>
2393
2394         wcstok: Move AC_LIBOBJ invocations to module description.
2395         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
2396         * modules/wcstok (configure.ac): ... to here.
2397
2398 2011-05-22  Bruno Haible  <bruno@clisp.org>
2399
2400         wcsstr: Move AC_LIBOBJ invocations to module description.
2401         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
2402         * modules/wcsstr (configure.ac): ... to here.
2403
2404 2011-05-22  Bruno Haible  <bruno@clisp.org>
2405
2406         wcsspn: Move AC_LIBOBJ invocations to module description.
2407         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
2408         * modules/wcsspn (configure.ac): ... to here.
2409
2410 2011-05-22  Bruno Haible  <bruno@clisp.org>
2411
2412         wcsrtombs: Move AC_LIBOBJ invocations to module description.
2413         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
2414         gl_PREREQ_WCSRTOMBS invocations from here...
2415         * modules/wcsrtombs (configure.ac): ... to here.
2416
2417 2011-05-22  Bruno Haible  <bruno@clisp.org>
2418
2419         wcsrchr: Move AC_LIBOBJ invocations to module description.
2420         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
2421         here...
2422         * modules/wcsrchr (configure.ac): ... to here.
2423
2424 2011-05-22  Bruno Haible  <bruno@clisp.org>
2425
2426         wcspbrk: Move AC_LIBOBJ invocations to module description.
2427         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
2428         here...
2429         * modules/wcspbrk (configure.ac): ... to here.
2430
2431 2011-05-22  Bruno Haible  <bruno@clisp.org>
2432
2433         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
2434         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
2435         gl_PREREQ_WCSNRTOMBS invocations from here...
2436         * modules/wcsnrtombs (configure.ac): ... to here.
2437
2438 2011-05-22  Bruno Haible  <bruno@clisp.org>
2439
2440         wcsnlen: Move AC_LIBOBJ invocations to module description.
2441         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
2442         here...
2443         * modules/wcsnlen (configure.ac): ... to here.
2444
2445 2011-05-22  Bruno Haible  <bruno@clisp.org>
2446
2447         wcsncpy: Move AC_LIBOBJ invocations to module description.
2448         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
2449         here...
2450         * modules/wcsncpy (configure.ac): ... to here.
2451
2452 2011-05-22  Bruno Haible  <bruno@clisp.org>
2453
2454         wcsncmp: Move AC_LIBOBJ invocations to module description.
2455         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
2456         here...
2457         * modules/wcsncmp (configure.ac): ... to here.
2458
2459 2011-05-22  Bruno Haible  <bruno@clisp.org>
2460
2461         wcsncat: Move AC_LIBOBJ invocations to module description.
2462         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
2463         here...
2464         * modules/wcsncat (configure.ac): ... to here.
2465
2466 2011-05-22  Bruno Haible  <bruno@clisp.org>
2467
2468         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
2469         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
2470         from here...
2471         * modules/wcsncasecmp (configure.ac): ... to here.
2472
2473 2011-05-22  Bruno Haible  <bruno@clisp.org>
2474
2475         wcslen: Move AC_LIBOBJ invocations to module description.
2476         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
2477         * modules/wcslen (configure.ac): ... to here.
2478
2479 2011-05-22  Bruno Haible  <bruno@clisp.org>
2480
2481         wcsdup: Move AC_LIBOBJ invocations to module description.
2482         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
2483         * modules/wcsdup (configure.ac): ... to here.
2484
2485 2011-05-22  Bruno Haible  <bruno@clisp.org>
2486
2487         wcscspn: Move AC_LIBOBJ invocations to module description.
2488         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
2489         here...
2490         * modules/wcscspn (configure.ac): ... to here.
2491
2492 2011-05-22  Bruno Haible  <bruno@clisp.org>
2493
2494         wcscpy: Move AC_LIBOBJ invocations to module description.
2495         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
2496         * modules/wcscpy (configure.ac): ... to here.
2497
2498 2011-05-22  Bruno Haible  <bruno@clisp.org>
2499
2500         wcscoll: Move AC_LIBOBJ invocations to module description.
2501         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
2502         here...
2503         * modules/wcscoll (configure.ac): ... to here.
2504
2505 2011-05-22  Bruno Haible  <bruno@clisp.org>
2506
2507         wcscmp: Move AC_LIBOBJ invocations to module description.
2508         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
2509         * modules/wcscmp (configure.ac): ... to here.
2510
2511 2011-05-22  Bruno Haible  <bruno@clisp.org>
2512
2513         wcschr: Move AC_LIBOBJ invocations to module description.
2514         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
2515         * modules/wcschr (configure.ac): ... to here.
2516
2517 2011-05-22  Bruno Haible  <bruno@clisp.org>
2518
2519         wcscat: Move AC_LIBOBJ invocations to module description.
2520         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
2521         * modules/wcscat (configure.ac): ... to here.
2522
2523 2011-05-22  Bruno Haible  <bruno@clisp.org>
2524
2525         wcscasecmp: Move AC_LIBOBJ invocations to module description.
2526         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
2527         here...
2528         * modules/wcscasecmp (configure.ac): ... to here.
2529
2530 2011-05-22  Bruno Haible  <bruno@clisp.org>
2531
2532         wcrtomb: Move AC_LIBOBJ invocations to module description.
2533         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
2534         invocations from here...
2535         * modules/wcrtomb (configure.ac): ... to here.
2536
2537 2011-05-22  Bruno Haible  <bruno@clisp.org>
2538
2539         wcpncpy: Move AC_LIBOBJ invocations to module description.
2540         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
2541         here...
2542         * modules/wcpncpy (configure.ac): ... to here.
2543
2544 2011-05-22  Bruno Haible  <bruno@clisp.org>
2545
2546         wcpcpy: Move AC_LIBOBJ invocations to module description.
2547         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
2548         * modules/wcpcpy (configure.ac): ... to here.
2549
2550 2011-05-22  Bruno Haible  <bruno@clisp.org>
2551
2552         waitpid: Move AC_LIBOBJ invocations to module description.
2553         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
2554         invocation from here...
2555         * modules/waitpid (configure.ac): ... to here.
2556
2557 2011-05-22  Bruno Haible  <bruno@clisp.org>
2558
2559         utimensat: Move AC_LIBOBJ invocations to module description.
2560         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
2561         here...
2562         * modules/utimensat (configure.ac): ... to here.
2563
2564 2011-05-22  Bruno Haible  <bruno@clisp.org>
2565
2566         usleep: Move AC_LIBOBJ invocations to module description.
2567         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
2568         here...
2569         * modules/usleep (configure.ac): ... to here.
2570
2571 2011-05-22  Bruno Haible  <bruno@clisp.org>
2572
2573         unlockpt: Move AC_LIBOBJ invocations to module description.
2574         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
2575         gl_PREREQ_UNLOCKPT invocations from here...
2576         * modules/unlockpt (configure.ac): ... to here.
2577
2578 2011-05-22  Bruno Haible  <bruno@clisp.org>
2579
2580         unlink: Respect rules for use of AC_LIBOBJ.
2581         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
2582         * modules/unlink (configure.ac): ... to here.
2583
2584 2011-05-22  Bruno Haible  <bruno@clisp.org>
2585
2586         uname: Move AC_LIBOBJ invocations to module description.
2587         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
2588         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
2589         here...
2590         * modules/uname (configure.ac): ... to here.
2591
2592 2011-05-22  Bruno Haible  <bruno@clisp.org>
2593
2594         ttyname_r: Move AC_LIBOBJ invocations to module description.
2595         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
2596         gl_PREREQ_TTYNAME_R invocations from here...
2597         * modules/ttyname_r (configure.ac): ... to here.
2598
2599 2011-05-22  Bruno Haible  <bruno@clisp.org>
2600
2601         tsearch: Move AC_LIBOBJ invocations to module description.
2602         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
2603         invocations from here...
2604         * modules/tsearch (configure.ac): ... to here.
2605
2606 2011-05-22  Bruno Haible  <bruno@clisp.org>
2607
2608         towctrans: Move AC_LIBOBJ invocations to module description.
2609         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
2610         AC_LIBOBJ invocation from here...
2611         * modules/towctrans (configure.ac): ... to here.
2612
2613 2011-05-22  Bruno Haible  <bruno@clisp.org>
2614
2615         tmpfile: Move AC_LIBOBJ invocations to module description.
2616         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
2617         invocations from here...
2618         * modules/tmpfile (configure.ac): ... to here.
2619
2620 2011-05-22  Bruno Haible  <bruno@clisp.org>
2621
2622         times: Move AC_LIBOBJ invocations to module description.
2623         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
2624         * modules/times (configure.ac): ... to here.
2625
2626 2011-05-22  Bruno Haible  <bruno@clisp.org>
2627
2628         time_r: Move AC_LIBOBJ invocations to module description.
2629         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
2630         invocations from here...
2631         * modules/time_r (configure.ac): ... to here.
2632
2633 2011-05-22  Bruno Haible  <bruno@clisp.org>
2634
2635         timegm: Move AC_LIBOBJ invocations to module description.
2636         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
2637         invocations from here...
2638         * modules/timegm (configure.ac): ... to here.
2639
2640 2011-05-22  Bruno Haible  <bruno@clisp.org>
2641
2642         tcgetsid: Move AC_LIBOBJ invocations to module description.
2643         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
2644         and gl_PREREQ_TCGETSID invocations from here...
2645         * modules/tcgetsid (configure.ac): ... to here.
2646         (Depends-on): Update conditions.
2647
2648 2011-05-22  Bruno Haible  <bruno@clisp.org>
2649
2650         symlinkat: Move AC_LIBOBJ invocations to module description.
2651         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
2652         here...
2653         * modules/symlinkat (configure.ac): ... to here.
2654
2655 2011-05-22  Bruno Haible  <bruno@clisp.org>
2656
2657         symlink: Move AC_LIBOBJ invocations to module description.
2658         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
2659         here...
2660         * modules/symlink (configure.ac): ... to here.
2661
2662 2011-05-22  Bruno Haible  <bruno@clisp.org>
2663
2664         strverscmp: Move AC_LIBOBJ invocations to module description.
2665         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
2666         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
2667         from here...
2668         * modules/strverscmp (configure.ac): ... to here.
2669
2670 2011-05-22  Bruno Haible  <bruno@clisp.org>
2671
2672         strtok_r: Move AC_LIBOBJ invocations to module description.
2673         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
2674         and gl_PREREQ_STRTOK_R invocations from here...
2675         * modules/strtok_r (configure.ac): ... to here.
2676         (Depends-on): Update conditions.
2677
2678 2011-05-22  Bruno Haible  <bruno@clisp.org>
2679
2680         strtoumax: Move AC_LIBOBJ invocations to module description.
2681         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
2682         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
2683         from here...
2684         * modules/strtoumax (configure.ac): ... to here.
2685
2686 2011-05-22  Bruno Haible  <bruno@clisp.org>
2687
2688         strtoimax: Move AC_LIBOBJ invocations to module description.
2689         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
2690         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
2691         from here...
2692         * modules/strtoimax (configure.ac): ... to here.
2693
2694 2011-05-22  Bruno Haible  <bruno@clisp.org>
2695
2696         strtoull: Move AC_LIBOBJ invocations to module description.
2697         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
2698         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
2699         from here...
2700         * modules/strtoull (configure.ac): ... to here.
2701
2702 2011-05-22  Bruno Haible  <bruno@clisp.org>
2703
2704         strtoll: Move AC_LIBOBJ invocations to module description.
2705         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
2706         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
2707         here...
2708         * modules/strtoll (configure.ac): ... to here.
2709
2710 2011-05-22  Bruno Haible  <bruno@clisp.org>
2711
2712         strtoul: Move AC_LIBOBJ invocations to module description.
2713         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
2714         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
2715         * modules/strtoul (configure.ac): ... to here.
2716
2717 2011-05-22  Bruno Haible  <bruno@clisp.org>
2718
2719         strtol: Move AC_LIBOBJ invocations to module description.
2720         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
2721         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
2722         * modules/strtol (configure.ac): ... to here.
2723
2724 2011-05-22  Bruno Haible  <bruno@clisp.org>
2725
2726         strtod: Move AC_LIBOBJ invocations to module description.
2727         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
2728         invocations from here...
2729         * modules/strtod (configure.ac): ... to here.
2730
2731 2011-05-22  Bruno Haible  <bruno@clisp.org>
2732
2733         strstr*: Move AC_LIBOBJ invocations to module description.
2734         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
2735         invocations from here...
2736         * modules/strstr-simple (configure.ac): ... to here.
2737         * modules/strstr (configure.ac): ... and here.
2738
2739 2011-05-22  Bruno Haible  <bruno@clisp.org>
2740
2741         strsignal: Move AC_LIBOBJ invocations to module description.
2742         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
2743         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
2744         * modules/strsignal (configure.ac): ... to here.
2745         (Depends-on): Update conditions.
2746
2747 2011-05-22  Bruno Haible  <bruno@clisp.org>
2748
2749         strsep: Move AC_LIBOBJ invocations to module description.
2750         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
2751         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
2752         here...
2753         * modules/strsep (configure.ac): ... to here.
2754
2755 2011-05-22  Bruno Haible  <bruno@clisp.org>
2756
2757         strptime: Move AC_LIBOBJ invocations to module description.
2758         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
2759         gl_PREREQ_STRPTIME invocations from here...
2760         * modules/strptime (configure.ac): ... to here.
2761
2762 2011-05-22  Bruno Haible  <bruno@clisp.org>
2763
2764         strpbrk: Move AC_LIBOBJ invocations to module description.
2765         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
2766         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
2767         here...
2768         * modules/strpbrk (configure.ac): ... to here.
2769
2770 2011-05-22  Bruno Haible  <bruno@clisp.org>
2771
2772         strnlen: Move AC_LIBOBJ invocations to module description.
2773         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
2774         invocations from here...
2775         * modules/strnlen (configure.ac): ... to here.
2776
2777 2011-05-22  Bruno Haible  <bruno@clisp.org>
2778
2779         strndup: Move AC_LIBOBJ invocations to module description.
2780         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
2781         invocations from here...
2782         * modules/strndup (configure.ac): ... to here.
2783         (Depends-on): Update conditions.
2784
2785 2011-05-22  Bruno Haible  <bruno@clisp.org>
2786
2787         strncat: Move AC_LIBOBJ invocations to module description.
2788         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
2789         invocations from here...
2790         * modules/strncat (configure.ac): ... to here.
2791
2792 2011-05-22  Bruno Haible  <bruno@clisp.org>
2793
2794         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
2795         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
2796         invocations from here...
2797         * modules/strdup (configure.ac): ... to here.
2798         * modules/strdup-posix (configure.ac): ... and here.
2799
2800 2011-05-22  Bruno Haible  <bruno@clisp.org>
2801
2802         strcspn: Move AC_LIBOBJ invocations to module description.
2803         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
2804         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
2805         here...
2806         * modules/strcspn (configure.ac): ... to here.
2807
2808 2011-05-22  Bruno Haible  <bruno@clisp.org>
2809
2810         strchrnul: Move AC_LIBOBJ invocations to module description.
2811         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
2812         gl_PREREQ_STRCHRNUL invocations from here...
2813         * modules/strchrnul (configure.ac): ... to here.
2814
2815 2011-05-22  Bruno Haible  <bruno@clisp.org>
2816
2817         strcasestr*: Move AC_LIBOBJ invocations to module description.
2818         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
2819         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
2820         * modules/strcasestr-simple (configure.ac): ... to here.
2821         * modules/strcasestr (configure.ac): ... and here.
2822
2823 2011-05-22  Bruno Haible  <bruno@clisp.org>
2824
2825         strcase: Move AC_LIBOBJ invocations to module description.
2826         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
2827         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
2828         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
2829         gl_PREREQ_STRNCASECMP invocations from here...
2830         * modules/strcase (configure.ac): ... to here.
2831
2832 2011-05-22  Bruno Haible  <bruno@clisp.org>
2833
2834         stpncpy: Move AC_LIBOBJ invocations to module description.
2835         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
2836         here...
2837         * modules/stpncpy (configure.ac): ... to here.
2838
2839 2011-05-22  Bruno Haible  <bruno@clisp.org>
2840
2841         stpcpy: Move AC_LIBOBJ invocations to module description.
2842         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
2843         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
2844         here...
2845         * modules/stpcpy (configure.ac): ... to here.
2846
2847 2011-05-21  Bruno Haible  <bruno@clisp.org>
2848
2849         stat: Move AC_LIBOBJ invocations to module description.
2850         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
2851         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
2852         here...
2853         * modules/stat (configure.ac): ... to here.
2854
2855 2011-05-21  Bruno Haible  <bruno@clisp.org>
2856
2857         sleep: Move AC_LIBOBJ invocations to module description.
2858         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
2859         * modules/sleep (configure.ac): ... to here.
2860
2861 2011-05-21  Bruno Haible  <bruno@clisp.org>
2862
2863         signbit: Move AC_LIBOBJ invocations to module description.
2864         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
2865         * modules/signbit (configure.ac): ... to here.
2866
2867 2011-05-21  Bruno Haible  <bruno@clisp.org>
2868
2869         sigprocmask: Move AC_LIBOBJ invocations to module description.
2870         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
2871         gl_PREREQ_SIGPROMASK invocations from here...
2872         * modules/sigprocmask (configure.ac): ... to here.
2873
2874 2011-05-21  Bruno Haible  <bruno@clisp.org>
2875
2876         sigaction: Move AC_LIBOBJ invocations to module description.
2877         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
2878         gl_PREREQ_SIGACTION invocations from here...
2879         * modules/sigaction (configure.ac): ... to here.
2880
2881 2011-05-21  Bruno Haible  <bruno@clisp.org>
2882
2883         sig2str: Move AC_LIBOBJ invocations to module description.
2884         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
2885         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
2886         here...
2887         * modules/sig2str (configure.ac): ... to here.
2888
2889 2011-05-21  Bruno Haible  <bruno@clisp.org>
2890
2891         setlocale: Move AC_LIBOBJ invocations to module description.
2892         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
2893         gl_PREREQ_SETLOCALE invocations from here...
2894         * modules/setlocale (configure.ac): ... to here.
2895
2896 2011-05-21  Bruno Haible  <bruno@clisp.org>
2897
2898         unsetenv: Move AC_LIBOBJ invocations to module description.
2899         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
2900         and gl_PREREQ_UNSETENV invocations from here...
2901         * modules/unsetenv (configure.ac): ... to here.
2902         (Depends-on): Update.
2903
2904 2011-05-21  Bruno Haible  <bruno@clisp.org>
2905
2906         setenv: Move AC_LIBOBJ invocations to module description.
2907         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
2908         here...
2909         * modules/setenv (configure.ac): ... to here.
2910
2911 2011-05-21  Bruno Haible  <bruno@clisp.org>
2912
2913         selinux-h: Move AC_LIBOBJ invocations to module description.
2914         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
2915         AC_LIBOBJ invocation from here...
2916         * modules/selinux-h (configure.ac): ... to here.
2917
2918 2011-05-21  Bruno Haible  <bruno@clisp.org>
2919
2920         select: Respect rules for use of AC_LIBOBJ.
2921         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
2922         here...
2923         * modules/select (configure.ac): ... to here.
2924
2925 2011-05-21  Bruno Haible  <bruno@clisp.org>
2926
2927         scandir: Move AC_LIBOBJ invocations to module description.
2928         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
2929         invocations from here...
2930         * modules/scandir (configure.ac): ... to here.
2931
2932 2011-05-21  Bruno Haible  <bruno@clisp.org>
2933
2934         rpmatch: Move AC_LIBOBJ invocations to module description.
2935         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
2936         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
2937         here...
2938         * modules/rpmatch (configure.ac): ... to here.
2939
2940 2011-05-21  Bruno Haible  <bruno@clisp.org>
2941
2942         rmdir: Respect rules for use of AC_LIBOBJ.
2943         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
2944         * modules/rmdir (configure.ac): ... to here.
2945
2946 2011-05-21  Bruno Haible  <bruno@clisp.org>
2947
2948         renameat: Move AC_LIBOBJ invocations to module description.
2949         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
2950         here...
2951         * modules/renameat (configure.ac): ... to here.
2952
2953 2011-05-21  Bruno Haible  <bruno@clisp.org>
2954
2955         rename: Respect rules for use of AC_LIBOBJ.
2956         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
2957         here...
2958         * modules/rename (configure.ac): ... to here.
2959
2960 2011-05-21  Bruno Haible  <bruno@clisp.org>
2961
2962         remove: Move AC_LIBOBJ invocations to module description.
2963         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
2964         here...
2965         * modules/remove (configure.ac): ... to here.
2966
2967 2011-05-21  Bruno Haible  <bruno@clisp.org>
2968
2969         relocatable-lib: Move AC_LIBOBJ invocations to module description.
2970         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
2971         macro.
2972         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
2973         * modules/relocatable-lib (configure.ac): ... to here.
2974         * modules/relocatable-prog-wrapper (configure.ac): Invoke
2975         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
2976
2977 2011-05-21  Bruno Haible  <bruno@clisp.org>
2978
2979         relocatable-prog: Move AC_LIBOBJ invocations to module description.
2980         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
2981         here...
2982         * modules/relocatable-prog (configure.ac): ... to here.
2983
2984 2011-05-21  Bruno Haible  <bruno@clisp.org>
2985
2986         regex: Move AC_LIBOBJ invocations to module description.
2987         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
2988         invocations from here...
2989         * modules/regex (configure.ac): ... to here.
2990
2991 2011-05-21  Bruno Haible  <bruno@clisp.org>
2992
2993         realloc-*: Move AC_LIBOBJ invocations to module description.
2994         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
2995         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
2996         AC_LIBOBJ invocations from here...
2997         * modules/realloc-gnu (configure.ac): ... to here.
2998         * modules/realloc-posix (configure.ac): ... and here.
2999
3000 2011-05-21  Bruno Haible  <bruno@clisp.org>
3001
3002         readutmp: Move AC_LIBOBJ invocations to module description.
3003         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
3004         * modules/readutmp (configure.ac): ... to here.
3005
3006 2011-05-21  Bruno Haible  <bruno@clisp.org>
3007
3008         readlinkat: Move AC_LIBOBJ invocations to module description.
3009         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
3010         here...
3011         * modules/readlinkat (configure.ac): ... to here.
3012
3013 2011-05-21  Bruno Haible  <bruno@clisp.org>
3014
3015         readlink: Move AC_LIBOBJ invocations to module description.
3016         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
3017         gl_PREREQ_READLINK invocations from here...
3018         * modules/readlink (configure.ac): ... to here.
3019
3020 2011-05-21  Bruno Haible  <bruno@clisp.org>
3021
3022         readline: Move AC_LIBOBJ invocations to module description.
3023         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
3024         gl_PREREQ_READLINE invocations from here...
3025         * modules/readline (configure.ac): ... to here.
3026
3027 2011-05-21  Bruno Haible  <bruno@clisp.org>
3028
3029         read: Move AC_LIBOBJ invocations to module description.
3030         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
3031         * modules/read (configure.ac): ... to here.
3032
3033 2011-05-21  Bruno Haible  <bruno@clisp.org>
3034
3035         rawmemchr: Move AC_LIBOBJ invocations to module description.
3036         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
3037         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
3038         from here...
3039         * modules/rawmemchr (configure.ac): ... to here.
3040
3041 2011-05-21  Bruno Haible  <bruno@clisp.org>
3042
3043         random_r: Move AC_LIBOBJ invocations to module description.
3044         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
3045         gl_PREREQ_RANDOM_R invocations from here...
3046         * modules/random_r (configure.ac): ... to here.
3047
3048 2011-05-21  Bruno Haible  <bruno@clisp.org>
3049
3050         pwrite: Move AC_LIBOBJ invocations to module description.
3051         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
3052         * modules/pwrite (configure.ac): ... to here.
3053
3054 2011-05-21  Bruno Haible  <bruno@clisp.org>
3055
3056         putenv: Move AC_LIBOBJ invocations to module description.
3057         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
3058         * modules/putenv (configure.ac): ... to here.
3059
3060 2011-05-21  Bruno Haible  <bruno@clisp.org>
3061
3062         login_tty: Move AC_LIBOBJ invocations to module description.
3063         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
3064         * modules/login_tty (configure.ac): ... to here.
3065
3066 2011-05-21  Bruno Haible  <bruno@clisp.org>
3067
3068         openpty: Move AC_LIBOBJ invocations to module description.
3069         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
3070         * modules/openpty (configure.ac): ... to here.
3071
3072 2011-05-21  Bruno Haible  <bruno@clisp.org>
3073
3074         forkpty: Move AC_LIBOBJ invocations to module description.
3075         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
3076         * modules/forkpty (configure.ac): ... to here.
3077
3078 2011-05-21  Bruno Haible  <bruno@clisp.org>
3079
3080         ptsname: Move AC_LIBOBJ invocations to module description.
3081         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
3082         invocations from here...
3083         * modules/ptsname (configure.ac): ... to here.
3084
3085 2011-05-21  Bruno Haible  <bruno@clisp.org>
3086
3087         pread: Move AC_LIBOBJ invocations to module description.
3088         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
3089         * modules/pread (configure.ac): ... to here.
3090
3091 2011-05-21  Bruno Haible  <bruno@clisp.org>
3092
3093         posix_spawn*: Move AC_LIBOBJ invocations to module description.
3094         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
3095         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
3096         * modules/posix_spawn (configure.ac): ... to here.
3097         * modules/posix_spawnp (configure.ac): ... and here.
3098
3099 2011-05-21  Bruno Haible  <bruno@clisp.org>
3100
3101         popen: Move AC_LIBOBJ invocations to module description.
3102         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
3103         invocations from here...
3104         * modules/popen (configure.ac): ... to here.
3105
3106 2011-05-21  Bruno Haible  <bruno@clisp.org>
3107
3108         poll: Move AC_LIBOBJ invocations to module description.
3109         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
3110         invocations from here...
3111         * modules/poll (configure.ac): ... to here.
3112
3113 2011-05-21  Bruno Haible  <bruno@clisp.org>
3114
3115         pipe-posix: Move AC_LIBOBJ invocations to module description.
3116         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
3117         * modules/pipe-posix (configure.ac): ... to here.
3118
3119 2011-05-21  Bruno Haible  <bruno@clisp.org>
3120
3121         openat: Respect rules for use of AC_LIBOBJ.
3122         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
3123         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
3124         * modules/openat (configure.ac): ... to here.
3125
3126 2011-05-21  Bruno Haible  <bruno@clisp.org>
3127
3128         obstack-printf*: Move AC_LIBOBJ invocations to module description.
3129         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
3130         invocation from here...
3131         * modules/obstack-printf (configure.ac): ... to here.
3132         * modules/obstack-printf-posix (configure.ac): ... and here.
3133
3134 2011-05-21  Bruno Haible  <bruno@clisp.org>
3135
3136         nl_langinfo: Move AC_LIBOBJ invocations to module description.
3137         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
3138         from here...
3139         * modules/nl_langinfo (configure.ac): ... to here.
3140
3141 2011-05-21  Bruno Haible  <bruno@clisp.org>
3142
3143         nanosleep: Move AC_LIBOBJ invocations to module description.
3144         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
3145         gl_PREREQ_NANOSLEEP invocations from here...
3146         * modules/nanosleep (configure.ac): ... to here.
3147
3148 2011-05-21  Bruno Haible  <bruno@clisp.org>
3149
3150         mountlist: Move AC_LIBOBJ invocations to module description.
3151         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
3152         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
3153         * modules/mountlist (configure.ac): ... to here.
3154
3155 2011-05-21  Bruno Haible  <bruno@clisp.org>
3156
3157         mktime: Respect rules for use of AC_LIBOBJ.
3158         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
3159         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
3160         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
3161         (gl_FUNC_MKTIME_INTERNAL): ... and here...
3162         * modules/mktime (configure.ac): ... to here.
3163         * modules/mktime-internal (configure.ac): ... and here.
3164         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
3165
3166 2011-05-21  Bruno Haible  <bruno@clisp.org>
3167
3168         mkstemps: Move AC_LIBOBJ invocations to module description.
3169         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
3170         here...
3171         * modules/mkstemps (configure.ac): ... to here.
3172
3173 2011-05-21  Bruno Haible  <bruno@clisp.org>
3174
3175         mkstemp: Move AC_LIBOBJ invocations to module description.
3176         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
3177         gl_PREREQ_MKSTEMP invocations from here...
3178         * modules/mkstemp (configure.ac): ... to here.
3179
3180 2011-05-21  Bruno Haible  <bruno@clisp.org>
3181
3182         mkostemps: Move AC_LIBOBJ invocations to module description.
3183         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
3184         here...
3185         * modules/mkostemps (configure.ac): ... to here.
3186
3187 2011-05-21  Bruno Haible  <bruno@clisp.org>
3188
3189         mkostemp: Move AC_LIBOBJ invocations to module description.
3190         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
3191         gl_PREREQ_MKOSTEMP invocations from here...
3192         * modules/mkostemp (configure.ac): ... to here.
3193
3194 2011-05-21  Bruno Haible  <bruno@clisp.org>
3195
3196         mknod: Move AC_LIBOBJ invocations to module description.
3197         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
3198         * modules/mknod (configure.ac): ... to here.
3199
3200 2011-05-21  Bruno Haible  <bruno@clisp.org>
3201
3202         mkfifoat: Move AC_LIBOBJ invocations to module description.
3203         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
3204         here...
3205         * modules/mkfifoat (configure.ac): ... to here.
3206
3207 2011-05-21  Bruno Haible  <bruno@clisp.org>
3208
3209         mkfifo: Respect rules for use of AC_LIBOBJ.
3210         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
3211         here...
3212         * modules/mkfifo (configure.ac): ... to here.
3213
3214 2011-05-21  Bruno Haible  <bruno@clisp.org>
3215
3216         mkdtemp: Move AC_LIBOBJ invocations to module description.
3217         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
3218         invocations from here...
3219         * modules/mkdtemp (configure.ac): ... to here.
3220
3221 2011-05-21  Bruno Haible  <bruno@clisp.org>
3222
3223         mkdir: Move AC_LIBOBJ invocations to module description.
3224         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
3225         * modules/mkdir (configure.ac): ... to here.
3226
3227 2011-05-21  Bruno Haible  <bruno@clisp.org>
3228
3229         memset: Move AC_LIBOBJ invocations to module description.
3230         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
3231         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
3232         here...
3233         * modules/memset (configure.ac): ... to here.
3234
3235 2011-05-21  Bruno Haible  <bruno@clisp.org>
3236
3237         memrchr: Move AC_LIBOBJ invocations to module description.
3238         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
3239         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
3240         here...
3241         * modules/memrchr (configure.ac): ... to here.
3242
3243 2011-05-21  Bruno Haible  <bruno@clisp.org>
3244
3245         mempcpy: Move AC_LIBOBJ invocations to module description.
3246         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
3247         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
3248         here...
3249         * modules/mempcpy (configure.ac): ... to here.
3250
3251 2011-05-21  Bruno Haible  <bruno@clisp.org>
3252
3253         memmove: Move AC_LIBOBJ invocations to module description.
3254         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
3255         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
3256         here...
3257         * modules/memmove (configure.ac): ... to here.
3258
3259 2011-05-21  Bruno Haible  <bruno@clisp.org>
3260
3261         memmem*: Move AC_LIBOBJ invocations to module description.
3262         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
3263         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
3264         here...
3265         (gl_FUNC_MEMMEM): ... and here...
3266         * modules/memmem-simple (configure.ac): ... to here.
3267         * modules/memmem (configure.ac): ... and here.
3268
3269 2011-05-21  Bruno Haible  <bruno@clisp.org>
3270
3271         memcpy: Move AC_LIBOBJ invocations to module description.
3272         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
3273         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
3274         here...
3275         * modules/memcpy (configure.ac): ... to here.
3276
3277 2011-05-21  Bruno Haible  <bruno@clisp.org>
3278
3279         memcmp: Simplify autoconf macro.
3280         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
3281         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
3282         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
3283
3284 2011-05-21  Bruno Haible  <bruno@clisp.org>
3285
3286         memcmp: Move AC_LIBOBJ invocations to module description.
3287         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
3288         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
3289         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
3290         * modules/memcmp (configure.ac): ... to here.
3291         (Depends-on): Update conditions.
3292
3293 2011-05-21  Bruno Haible  <bruno@clisp.org>
3294
3295         memchr: Respect rules for use of AC_LIBOBJ.
3296         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
3297         invocations from here...
3298         * modules/memchr (configure.ac): ... to here.
3299
3300 2011-05-21  Bruno Haible  <bruno@clisp.org>
3301
3302         mbtowc: Move AC_LIBOBJ invocations to module description.
3303         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
3304         invocations from here...
3305         * modules/mbtowc (configure.ac): ... to here.
3306
3307 2011-05-21  Bruno Haible  <bruno@clisp.org>
3308
3309         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
3310         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
3311         gl_PREREQ_MBSRTOWCS invocations from here...
3312         * modules/mbsrtowcs (configure.ac): ... to here.
3313
3314 2011-05-21  Bruno Haible  <bruno@clisp.org>
3315
3316         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
3317         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
3318         gl_PREREQ_MBSNRTOWCS invocations from here...
3319         * modules/mbsnrtowcs (configure.ac): ... to here.
3320
3321 2011-05-21  Bruno Haible  <bruno@clisp.org>
3322
3323         mbsinit: Move AC_LIBOBJ invocations to module description.
3324         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
3325         invocations from here...
3326         * modules/mbsinit (configure.ac): ... to here.
3327
3328 2011-05-21  Bruno Haible  <bruno@clisp.org>
3329
3330         mbrlen: Move AC_LIBOBJ invocations to module description.
3331         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
3332         invocations from here...
3333         * modules/mbrlen (configure.ac): ... to here.
3334
3335 2011-05-21  Bruno Haible  <bruno@clisp.org>
3336
3337         mbrtowc: Respect rules for use of AC_LIBOBJ.
3338         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
3339         invocations from here...
3340         * modules/mbrtowc (configure.ac): ... to here.
3341
3342 2011-05-21  Bruno Haible  <bruno@clisp.org>
3343
3344         malloc-*: Move AC_LIBOBJ invocations to module description.
3345         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
3346         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
3347         AC_LIBOBJ invocations from here...
3348         * modules/malloc-gnu (configure.ac): ... to here.
3349         * modules/malloc-posix (configure.ac): ... and here.
3350
3351 2011-05-21  Bruno Haible  <bruno@clisp.org>
3352
3353         lstat, openat: Respect rules for use of AC_LIBOBJ.
3354         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
3355         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
3356         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
3357         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
3358         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
3359         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
3360         here.
3361         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
3362
3363 2011-05-21  Bruno Haible  <bruno@clisp.org>
3364
3365         lseek: Move AC_LIBOBJ invocations to module description.
3366         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
3367         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
3368         * modules/lseek (configure.ac): ... to here.
3369
3370 2011-05-21  Bruno Haible  <bruno@clisp.org>
3371
3372         linkat: Move AC_LIBOBJ invocations to module description.
3373         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
3374         here...
3375         * modules/linkat (configure.ac): ... to here.
3376
3377 2011-05-21  Bruno Haible  <bruno@clisp.org>
3378
3379         link: Respect rules for use of AC_LIBOBJ.
3380         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
3381         * modules/link (configure.ac): ... to here.
3382
3383 2011-05-21  Bruno Haible  <bruno@clisp.org>
3384
3385         lchown: Move AC_LIBOBJ invocations to module description.
3386         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
3387         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
3388         * modules/lchown (configure.ac): ... to here.
3389
3390 2011-05-21  Bruno Haible  <bruno@clisp.org>
3391
3392         iswctype: Move AC_LIBOBJ invocations to module description.
3393         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
3394         here...
3395         * modules/iswctype (configure.ac): ... to here.
3396
3397 2011-05-21  Bruno Haible  <bruno@clisp.org>
3398
3399         iswblank: Move AC_LIBOBJ invocations to module description.
3400         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
3401         here...
3402         * modules/iswblank (configure.ac): ... to here.
3403
3404 2011-05-21  Bruno Haible  <bruno@clisp.org>
3405
3406         atanl: Move AC_LIBOBJ invocations to module description.
3407         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
3408         * modules/atanl (configure.ac): ... to here.
3409
3410 2011-05-21  Bruno Haible  <bruno@clisp.org>
3411
3412         acosl: Move AC_LIBOBJ invocations to module description.
3413         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
3414         * modules/acosl (configure.ac): ... to here.
3415
3416 2011-05-21  Bruno Haible  <bruno@clisp.org>
3417
3418         asinl: Respect rules for use of AC_LIBOBJ.
3419         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
3420         * modules/asinl (configure.ac): ... to here.
3421
3422 2011-05-21  Bruno Haible  <bruno@clisp.org>
3423
3424         tanl: Move AC_LIBOBJ invocations to module description.
3425         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
3426         * modules/tanl (configure.ac): ... to here.
3427
3428 2011-05-21  Bruno Haible  <bruno@clisp.org>
3429
3430         cosl: Move AC_LIBOBJ invocations to module description.
3431         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
3432         * modules/cosl (configure.ac): ... to here.
3433
3434 2011-05-21  Bruno Haible  <bruno@clisp.org>
3435
3436         sinl: Move AC_LIBOBJ invocations to module description.
3437         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
3438         * modules/sinl (configure.ac): ... to here.
3439
3440 2011-05-21  Bruno Haible  <bruno@clisp.org>
3441
3442         logl: Move AC_LIBOBJ invocations to module description.
3443         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
3444         * modules/logl (configure.ac): ... to here.
3445
3446 2011-05-21  Bruno Haible  <bruno@clisp.org>
3447
3448         expl: Move AC_LIBOBJ invocations to module description.
3449         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
3450         * modules/expl (configure.ac): ... to here.
3451
3452 2011-05-21  Bruno Haible  <bruno@clisp.org>
3453
3454         roundl: Move AC_LIBOBJ invocations to module description.
3455         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
3456         * modules/roundl (configure.ac): ... to here.
3457
3458 2011-05-21  Bruno Haible  <bruno@clisp.org>
3459
3460         round: Move AC_LIBOBJ invocations to module description.
3461         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
3462         * modules/round (configure.ac): ... to here.
3463
3464 2011-05-21  Bruno Haible  <bruno@clisp.org>
3465
3466         roundf: Move AC_LIBOBJ invocations to module description.
3467         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
3468         * modules/roundf (configure.ac): ... to here.
3469
3470 2011-05-21  Bruno Haible  <bruno@clisp.org>
3471
3472         truncl: Move AC_LIBOBJ invocations to module description.
3473         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
3474         * modules/truncl (configure.ac): ... to here.
3475
3476 2011-05-21  Bruno Haible  <bruno@clisp.org>
3477
3478         trunc: Move AC_LIBOBJ invocations to module description.
3479         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
3480         * modules/trunc (configure.ac): ... to here.
3481
3482 2011-05-21  Bruno Haible  <bruno@clisp.org>
3483
3484         truncf: Move AC_LIBOBJ invocations to module description.
3485         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
3486         * modules/truncf (configure.ac): ... to here.
3487
3488 2011-05-21  Bruno Haible  <bruno@clisp.org>
3489
3490         ceill: Move AC_LIBOBJ invocations to module description.
3491         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
3492         * modules/ceill (configure.ac): ... to here.
3493
3494 2011-05-21  Bruno Haible  <bruno@clisp.org>
3495
3496         ceil: Move AC_LIBOBJ invocations to module description.
3497         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
3498         * modules/ceil (configure.ac): ... to here.
3499
3500 2011-05-21  Bruno Haible  <bruno@clisp.org>
3501
3502         ceilf: Move AC_LIBOBJ invocations to module description.
3503         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
3504         * modules/ceilf (configure.ac): ... to here.
3505
3506 2011-05-21  Bruno Haible  <bruno@clisp.org>
3507
3508         floorl: Respect rules for use of AC_LIBOBJ.
3509         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
3510         * modules/floorl (configure.ac): ... to here.
3511
3512 2011-05-21  Bruno Haible  <bruno@clisp.org>
3513
3514         floor: Respect rules for use of AC_LIBOBJ.
3515         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
3516         * modules/floor (configure.ac): ... to here.
3517
3518 2011-05-21  Bruno Haible  <bruno@clisp.org>
3519
3520         floorf: Move AC_LIBOBJ invocations to module description.
3521         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
3522         * modules/floorf (configure.ac): ... to here.
3523
3524 2011-05-20  Bruno Haible  <bruno@clisp.org>
3525
3526         sqrtl: Respect rules for use of AC_LIBOBJ.
3527         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
3528         * modules/sqrtl (configure.ac): ... to here.
3529
3530 2011-05-20  Bruno Haible  <bruno@clisp.org>
3531
3532         ldexpl: Respect rules for use of AC_LIBOBJ.
3533         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
3534         * modules/ldexpl (configure.ac): ... to here.
3535
3536 2011-05-20  Bruno Haible  <bruno@clisp.org>
3537
3538         frexpl*: Respect rules for use of AC_LIBOBJ.
3539         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
3540         invocation from here...
3541         * modules/frexpl (configure.ac): ... to here.
3542         * modules/frexpl-nolibm (configure.ac): ... and here.
3543
3544 2011-05-20  Bruno Haible  <bruno@clisp.org>
3545
3546         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
3547         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
3548         invocation from here...
3549         * modules/frexp (configure.ac): ... to here.
3550         * modules/frexp-nolibm (configure.ac): ... and here.
3551
3552 2011-05-20  Bruno Haible  <bruno@clisp.org>
3553
3554         isnan: Respect rules for use of AC_LIBOBJ.
3555         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
3556         invocations here.
3557         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
3558         REPLACE_ISNAN.
3559         * modules/isnand (configure.ac): Likewise.
3560         * modules/isnanl (configure.ac): Likewise.
3561
3562 2011-05-20  Bruno Haible  <bruno@clisp.org>
3563
3564         isnanl*: Respect rules for use of AC_LIBOBJ.
3565         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
3566         invocation from here...
3567         * modules/isnanl (configure.ac): ... to here.
3568         * modules/isnanl-nolibm (configure.ac): ... and here.
3569
3570 2011-05-20  Bruno Haible  <bruno@clisp.org>
3571
3572         isnand*: Move AC_LIBOBJ invocations to module description.
3573         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
3574         invocation from here...
3575         * modules/isnand (configure.ac): ... to here.
3576         * modules/isnand-nolibm (configure.ac): ... and here.
3577
3578 2011-05-20  Bruno Haible  <bruno@clisp.org>
3579
3580         isnanf*: Move AC_LIBOBJ invocations to module description.
3581         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
3582         invocation from here...
3583         * modules/isnanf (configure.ac): ... to here.
3584         * modules/isnanf-nolibm (configure.ac): ... and here.
3585
3586 2011-05-20  Bruno Haible  <bruno@clisp.org>
3587
3588         isnan*: Separate the AC_LIBOBJ invocations.
3589         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
3590         AC_LIBOBJ invocation.
3591         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
3592         here.
3593         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
3594         AC_LIBOBJ invocation.
3595         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
3596         here.
3597         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
3598         AC_LIBOBJ invocation.
3599         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
3600         here.
3601         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
3602
3603 2011-05-08  Bruno Haible  <bruno@clisp.org>
3604
3605         isinf: Move AC_LIBOBJ invocations to module description.
3606         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
3607         * modules/isinf (configure.ac): ... to here.
3608
3609 2011-05-08  Bruno Haible  <bruno@clisp.org>
3610
3611         isfinite: Move AC_LIBOBJ invocations to module description.
3612         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
3613         * modules/isfinite (configure.ac): ... to here.
3614
3615 2011-05-08  Bruno Haible  <bruno@clisp.org>
3616
3617         isblank: Move AC_LIBOBJ invocations to module description.
3618         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
3619         here...
3620         * modules/isblank (configure.ac): ... to here.
3621
3622 2011-05-08  Bruno Haible  <bruno@clisp.org>
3623
3624         isapipe: Move AC_LIBOBJ invocations to module description.
3625         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
3626         gl_PREREQ_ISAPIPE invocations from here...
3627         * modules/isapipe (configure.ac): ... to here.
3628         (Depends-on): Update condition.
3629
3630 2011-05-08  Bruno Haible  <bruno@clisp.org>
3631
3632         ioctl: Move AC_LIBOBJ invocations to module description.
3633         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
3634         invocations from here...
3635         * modules/ioctl (configure.ac): ... to here.
3636         (Depends-on): Update condition.
3637
3638 2011-05-08  Bruno Haible  <bruno@clisp.org>
3639
3640         imaxdiv: Move AC_LIBOBJ invocations to module description.
3641         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
3642         invocations from here...
3643         * modules/imaxdiv (configure.ac): ... to here.
3644
3645 2011-05-08  Bruno Haible  <bruno@clisp.org>
3646
3647         imaxabs: Move AC_LIBOBJ invocations to module description.
3648         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
3649         invocations from here...
3650         * modules/imaxabs (configure.ac): ... to here.
3651
3652 2011-05-08  Bruno Haible  <bruno@clisp.org>
3653
3654         getaddrinfo: Move AC_LIBOBJ invocations to module description.
3655         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
3656         AC_LIBOBJ invocations from here...
3657         * modules/getaddrinfo (configure.ac): ... to here.
3658         (Depends-on): Add conditions.
3659
3660 2011-05-08  Bruno Haible  <bruno@clisp.org>
3661
3662         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
3663         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
3664         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
3665         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
3666         (gl_PREREQ_INET_PTON): ... from here.
3667         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
3668         gl_PREREQ_INET_PTON here.
3669         (Depends-on): Update condition.
3670
3671 2011-05-08  Bruno Haible  <bruno@clisp.org>
3672
3673         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
3674         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
3675         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
3676         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
3677         (gl_PREREQ_INET_NTOP): ... from here.
3678         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
3679         gl_PREREQ_INET_NTOP here.
3680         (Depends-on): Update condition.
3681
3682 2011-05-08  Bruno Haible  <bruno@clisp.org>
3683
3684         iconv_open: Move AC_LIBOBJ invocations to module description.
3685         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
3686         AC_LIBOBJ invocations from here...
3687         * modules/iconv_open (configure.ac): ... to here.
3688
3689 2011-05-08  Bruno Haible  <bruno@clisp.org>
3690
3691         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
3692         If module 'iconv_open' is among the main modules and module
3693         'iconv_open-utf' is among the tests dependencies, then
3694         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
3695         return the special iconv_t values. Therefore iconv() and iconv_close()
3696         must support these special iconv_t values, already in lib, not only in
3697         tests.
3698         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
3699         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
3700         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
3701         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
3702         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
3703         (Depends-on): Add the dependencies of iconv_open-utf.
3704         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
3705         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
3706         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
3707
3708 2011-05-08  Bruno Haible  <bruno@clisp.org>
3709
3710         group-member: Move AC_LIBOBJ invocations to module description.
3711         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
3712         gl_PREREQ_GROUP_MEMBER invocations from here...
3713         * modules/group-member (configure.ac): ... to here.
3714
3715 2011-05-08  Bruno Haible  <bruno@clisp.org>
3716
3717         grantpt: Move AC_LIBOBJ invocations to module description.
3718         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
3719         invocations from here...
3720         * modules/grantpt (configure.ac): ... to here.
3721
3722 2011-05-08  Bruno Haible  <bruno@clisp.org>
3723
3724         glob: Move AC_LIBOBJ invocations to module description.
3725         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
3726         from here...
3727         * modules/glob (configure.ac): ... to here.
3728
3729 2011-05-08  Bruno Haible  <bruno@clisp.org>
3730
3731         getusershell: Move AC_LIBOBJ invocations to module description.
3732         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
3733         Move AC_LIBOBJ invocation from here...
3734         * modules/getusershell (configure.ac): ... to here.
3735         (Depends-on): Update condition.
3736
3737 2011-05-08  Bruno Haible  <bruno@clisp.org>
3738
3739         gettimeofday: Move AC_LIBOBJ invocations to module description.
3740         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
3741         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
3742         gl_PREREQ_GETTIMEOFDAY invocations from here...
3743         * modules/gettimeofday (configure.ac): ... to here.
3744
3745 2011-05-08  Bruno Haible  <bruno@clisp.org>
3746
3747         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
3748         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
3749         just gl_FUNC_TZSET.
3750         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
3751         (gl_FUNC_TZSET_CLOBBER): Remove actions.
3752         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
3753         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
3754
3755 2011-05-08  Bruno Haible  <bruno@clisp.org>
3756
3757         getsubopt: Move AC_LIBOBJ invocations to module description.
3758         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
3759         gl_PREREQ_GETSUBOPT invocations from here...
3760         * modules/getsubopt (configure.ac): ... to here.
3761
3762 2011-05-08  Bruno Haible  <bruno@clisp.org>
3763
3764         getpass-gnu: Move AC_LIBOBJ invocations to module description.
3765         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
3766         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
3767         * modules/getpass-gnu (configure.ac): ... to here.
3768
3769 2011-05-08  Bruno Haible  <bruno@clisp.org>
3770
3771         getpass: Move AC_LIBOBJ invocations to module description.
3772         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
3773         gl_PREREQ_GETPASS invocations from here...
3774         * modules/getpass (configure.ac): ... to here.
3775
3776 2011-05-08  Bruno Haible  <bruno@clisp.org>
3777
3778         getpagesize: Move AC_LIBOBJ invocations to module description.
3779         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
3780         from here...
3781         * modules/getpagesize (configure.ac): ... to here.
3782
3783 2011-05-08  Bruno Haible  <bruno@clisp.org>
3784
3785         getopt: Move AC_LIBOBJ invocations to module description.
3786         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
3787         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
3788         invocations from here...
3789         * modules/getopt-gnu (configure.ac): ... to here.
3790         * modules/getopt-posix (configure.ac): ... and here.
3791         (Depends-on): Update condition.
3792
3793 2011-05-08  Bruno Haible  <bruno@clisp.org>
3794
3795         getopt, argp: Respect rules for use of AC_LIBOBJ.
3796         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
3797         (gl_REPLACE_GETOPT_ALWAYS): New macro.
3798         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
3799         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
3800
3801 2011-05-08  Bruno Haible  <bruno@clisp.org>
3802
3803         getlogin_r: Move AC_LIBOBJ invocations to module description.
3804         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
3805         gl_PREREQ_GETLOGIN_R invocations from here...
3806         * modules/getlogin_r (configure.ac): ... to here.
3807
3808 2011-05-08  Bruno Haible  <bruno@clisp.org>
3809
3810         getlogin: Move AC_LIBOBJ invocations to module description.
3811         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
3812         here...
3813         * modules/getlogin (configure.ac): ... to here.
3814
3815 2011-05-08  Bruno Haible  <bruno@clisp.org>
3816
3817         getloadavg: Move AC_LIBOBJ invocations to module description.
3818         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
3819         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
3820         * modules/getloadavg (configure.ac): ... to here.
3821
3822 2011-05-08  Bruno Haible  <bruno@clisp.org>
3823
3824         gethrxtime: Move AC_LIBOBJ invocations to module description.
3825         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
3826         LIB_GETHRXTIME from here...
3827         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
3828         invocations from here...
3829         * modules/gethrxtime (configure.ac): ... to here.
3830
3831 2011-05-08  Bruno Haible  <bruno@clisp.org>
3832
3833         gethostname: Move AC_LIBOBJ invocations to module description.
3834         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
3835         gl_PREREQ_GETHOSTNAME invocations from here...
3836         * modules/gethostname (configure.ac): ... to here.
3837
3838 2011-05-08  Bruno Haible  <bruno@clisp.org>
3839
3840         getgroups: Move AC_LIBOBJ invocations to module description.
3841         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
3842         here...
3843         * modules/getgroups (configure.ac): ... to here.
3844
3845 2011-05-08  Bruno Haible  <bruno@clisp.org>
3846
3847         getdtablesize: Move AC_LIBOBJ invocations to module description.
3848         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
3849         invocation from here...
3850         * modules/getdtablesize (configure.ac): ... to here.
3851
3852 2011-05-08  Bruno Haible  <bruno@clisp.org>
3853
3854         getdomainname: Move AC_LIBOBJ invocations to module description.
3855         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
3856         gl_PREREQ_GETDOMAINNAME invocations from here...
3857         * modules/getdomainname (configure.ac): ... to here.
3858
3859 2011-05-08  Bruno Haible  <bruno@clisp.org>
3860
3861         getline: Move AC_LIBOBJ invocations to module description.
3862         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
3863         invocations from here...
3864         * modules/getline (configure.ac): ... to here.
3865
3866 2011-05-08  Bruno Haible  <bruno@clisp.org>
3867
3868         getline: Simplify.
3869         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
3870         It's already handled through the module dependency.
3871
3872 2011-05-08  Bruno Haible  <bruno@clisp.org>
3873
3874         getdelim: Move AC_LIBOBJ invocations to module description.
3875         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
3876         and gl_PREREQ_GETDELIM invocations from here...
3877         * modules/getdelim (configure.ac): ... to here.
3878         (Depends-on): Fix condition.
3879
3880 2011-05-08  Bruno Haible  <bruno@clisp.org>
3881
3882         getcwd: Move AC_LIBOBJ invocations to module description.
3883         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
3884         invocations from here...
3885         * modules/getcwd (configure.ac): ... to here.
3886
3887 2011-05-08  Bruno Haible  <bruno@clisp.org>
3888
3889         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
3890         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
3891         here...
3892         * modules/getcwd-lgpl (configure.ac): ... to here.
3893
3894 2011-05-07  Bruno Haible  <bruno@clisp.org>
3895
3896         crypto/gc: Move AC_LIBOBJ invocations to module description.
3897         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
3898         * modules/crypto/gc (configure.ac): ... to here.
3899
3900 2011-05-07  Bruno Haible  <bruno@clisp.org>
3901
3902         fwriting: Move AC_LIBOBJ invocations to module description.
3903         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
3904         here...
3905         * modules/fwriting (configure.ac): ... to here.
3906
3907 2011-05-07  Bruno Haible  <bruno@clisp.org>
3908
3909         fwritable: Move AC_LIBOBJ invocations to module description.
3910         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
3911         here...
3912         * modules/fwritable (configure.ac): ... to here.
3913
3914 2011-05-07  Bruno Haible  <bruno@clisp.org>
3915
3916         futimens: Move AC_LIBOBJ invocations to module description.
3917         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
3918         here...
3919         * modules/futimens (configure.ac): ... to here.
3920
3921 2011-05-07  Bruno Haible  <bruno@clisp.org>
3922
3923         ftruncate: Move AC_LIBOBJ invocations to module description.
3924         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
3925         gl_PREREQ_FTRUNCATE invocations from here...
3926         * modules/ftruncate (configure.ac): ... to here.
3927
3928 2011-05-07  Bruno Haible  <bruno@clisp.org>
3929
3930         fsync: Move AC_LIBOBJ invocations to module description.
3931         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
3932         invocations from here...
3933         * modules/fsync (configure.ac): ... to here.
3934
3935 2011-05-07  Bruno Haible  <bruno@clisp.org>
3936
3937         fsusage: Move AC_LIBOBJ invocations to module description.
3938         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
3939         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
3940         * modules/fsusage (configure.ac): ... to here.
3941
3942 2011-05-07  Bruno Haible  <bruno@clisp.org>
3943
3944         freopen: Move AC_LIBOBJ invocations to module description.
3945         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
3946         invocations from here...
3947         * modules/freopen (configure.ac): ... to here.
3948
3949 2011-05-07  Bruno Haible  <bruno@clisp.org>
3950
3951         free: Move AC_LIBOBJ invocations to module description.
3952         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
3953         invocations from here...
3954         * modules/free (configure.ac): ... to here.
3955
3956 2011-05-07  Bruno Haible  <bruno@clisp.org>
3957
3958         freadable: Move AC_LIBOBJ invocations to module description.
3959         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
3960         here...
3961         * modules/freadable (configure.ac): ... to here.
3962
3963 2011-05-07  Bruno Haible  <bruno@clisp.org>
3964
3965         fpurge: Move AC_LIBOBJ invocations to module description.
3966         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
3967         invocations from here...
3968         * modules/fpurge (configure.ac): ... to here.
3969
3970 2011-05-07  Bruno Haible  <bruno@clisp.org>
3971
3972         fpending: Move AC_LIBOBJ invocations to module description.
3973         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
3974         gl_FUNC_FPENDING.
3975         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
3976         invocations from here...
3977         * modules/fpending (configure.ac): ... to here.
3978
3979 2011-05-07  Bruno Haible  <bruno@clisp.org>
3980
3981         fopen: Move AC_LIBOBJ invocations to module description.
3982         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
3983         invocations from here...
3984         * modules/fopen (configure.ac): ... to here.
3985
3986 2011-05-07  Bruno Haible  <bruno@clisp.org>
3987
3988         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
3989         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
3990         gl_FUNC_FNMATCH_POSIX.
3991         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
3992         invocations from here...
3993         * modules/fnmatch (configure.ac): ... to here.
3994         * modules/fnmatch-gnu (configure.ac): ... and here.
3995
3996 2011-05-07  Bruno Haible  <bruno@clisp.org>
3997
3998         flock: Move AC_LIBOBJ invocations to module description.
3999         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
4000         invocations from here...
4001         * modules/flock (configure.ac): ... to here.
4002
4003 2011-05-07  Bruno Haible  <bruno@clisp.org>
4004
4005         fileblocks: Move AC_LIBOBJ invocations to module description.
4006         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
4007         gl_PREREQ_FILEBLOCKS invocations from here...
4008         * modules/fileblocks (configure.ac): ... to here.
4009
4010 2011-05-06  Bruno Haible  <bruno@clisp.org>
4011
4012         fflush: Move AC_LIBOBJ invocations to module description.
4013         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
4014         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
4015         invocations from here...
4016         * modules/fflush (configure.ac): ... to here.
4017
4018 2011-05-06  Bruno Haible  <bruno@clisp.org>
4019
4020         fdopendir: Move AC_LIBOBJ invocations to module description.
4021         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
4022         here...
4023         * modules/fdopendir (configure.ac): ... to here.
4024         (Depends-on): Improve conditions.
4025
4026 2011-05-06  Bruno Haible  <bruno@clisp.org>
4027
4028         _Exit: Move AC_LIBOBJ invocations to module description.
4029         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
4030         invocations from here...
4031         * modules/_Exit (configure.ac): ... to here.
4032
4033 2011-05-21  Bruno Haible  <bruno@clisp.org>
4034
4035         euidaccess: Respect rules for use of AC_LIBOBJ.
4036         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
4037         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
4038         from here...
4039         * modules/euidaccess (configure.ac): ... to here.
4040
4041 2011-05-06  Bruno Haible  <bruno@clisp.org>
4042
4043         error: Move AC_LIBOBJ invocations to module description.
4044         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
4045         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
4046         invocations from here...
4047         * modules/error (configure.ac): ... to here.
4048
4049 2011-05-06  Bruno Haible  <bruno@clisp.org>
4050
4051         duplocale: Move AC_LIBOBJ invocations to module description.
4052         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
4053         gl_PREREQ_DUPLOCALE invocations from here...
4054         * modules/duplocale (configure.ac): ... to here.
4055
4056 2011-05-05  Bruno Haible  <bruno@clisp.org>
4057
4058         dirfd: Move AC_LIBOBJ invocations to module description.
4059         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
4060         gl_FUNC_DIRFD.
4061         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
4062         here...
4063         * modules/dirfd (configure.ac): ... to here.
4064         (Depends-on): Fix condition.
4065
4066 2011-05-05  Bruno Haible  <bruno@clisp.org>
4067
4068         chown: Respect rules for use of AC_LIBOBJ.
4069         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
4070         * modules/chown (configure.ac): ... to here.
4071
4072 2011-05-05  Bruno Haible  <bruno@clisp.org>
4073
4074         chdir-long: Move AC_LIBOBJ invocations to module description.
4075         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
4076         gl_PREREQ_CHDIR_LONG invocations from here...
4077         * modules/chdir-long (configure.ac): ... to here.
4078
4079 2011-05-05  Bruno Haible  <bruno@clisp.org>
4080
4081         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
4082         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
4083         from here...
4084         * modules/canonicalize-lgpl (configure.ac): ... to here.
4085
4086 2011-05-05  Bruno Haible  <bruno@clisp.org>
4087
4088         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
4089         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
4090         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
4091         REPLACE_CALLOC.
4092         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
4093         * modules/calloc-gnu (configure.ac): Likewise.
4094
4095 2011-05-05  Bruno Haible  <bruno@clisp.org>
4096
4097         btowc: Move AC_LIBOBJ invocations to module description.
4098         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
4099         invocations from here...
4100         * modules/btowc (configure.ac): ... to here.
4101
4102 2011-05-21  Bruno Haible  <bruno@clisp.org>
4103
4104         atexit: Move AC_LIBOBJ invocations to module description.
4105         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
4106         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
4107         here...
4108         * modules/atexit (configure.ac): ... to here.
4109
4110 2011-05-05  Bruno Haible  <bruno@clisp.org>
4111
4112         atoll: Move AC_LIBOBJ invocations to module description.
4113         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
4114         invocations from here...
4115         * modules/atoll (configure.ac): ... to here.
4116
4117 2011-05-05  Bruno Haible  <bruno@clisp.org>
4118
4119         argz: Move AC_LIBOBJ invocations to module description.
4120         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
4121         * modules/argz (configure.ac): ... to here.
4122
4123 2011-05-05  Bruno Haible  <bruno@clisp.org>
4124
4125         alphasort: Move AC_LIBOBJ invocations to module description.
4126         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
4127         gl_PREREQ_ALPHASORT invocations from here...
4128         * modules/alphasort (configure.ac): ... to here.
4129
4130 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
4131
4132         verify: new macro verify_expr; verify_true deprecated
4133         * NEWS: Mention this.
4134         * doc/verify.texi (Compile-time Assertions): Document this.
4135         * lib/verify.h (verify_true): Deprecate.
4136         (verify_expr): New macro.
4137         * tests/test-verify.c (function): Test verify_expr.
4138
4139 2011-06-14  Jim Meyering  <meyering@redhat.com>
4140
4141         init.sh: give more portable redirection-related advice in a comment
4142         * tests/init.sh (stderr_fileno_): Update the advice in comments.
4143         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
4144         for lots of discussion.  Stefano Lattarini suggested the solution
4145         of putting "9>&2" after the command.  Reported by Bruno Haible.
4146
4147 2011-06-13  Bruno Haible  <bruno@clisp.org>
4148
4149         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
4150         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
4151         'none'.
4152
4153 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
4154
4155         ftoastr: use strtof only if HAVE_STRTOF
4156         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
4157         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
4158         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
4159         * modules/ftoastr (configure.ac): Check for strtof.
4160
4161 2011-06-13  Bruno Haible  <bruno@clisp.org>
4162
4163         gnulib-tool: Addendum to 2011-06-08 commit.
4164         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
4165         and --witness-c-macro have been given, augment AM_CPPFLAGS.
4166
4167 2011-06-13  Bruno Haible  <bruno@clisp.org>
4168
4169         fseeko: Provide a non-inline replacement of fseek().
4170         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
4171         * modules/fseeko (Depends-on): Add fseek.
4172         * modules/fseek (License): Change to LGPLv2+.
4173
4174 2011-06-13  Bruno Haible  <bruno@clisp.org>
4175
4176         ftello: Provide a non-inline replacement of ftell().
4177         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
4178         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
4179         not have ftello() (such as on mingw).
4180         * modules/ftello (Depends-on): Add ftell.
4181         * modules/ftell (License): Change to LGPLv2+.
4182
4183 2011-05-07  Bruno Haible  <bruno@clisp.org>
4184
4185         ftell: Move AC_LIBOBJ invocations to module description.
4186         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
4187         * modules/ftell (configure.ac): ... to here.
4188
4189 2011-05-07  Bruno Haible  <bruno@clisp.org>
4190
4191         ftello: Respect rules for use of AC_LIBOBJ.
4192         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
4193         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
4194         here...
4195         * modules/ftello (configure.ac): ... to here.
4196
4197 2011-05-07  Bruno Haible  <bruno@clisp.org>
4198
4199         fseeko: Simplify.
4200         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
4201         (gl_FUNC_FSEEKO): Inline it here.
4202
4203 2011-05-07  Bruno Haible  <bruno@clisp.org>
4204
4205         fseek: Move AC_LIBOBJ invocations to module description.
4206         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
4207         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
4208         * modules/fseek (configure.ac): ... to here.
4209
4210 2011-05-07  Bruno Haible  <bruno@clisp.org>
4211
4212         fseek: Respect rules for use of AC_LIBOBJ.
4213         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
4214         here...
4215         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
4216
4217 2011-05-07  Bruno Haible  <bruno@clisp.org>
4218
4219         fseeko: Respect rules for use of AC_LIBOBJ.
4220         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
4221         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
4222         here...
4223         * modules/fseeko (configure.ac): ... to here.
4224
4225 2011-06-13  Bruno Haible  <bruno@clisp.org>
4226
4227         gnulib-tool: Allow comments in the 'Depends-on' section.
4228         * doc/gnulib.texi (Module description): Mention comment syntax in the
4229         Depends-on section.
4230         * gnulib-tool (func_get_dependencies): Filter out comment lines.
4231
4232 2011-06-13  Bruno Haible  <bruno@clisp.org>
4233
4234         file-set.h: guard __attibute__ use, now that it's not always defined
4235         * lib/file-set.h (record_file): Use __attribute__ only with compiler
4236         versions that support it.  This fixes a coreutils build failure with
4237         the vendor cc on HP-UX 11.31.
4238
4239 2011-06-12  Bruno Haible  <bruno@clisp.org>
4240
4241         acl: Add support for HP-UX >= 11.11 JFS ACLs.
4242         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
4243         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
4244         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
4245         (acl, aclsort): New declarations.
4246         (aclv_nontrivial): New declaration.
4247         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
4248         (file_has_acl): Read also the second kind of HP-UX ACLs.
4249         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
4250         kind of HP-UX ACLs if the first kind fails.
4251         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
4252         second kind of HP-UX ACLs.
4253         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
4254         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
4255         agree.
4256         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
4257         hpuxjfs.
4258         Handle hpuxjfs.
4259         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
4260         hpuxjfs.
4261         Handle hpuxjfs.
4262         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
4263         (func_test_same_acls): Use both lsacl and getacl.
4264         Handle hpuxjfs.
4265         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
4266         (func_test_same_acls): Use both lsacl and getacl.
4267         Handle hpuxjfs.
4268
4269 2011-06-12  Bruno Haible  <bruno@clisp.org>
4270
4271         acl: Complete the 2010-08-10 fix.
4272         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
4273         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
4274         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
4275         explicitly.
4276         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
4277         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
4278
4279 2011-06-12  Bruno Haible  <bruno@clisp.org>
4280
4281         spawn-pipe tests: Comments.
4282         * tests/test-spawn-pipe-child.c (main): Update comment.
4283         Reported by James Youngman <jay@gnu.org>.
4284
4285 2011-06-11  James Youngman  <jay@gnu.org>
4286
4287         New module 'stat-size'.
4288         * modules/stat-size: New module.  Provides macros for accessing
4289         file size information in instances of struct stat.  Depends on the
4290         fileblocks module because it calls st_blocks.
4291         * lib/stat-size.h: New file, adapted from coreutils' system.h.
4292         * doc/gnulib.texi: Include stat-size.texi.
4293         * doc/stat-size.texi: Documentation for this module.
4294         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
4295         * m4/fileblocks.m4: Mention that stat-size depends on the call to
4296         AC_STRUCT_ST_BLOCKS.
4297
4298 2011-06-09  Bruno Haible  <bruno@clisp.org>
4299
4300         thread: Support pthreads-win32.
4301         * lib/glthread/thread.h (gl_thread_self): Define differently on
4302         pthreads-win32.
4303         (gl_null_thread): New declaration.
4304         (gl_thread_self_pointer): New macro.
4305         * lib/glthread/thread.c (gl_null_thread): New constant.
4306         * tests/test-lock.c: Use gl_thread_self_pointer instead of
4307         gl_thread_self.
4308         * tests/test-tls.c: Likewise.
4309         Suggested by Paul Eggert. Reported by Eric Blake.
4310
4311 2011-06-09  Bruno Haible  <bruno@clisp.org>
4312
4313         thread: Fix confusion between NULL and 0.
4314         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
4315         Reported by Paul Eggert.
4316
4317 2011-06-09  Bruno Haible  <bruno@clisp.org>
4318
4319         spawn-pipe tests: Avoid test failure on HP-UX 11.
4320         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
4321         is closed.
4322
4323 2011-06-09  Bruno Haible  <bruno@clisp.org>
4324
4325         acl tests: Fix compilation error on HP-UX 11.
4326         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
4327
4328 2011-06-09  Bruno Haible  <bruno@clisp.org>
4329
4330         rmdir: Avoid test failure on HP-UX 10.20.
4331         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
4332         EEXIST.
4333
4334 2011-06-08  Eric Blake  <eblake@redhat.com>
4335
4336         perror: fix test on mingw
4337         * modules/perror-tests (Depends-on): Add dup2.
4338
4339         strerror_r-posix: fix on MacOS
4340         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
4341         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
4342         logic bug.
4343         * lib/strerror_r.c (strerror_r): Fix the bug.
4344         * lib/strerror.c (strerror): Likewise.
4345         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
4346         problem.
4347         * doc/posix-functions/strerror.texi (strerror): Likewise.
4348         * doc/posix-functions/perror.texi (perror): Likewise.
4349         * tests/test-strerror.c (main): Enhance test.
4350         * tests/test-strerror_r.c (main): Likewise.
4351
4352 2011-06-08  Bruno Haible  <bruno@clisp.org>
4353
4354         gnulib-tool: Better isolation between different gnulib-tool invocations.
4355         * gnulib-tool: New option --witness-c-macro.
4356         (witness_c_macro): New variable.
4357         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
4358         AM_CPPFLAGS define it as a C macro.
4359         (func_emit_tests_Makefile_am): Likewise.
4360         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
4361         read it from there.
4362         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
4363         m4_define, not AC_DEFUN.
4364         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
4365         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
4366         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
4367         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
4368         s|...|...|, to substitute the values of the GNULIB_* module indicator
4369         variables.
4370         * modules/dirent (Makefile.am): Likewise.
4371         * modules/fcntl-h (Makefile.am): Likewise.
4372         * modules/iconv-h (Makefile.am): Likewise.
4373         * modules/langinfo (Makefile.am): Likewise.
4374         * modules/locale (Makefile.am): Likewise.
4375         * modules/math (Makefile.am): Likewise.
4376         * modules/netdb (Makefile.am): Likewise.
4377         * modules/poll-h (Makefile.am): Likewise.
4378         * modules/pty (Makefile.am): Likewise.
4379         * modules/search (Makefile.am): Likewise.
4380         * modules/signal (Makefile.am): Likewise.
4381         * modules/spawn (Makefile.am): Likewise.
4382         * modules/stdio (Makefile.am): Likewise.
4383         * modules/stdlib (Makefile.am): Likewise.
4384         * modules/string (Makefile.am): Likewise.
4385         * modules/sys_ioctl (Makefile.am): Likewise.
4386         * modules/sys_select (Makefile.am): Likewise.
4387         * modules/sys_socket (Makefile.am): Likewise.
4388         * modules/sys_stat (Makefile.am): Likewise.
4389         * modules/sys_times (Makefile.am): Likewise.
4390         * modules/sys_utsname (Makefile.am): Likewise.
4391         * modules/sys_wait (Makefile.am): Likewise.
4392         * modules/termios (Makefile.am): Likewise.
4393         * modules/time (Makefile.am): Likewise.
4394         * modules/unistd (Makefile.am): Likewise.
4395         * modules/wchar (Makefile.am): Likewise.
4396
4397 2011-06-08  Eric Blake  <eblake@redhat.com>
4398
4399         strerror: simplify replacement
4400         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
4401         * modules/strerror (configure.ac): No prereqs needed here...
4402         * modules/strerror-override (configure.ac): ...but this needs it.
4403         (Files): Add file for needed prereq macro.
4404
4405 2011-06-08  Bruno Haible  <bruno@clisp.org>
4406
4407         strerror_r-posix: Tweaks.
4408         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
4409         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
4410         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
4411         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
4412         (gl_FUNC_STRERROR_R): ... to here.
4413         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
4414
4415 2011-06-07  Eric Blake  <eblake@redhat.com>
4416
4417         perror: document fixed bugs
4418         * doc/posix-functions/perror.texi (perror): Document recent
4419         patches.
4420
4421 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
4422
4423         stat-time: get_stat_birthtime failure is better-defined
4424         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
4425         return a timestamp whose tv_sec and tv_nsec values are both -1.
4426         Previously, the spec said only that the tv_nsec value was negative.
4427         This upward-compatible change simplifies GNU tar a bit.
4428
4429 2011-06-07  Eric Blake  <eblake@redhat.com>
4430
4431         strerror_r-posix: work around cygwin 1.7.9
4432         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
4433         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
4434         bug without replacing strerror_r.
4435         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
4436         strerror_r is buggy, but without requiring strerror_r compilation.
4437         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
4438
4439         test-perror: relax test to ignore cygwin bug
4440         * tests/test-perror2.c (main): Relax test on requiring detection
4441         of stream errors, and use unbuffered stream.
4442         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
4443         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
4444         * doc/posix-functions/fputc.texi (fputc): Likewise.
4445         * doc/posix-functions/fputs.texi (fputs): Likewise.
4446         * doc/posix-functions/fputws.texi (fputws): Likewise.
4447         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
4448         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
4449         * doc/posix-functions/getopt.texi (getopt): Likewise.
4450         * doc/posix-functions/perror.texi (perror): Likewise.
4451         * doc/posix-functions/printf.texi (printf): Likewise.
4452         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
4453         * doc/posix-functions/psignal.texi (psignal): Likewise.
4454         * doc/posix-functions/putc.texi (putc): Likewise.
4455         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
4456         Likewise.
4457         * doc/posix-functions/putchar.texi (putchar): Likewise.
4458         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
4459         Likewise.
4460         * doc/posix-functions/puts.texi (puts): Likewise.
4461         * doc/posix-functions/putwc.texi (putwc): Likewise.
4462         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
4463         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
4464         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
4465         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
4466         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
4467         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
4468         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
4469         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
4470
4471 2011-05-22  Bruno Haible  <bruno@clisp.org>
4472
4473         strerror: Move AC_LIBOBJ invocations to module description.
4474         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
4475         gl_PREREQ_STRERROR invocations from here...
4476         * modules/strerror (configure.ac): ... to here.
4477
4478 2011-05-21  Bruno Haible  <bruno@clisp.org>
4479
4480         perror: Use common idiom.
4481         * modules/perror (configure.ac): Reorder statements.
4482
4483 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4484
4485         tests: fix usage message in 'mktempd_'
4486         * tests/init.sh (mktempd_): In the usage message, use literal
4487         'mktempd_', not '$ME' (which is even undefined), as the name of
4488         the subroutine.
4489
4490 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4491
4492         tests init: new function 'fatal_', for hard errors
4493         Before this patch, the only way offered by tests/init.sh to
4494         properly signal a hard error was the `framework_failure_'
4495         function.  But the error message issued by that function,
4496         as its name would suggest, refers to a set-up failure in the
4497         testsuite, while hard errors can obviously also be due to
4498         other reasons.  The best way to fix this inconsistency is to
4499         introduce a new function with a more general error message.
4500         * tests/init.sh (fatal_): New function.
4501
4502 2011-06-06  Eric Blake  <eblake@redhat.com>
4503
4504         canonicalize-lgpl: use common idiom
4505         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
4506         over newer POSIX -Rf.
4507         Reported by Bruno Haible.
4508
4509         canonicalize-lgpl: work around AIX realpath bug
4510         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
4511         * doc/posix-functions/realpath.texi (realpath): Document it.
4512         Reported by Bruno Haible.
4513
4514         strerror: work around FreeBSD bug
4515         * lib/strerror.c (strerror): Special case 0.
4516         Reported by Bruno Haible.
4517
4518         strerror-override: avoid bloating errno module
4519         * modules/errno (Files, configure.ac): Move replacement strings...
4520         * modules/strerror-override: ...to new module.
4521         * modules/strerror (Depends-on): Add strerror-override.
4522         * modules/strerror_r-posix (Depends-on): Likewise.
4523         * MODULES.html.sh: Document new module.
4524         Reported by Bruno Haible.
4525
4526 2011-06-06  Bruno Haible  <bruno@clisp.org>
4527
4528         spawn-pipe tests: Rename program.
4529         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
4530         * tests/test-spawn-pipe-child.c: Update comment.
4531         * tests/test-spawn-pipe.sh: Update.
4532         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
4533
4534         spawn-pipe tests: Link the child program only against libc.
4535         * tests/test-spawn-pipe-child.c: New file, extracted from
4536         tests/test-spawn-pipe.c.
4537         (main): Expect only one argument.
4538         (is_open): New function, copied from tests/test-pipe.c.
4539         * tests/test-spawn-pipe.c: Don't include <errno.h>.
4540         (child_main): Remove function.
4541         (test_pipe): Pass only one argument to the child program.
4542         (main): Remove child process code. Expect the child program's name as
4543         first argument.
4544         * tests/test-spawn-pipe.sh: Pass the child program's name as first
4545         argument.
4546         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
4547         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
4548         test-spawn-pipe-child against no libraries.
4549
4550 2011-06-06  Bruno Haible  <bruno@clisp.org>
4551
4552         careadlinkat: Avoid mismatch between ssize_t and int.
4553         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
4554         * lib/careadlinkat.c (careadlinkatcwd): Define always.
4555
4556 2011-06-06  Jim Meyering  <meyering@redhat.com>
4557
4558         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
4559         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
4560         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
4561
4562 2011-06-05  Bruno Haible  <bruno@clisp.org>
4563
4564         ansi-c++-opt: Interoperability with libtool.
4565         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
4566         set the variable to "no", not to ":".
4567         * NEWS: Mention the change.
4568
4569 2011-06-05  Bruno Haible  <bruno@clisp.org>
4570
4571         acl: Fix test failure on AIX 7.
4572         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
4573         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
4574
4575 2011-06-05  Bruno Haible  <bruno@clisp.org>
4576
4577         pipe-filter-ii: Fix test failure on AIX and IRIX.
4578         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
4579         with EAGAIN, retry with a smaller buffer size.
4580
4581 2011-06-05  Bruno Haible  <bruno@clisp.org>
4582
4583         localename: Fix link dependencies.
4584         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
4585         * modules/localename-tests (Makefile.am): Link test-localename with
4586         $(LIBTHREAD).
4587
4588 2011-06-05  Bruno Haible  <bruno@clisp.org>
4589
4590         error: Avoid gcc warning.
4591         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
4592
4593 2011-06-05  Bruno Haible  <bruno@clisp.org>
4594
4595         unsetenv: Avoid gcc warning.
4596         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
4597
4598 2011-06-05  Bruno Haible  <bruno@clisp.org>
4599
4600         setenv: Avoid gcc warning.
4601         * lib/setenv.c (setenv): Provide declaration if system lacks it.
4602
4603 2011-06-05  Bruno Haible  <bruno@clisp.org>
4604
4605         sys_select: Ensure memset is declared also on AIX 7.
4606         * lib/sys_select.in.h: Include <string.h> also on AIX.
4607         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
4608         self-contained also on AIX 7.1.
4609
4610 2011-06-04  Jim Meyering  <meyering@redhat.com>
4611
4612         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
4613         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
4614         function name, "error".
4615         (_gl_translatable_diag_func_re): New configurable variable.
4616
4617 2011-06-04  Bruno Haible  <bruno@clisp.org>
4618
4619         getopt: Avoid gcc warning.
4620         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
4621
4622 2011-06-04  Bruno Haible  <bruno@clisp.org>
4623
4624         strerror_r: Fix comments.
4625         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
4626         commit.
4627
4628 2011-06-04  Bruno Haible  <bruno@clisp.org>
4629
4630         perror: Fix compilation error.
4631         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
4632         Undefine fprintf, not sprintf.
4633         * modules/perror (Depends-on): Remove intprops, verify.
4634
4635 2011-06-04  Bruno Haible  <bruno@clisp.org>
4636
4637         setlocale: Enable replacement on Cygwin 1.5.
4638         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
4639         Cygwin 1.5.x.
4640         * doc/posix-functions/setlocale.texi: Mention that the problem with the
4641         LC_CTYPE category also exists on Cygwin 1.5.x.
4642
4643 2011-06-04  Bruno Haible  <bruno@clisp.org>
4644
4645         strerror-override: Don't disable symbol renamings.
4646         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
4647         * lib/strerror-override.c: Include config.h.
4648         (strerror_override): Don't undefine.
4649
4650 2011-06-03  Bruno Haible  <bruno@clisp.org>
4651
4652         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
4653         * lib/localename.h: Update copyright header.
4654         * lib/localename.c: Likewise.
4655         * lib/relocatable.h: Likewise.
4656         * lib/relocatable.c: Likewise.
4657
4658 2011-06-02  Bruno Haible  <bruno@clisp.org>
4659
4660         doc: Fix a module name.
4661         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
4662
4663 2011-06-02  Bruno Haible  <bruno@clisp.org>
4664
4665         pipe2: Remove dependency on 'nonblocking' module.
4666         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
4667         O_NONBLOCK is defined by gnulib.
4668         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
4669         is zero.
4670         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
4671         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
4672         defined by gnulib.
4673         (get_nonblocking_flag): New function.
4674         (main): Test O_NONBLOCK flag only if it is nonzero.
4675         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
4676
4677 2011-06-03  Jim Meyering  <meyering@redhat.com>
4678
4679         maint: three new prohibit-header-without-use rules
4680         Prohibit use of cloexec.h, posixver.h, same.h without use.
4681         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
4682         (sc_prohibit_posixver_without_use): Likewise.
4683         (sc_prohibit_same_without_use): Likewise.
4684
4685 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
4686
4687         allocator: 'die' routine is now given requested size
4688         * lib/allocator.h (struct allocator.die): New size arg.
4689         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
4690         If the actual problem is an ssize_t limitation, not a size_t or
4691         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
4692
4693 2011-06-01  Eric Blake  <eblake@redhat.com>
4694
4695         strerror: drop strerror_r dependency
4696         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
4697         * lib/strerror-override.c (strerror_override): ...to new file.
4698         * lib/strerror-override.h: Add prototype.
4699         * lib/strerror-impl.h: Delete.
4700         * lib/strerror.c (strerror): New implementation.
4701         * modules/errno (Files): Add new files.
4702         (configure.ac): Compile new file as appropriate.
4703         * modules/strerror (Files): Drop unused file.
4704         (Depends-on): Drop strerror_r-posix.
4705         * MODULES.html.sh: Document strerror_r-posix.
4706         Requested by Sam Steingold.
4707
4708         perror: call strerror_r directly
4709         * modules/perror (Files): Drop strerror-impl.h.
4710         * lib/perror.c (perror): Use our own stack buffer, rather than
4711         calling a wrapper that uses static storage.
4712         * doc/posix-functions/perror.texi (perror): Document a limitation
4713         of our replacement.
4714
4715         strerror_r: fix includes for FreeBSD
4716         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
4717         since we use abort on some platforms.
4718         Reported by Matthias Bolte.
4719
4720 2011-05-31  Bruno Haible  <bruno@clisp.org>
4721
4722         Fix link errors in tests: openat-die uses gettext-h.
4723         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
4724         against $(LIBINTL).
4725         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
4726         against $(LIBINTL).
4727         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
4728         $(LIBINTL).
4729         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
4730         against $(LIBINTL).
4731         * modules/linkat-tests (Makefile.am): Link test-linkat against
4732         $(LIBINTL).
4733         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
4734         $(LIBINTL).
4735         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
4736         against $(LIBINTL).
4737         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
4738         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
4739         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
4740         $(LIBINTL).
4741         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
4742         $(LIBINTL).
4743         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
4744         $(LIBINTL).
4745         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4746
4747 2011-05-31  Bruno Haible  <bruno@clisp.org>
4748
4749         Fix link errors in tests: wait-process uses gettext-h.
4750         * modules/nonblocking-pipe-tests (Makefile.am): Set
4751         test_nonblocking_pipe_main_LDADD.
4752         * modules/nonblocking-socket-tests (Makefile.am): Link
4753         test-nonblocking-socket-main against $(LIBINTL).
4754         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4755
4756 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
4757
4758         assert-h: work around 'verify' incompatibility
4759         * lib/verify.h: Use @...@ directives, not ifdef.
4760         * modules/assert-h (assert.h): Implement the directives.
4761         (assert.h): Substitute the symbol-prefix more consistently.
4762
4763 2011-05-29  Jim Meyering  <meyering@redhat.com>
4764
4765         trim: remove three superfluous assignments
4766         * lib/trim.c (trim2): Remove three superfluous assignments
4767         and correct brace positioning.
4768
4769 2011-05-29  Bruno Haible  <bruno@clisp.org>
4770
4771         wctype-h: Avoid namespace pollution on Solaris 2.6.
4772         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
4773         identifiers.
4774         * doc/posix-headers/wctype.texi: Mention the problem.
4775         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4776
4777 2011-05-28  Jim Meyering  <meyering@redhat.com>
4778
4779         parse-datetime.y: accommodate -Wstrict-overflow
4780         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
4781         placate -Wstrict-overflow.
4782
4783         trim: avoid a warning from -O2 -Wstrict-overflow
4784         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
4785
4786 2011-05-29  Bruno Haible  <bruno@clisp.org>
4787
4788         gnulib-tool: Fix bug in yesterday's commit.
4789         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
4790         twice.
4791
4792 2011-05-29  Bruno Haible  <bruno@clisp.org>
4793
4794         Allow multiple gnulib generated include files to be combined.
4795         * gnulib-tool (func_compute_include_guard_prefix): New function.
4796         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
4797         ${gl_include_guard_prefix} references.
4798         (func_import, func_create_testdir): Invoke
4799         func_compute_include_guard_prefix.
4800         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
4801         * lib/ctype.in.h: Likewise.
4802         * lib/dirent.in.h: Likewise.
4803         * lib/errno.in.h: Likewise.
4804         * lib/fcntl.in.h: Likewise.
4805         * lib/float.in.h: Likewise.
4806         * lib/getopt.in.h: Likewise.
4807         * lib/iconv.in.h: Likewise.
4808         * lib/langinfo.in.h: Likewise.
4809         * lib/locale.in.h: Likewise.
4810         * lib/math.in.h: Likewise.
4811         * lib/netdb.in.h: Likewise.
4812         * lib/netinet_in.in.h: Likewise.
4813         * lib/poll.in.h: Likewise.
4814         * lib/pthread.in.h: Likewise.
4815         * lib/pty.in.h: Likewise.
4816         * lib/sched.in.h: Likewise.
4817         * lib/se-selinux.in.h: Likewise.
4818         * lib/search.in.h: Likewise.
4819         * lib/signal.in.h: Likewise.
4820         * lib/spawn.in.h: Likewise.
4821         * lib/stdarg.in.h: Likewise.
4822         * lib/stddef.in.h: Likewise.
4823         * lib/stdint.in.h: Likewise.
4824         * lib/stdio.in.h: Likewise.
4825         * lib/stdlib.in.h: Likewise.
4826         * lib/string.in.h: Likewise.
4827         * lib/strings.in.h: Likewise.
4828         * lib/sys_file.in.h: Likewise.
4829         * lib/sys_ioctl.in.h: Likewise.
4830         * lib/sys_select.in.h: Likewise.
4831         * lib/sys_socket.in.h: Likewise.
4832         * lib/sys_stat.in.h: Likewise.
4833         * lib/sys_time.in.h: Likewise.
4834         * lib/sys_times.in.h: Likewise.
4835         * lib/sys_uio.in.h: Likewise.
4836         * lib/sys_utsname.in.h: Likewise.
4837         * lib/sys_wait.in.h: Likewise.
4838         * lib/sysexits.in.h: Likewise.
4839         * lib/termios.in.h: Likewise.
4840         * lib/time.in.h: Likewise.
4841         * lib/unistd.in.h: Likewise.
4842         * lib/wchar.in.h: Likewise.
4843         * lib/wctype.in.h: Likewise.
4844         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
4845         * modules/ctype (Makefile.am): Likewise.
4846         * modules/dirent (Makefile.am): Likewise.
4847         * modules/errno (Makefile.am): Likewise.
4848         * modules/fcntl-h (Makefile.am): Likewise.
4849         * modules/float (Makefile.am): Likewise.
4850         * modules/getopt-posix (Makefile.am): Likewise.
4851         * modules/iconv-h (Makefile.am): Likewise.
4852         * modules/langinfo (Makefile.am): Likewise.
4853         * modules/locale (Makefile.am): Likewise.
4854         * modules/math (Makefile.am): Likewise.
4855         * modules/netdb (Makefile.am): Likewise.
4856         * modules/netinet_in (Makefile.am): Likewise.
4857         * modules/poll-h (Makefile.am): Likewise.
4858         * modules/pthread (Makefile.am): Likewise.
4859         * modules/pty (Makefile.am): Likewise.
4860         * modules/sched (Makefile.am): Likewise.
4861         * modules/search (Makefile.am): Likewise.
4862         * modules/selinux-h (Makefile.am): Likewise.
4863         * modules/signal (Makefile.am): Likewise.
4864         * modules/spawn (Makefile.am): Likewise.
4865         * modules/stdarg (Makefile.am): Likewise.
4866         * modules/stddef (Makefile.am): Likewise.
4867         * modules/stdint (Makefile.am): Likewise.
4868         * modules/stdio (Makefile.am): Likewise.
4869         * modules/stdlib (Makefile.am): Likewise.
4870         * modules/string (Makefile.am): Likewise.
4871         * modules/strings (Makefile.am): Likewise.
4872         * modules/sys_file (Makefile.am): Likewise.
4873         * modules/sys_ioctl (Makefile.am): Likewise.
4874         * modules/sys_select (Makefile.am): Likewise.
4875         * modules/sys_socket (Makefile.am): Likewise.
4876         * modules/sys_stat (Makefile.am): Likewise.
4877         * modules/sys_time (Makefile.am): Likewise.
4878         * modules/sys_times (Makefile.am): Likewise.
4879         * modules/sys_uio (Makefile.am): Likewise.
4880         * modules/sys_utsname (Makefile.am): Likewise.
4881         * modules/sys_wait (Makefile.am): Likewise.
4882         * modules/sysexits (Makefile.am): Likewise.
4883         * modules/termios (Makefile.am): Likewise.
4884         * modules/time (Makefile.am): Likewise.
4885         * modules/unistd (Makefile.am): Likewise.
4886         * modules/wchar (Makefile.am): Likewise.
4887         * modules/wctype-h (Makefile.am): Likewise.
4888         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
4889
4890 2011-05-29  Bruno Haible  <bruno@clisp.org>
4891
4892         assert-h: Allow multiple gnulib generated replacements to coexist.
4893         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
4894
4895 2011-05-29  Bruno Haible  <bruno@clisp.org>
4896
4897         argp: Allow coexistence with strerror_r-posix module.
4898         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
4899         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
4900         by gnulib's <string.h> replacement), assume it has the POSIX signature,
4901         not the glibc signature.
4902
4903 2011-05-28  Bruno Haible  <bruno@clisp.org>
4904
4905         gnulib-tool: Alternative structure of testdirs, similar to --import.
4906         * gnulib-tool: New option --single-configure.
4907         (func_usage): Document it.
4908         (single_configure): New variable.
4909         (func_modules_transitive_closure_separately,
4910         func_modules_transitive_closure_separately,
4911         func_determine_use_libtests, func_modules_add_dummy_separately,
4912         func_modules_to_filelist_separately): New functions, extracted from
4913         func_import.
4914         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
4915         (func_import): Use the new functions.
4916         (func_create_testdir): Set final_modules. Handle $single_configure =
4917         true case.
4918
4919 2011-05-28  Bruno Haible  <bruno@clisp.org>
4920
4921         getloadavg: Remove an unreliable safety check.
4922         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
4923         getloadavg.c is in place.
4924         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
4925         Reported by Sam Steingold <sds@gnu.org>.
4926
4927 2011-05-28  Bruno Haible  <bruno@clisp.org>
4928
4929         doc: Cleanup yet another file produced by texinfo.tex.
4930         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
4931
4932 2011-05-28  Bruno Haible  <bruno@clisp.org>
4933
4934         Finish the conditional dependencies mechanism.
4935         * gnulib-tool: New option --no-conditional-dependencies.
4936         (func_usage): Document it. Don't mark --conditional-dependencies as
4937         experimental.
4938         (cond_dependencies): The possible values can now be true, false, empty.
4939         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
4940         (func_import): Store setting in gnulib-cache.m4 and read it from there.
4941         * doc/gnulib-tool.texi (Conditional dependencies): New section.
4942
4943 2011-05-28  Bruno Haible  <bruno@clisp.org>
4944
4945         doc: Use a recent texinfo.tex.
4946         * doc/Makefile (tex_opts): New variable.
4947         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
4948
4949 2011-05-28  Jim Meyering  <meyering@redhat.com>
4950
4951         intprops.h: adjust comment to match code change
4952         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
4953         only once, it *may* have side effects.  Also fix an unrelated typo.
4954         (_GL_INT_SIGNED): Likewise.
4955
4956 2011-05-26  Simon Josefsson  <simon@josefsson.org>
4957
4958         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
4959
4960 2011-05-26  Bruno Haible  <bruno@clisp.org>
4961
4962         mbsrchr: Avoid collision with system function on Interix.
4963         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
4964         Reported by Markus Duft <mduft@gentoo.org>.
4965
4966 2011-05-15  James Youngman  <jay@gnu.org>
4967
4968         getopt: for ambiguous options, enumerate the possibilities.
4969         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
4970         the ambiguous options when an ambiguous prefix is given. This was
4971         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
4972         glibc change was
4973         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
4974
4975 2011-05-25  Eric Blake  <eblake@redhat.com>
4976
4977         getcwd: work around mingw bug
4978         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
4979         * doc/posix-functions/getcwd.texi (getcwd): Document it.
4980         Reported by Matthias Bolte.
4981
4982 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
4983
4984         test-intprops: disable -Wtype-limits diagnostics
4985         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
4986         diagnostics.  Otherwise, the integer overflow macros generate many
4987         diagnostics.  Reported by Jim Meyering in
4988         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
4989
4990         intprops: shorten, to pacify gcc -Woverlength-strings
4991         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
4992         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
4993         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
4994         likely to run afoul of C compiler limits for string constant lengths.
4995         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
4996
4997 2011-05-24  Eric Blake  <eblake@redhat.com>
4998
4999         docs: document recently fixed glibc printf bug
5000         * doc/posix-functions/fprintf.texi (fprintf): Document it.
5001         * doc/posix-functions/printf.texi (printf): Likewise.
5002         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
5003         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
5004
5005         closein-tests: convert to init.sh
5006         * modules/closein-tests (Files): Add init.sh
5007         * tests/test-closein.sh Use it.
5008
5009         yesno-tests: convert to init.sh
5010         * modules/yesno-tests (Files): Add init.sh.
5011         * tests/test-yesno.sh: Use it.
5012
5013         atexit-tests: ensure reliable exit status
5014         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
5015         Reported by Bruno Haible.
5016
5017 2011-05-24  Bruno Haible  <bruno@clisp.org>
5018
5019         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
5020         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
5021         gl_PREREQ_STRERROR_R invocations from here...
5022         * modules/strerror_r-posix (configure.ac): ... to here.
5023
5024 2011-05-24  Eric Blake  <eblake@redhat.com>
5025
5026         strerror_r: fix missing header
5027         * lib/strerror_r.c: Avoid compiler warning about snprintf.
5028
5029         strerror_r: fix AIX test failures
5030         * lib/strerror_r.c (strerror_r): Convert silent truncation to
5031         ERANGE failure.
5032
5033         strerror_r: fix Solaris test failures
5034         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
5035         failures.
5036         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
5037
5038         strerror_r: enforce POSIX recommendations
5039         * lib/strerror_r.c (safe_copy): New helper method.
5040         (strerror_r): Guarantee a non-empty string.
5041         * tests/test-strerror_r.c (main): Enhance tests to incorporate
5042         recent POSIX rulings and to match our strerror guarantees.
5043         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
5044
5045 2011-05-24  Jim Meyering  <meyering@redhat.com>
5046
5047         test-perror2.c: avoid warning about unused variable
5048         * tests/test-perror2.c (main): Remove declaration of unused "fp".
5049
5050 2011-05-24  Eric Blake  <eblake@redhat.com>
5051
5052         perror: avoid spurious test failure on HP-UX
5053         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
5054
5055         tests: fix logic bug in init.sh
5056         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
5057         shell.
5058
5059 2011-05-24  Jim Meyering  <meyering@redhat.com>
5060
5061         utimensat: do not reference an out-of-scope buffer
5062         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
5063         declared in an inner scope, yet "times" would be dereferenced outside
5064         the scope in which "ts" was valid.
5065         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
5066         of ts[2] "out/up", so that the use of aliased "times" (via
5067         "times = ts;") does not end up referencing an out-of-scope "ts"
5068
5069         opendir-safer.c: don't clobber errno; don't close negative FD
5070         * lib/opendir-safer.c (opendir_safer):
5071         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
5072         file descriptor, and more importantly, don't clobber the
5073         offending errno value with EINVAL.  Before, upon failure
5074         of dup_safer, we would pass the negative file descriptor to
5075         fdopendir, which would clobber errno.
5076
5077 2011-05-23  Bruno Haible  <bruno@clisp.org>
5078
5079         idcache: Fix module description.
5080         * modules/idcache (Include): Set to "idcache.h".
5081
5082 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
5083
5084         gnulib-tool: fix portability problem with MacOS sed
5085         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
5086         before the "}".  Problem reported by Leo in
5087         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
5088         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
5089         sed_extract_condition1, sed_extract_condition2.
5090
5091 2011-05-23  Bruno Haible  <bruno@clisp.org>
5092
5093         hash: Simplify autoconf macro.
5094         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
5095
5096 2011-05-23  Bruno Haible  <bruno@clisp.org>
5097
5098         getugroups: Fix module description.
5099         * modules/getugroups (Include): Set to "getugroups.h".
5100
5101 2011-05-23  Bruno Haible  <bruno@clisp.org>
5102
5103         linkat: Simplify autoconf macro.
5104         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
5105
5106 2011-05-23  Bruno Haible  <bruno@clisp.org>
5107             Eric Blake  <eblake@redhat.com>
5108
5109         linkat, renameat: Update dependencies.
5110         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
5111         * modules/linkat (Depends-on): Likewise. Remove also readlink,
5112         symlinkat.
5113
5114 2011-05-23  Jim Meyering  <meyering@redhat.com>
5115
5116         maint.mk: more tight_scope improvements
5117         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
5118         (_gl_TS_headers): Define only in if-0'd block.
5119         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
5120         sometimes we must *not* use it.  Adjust uses accordingly.
5121         (sc_tight_scope): Use much simpler grep-based test to determine
5122         whether we skip this rule.
5123
5124         maint.mk: generalize/improve the tight-scope rule
5125         * top/maint.mk: Emit a warning when the test is skipped.
5126         (_gl_TS_dir): Add $(srcdir)/ prefix.
5127         (_gl_TS_function_match): Simplify, rather than trying
5128         to enumerate common types.  Otherwise, it would fail to match an
5129         "extern unsigned char const *" declaration in idutils.
5130         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
5131         a way to support use of that type of macro.
5132         (_gl_TS_var_match): Simplify regexp.
5133         (_gl_TS_obj_files): New configurable variable.
5134         (_gl_TS_headers): Likewise.
5135
5136 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
5137
5138         verify: fix bug when gnulib <assert.h> is also included
5139         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
5140         is defined, not if _GL_STATIC_ASSERT_H is not defined.
5141         Perhaps there's a better way, but this fixes the immediate problem.
5142         Problem reported by Bruno Haible in
5143         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
5144
5145 2011-05-22  Bruno Haible  <bruno@clisp.org>
5146
5147         xgetcwd: Simplify autoconf macro.
5148         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
5149
5150 2011-05-22  Bruno Haible  <bruno@clisp.org>
5151
5152         New module 'mktime-internal'.
5153         * modules/mktime-internal: New file.
5154         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
5155         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
5156         mktime_internal as a C macro if libc has __mktime_internal.
5157         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
5158         conditions.
5159         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
5160
5161 2011-05-22  Bruno Haible  <bruno@clisp.org>
5162
5163         timegm: Correct mktime replacement statements.
5164         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
5165         defining mktime as a C macro. This completes a 2009-07-28 commit.
5166
5167 2011-05-22  Bruno Haible  <bruno@clisp.org>
5168
5169         timegm: Simplify autoconf macro.
5170         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
5171
5172 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
5173
5174         clock-time: change to LGPLv2+.
5175         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
5176         BSD-like but we have no mark for that; this is good enough for now.
5177
5178 2011-05-21  Bruno Haible  <bruno@clisp.org>
5179
5180         strerror_r: Fix comments.
5181         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
5182
5183 2011-05-21  Bruno Haible  <bruno@clisp.org>
5184
5185         relocatable-prog-wrapper: Fix possible link error.
5186         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
5187         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
5188         (gl_FUNC_SETENV): ... to here.
5189         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
5190         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
5191
5192 2011-05-21  Bruno Haible  <bruno@clisp.org>
5193
5194         relocatable-prog-wrapper: Assume strerror() exists.
5195         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
5196         m4/strerror.m4.
5197         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
5198         * lib/relocwrapper.c: Remove mention of strerror module.
5199         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
5200         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
5201         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
5202         C macro.
5203
5204 2011-05-21  Bruno Haible  <bruno@clisp.org>
5205
5206         select: Simplify replacement idiom.
5207         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
5208         Win32 platforms.
5209         * lib/sys_select.in.h (select): Simplify accordingly.
5210         * modules/select (Depends-on): Likewise.
5211
5212 2011-05-21  Bruno Haible  <bruno@clisp.org>
5213
5214         mkdir-p: Simplify autoconf macro.
5215         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
5216         gl_FUNC_LCHOWN.
5217
5218 2011-05-21  Eric Blake  <eblake@redhat.com>
5219
5220         strerror_r: avoid clobbering strerror on cygwin
5221         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
5222         fall back instead to sys_errlist.
5223         * modules/strerror (configure.ac): Add witness.
5224         * tests/test-strerror_r.c (main): Enhance test.
5225         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
5226         * tests/test-perror2.c (main): Free memory before exit.
5227
5228 2011-05-21  Bruno Haible  <bruno@clisp.org>
5229
5230         mkdtemp: Use gnulib naming conventions.
5231         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
5232         * modules/mkdtemp (configure.ac): Update.
5233
5234 2011-05-20  Eric Blake  <eblake@redhat.com>
5235
5236         strerror_r: avoid corrupting errno on Solaris
5237         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
5238         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
5239
5240         strerror_r: avoid compiler warning
5241         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
5242
5243         strerror_r: simplify AIX code
5244         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
5245
5246         test-perror: avoid spurious failure on FreeBSD
5247         * modules/perror-tests (Depends-on): Add strerror, now that
5248         strerror_r no longer pulls it in.
5249
5250 2011-05-20  Bruno Haible  <bruno@clisp.org>
5251
5252         strerror_r-posix: Remove unused dependencies.
5253         * modules/strerror_r-posix (Depends-on): Remove strerror.
5254         Reported by Eric Blake.
5255
5256 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
5257
5258         intprops: remove assumption about A|B representation
5259         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
5260         is a valid integer if both A and B are.  Although this is true for
5261         all known practical hosts, the C standard doesn't guarantee it,
5262         and the code need not assume it.  Also, this change may work around
5263         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
5264         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
5265
5266 2011-05-20  Eric Blake  <eblake@redhat.com>
5267
5268         perror: work around FreeBSD bug
5269         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
5270         is broken.  Move AC_LIBOBJ...
5271         * modules/perror (configure.ac): Here.
5272         * doc/posix-functions/perror.texi (perror): Document this.
5273         * tests/test-perror2.c (main): Enhance test.
5274
5275         test-perror: check for strerror interactions
5276         * tests/macros.h (STREQ): Add macro.
5277         * modules/perror-tests (Files): Add second test.
5278         * tests/test-perror2.c (main): New file.
5279         * doc/posix-functions/perror.texi (perror): Document glibc bug.
5280
5281         test-perror: rewrite to use init script
5282         * modules/perror-tests (Files): Add init.sh.
5283         * tests/test-perror.sh: Use temporary directory.
5284
5285 2011-05-20  Jim Meyering  <meyering@redhat.com>
5286
5287         maint: replace misused "a" with "an"
5288         * doc/intprops.texi: "a integer"
5289         * doc/regex.texi: "a explanation"
5290         * lib/alignof.h: "a object"
5291         * lib/argmatch.h: "a explanation"
5292         * lib/argp-help.c: "a option" and "a OPTION_DOC"
5293         * lib/stdint.in.h: "a integer"
5294         * lib/userspec.c: "a owner"
5295         * doc/gnulib.texi: Fix "a idea", and reword.
5296
5297 2011-05-19  Jim Meyering  <meyering@redhat.com>
5298
5299         maint: correct misuse of "a" and "an"
5300         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
5301         * lib/argp-help.c: "an docum...": s/an/a/
5302         * lib/argp-parse.c: "An vector": s/An/A/
5303         * lib/execute.c: "an native": s/an/a/
5304         * lib/spawn-pipe.c: Likewise.
5305         * lib/gc.h: "an Gc_rc": s/an/a/
5306         * lib/unigbrk.in.h: "an grapheme": s/an/a/
5307         * lib/fts.c: "an stat.st_dev": s/an/a/
5308
5309 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
5310
5311         intprops-tests: work around HP-UX 11.23 cc bug with constants
5312         * tests/test-intprops.c (VERIFY): New macro.
5313         (main): Use it, instead of verify, to work around the compiler bug; see
5314         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
5315
5316         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
5317         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
5318         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
5319         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
5320         (_GL_REMAINDER_OVERFLOW): Use it.
5321
5322         intprops-tests: revert unsigned part of previous change
5323         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
5324         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
5325         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
5326         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
5327
5328 2011-05-19  Bruno Haible  <bruno@clisp.org>
5329
5330         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
5331         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
5332         strerror_r() returned without filling the buffer.
5333         Reported by Eric Blake.
5334
5335 2011-05-19  Eric Blake  <eblake@redhat.com>
5336
5337         strerror_r: guarantee unchanged errno
5338         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
5339         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
5340         failure.
5341         * tests/test-strerror_r.c (main): Enhance test.
5342
5343 2011-05-19  Bruno Haible  <bruno@clisp.org>
5344
5345         strerror_r: Reorder #if blocks.
5346         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
5347         for consistency with the previous commit.
5348
5349 2011-05-19  Bruno Haible  <bruno@clisp.org>
5350
5351         perror: Avoid clobbering the strerror buffer when possible.
5352         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
5353         * lib/strerror.c: Include it.
5354         * modules/strerror (Files): Add lib/strerror-impl.h.
5355         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
5356         (my_strerror): New function, defined through lib/strerror-impl.h.
5357         (perror): Use it instead of strerror.
5358         * modules/perror (Files): Add lib/strerror-impl.h.
5359         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
5360
5361 2011-05-19  Eric Blake  <eblake@redhat.com>
5362
5363         strerror_r: fix on newer cygwin
5364         * lib/strerror_r.c (strerror_r): Cygwin now has
5365         __xpg_strerror_r, use it.
5366
5367 2011-05-19  Bruno Haible  <bruno@clisp.org>
5368
5369         strerror_r: Avoid clobbering the strerror buffer when possible.
5370         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
5371         (sys_nerr, sys_errlist): New declarations.
5372         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
5373         HP-UX, native Win32, IRIX, and 32-bit Solaris.
5374         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
5375
5376 2011-05-19  Bruno Haible  <bruno@clisp.org>
5377
5378         strerror_r: Fix test failure on mingw.
5379         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
5380         EXTEND_STRERROR_R.
5381         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
5382         macros from errno.in.h instead.
5383
5384 2011-05-19  Eric Blake  <eblake@redhat.com>
5385
5386         strerror: relax test for Solaris
5387         * tests/test-strerror.c (main): Permit Solaris behavior.
5388         * tests/test-strerror_r.c (main): Likewise.
5389
5390         strerror: enforce POSIX ruling on strerror(0)
5391         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
5392         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
5393         * lib/strerror_r.c (rpl_strerror_r): Work around it.
5394         * doc/posix-functions/strerror.texi (strerror): Document it.
5395         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
5396         * tests/test-strerror.c (main): Strengthen test.
5397         * tests/test-strerror_r.c (main): Likewise.
5398
5399 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
5400
5401         intprop-tests: port to older and more-pedantic compilers
5402         * modules/intprops-tests (Files): Add tests/macros.h.
5403         * tests/test-intprops.c: Include macros.h.
5404         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
5405         it's no longer documented to expand to an integer constant expression.
5406         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
5407         argument is floating point, as it's no longer documented to expand
5408         to an integer constant expression in that case.
5409         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
5410         compiler bugs reported by Bruno Haible.  See
5411         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
5412         (U0, U1): New constants, to work around the same bugs.  Also,
5413         in tests, use e.g., "(unsigned int) 39" rather than "39u".
5414
5415         intprops: work around C compiler bugs
5416         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
5417         bug in Sun C 5.11 2010/08/13 and other compilers; see
5418         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
5419
5420         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
5421         * doc/intprops.texi (Integer Type Determination): Fix
5422         documentation for TYPE_IS_INTEGER: it returns an constant
5423         expression, not an integer constant expression.  Fix doc for
5424         TYPE_SIGNED: it returns an integer constant expression only if its
5425         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
5426         hardly worth documented that way....)
5427
5428 2011-05-18  Bruno Haible  <bruno@clisp.org>
5429
5430         strerror_r: Avoid clobbering the strerror buffer when possible.
5431         * lib/strerror_r.c (strerror_r): Merge the three implementations.
5432         Handle gnulib defined errno values here. When strerror() returns NULL
5433         or an empty string, return EINVAL.
5434         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
5435         gnulib defined errno values here.
5436         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
5437
5438 2011-05-18  Eric Blake  <eblake@redhat.com>
5439
5440         fnmatch: avoid compiler warning
5441         * lib/fnmatch_loop.c (FCT): Use correct type.
5442         Reported by Matthias Bolte.
5443
5444 2011-05-13  Jim Meyering  <meyering@redhat.com>
5445
5446         maint.mk: three new prohibit_<HDR>_without_use rules
5447         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
5448         (sc_prohibit_stdio-safer_without_use): Likewise.
5449         (sc_prohibit_xfreopen_without_use): Likewise.
5450
5451 2011-05-17  Jim Meyering  <meyering@redhat.com>
5452
5453         announce-gen: fail if the NEWS delta is empty
5454         If there's nothing noteworthy in NEWS, then either you forgot
5455         or you shouldn't be releasing.
5456         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
5457
5458 2011-05-17  Pádraig Brady <P@draigBrady.com>
5459
5460         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
5461         reserved symbols starting with double underscore from the check.
5462
5463 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
5464
5465         intprops: add doc
5466         * doc/intprops.texi: New file, documenting intprops.
5467         * doc/gnulib.texi (Particular Modules): Include it.
5468
5469         verify: add doc to gnulib manual and fix example
5470         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
5471         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
5472         (Compile-time Assertions): Fix example so it can't overflow.
5473
5474 2011-05-17  Jim Meyering  <meyering@redhat.com>
5475
5476         warnings.m4: don't usurp save_CPPFLAGS variable name
5477         * m4/warnings.m4: Prefix local temporary variable name with gl_.
5478
5479         doc: fix typo
5480         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
5481
5482 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
5483             Bruno Haible  <bruno@clisp.org>
5484
5485         doc: Tweak recent change.
5486         * README (Portability guidelines): Tweak new text.
5487         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
5488         Interix 6.1.
5489
5490 2011-05-16  Eric Blake  <eblake@redhat.com>
5491
5492         inttypes: avoid autoconf warning
5493         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
5494         * m4/stdint.m4 (gl_STDINT_H): Likewise.
5495
5496 2011-05-16  Sam Steingold <sds@gnu.org>
5497         and Eric Blake  <eblake@redhat.com>
5498
5499         vc-list-files: accept multiple directory operands
5500         * build-aux/vc-list-files: Iterate over all remaining operands.
5501
5502 2011-05-16  Bruno Haible  <bruno@clisp.org>
5503
5504         Fix confusion regarding deprecated modules.
5505         * modules/calloc (Status, Notice): Mark module as deprecated, not
5506         obsolete.
5507         * modules/fnmatch-posix (Status, Notice): Likewise.
5508         * modules/getdate (Status, Notice): Likewise.
5509         * modules/getopt (Status, Notice): Likewise.
5510         * modules/malloc (Status, Notice): Likewise.
5511         * modules/pipe (Status, Notice): Likewise.
5512         * modules/realloc (Status, Notice): Likewise.
5513         * modules/rename-dest-slash (Status, Notice): Likewise.
5514         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
5515         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
5516         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
5517         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
5518         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
5519
5520 2011-05-16  Bruno Haible  <bruno@clisp.org>
5521
5522         doc: List the target platforms.
5523         * doc/gnulib-intro.texi (Target Platforms): New section.
5524         * doc/gnulib.texi (Introduction): Update menu.
5525         * README (Portability guidelines): Refer to the new section. Update
5526         statement about oldest supported environment. Remove rationale why
5527         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
5528         unportable C89 function.
5529         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
5530         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
5531
5532 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
5533
5534         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
5535
5536 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
5537
5538         intprops-tests: new module
5539         * modules/intprops-tests, tests/test-intprops.c: New files.
5540
5541         intprops: add safe, portable integer overflow checking
5542         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
5543         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
5544         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
5545         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
5546         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
5547         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
5548         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
5549         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
5550         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
5551         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
5552         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
5553
5554 2011-05-12  James Youngman  <jay@gnu.org>
5555
5556         Add a test for glibc's Bugzilla bug #12378.
5557         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
5558         doesn't allow the literal matching of a lone "[" (which is
5559         required by POSIX).
5560         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
5561
5562 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
5563
5564         Sync glibc change fixing Bugzilla bug #12378.
5565         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
5566         beginning and fall back to matching as normal character if the
5567         string ends before the matching ']' is found.  This is what POSIX
5568         requires.
5569
5570 2011-05-13  Eric Blake  <eblake@redhat.com>
5571
5572         getcwd-lgpl: relax test for FreeBSD
5573         * doc/posix-functions/getcwd.texi (getcwd): Document portability
5574         issue.
5575         * tests/test-getcwd-lgpl.c (main): Relax test.
5576         Reported by Matthias Bolte.
5577
5578 2011-05-11  Eric Blake  <eblake@redhat.com>
5579
5580         test-fflush: silence compiler warning
5581         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
5582
5583 2011-05-11  Bruno Haible  <bruno@clisp.org>
5584
5585         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
5586         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
5587         * modules/canonicalize (Depends-on): Add 'nocrash'.
5588         * modules/canonicalize-lgpl (Depends-on): Likewise.
5589         * doc/posix-functions/realpath.texi: Update platforms list.
5590         Reported by Ryan Schmidt <ryandesign@macports.org>.
5591
5592 2011-05-11  Bruno Haible  <bruno@clisp.org>
5593
5594         group-member: Declare function in <unistd.h>.
5595         * lib/unistd.in.h (group_member): New declaration.
5596         * lib/group-member.h: Remove file.
5597         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
5598         * tests/test-unistd-c++.cc: Check signature of group_member.
5599         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
5600         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
5601         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
5602         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
5603         HAVE_GROUP_MEMBER.
5604         * modules/group-member (Files): Remove lib/group-member.h.
5605         (Depends-on): Add unistd. Specify conditions.
5606         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
5607         (Include): Change to <unistd.h>.
5608         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
5609         HAVE_GROUP_MEMBER.
5610         * NEWS: Mention the change.
5611         * lib/euidaccess.c: Don't include group-member.h.
5612
5613 2011-05-11  Bruno Haible  <bruno@clisp.org>
5614
5615         group-member: Document module.
5616         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
5617         module.
5618
5619 2011-05-11  Bruno Haible  <bruno@clisp.org>
5620
5621         fclose: Fix mistake earlier today.
5622         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
5623
5624 2011-05-11  Eric Blake  <eblake@redhat.com>
5625
5626         fclose: preserve fflush errors
5627         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
5628         Reported by Jim Meyering.
5629
5630         bootstrap: support a prereq of 'rpcgen -' on RHEL5
5631         * build-aux/bootstrap (check_versions): When no specific version
5632         is required, merely check that the app produces an exit status
5633         that indicates its existence.
5634
5635         maint.mk: drop redundant check
5636         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
5637         the same but better.
5638
5639 2011-05-11  Bruno Haible  <bruno@clisp.org>
5640
5641         fclose: Fix possible link error.
5642         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
5643         unregister_shadow_fd. Improve comments.
5644         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
5645         Eric Blake.
5646
5647 2011-05-11  Jim Meyering  <meyering@redhat.com>
5648
5649         maint.mk: improve "can not" detection and generalize rule name
5650         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
5651         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
5652         Use the same technique as in sc_prohibit_doubled_word, so that
5653         we recognize "can not" also when the words are separated by a newline.
5654         Suggested by Eric Blake.
5655         (perl_filename_lineno_text_): Define.  Factored out of...
5656         (prohibit_doubled_word_): ...here.  Use the new definition.
5657         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
5658         (prohibit_undesirable_word_seq_RE_): New overridable variable.
5659         (ignore_undesirable_word_sequence_RE_): New overridable variable.
5660
5661 2011-05-10  Eric Blake  <eblake@redhat.com>
5662
5663         fclose: avoid double close race when possible
5664         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
5665         all but WINDOWS_SOCKETS.
5666
5667 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
5668
5669         openat: correct new comment
5670         * lib/openat-proc.c (openat_proc_name): Correct the comment.
5671
5672 2011-05-10  Jim Meyering  <meyering@redhat.com>
5673
5674         openat: add comments
5675         * lib/openat-proc.c (openat_proc_name): Add comments,
5676         mostly from Eric Blake.
5677
5678 2011-05-09  Eric Blake  <eblake@redhat.com>
5679
5680         openat: reduce syscalls in first probe of /proc
5681         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
5682         be a directory.  Simplify the probe for .. bugs.
5683         * modules/openat (Depends-on): Drop same-inode.
5684         Reported by Bastien ROUCARIES.
5685
5686 2011-05-09  Jim Meyering  <meyering@redhat.com>
5687
5688         maint.mk: change semantics/name of tight_scope variables
5689         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
5690         Rename variables to align with semantics that make them more useful.
5691
5692         maint.mk: tweak new rule's name not to impinge
5693         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
5694         (sc_tight_scope): Use new rule name rather than $@-0.
5695
5696         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
5697         * top/maint.mk (sc_tight_scope): New rule.
5698         (sc_tight_scope-0): New rule, ifdef'd out.
5699         (_gl_TS_dir): Default.
5700         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
5701         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
5702
5703 2011-05-09  Simon Josefsson  <simon@josefsson.org>
5704
5705         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
5706         Haible <bruno@clisp.org>.
5707
5708 2011-05-08  Bruno Haible  <bruno@clisp.org>
5709
5710         Comments.
5711         * m4/isnanf.m4: Add comment.
5712         * m4/isnanl.m4: Likewise.
5713
5714 2011-05-08  Bruno Haible  <bruno@clisp.org>
5715
5716         glob: Remove obsolete macro.
5717         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
5718
5719 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
5720
5721         intprops: Sun C 5.11 supports __typeof__
5722         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
5723         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
5724         which is new.
5725         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
5726
5727         intprops: switch to usual gnulib indenting and naming
5728         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
5729         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
5730
5731         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
5732
5733 2011-05-08  Jim Meyering  <meyering@redhat.com>
5734
5735         maint.mk: suppress "Entering/Leaving directory" diag in announcement
5736         * top/maint.mk (release-prep): Use make's --no-print-directory
5737         option when generating the announcement.  This eliminates the
5738         pesky "make[2]: Entering/Leaving directory" diagnostics in the
5739         generated announcement template.
5740
5741 2011-05-08  Bruno Haible  <bruno@clisp.org>
5742
5743         tzset: Fix gettimeofday wrapper on Solaris 2.6.
5744         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
5745         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
5746
5747 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
5748
5749         ignore-value, verify: Omit include files from lib_SOURCES.
5750         * modules/ignore-value, modules/verify (Makefile.am):
5751         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
5752         that leads Automake to duplicate use of am__objects_... variables
5753         in Makefile.in.  See
5754         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
5755
5756 2011-05-07  Bruno Haible  <bruno@clisp.org>
5757
5758         fclose: Simplify autoconf macro.
5759         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
5760         defined.
5761
5762 2011-05-07  Bruno Haible  <bruno@clisp.org>
5763
5764         canonicalize-lgpl: Fix autoconf macro ordering bug.
5765         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
5766         gl_STDLIB_H_DEFAULTS.
5767
5768 2011-05-06  Eric Blake  <eblake@redhat.com>
5769
5770         maintainer-makefile: make sc_po_check easier to tune
5771         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
5772         to probe for strings, such as an alternate location for gnulib.
5773
5774         fclose: guarantee behavior on seekable stdin
5775         * modules/fclose (Depends-on): Add fflush.
5776         * doc/posix-functions/fclose.texi (fclose): Document this.
5777         * tests/test-fclose.c (main): Make test for this unconditional.
5778
5779 2011-05-06  Bruno Haible  <bruno@clisp.org>
5780
5781         fflush, fpurge: Relicense under LGPLv2+.
5782         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
5783         * modules/fpurge (License): Likewise.
5784         With permission from Eric Blake and Jim Meyering.
5785         Suggested by Eric Blake.
5786
5787 2011-05-06  Karl Berry  <karl@gnu.org>
5788
5789         * MODULES.html.sh (func_all_modules): remove exit.
5790
5791 2011-05-06  Jim Meyering  <meyering@redhat.com>
5792
5793         maint.mk: use info-gnu@ as the default only for a stable release
5794         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
5795         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
5796         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
5797         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
5798
5799 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
5800
5801         assert-h: new module, which supports C1X-style static_assert
5802         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
5803         * lib/verify.h: Revamp so that this can be copied into assert.h,
5804         while retaining the ability to use it standalone as before.
5805         Rename private identifiers so as not to encroach on the
5806         standard C namespace, since this is now used by assert.h.
5807         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
5808         the old verify_true.
5809         (_GL_VERIFY_TRUE): New macro, with much of the contents of
5810         the old verify_true.  Use _GL_VERIFY_TYPE.
5811         (_GL_VERIFY): New macro, with much of the contents of the old verify.
5812         (static_assert): New macro, if _GL_STATIC_ASSERT_H
5813         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
5814         defined when this file is copied into the replacement assert.h.
5815         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
5816         and _Static_assert is not built in.
5817         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
5818         defined, and use the new macros mentioned above.
5819         * doc/posix-headers/assert.texi: Document this.
5820
5821 2011-05-05  Bruno Haible  <bruno@clisp.org>
5822
5823         fclose, fflush: Respect rules for use of AC_LIBOBJ.
5824         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
5825         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
5826         gl_REPLACE_FCLOSE here.
5827         * modules/fflush (Depends-on): Remove fclose.
5828         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
5829         combination with module 'fclose'.
5830
5831 2011-05-05  Bruno Haible  <bruno@clisp.org>
5832
5833         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
5834         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
5835         gl_FUNC_FFLUSH.
5836         (gl_FUNC_FFLUSH): Use it.
5837         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
5838         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
5839         gl_REPLACE_FSEEKO here.
5840
5841 2011-05-05  Bruno Haible  <bruno@clisp.org>
5842
5843         tzset: Relicense under LGPL.
5844         * modules/tzset (License): Change to LGPL.
5845         No agreement needed; it's a no-op.
5846
5847         strtoimax, strtoumax: Relicense under LGPL.
5848         * modules/strtoimax (License): Change to LGPL.
5849         * modules/strtoumax (License): Likewise.
5850         With permission from Jim Meyering, Paul Eggert:
5851         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
5852         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
5853
5854         getgroups: Relicense under LGPL.
5855         * modules/getgroups (License): Change to LGPL.
5856         With permission from Jim Meyering, Paul Eggert, Eric Blake:
5857         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
5858         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
5859         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
5860
5861         nanosleep: Relicense under LGPL.
5862         * modules/nanosleep (License): Change to LGPL.
5863         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
5864         Haible:
5865         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
5866         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
5867         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
5868         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
5869
5870         futimens: Relicense under LGPL.
5871         * modules/futimens (License): Change to LGPL.
5872         With permission from Eric Blake:
5873         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
5874
5875         fflush: Relicense under LGPL.
5876         * modules/fflush (License): Change to LGPL.
5877         With permission from Eric Blake, Bruno Haible, Jim Meyering:
5878         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
5879         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
5880         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
5881
5882         tmpfile: Relicense under LGPL.
5883         * modules/tmpfile (License): Change to LGPL.
5884         With permission from Ben Pfaff:
5885         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
5886
5887         isfinite: Relicense under LGPL.
5888         * modules/isfinite (License): Change to LGPL.
5889         With permission from Ben Pfaff, Bruno Haible:
5890         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
5891         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
5892
5893         acosl..tanl: Relicense under LGPL.
5894         * modules/acosl (License): Change to LGPL.
5895         * modules/asinl (License): Likewise.
5896         * modules/atanl (License): Likewise.
5897         * modules/cosl (License): Likewise.
5898         * modules/expl (License): Likewise.
5899         * modules/logl (License): Likewise.
5900         * modules/sinl (License): Likewise.
5901         * modules/sqrtl (License): Likewise.
5902         * modules/tanl (License): Likewise.
5903         Source code originally from glibc and Paolo Bonzini. Agreements:
5904         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
5905         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
5906
5907 2011-05-05  Bruno Haible  <bruno@clisp.org>
5908
5909         signal: Define sighandler_t.
5910         * lib/signal.in.h (sighandler_t): New type.
5911         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
5912         whether sighandler_t is defined.
5913         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
5914         * modules/signal (Depends-on): Add extensions.
5915         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
5916         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
5917         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
5918
5919 2011-05-05  Eric Blake  <eblake@redhat.com>
5920
5921         maint: remove useless REPLACE_*_H macros
5922         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
5923         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
5924         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
5925         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
5926         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
5927         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
5928         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
5929         * m4/btowc.m4: Update callers.
5930         * m4/dirfd.m4: Likewise.
5931         * m4/duplocale.m4: Likewise.
5932         * m4/fchdir.m4: Likewise.
5933         * m4/fdopendir.m4: Likewise.
5934         * m4/inet_ntop.m4: Likewise.
5935         * m4/inet_pton.m4: Likewise.
5936         * m4/ioctl.m4: Likewise.
5937         * m4/mbrlen.m4: Likewise.
5938         * m4/mbrtowc.m4: Likewise.
5939         * m4/mbsinit.m4: Likewise.
5940         * m4/mbsnrtowcs.m4: Likewise.
5941         * m4/mbsrtowcs.m4: Likewise.
5942         * m4/poll.m4: Likewise.
5943         * m4/setlocale.m4: Likewise.
5944         * m4/wcrtomb.m4: Likewise.
5945         * m4/wcsnrtombs.m4: Likewise.
5946         * m4/wcsrtombs.m4: Likewise.
5947         * m4/wctob.m4: Likewise.
5948         * m4/wcwidth.m4: Likewise.
5949         * modules/posix_spawn: Likewise.
5950         * modules/posix_spawn_file_actions_addclose: Likewise.
5951         * modules/posix_spawn_file_actions_adddup2: Likewise.
5952         * modules/posix_spawn_file_actions_addopen: Likewise.
5953         * modules/posix_spawn_file_actions_destroy: Likewise.
5954         * modules/posix_spawn_file_actions_init: Likewise.
5955         * modules/posix_spawnattr_destroy: Likewise.
5956         * modules/posix_spawnattr_getflags: Likewise.
5957         * modules/posix_spawnattr_getpgroup: Likewise.
5958         * modules/posix_spawnattr_getschedparam: Likewise.
5959         * modules/posix_spawnattr_getschedpolicy: Likewise.
5960         * modules/posix_spawnattr_getsigdefault: Likewise.
5961         * modules/posix_spawnattr_getsigmask: Likewise.
5962         * modules/posix_spawnattr_init: Likewise.
5963         * modules/posix_spawnattr_setflags: Likewise.
5964         * modules/posix_spawnattr_setpgroup: Likewise.
5965         * modules/posix_spawnattr_setschedparam: Likewise.
5966         * modules/posix_spawnattr_setschedpolicy: Likewise.
5967         * modules/posix_spawnattr_setsigdefault: Likewise.
5968         * modules/posix_spawnattr_setsigmask: Likewise.
5969         * modules/posix_spawnp: Likewise.
5970
5971 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
5972
5973         Add option to do-release-commit-and-tag to specify branch.
5974         * build-aux/do-release-commit-and-tag: Add --branch.
5975
5976 2011-05-03  Bruno Haible  <bruno@clisp.org>
5977
5978         Avoid unnecessary compilation units, through conditional dependencies.
5979         * modules/accept (Depends-on): Add conditions to the dependencies.
5980         * modules/acosl (Depends-on): Likewise.
5981         * modules/argz (Depends-on): Likewise.
5982         * modules/asinl (Depends-on): Likewise.
5983         * modules/atanl (Depends-on): Likewise.
5984         * modules/atoll (Depends-on): Likewise.
5985         * modules/bind (Depends-on): Likewise.
5986         * modules/btowc (Depends-on): Likewise.
5987         * modules/canonicalize-lgpl (Depends-on): Likewise.
5988         * modules/ceil (Depends-on): Likewise.
5989         * modules/ceilf (Depends-on): Likewise.
5990         * modules/ceill (Depends-on): Likewise.
5991         * modules/chdir-long (Depends-on): Likewise.
5992         * modules/chown (Depends-on): Likewise.
5993         * modules/close (Depends-on): Likewise.
5994         * modules/connect (Depends-on): Likewise.
5995         * modules/cosl (Depends-on): Likewise.
5996         * modules/dirfd (Depends-on): Likewise.
5997         * modules/dprintf (Depends-on): Likewise.
5998         * modules/dprintf-posix (Depends-on): Likewise.
5999         * modules/error (Depends-on): Likewise.
6000         * modules/euidaccess (Depends-on): Likewise.
6001         * modules/expl (Depends-on): Likewise.
6002         * modules/faccessat (Depends-on): Likewise.
6003         * modules/fchdir (Depends-on): Likewise.
6004         * modules/fclose (Depends-on): Likewise.
6005         * modules/fcntl (Depends-on): Likewise.
6006         * modules/fdopendir (Depends-on): Likewise.
6007         * modules/fflush (Depends-on): Likewise.
6008         * modules/floor (Depends-on): Likewise.
6009         * modules/floorf (Depends-on): Likewise.
6010         * modules/floorl (Depends-on): Likewise.
6011         * modules/fnmatch (Depends-on): Likewise.
6012         * modules/fopen (Depends-on): Likewise.
6013         * modules/fprintf-posix (Depends-on): Likewise.
6014         * modules/frexp (Depends-on): Likewise.
6015         * modules/frexp-nolibm (Depends-on): Likewise.
6016         * modules/frexpl (Depends-on): Likewise.
6017         * modules/frexpl-nolibm (Depends-on): Likewise.
6018         * modules/fseek (Depends-on): Likewise.
6019         * modules/fsusage (Depends-on): Likewise.
6020         * modules/ftell (Depends-on): Likewise.
6021         * modules/ftello (Depends-on): Likewise.
6022         * modules/futimens (Depends-on): Likewise.
6023         * modules/getcwd (Depends-on): Likewise.
6024         * modules/getcwd-lgpl (Depends-on): Likewise.
6025         * modules/getdelim (Depends-on): Likewise.
6026         * modules/getdomainname (Depends-on): Likewise.
6027         * modules/getgroups (Depends-on): Likewise.
6028         * modules/gethostname (Depends-on): Likewise.
6029         * modules/getline (Depends-on): Likewise.
6030         * modules/getlogin_r (Depends-on): Likewise.
6031         * modules/getopt-posix (Depends-on): Likewise.
6032         * modules/getpeername (Depends-on): Likewise.
6033         * modules/getsockname (Depends-on): Likewise.
6034         * modules/getsockopt (Depends-on): Likewise.
6035         * modules/getsubopt (Depends-on): Likewise.
6036         * modules/getusershell (Depends-on): Likewise.
6037         * modules/glob (Depends-on): Likewise.
6038         * modules/grantpt (Depends-on): Likewise.
6039         * modules/iconv_open (Depends-on): Likewise.
6040         * modules/iconv_open-utf (Depends-on): Likewise.
6041         * modules/inet_ntop (Depends-on): Likewise.
6042         * modules/inet_pton (Depends-on): Likewise.
6043         * modules/ioctl (Depends-on): Likewise.
6044         * modules/isapipe (Depends-on): Likewise.
6045         * modules/isfinite (Depends-on): Likewise.
6046         * modules/isinf (Depends-on): Likewise.
6047         * modules/lchown (Depends-on): Likewise.
6048         * modules/ldexpl (Depends-on): Likewise.
6049         * modules/link (Depends-on): Likewise.
6050         * modules/linkat (Depends-on): Likewise.
6051         * modules/listen (Depends-on): Likewise.
6052         * modules/logl (Depends-on): Likewise.
6053         * modules/lstat (Depends-on): Likewise.
6054         * modules/mbrlen (Depends-on): Likewise.
6055         * modules/mbrtowc (Depends-on): Likewise.
6056         * modules/mbsinit (Depends-on): Likewise.
6057         * modules/mbsnrtowcs (Depends-on): Likewise.
6058         * modules/mbsrtowcs (Depends-on): Likewise.
6059         * modules/mbtowc (Depends-on): Likewise.
6060         * modules/memcmp (Depends-on): Likewise.
6061         * modules/mkdir (Depends-on): Likewise.
6062         * modules/mkdtemp (Depends-on): Likewise.
6063         * modules/mkfifo (Depends-on): Likewise.
6064         * modules/mkfifoat (Depends-on): Likewise.
6065         * modules/mknod (Depends-on): Likewise.
6066         * modules/mkostemp (Depends-on): Likewise.
6067         * modules/mkostemps (Depends-on): Likewise.
6068         * modules/mkstemp (Depends-on): Likewise.
6069         * modules/mkstemps (Depends-on): Likewise.
6070         * modules/mktime (Depends-on): Likewise.
6071         * modules/nanosleep (Depends-on): Likewise.
6072         * modules/open (Depends-on): Likewise.
6073         * modules/openat (Depends-on): Likewise.
6074         * modules/perror (Depends-on): Likewise.
6075         * modules/poll (Depends-on): Likewise.
6076         * modules/popen (Depends-on): Likewise.
6077         * modules/posix_spawn (Depends-on): Likewise.
6078         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
6079         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
6080         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
6081         * modules/posix_spawnp (Depends-on): Likewise.
6082         * modules/pread (Depends-on): Likewise.
6083         * modules/printf-posix (Depends-on): Likewise.
6084         * modules/ptsname (Depends-on): Likewise.
6085         * modules/putenv (Depends-on): Likewise.
6086         * modules/pwrite (Depends-on): Likewise.
6087         * modules/readline (Depends-on): Likewise.
6088         * modules/readlink (Depends-on): Likewise.
6089         * modules/readlinkat (Depends-on): Likewise.
6090         * modules/recv (Depends-on): Likewise.
6091         * modules/recvfrom (Depends-on): Likewise.
6092         * modules/regex (Depends-on): Likewise.
6093         * modules/remove (Depends-on): Likewise.
6094         * modules/rename (Depends-on): Likewise.
6095         * modules/renameat (Depends-on): Likewise.
6096         * modules/rmdir (Depends-on): Likewise.
6097         * modules/round (Depends-on): Likewise.
6098         * modules/roundf (Depends-on): Likewise.
6099         * modules/roundl (Depends-on): Likewise.
6100         * modules/rpmatch (Depends-on): Likewise.
6101         * modules/select (Depends-on): Likewise.
6102         * modules/send (Depends-on): Likewise.
6103         * modules/sendto (Depends-on): Likewise.
6104         * modules/setenv (Depends-on): Likewise.
6105         * modules/setlocale (Depends-on): Likewise.
6106         * modules/setsockopt (Depends-on): Likewise.
6107         * modules/shutdown (Depends-on): Likewise.
6108         * modules/sigaction (Depends-on): Likewise.
6109         * modules/signbit (Depends-on): Likewise.
6110         * modules/sigprocmask (Depends-on): Likewise.
6111         * modules/sinl (Depends-on): Likewise.
6112         * modules/sleep (Depends-on): Likewise.
6113         * modules/snprintf (Depends-on): Likewise.
6114         * modules/snprintf-posix (Depends-on): Likewise.
6115         * modules/socket (Depends-on): Likewise.
6116         * modules/sprintf-posix (Depends-on): Likewise.
6117         * modules/sqrtl (Depends-on): Likewise.
6118         * modules/stat (Depends-on): Likewise.
6119         * modules/strchrnul (Depends-on): Likewise.
6120         * modules/strdup-posix (Depends-on): Likewise.
6121         * modules/strerror (Depends-on): Likewise.
6122         * modules/strerror_r-posix (Depends-on): Likewise.
6123         * modules/strndup (Depends-on): Likewise.
6124         * modules/strnlen (Depends-on): Likewise.
6125         * modules/strptime (Depends-on): Likewise.
6126         * modules/strsep (Depends-on): Likewise.
6127         * modules/strsignal (Depends-on): Likewise.
6128         * modules/strstr-simple (Depends-on): Likewise.
6129         * modules/strtod (Depends-on): Likewise.
6130         * modules/strtoimax (Depends-on): Likewise.
6131         * modules/strtok_r (Depends-on): Likewise.
6132         * modules/strtoumax (Depends-on): Likewise.
6133         * modules/symlink (Depends-on): Likewise.
6134         * modules/symlinkat (Depends-on): Likewise.
6135         * modules/tanl (Depends-on): Likewise.
6136         * modules/tcgetsid (Depends-on): Likewise.
6137         * modules/tmpfile (Depends-on): Likewise.
6138         * modules/trunc (Depends-on): Likewise.
6139         * modules/truncf (Depends-on): Likewise.
6140         * modules/truncl (Depends-on): Likewise.
6141         * modules/uname (Depends-on): Likewise.
6142         * modules/unlink (Depends-on): Likewise.
6143         * modules/unlockpt (Depends-on): Likewise.
6144         * modules/unsetenv (Depends-on): Likewise.
6145         * modules/usleep (Depends-on): Likewise.
6146         * modules/utimensat (Depends-on): Likewise.
6147         * modules/vasprintf (Depends-on): Likewise.
6148         * modules/vdprintf (Depends-on): Likewise.
6149         * modules/vdprintf-posix (Depends-on): Likewise.
6150         * modules/vfprintf-posix (Depends-on): Likewise.
6151         * modules/vprintf-posix (Depends-on): Likewise.
6152         * modules/vsnprintf (Depends-on): Likewise.
6153         * modules/vsnprintf-posix (Depends-on): Likewise.
6154         * modules/vsprintf-posix (Depends-on): Likewise.
6155         * modules/wcrtomb (Depends-on): Likewise.
6156         * modules/wcscasecmp (Depends-on): Likewise.
6157         * modules/wcscspn (Depends-on): Likewise.
6158         * modules/wcsdup (Depends-on): Likewise.
6159         * modules/wcsncasecmp (Depends-on): Likewise.
6160         * modules/wcsnrtombs (Depends-on): Likewise.
6161         * modules/wcspbrk (Depends-on): Likewise.
6162         * modules/wcsrtombs (Depends-on): Likewise.
6163         * modules/wcsspn (Depends-on): Likewise.
6164         * modules/wcsstr (Depends-on): Likewise.
6165         * modules/wcstok (Depends-on): Likewise.
6166         * modules/wcswidth (Depends-on): Likewise.
6167         * modules/wctob (Depends-on): Likewise.
6168         * modules/wctomb (Depends-on): Likewise.
6169         * modules/wctype (Depends-on): Likewise.
6170         * modules/wcwidth (Depends-on): Likewise.
6171         * modules/write (Depends-on): Likewise.
6172
6173 2011-05-03  Bruno Haible  <bruno@clisp.org>
6174
6175         Support for conditional dependencies.
6176         * doc/gnulib.texi (Module description): Document the syntax of
6177         conditional dependencies.
6178         * gnulib-tool: New option --conditional-dependencies.
6179         (func_usage): Document it.
6180         (cond_dependencies): New variable.
6181         (func_get_automake_snippet_conditional,
6182         func_get_automake_snippet_unconditional): New functions, extracted from
6183         func_get_automake_snippet.
6184         (func_get_automake_snippet): Use them.
6185         (sed_first_32_chars): New variable.
6186         (func_module_shellfunc_name): New function.
6187         (func_module_shellvar_name): New function.
6188         (func_module_conditional_name): New function.
6189         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
6190         func_cond_module_condition): New functions.
6191         (func_modules_transitive_closure): Add support for conditional
6192         dependencies.
6193         (func_emit_lib_Makefile_am): For a conditional module, enclose the
6194         conditional automake snippet in an automake conditional.
6195         (func_emit_autoconf_snippets): Emit shell functions that contain the
6196         code for conditional modules.
6197         (func_import, func_create_testdir): Update specification.
6198
6199 2011-05-03  Eric Blake  <eblake@redhat.com>
6200
6201         test-getaddrinfo: report error information
6202         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
6203
6204 2011-05-03  Jim Meyering  <meyering@redhat.com>
6205
6206         bootstrap: avoid build failure when $GZIP is set
6207         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
6208         program name.  If defined at all, it is supposed to list gzip options.
6209         Reported by Alan Curry in http://debbugs.gnu.org/8609
6210
6211 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
6212
6213         readme-release: new module with release instructions
6214         * modules/readme-release: New module.
6215         * top/README-release: New file, from coreutils, grep, diffutils.
6216         * MODULES.html.sh (Support for maintaining and releasing): Add it.
6217
6218 2011-05-02  Eric Blake  <eblake@redhat.com>
6219
6220         fflush: also replace fclose when fixing fflush
6221         * modules/fflush (Depends-on): Add fclose.
6222         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
6223         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
6224         memstreams with no backing fd.
6225         * doc/posix-functions/fclose.texi (fclose): Document the use of
6226         fflush module to fix the bug.
6227         * tests/test-fclose.c (main): Relax test when fclose is used in
6228         isolation.
6229
6230         fclose: add some tests
6231         * modules/fclose-tests: New test module.
6232         * tests/test-fclose.c: New file.
6233         * doc/posix-functions/fclose.texi (fclose): Document the bug.
6234
6235         fclose: reduced dependencies
6236         * modules/fclose (Depends-on): Switch from fflush/fseeko to
6237         simpler lseek.
6238         * lib/fclose.c (rpl_fclose): Likewise.
6239         Reported by Simon Josefsson.
6240
6241         exit: drop remaining clients
6242         * modules/argmatch (Depends-on): Replace exit with stdlib.
6243         * modules/copy-file (Depends-on): Likewise.
6244         * modules/execute (Depends-on): Likewise.
6245         * modules/exitfail (Depends-on): Likewise.
6246         * modules/obstack (Depends-on): Likewise.
6247         * modules/pagealign_alloc (Depends-on): Likewise.
6248         * modules/pipe-filter-gi (Depends-on): Likewise.
6249         * modules/pipe-filter-ii (Depends-on): Likewise.
6250         * modules/savewd (Depends-on): Likewise.
6251         * modules/spawn-pipe (Depends-on): Likewise.
6252         * modules/wait-process (Depends-on): Likewise.
6253         * modules/xsetenv (Depends-on): Likewise.
6254         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
6255         * modules/git-merge-changelog (Depends-on): Likewise.
6256         * modules/long-options (Depends-on): Likewise.
6257         * modules/pt_chown (Depends-on): Likewise.
6258         * modules/sysexits (Depends-on): Likewise.
6259
6260         freading: relax license from LGPLv3+ to LGPLv2+
6261         * modules/freading (License): Relax LGPL version.
6262
6263 2011-05-02  Bruno Haible  <bruno@clisp.org>
6264
6265         fchdir: Remove unused dependencies.
6266         * modules/fchdir (Depends-on): Remove include_next.
6267
6268 2011-05-02  Bruno Haible  <bruno@clisp.org>
6269
6270         gnulib-tool: Refactor.
6271         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
6272         from func_emit_autoconf_snippets.
6273         (func_emit_autoconf_snippets): Use it.
6274
6275 2011-05-02  Simon Josefsson  <simon@josefsson.org>
6276
6277         * NEWS: Document removal of 'exit'.
6278         * modules/exit: Remove file.
6279
6280 2011-05-01  Bruno Haible  <bruno@clisp.org>
6281
6282         Update DEPENDENCIES.
6283         * DEPENDENCIES (gettext): Recommend the newest release.
6284         Reported by Simon Josefsson.
6285
6286 2011-05-01  Bruno Haible  <bruno@clisp.org>
6287
6288         gnulib-tool: Reduce code duplication.
6289         * gnulib-tool (func_emit_autoconf_snippets): New function.
6290         (func_import, func_create_testdir): Use it.
6291
6292 2011-04-30  Eric Blake  <eblake@redhat.com>
6293
6294         fclose: don't fail on non-seekable input stream
6295         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
6296         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
6297         since fflush is allowed to fail in that case.
6298
6299 2011-04-30  Bruno Haible  <bruno@clisp.org>
6300
6301         dup3: cleanup
6302         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
6303
6304 2011-04-30  Bruno Haible  <bruno@clisp.org>
6305
6306         netdb: Make it work in C++ mode.
6307         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
6308         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
6309         module.
6310         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
6311         gl_MODULE_INDICATOR_FOR_TESTS.
6312         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
6313         * modules/netdb-c++-tests: New file.
6314         * tests/test-netdb-c++.cc: New file.
6315
6316 2011-04-30  Bruno Haible  <bruno@clisp.org>
6317
6318         New modules 'vfscanf', 'vscanf'.
6319         * modules/vfscanf: New file.
6320         * modules/vscanf: New file.
6321         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
6322         here.
6323         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
6324         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
6325
6326 2011-04-30  Bruno Haible  <bruno@clisp.org>
6327
6328         passfd: Add comments.
6329         * lib/passfd.c: Add comments about platforms.
6330
6331 2011-04-30  Bruno Haible  <bruno@clisp.org>
6332
6333         sys_uio: Make <sys/uio.h> self-contained.
6334         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
6335         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
6336
6337 2011-04-30  Bruno Haible  <bruno@clisp.org>
6338
6339         sys_socket: Ensure 'struct iovec' definition.
6340         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
6341         <sys/socket.h>.
6342         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
6343
6344 2011-04-30  Bruno Haible  <bruno@clisp.org>
6345
6346         sys_uio: Protect definition of 'struct iovec'.
6347         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
6348         it as a C struct.
6349
6350 2011-04-30  Bruno Haible  <bruno@clisp.org>
6351
6352         manywarnings: fix indentation
6353         * m4/manywarnings.m4: Indent by 2 spaces consistently.
6354
6355 2011-04-30  Pádraig Brady <P@draigBrady.com>
6356
6357         manywarnings: add -Wno-missing-field-initializers if needed.
6358         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
6359         option if it's needed to allow initialization with { 0, }
6360
6361 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
6362
6363         announce-gen: cosmetic improvement
6364         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
6365
6366 2011-04-29  Jim Meyering  <meyering@redhat.com>
6367
6368         vc-list-files: indent with spaces, not TABs
6369         * build-aux/vc-list-files: Convert leading TABs to spaces,
6370         to match the style of most other files in gnulib.
6371
6372         announce-gen: indent with spaces, not TABs
6373         * build-aux/announce-gen: Convert all TABs to spaces, to match
6374         the style of most other files in gnulib.
6375
6376 2011-04-29  Eric Blake  <eblake@redhat.com>
6377
6378         quotearg: avoid uninitialized variable use
6379         * lib/quotearg.c (quoting_options_from_style): Initialize
6380         remaining fields, and ensure that custom styles are only used via
6381         quoting_options rather than quoting_style.
6382
6383 2011-04-29  Jim Meyering  <meyering@redhat.com>
6384
6385         maint.mk: remove unused VC-tag variable
6386         * top/maint.mk (VC-tag): Remove unused variable.
6387
6388 2011-04-29  Bruno Haible  <bruno@clisp.org>
6389
6390         netdb: fix gai_strerror replacements
6391         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
6392         * modules/netdb: Substitute it.
6393
6394 2011-04-29  Jim Meyering  <meyering@redhat.com>
6395
6396         test-getcwd.c: avoid new set-but-not-used warning
6397         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
6398         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
6399         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
6400         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
6401
6402         test-hash.c: avoid a new shadowing warning
6403         * tests/test-hash.c (main): Don't shadow "dup".
6404
6405 2011-04-28  Eric Blake  <eblake@redhat.com>
6406
6407         getaddrinfo: fix gai_strerror signature
6408         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
6409         and work around mingw with UNICODE defined.
6410         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
6411         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
6412         * modules/netdb (Makefile.am): Substitute it.
6413         * lib/netdb.in.h (gai_strerror): Declare replacement.
6414         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
6415         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
6416         the fix.
6417
6418         getsockopt: avoid compiler warning
6419         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
6420         Reported by Matthias Bolte.
6421
6422         tests: drop unused link dependency
6423         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
6424         * modules/dirent-safer-tests (Makefile.am): Likewise.
6425         * modules/fdopendir-tests (Makefile.am): Likewise.
6426         * modules/mkfifoat-tests (Makefile.am): Likewise.
6427         * modules/openat-safer-tests (Makefile.am): Likewise.
6428         * modules/openat-tests (Makefile.am): Likewise.
6429         * modules/readlinkat-tests (Makefile.am): Likewise.
6430         * modules/symlinkat-tests (Makefile.am): Likewise.
6431         * modules/linkat-tests (Makefile.am): Likewise.
6432         (Depends-on): Switch to filenamecat-lgpl.
6433         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
6434         LIBINTL.
6435         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
6436         * tests/test-linkat.c (main): Don't require xalloc.
6437
6438         hash, mgetgroups: drop xalloc dependency
6439         * lib/hash.c (includes): Adjust includes.
6440         * lib/mgetgroups.c (includes): Likewise.
6441         (xgetgroups): Move...
6442         * lib/xgetgroups.c: ...to new file.
6443         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
6444         * modules/xgetgroups: New file, split from...
6445         * modules/mgetgroups: ...here.
6446         (Depends-on): Add xalloc-oversized.
6447         * modules/hash (Depends-on): Likewise.
6448         * modules/hash-tests (Depends-on): Drop xalloc.
6449         (test_hash_LDADD): Drop unused library.
6450         * tests/test-hash.c (main): Break xalloc dependency.
6451         (includes): Drop unused include.
6452
6453         xalloc-oversized: new module
6454         * modules/xalloc-oversized: New module.
6455         * modules/xalloc (Depends-on): Add it.
6456         * lib/xalloc.h (xalloc_oversized): Move...
6457         * lib/xalloc-oversized.h: ...into new file.
6458
6459         utimecmp: drop dependency on xmalloc
6460         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
6461         due to memory pressure.
6462         * modules/utimecmp (Depends-on): Drop xalloc.
6463
6464 2011-04-27  Eric Blake  <eblake@redhat.com>
6465
6466         getcwd: fix mingw bugs
6467         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
6468         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
6469         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
6470
6471 2011-04-27  Bruno Haible  <bruno@clisp.org>
6472
6473         mkstemps: Ensure declaration on MacOS X 10.5.
6474         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
6475         * doc/glibc-functions/mkstemps.texi: Document header file problem on
6476         MacOS X.
6477
6478 2011-04-27  Bruno Haible  <bruno@clisp.org>
6479
6480         mkstemp: More documentation.
6481         * doc/posix-functions/mkstemp.texi: Document header file problem on
6482         MacOS X.
6483
6484 2011-04-27  Bruno Haible  <bruno@clisp.org>
6485
6486         mkstemp: Tweak configure message when cross-compiling.
6487         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
6488         result as a guess.
6489
6490 2011-04-27  Bruno Haible  <bruno@clisp.org>
6491
6492         clean-temp: Clarify what it does.
6493         * lib/clean-temp.h: Add more comments.
6494         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
6495         module.
6496         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
6497         * doc/glibc-functions/mkstemps.texi: Likewise.
6498         * doc/glibc-functions/mkostemps.texi: Likewise.
6499
6500 2011-04-27  Eric Blake  <eblake@redhat.com>
6501
6502         fchdir: avoid extra chdir and fix test
6503         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
6504         getcwd-lgpl.
6505         * lib/fchdir.c (get_name): Any absolute name will do; it does not
6506         have to be canonical.
6507         (canonicalize_file_name): Drop unused macro.
6508         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
6509
6510         filenamecat-lgpl: fix licence
6511         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
6512         when it was first created.
6513
6514         linkat, renameat: add missing dependency
6515         * modules/linkat (Depends-on): Require getcwd-lgpl.
6516         * modules/renameat (Depends-on): Likewise.
6517
6518         tests: reduce dependencies
6519         * tests/test-linkat.c (main): Use lighter-weight getcwd.
6520         * tests/test-renameat.c (main): Likewise.
6521         * modules/linkat-tests (Depends-on): Relax dependency.
6522         * modules/renameat-tests (Depends-on): Likewise.
6523         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
6524         dependency explicit.
6525
6526         save-cwd: reduce default dependency
6527         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
6528         * lib/save-cwd.c: Update comments.
6529         * NEWS: Document the semantic change.
6530
6531         getcwd: enhance tests
6532         * tests/test-getcwd-lgpl.c: New file, taken from...
6533         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
6534         repeat long path stress tests from m4 probe.
6535         * modules/getcwd-lgpl-tests: New module.
6536         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
6537         * m4/getcwd-abort-bug.m4: Update comment.
6538         * m4/getcwd-path-max.m4: Likewise.
6539
6540         getcwd-lgpl: new module
6541         * modules/getcwd-lgpl: New module.
6542         * lib/getcwd-lgpl.c: New file.
6543         * doc/posix-functions/getcwd.texi (getcwd): Document it.
6544         * MODULES.html.sh (lacking POSIX:2008): Likewise.
6545         * modules/getcwd (configure.ac): Set C witness.
6546         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
6547
6548         getcwd: tweak comments
6549         * m4/getcwd-abort-bug.m4: Fix comments.
6550         * m4/getcwd-path-max.m4: Likewise.
6551         * m4/getcwd.m4: Likewise.
6552
6553 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
6554         and Eric Blake  <eblake@redhat.com>
6555
6556         mkstemp: replace if system version uses wrong permissions
6557         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
6558         read/write mode bits set in file created by mkstemp.
6559         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
6560
6561 2011-04-27  Eric Blake  <eblake@redhat.com>
6562
6563         passfd: avoid compiler warning
6564         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
6565         Reported by Laine Stump.
6566
6567 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
6568
6569         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
6570         required by the NetBSD (and perhaps other 4.4BSD derived) join.
6571
6572 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
6573         and Eric Blake  <eblake@redhat.com>
6574
6575         mkstemp: mention clean-temp module
6576         * lib/mkstemp.c: Add comment.
6577         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
6578
6579 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
6580
6581         inttypes: also provide default values for 32-bit tests
6582         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
6583         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
6584
6585 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
6586
6587         strtoumax: remove dependency on strtoimax
6588         This is like the strtoull change of yesterday.
6589         * modules/strtoumax (Files): Add lib/strtoimax.c.
6590         (Depends-on): Remove strtoimax and add verify.
6591
6592         inttypes-incomplete: new module
6593         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
6594         all but the PRI* and SCN* parts of gl_INTTYPES_H.
6595         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
6596         of gl_INTTYPES_H.
6597         (gl_INTTYPES_H): Rewrite in terms of these new macros.
6598         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
6599         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
6600         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
6601         * modules/strtoumax, modules/xstrtol (Depends-on):
6602         Depend on inttypes-incomplete, not inttypes.
6603         * modules/inttypes-incomplete: New module, containing the contents
6604         of the old modules/inttypes module, except that the Files: section
6605         omits m4/inttypes-pri.m4, and the configure.ac section invokes
6606         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
6607         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
6608         (Depends-on): Depend only on inttypes-incomplete.
6609         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
6610
6611         inttypes: omit now-redundant strtoimax and strtoumax work
6612         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
6613         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
6614
6615         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
6616         This supports apps that need pointers to strtoimax and strtoumax,
6617         and ports to HP-UX 11.00 64.bit, which has macros that expand to
6618         nonexistent functions.  See
6619         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
6620         et seq.
6621         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
6622         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
6623         a macro.
6624         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
6625
6626 2011-04-25  Simon Josefsson  <simon@josefsson.org>
6627
6628         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
6629
6630 2011-04-25  Bruno Haible  <bruno@clisp.org>
6631
6632         strtol, strtoul: Mark modules as obsolete.
6633         * modules/strtol (Status, Notice): New sections.
6634         * modules/strtoul (Status, Notice): New sections.
6635
6636 2011-04-25  Bruno Haible  <bruno@clisp.org>
6637
6638         strtod: Remove check for strtod, unless supporting old platforms.
6639         * modules/strtod-obsolete: New file.
6640         * m4/strtod-obsolete.m4: New file.
6641         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
6642         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
6643         * modules/strtod (Depends-on): Add strtod-obsolete.
6644         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
6645
6646 2011-04-25  Bruno Haible  <bruno@clisp.org>
6647
6648         strcase: Make module obsolete.
6649         * modules/strcase (Status, Notice): New sections.
6650
6651 2011-04-25  Bruno Haible  <bruno@clisp.org>
6652
6653         dup2: Remove check for dup2, unless supporting old obsolete platforms.
6654         * modules/dup2-obsolete: New file.
6655         * m4/dup2-obsolete.m4: New file.
6656         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
6657         gl_FUNC_DUP2_OBSOLETE is not also defined.
6658         * modules/dup2 (Depends-on): Add dup2-obsolete.
6659         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
6660
6661 2011-04-25  Bruno Haible  <bruno@clisp.org>
6662
6663         strnlen: Avoid memchr related link error on old obsolete platforms.
6664         * modules/memchr-obsolete: New file.
6665         * m4/memchr-obsolete.m4: New file.
6666         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
6667         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
6668         * modules/memchr (Depends-on): Add memchr-obsolete.
6669         * modules/strnlen (Depends-on): Likewise.
6670         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
6671
6672 2011-04-25  Jim Meyering  <meyering@redhat.com>
6673
6674         maint.mk: makefile_at_at_check extend and clean up
6675         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
6676         in addition to */Makefile.am.
6677         Exempt legitimate uses of @VAR@ notation, e.g.,
6678         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
6679         Remove obsolete coreutils-specific comment.
6680         Prompted by discussion here:
6681         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
6682
6683 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
6684
6685         strtoul: remove dependency on strtol
6686         This is so that 'configure' need not check for strtol merely because
6687         the application needs strtoul.
6688         * modules/strtoul (Files): Add lib/strtol.c.
6689         (Depends-on): Remove strtol.
6690
6691         strtoull: remove dependency on strtoul
6692         This is like the strtoll change.
6693         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
6694         (Depends-on): Remove strtoul.
6695
6696         strtoll: remove dependency on strtol
6697         This is so that 'configure' need not check for strtol merely because
6698         the application needs strtoll.
6699         * modules/strtoll (Files): Add lib/strtol.c.
6700         (Depends-on): Remove strtol.
6701
6702 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
6703
6704         inttypes: Move some configure check to module 'imaxdiv'.
6705         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
6706         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
6707         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
6708
6709 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
6710
6711         inttypes: Move some configure check to module 'imaxabs'.
6712         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
6713         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
6714         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
6715
6716 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
6717
6718         inttypes: Remove configure tests that are not needed since 2009-12-31.
6719         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
6720         gl_cv_header_working_inttypes_h.
6721
6722 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
6723
6724         * modules/strnlen (Depends-on): Remove memchr.
6725         The strnlen implementation doesn't need the memchr module's fixes; see
6726         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
6727
6728         strtol: remove dependency on wchar
6729         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
6730         * modules/strtol (Depends-on): Remove wchar.
6731
6732 2011-04-21  Eric Blake  <eblake@redhat.com>
6733
6734         passfd: fix test regression on Linux
6735         * modules/passfd-tests (configure.ac): Correct socketpair check.
6736
6737         passfd: speed up configure and drop unused code
6738         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
6739         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
6740         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
6741         Instead of probing at configure for unix_scm_rights_bsd44_way,
6742         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
6743         check to a struct member probe.
6744         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
6745         (sendfd, recvfd): Update preprocessor checks.
6746         * modules/passfd (Files): Reflect rename, and drop unused file.
6747         (Depends-on): Drop unused dependency.
6748
6749         passfd: allow compilation on mingw
6750         * modules/sys_socket (Depends-on): Add sys_uio.
6751         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
6752         iovec and a minimal struct msghdr.
6753         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
6754         * tests/test-sys_socket.c (main): Enhance test.
6755         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
6756         guaranteed to provide what we need.
6757         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
6758         * modules/passfd-tests (Depends-on): Add sys_wait.
6759         * tests/test-passfd.c (main): Skip test on mingw, for now.
6760         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
6761         partial 'struct msghdr' implementation.
6762
6763         sys_uio: new module
6764         * modules/sys_uio: New module.
6765         * modules/sys_uio-tests: Likewise.
6766         * lib/sys_uio.in.h: New file.
6767         * m4/sys_uio_h.m4: Likewise.
6768         * tests/test-sys_uio.c: Likewise.
6769         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
6770         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
6771
6772 2011-04-20  Jim Meyering  <meyering@redhat.com>
6773
6774         useless-if-before-free: avoid false-positive
6775         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
6776         disjunct so that it too requires a terminating ";".  Without that,
6777         this script would identify as useless one statement from gcc that
6778         was not:
6779           if (aligned_ptr)
6780             free (((void **) aligned_ptr) [-1]);
6781
6782 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
6783
6784         doc: update users.txt.
6785         * users.txt: Add barcode.
6786
6787 2011-04-19  Bruno Haible  <bruno@clisp.org>
6788
6789         ioctl: Remove link dependency on native Windows.
6790         * lib/fd-hook.h: Renamed from lib/close-hook.h.
6791         (gl_close_fn, gl_ioctl_fn): New types.
6792         (struct fd_hook): Renamed from struct close_hook. Change type of
6793         private_close_fn field. Add private_ioctl_fn field.
6794         (close_hook_fn): Add parameter for primary close method.
6795         (execute_close_hooks, execute_all_close_hooks): Likewise.
6796         (ioctl_hook_fn): New type.
6797         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
6798         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
6799         argument.
6800         (unregister_fd_hook): Renamed from unregister_close_hook.
6801         * lib/fd-hook.c: Renamed from lib/close-hook.c.
6802         Don't include <unistd.h>.
6803         (close): Remove undef.
6804         (anchor): Update.
6805         (execute_close_hooks): Add argument for primary close method.
6806         (execute_all_close_hooks): Likewise.
6807         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
6808         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
6809         argument. Allow each argument to be NULL.
6810         (unregister_fd_hook): Renamed from unregister_close_hook.
6811         * lib/close.c (rpl_close): Pass 'close' function pointer to
6812         execute_all_close_hooks.
6813         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
6814         (primary_ioctl): New function.
6815         (ioctl): Don't call ioctlsocket here. Instead, call
6816         execute_all_ioctl_hooks.
6817         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
6818         close method.
6819         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
6820         (fd_sockets_hook): Renamed from close_sockets_hook.
6821         (gl_sockets_startup, gl_sockets_cleanup): Update.
6822         * modules/fd-hook: Renamed from modules/close-hook. Update.
6823         * modules/close (Depends-on): Add fd-hook, remove close-hook.
6824         * modules/sockets (Depends-on): Likewise.
6825         * modules/ioctl (Depends-on): Add fd-hook.
6826         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
6827         GNULIB_SOCKET.
6828
6829 2011-04-19  Bruno Haible  <bruno@clisp.org>
6830
6831         Move the support of O_NONBLOCK in open() to the 'open' module.
6832         * modules/nonblocking (Depends-on): Remove 'open'.
6833         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
6834         gl_cv_have_open_O_NONBLOCK.
6835         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
6836         O_NONBLOCK support.
6837         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
6838
6839 2011-04-17  Bruno Haible  <bruno@clisp.org>
6840
6841         pipe2: Simplify code.
6842         * lib/pipe2.c (pipe2): Reduce code duplication.
6843
6844 2011-04-17  Bruno Haible  <bruno@clisp.org>
6845
6846         nonblocking: Add comment.
6847         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
6848
6849 2011-04-17  Bruno Haible  <bruno@clisp.org>
6850
6851         nonblocking: Add tests for sockets.
6852         * tests/test-nonblocking-socket.sh: New file.
6853         * tests/test-nonblocking-socket-main.c: New file.
6854         * tests/test-nonblocking-socket-child.c: New file.
6855         * tests/test-nonblocking-socket.h: New file.
6856         * tests/socket-server.h: New file.
6857         * tests/socket-client.h: New file.
6858         * modules/nonblocking-socket-tests: New file.
6859         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
6860
6861 2011-04-17  Bruno Haible  <bruno@clisp.org>
6862
6863         nonblocking: Add tests for pipes.
6864         * tests/test-nonblocking-pipe.sh: New file.
6865         * tests/test-nonblocking-pipe-main.c: New file.
6866         * tests/test-nonblocking-pipe-child.c: New file.
6867         * tests/test-nonblocking-pipe.h: New file.
6868         * tests/test-nonblocking-writer.h: New file.
6869         * tests/test-nonblocking-reader.h: New file.
6870         * tests/test-nonblocking-misc.h: New file.
6871         * modules/nonblocking-pipe-tests: New file.
6872         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
6873
6874 2011-04-16  Bruno Haible  <bruno@clisp.org>
6875
6876         gettext: Clarify the needed programmer actions.
6877         * modules/gettext (Notice): New field.
6878         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
6879
6880 2011-04-16  Bruno Haible  <bruno@clisp.org>
6881
6882         strchrnul: Tweak last commit.
6883         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
6884         bug.
6885         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
6886         as in _GL_FUNCDECL_SYS.
6887         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
6888         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
6889
6890 2011-04-15  Eric Blake  <eblake@redhat.com>
6891
6892         strchrnul: work around cygwin bug
6893         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
6894         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
6895         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
6896         * modules/string (Makefile.am): Substitute it.
6897         * lib/string.in.h (strchrnul): Use it.
6898
6899 2011-04-15  Bruno Haible  <bruno@clisp.org>
6900
6901         Don't require lib/stdio-write.c when only module 'stdio' is used.
6902         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
6903         invocation.
6904         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
6905
6906 2011-04-14  Bruno Haible  <bruno@clisp.org>
6907
6908         Support non-blocking pipe I/O in read() on native Windows.
6909         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
6910         (read): New declaration.
6911         * lib/read.c: New file.
6912         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
6913         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
6914         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
6915         vscanf): New declarations.
6916         * lib/stdio-read.c: New file.
6917         * m4/read.m4: New file.
6918         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
6919         REPLACE_READ.
6920         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
6921         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
6922         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
6923         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
6924         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
6925         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
6926         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
6927         * modules/read: New file.
6928         * modules/nonblocking (Files): Add lib/stdio-read.c.
6929         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
6930         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
6931         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
6932         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
6933         * modules/pread (Depends-on): Add read.
6934         * modules/safe-read (Depends-on): Likewise.
6935         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
6936         gets, scanf, vfscanf, vscanf): Verify signatures.
6937         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
6938         problem with non-blocking pipes.
6939         * doc/posix-functions/fgetc.texi: Likewise.
6940         * doc/posix-functions/fgets.texi: Likewise.
6941         * doc/posix-functions/fread.texi: Likewise.
6942         * doc/posix-functions/fscanf.texi: Likewise.
6943         * doc/posix-functions/getc.texi: Likewise.
6944         * doc/posix-functions/getchar.texi: Likewise.
6945         * doc/posix-functions/gets.texi: Likewise.
6946         * doc/posix-functions/scanf.texi: Likewise.
6947         * doc/posix-functions/vfscanf.texi: Likewise.
6948         * doc/posix-functions/vscanf.texi: Likewise.
6949
6950 2011-04-14  Bruno Haible  <bruno@clisp.org>
6951
6952         Support non-blocking pipe I/O in write() on native Windows.
6953         * lib/write.c (rpl_write): Split a write request that failed merely
6954         because the byte count was larger than the pipe buffer's size.
6955         * doc/posix-functions/write.texi: Mention the problem with large byte
6956         counts.
6957
6958 2011-04-14  Bruno Haible  <bruno@clisp.org>
6959
6960         wchar: Ensure that wchar_t gets defined on uClibc.
6961         * lib/wchar.in.h: On uClibc, include <stddef.h>.
6962         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
6963
6964 2011-04-13  Bruno Haible  <bruno@clisp.org>
6965
6966         safe-write, full-read: Avoid unnecessary compilation units.
6967         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
6968         (Depends-on): Remove safe-read. Add ssize_t.
6969         * modules/full-read (Files): Add lib/full-write.c.
6970         (Depends-on): Add full-write.
6971
6972 2011-04-13  Bruno Haible  <bruno@clisp.org>
6973
6974         Support non-blocking pipe I/O and SIGPIPE in pwrite().
6975         * modules/pwrite (Depends-on): Add 'write'.
6976
6977 2011-04-13  Bruno Haible  <bruno@clisp.org>
6978
6979         Support non-blocking pipe I/O in write() on native Windows.
6980         * lib/unistd.in.h (write): Enable replacement also if
6981         GNULIB_UNISTD_H_NONBLOCKING is 1.
6982         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
6983         (rpl_write): When failing to write on a non-blocking pipe, change
6984         errno from ENOSPC to EAGAIN.
6985         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
6986         putchar, puts, vfprintf, vprintf): Enable replacement also if
6987         GNULIB_STDIO_H_NONBLOCKING is 1.
6988         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
6989         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
6990         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
6991         CALL_WITH_SIGPIPE_EMULATION.
6992         (CALL_WITH_SIGPIPE_EMULATION): Use them.
6993         * m4/nonblocking.m4: New file.
6994         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
6995         for non-blocking I/O support.
6996         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
6997         GNULIB_UNISTD_H_NONBLOCKING.
6998         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
6999         required for non-blocking I/O support.
7000         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
7001         * modules/nonblocking (Files): Add m4/nonblocking.m4,
7002         lib/stdio-write.c, m4/asm-underscore.m4.
7003         (Depends-on): Add stdio, unistd.
7004         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
7005         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
7006         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
7007         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
7008         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
7009         problem with non-blocking pipes.
7010         * doc/posix-functions/fputc.texi: Likewise.
7011         * doc/posix-functions/fputs.texi: Likewise.
7012         * doc/posix-functions/fwrite.texi: Likewise.
7013         * doc/posix-functions/printf.texi: Likewise.
7014         * doc/posix-functions/putc.texi: Likewise.
7015         * doc/posix-functions/putchar.texi: Likewise.
7016         * doc/posix-functions/puts.texi: Likewise.
7017         * doc/posix-functions/vfprintf.texi: Likewise.
7018         * doc/posix-functions/vprintf.texi: Likewise.
7019         * doc/posix-functions/write.texi: Likewise.
7020
7021 2011-04-10  Jim Meyering  <meyering@redhat.com>
7022
7023         maint.mk: prohibit doubled words
7024         Detect them also when they're separated by a newline.
7025         There are 3 ways to customize it:
7026           - disable the test on a per file basis, as usual with rules using
7027             $(VC_LIST_EXCEPT)
7028           - replace the default doubled-word-selecting regexp (affects all files)
7029           - ignore a particular file-vs-doubled-word match
7030         I nearly used that last one to ignore the "is is" match in
7031         coreutils' NEWS file, since the text was "ls -is is ..."
7032         To do that, I would have added this line to cfg.mk:
7033           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
7034         but it would have ignored any "is is" match in NEWS.
7035         Low probability, but still...
7036         Instead, I changed the text, slightly:
7037           -  ls -is is now consistent with ls -lis in ignoring values returned
7038           +  "ls -is" is now consistent with ls -lis in ignoring values returned
7039         * top/maint.mk (prohibit_double_word_RE_): Provide default.
7040         (prohibit_doubled_word_): Define.
7041         (sc_prohibit_doubled_word): New rule.
7042         (sc_prohibit_the_the): Remove.  Subsumed by the above.
7043
7044 2011-04-10  Jim Meyering  <meyering@redhat.com>
7045
7046         maint: fix doubled-word typo in comment
7047         * m4/gethostname.m4: s/is is/it is/
7048         * m4/getdomainname.m4: Likewise.
7049
7050 2011-04-10  Jim Meyering  <meyering@redhat.com>
7051
7052         maint: remove doubled word: s/it it/it/
7053         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
7054
7055 2011-04-10  Jim Meyering  <meyering@redhat.com>
7056
7057         maint.mk: remove useless semicolon and backslash
7058         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
7059         semicolon and backslash.
7060
7061 2011-04-10  Bruno Haible  <bruno@clisp.org>
7062
7063         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
7064         * modules/stdint-tests (Depends-on): Add wchar.
7065
7066 2011-04-10  Jim Meyering  <meyering@redhat.com>
7067
7068         maint: remove doubled words in comments, e.g., s/a a/a/
7069         * lib/strptime.c (day_of_the_week): s/the the/the/
7070         * tests/test-chown.h (test_chown): s/a a/a/
7071
7072         test-chown.h: correct a cast
7073         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
7074         when the destination is a stat.st_gid.
7075
7076 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
7077
7078         getaddrinfo: Fix test for sa_len member.
7079         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
7080         include <sys/types.h> before <sys/socket.h>.
7081
7082 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
7083
7084         maint: change "can not" to "cannot"
7085         * doc/posix-functions/iconv.texi (iconv): This one crossed line
7086         boundaries.
7087
7088 2011-04-09  Jim Meyering  <meyering@redhat.com>
7089
7090         maint: change "a a" to "a"
7091         * tests/test-lchown.h (test_lchown): s/a a/a/
7092
7093         maint.mk: prohibit \<the the\>
7094         * top/maint.mk (sc_prohibit_the_the): New rule.
7095
7096         maint: fix "the the" in comment
7097         * lib/count-one-bits.h: s/the the/the/
7098
7099         maint: change "can not" to "cannot"
7100         But do not change the occurrences in maintain.texi or in
7101         build-aux/po/Makefile.in.in, which I presume comes from gettext.
7102         * doc/gnulib-tool.texi: s/can not/cannot/
7103         * doc/posix-functions/accept.texi (accept): Likewise.
7104         * doc/posix-functions/socket.texi (socket): Likewise.
7105         * lib/mbrtowc.c: Likewise.
7106
7107         maint.mk: prohibit use of "can not"
7108         * top/maint.mk (sc_prohibit_can_not): New rule.
7109         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
7110
7111 2011-04-09  Bruno Haible  <bruno@clisp.org>
7112
7113         careadlinkat: Guard against misuse of careadlinkatcwd.
7114         * lib/careadlinkat.c: Include <stdlib.h>.
7115         (careadlinkatcwd): Check that the fd argument is as expected.
7116
7117 2011-04-09  Bruno Haible  <bruno@clisp.org>
7118
7119         careadlinkat: Use common coding style.
7120         * lib/careadlinkat.c: Move gnulib includes after system includes.
7121
7122 2011-04-09  Bruno Haible  <bruno@clisp.org>
7123
7124         careadlinkat: Clarify specification.
7125         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
7126         (careadlinkatcwd): Add comment.
7127         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
7128
7129 2011-04-09  Bruno Haible  <bruno@clisp.org>
7130
7131         areadlinkat: Avoid link error on many platforms.
7132         * modules/areadlinkat (Depends-on): Add areadlink.
7133
7134 2011-04-09  Bruno Haible  <bruno@clisp.org>
7135
7136         allocator, careadlinkat: Fix double-inclusion guard.
7137         * lib/allocator.h: Fix double-inclusion guard.
7138         * lib/careadlinkat.h: Likewise.
7139
7140 2011-04-09  Bruno Haible  <bruno@clisp.org>
7141
7142         relocatable-prog-wrapper: Update after module 'areadlink' changed.
7143         * lib/relocwrapper.c: Update dependencies hierarchy.
7144         * build-aux/install-reloc: Update list of files to be compiled.
7145         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
7146         lib/allocator.[hc].
7147
7148 2011-04-08  Eric Blake  <eblake@redhat.com>
7149
7150         strftime: silence gnulib-tool warning
7151         * modules/strftime-tests (Depends-on): Drop automatic dependency.
7152
7153 2011-04-08  Bruno Haible  <bruno@clisp.org>
7154
7155         verify: Fix syntax error with GCC 4.6 in C++ mode.
7156         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
7157         (HAVE_STATIC_ASSERT): New macro.
7158         (verify_true, verify): Use 'static_assert' if it is supported and
7159         '_Static_assert' is not supported.
7160
7161 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
7162
7163         allocator: New module.
7164         * modules/allocator, lib/allocator.c: New files.
7165         * lib/allocator.h (stdlib_allocator): New decl.
7166         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
7167         Remove.  Do not include <stdlib.h>.
7168         (careadlinkat): Use stdlib_allocator instead of rolling our own.
7169         * modules/careadlinkat (Files): Remove lib/allocator.h.
7170         (Depends-on): Add allocator.
7171
7172         stdlib: let modules use system malloc, realloc
7173         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
7174         if !_GL_USE_STDLIB_ALLOC.
7175         (malloc, realloc): Limit this change to a smaller scope.
7176
7177         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
7178         (malloc, realloc): Don't #undef; no longer needed.
7179         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
7180         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
7181         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
7182         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
7183         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
7184         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
7185         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
7186         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
7187
7188         careadlinkat: rename members to avoid problem
7189         * lib/allocator.h (struct allocator): Rename members from
7190         malloc/realloc to allocate/reallocate, to avoid problems if malloc
7191         and realloc are #define'd.  Reported by Eric Blake in
7192         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
7193         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
7194
7195 2011-04-08  Eric Blake  <eblake@redhat.com>
7196
7197         nonblocking: reduce dependency
7198         * tests/test-nonblocking.c: Only test sockets when in use.
7199         * modules/nonblocking-tests (Depends-on): Drop socket.
7200         (Makefile.am): Link even if sockets are not present.
7201         * modules/pipe2-tests (Makefile.am): Likewise.
7202         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
7203
7204         pipe2: fix O_NONBLOCK support on mingw
7205         * modules/pipe2 (Depends-on): Add nonblocking.
7206         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
7207         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
7208         * tests/test-nonblocking.c (main): Likewise.
7209         * modules/pipe2-tests (Makefile.am): Avoid link failure.
7210
7211         fcntl-h: fix O_ACCMODE on cygwin
7212         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
7213         * lib/fcntl.in.h (O_ACCMODE): Fix it.
7214
7215         pipe-filter: drop O_NONBLOCK workarounds
7216         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
7217         * modules/pipe-filter-ii (Depends-on): Likewise.
7218         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
7219
7220         nonblocking: provide O_NONBLOCK for mingw
7221         * modules/nonblocking (Depends-on): Add open.
7222         (configure.ac): Set new witness macro.
7223         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
7224         * modules/fcntl-h (Makefile.am): Substitute it.
7225         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
7226         nonblocking module is in use.
7227         * lib/nonblocking.c: Adjust portability test.
7228         * lib/open.c (open): Don't let native open see gnulib flag.
7229         * tests/test-fcntl-h.c (main): Enhance test.
7230         * tests/test-open.h (test_open): Likewise.
7231         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
7232
7233         careadlinkat: fix compilation error on mingw
7234         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
7235         within struct allocator.
7236
7237 2011-04-06  Eric Blake  <eblake@redhat.com>
7238
7239         binary-io: relicense under LGPLv2+
7240         * modules/binary-io (License): Relax to LGPLv2+.
7241         Requested for libvirt, and required by pipe2.
7242
7243 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
7244
7245         verify: use _Static_assert if available
7246         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
7247         (verify_true, verify): Use it if available.  This generates better
7248         diagnostics with GCC 4.6.0 and later.
7249
7250 2011-04-05  Bruno Haible  <bruno@clisp.org>
7251
7252         Remove leftover generated .h files after config.status changed.
7253
7254         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
7255         GL_GENERATE_ALLOCA_H.
7256         * modules/alloca-opt (Makefile.am): Remove alloca.h if
7257         GL_GENERATE_ALLOCA_H evaluates to false.
7258
7259         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
7260         GL_GENERATE_ARGZ_H.
7261         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
7262         evaluates to false.
7263
7264         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
7265         GL_GENERATE_BYTESWAP_H.
7266         * modules/byteswap (Makefile.am): Remove byteswap.h if
7267         GL_GENERATE_BYTESWAP_H evaluates to false.
7268
7269         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
7270         GL_GENERATE_ERRNO_H.
7271         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
7272         evaluates to false.
7273
7274         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
7275         GL_GENERATE_FLOAT_H.
7276         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
7277         evaluates to false.
7278
7279         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
7280         GL_GENERATE_FNMATCH_H.
7281         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
7282         GL_GENERATE_FNMATCH_H evaluates to false.
7283
7284         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
7285         GL_GENERATE_GLOB_H.
7286         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
7287         evaluates to false.
7288
7289         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
7290         automake conditional GL_GENERATE_ICONV_H.
7291         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
7292         evaluates to false.
7293
7294         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
7295         GL_GENERATE_NETINET_IN_H.
7296         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
7297         GL_GENERATE_NETINET_IN_H evaluates to false.
7298
7299         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
7300         conditional GL_GENERATE_PTHREAD_H.
7301         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
7302         * modules/pthread (Makefile.am): Remove pthread.h if
7303         GL_GENERATE_PTHREAD_H evaluates to false.
7304
7305         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
7306         GL_GENERATE_SCHED_H.
7307         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
7308         evaluates to false.
7309
7310         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
7311         conditional GL_GENERATE_SELINUX_CONTEXT_H.
7312         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
7313         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
7314
7315         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
7316         GL_GENERATE_STDARG_H.
7317         * modules/stdarg (Makefile.am): Remove stdarg.h if
7318         GL_GENERATE_STDARG_H evaluates to false.
7319
7320         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
7321         GL_GENERATE_STDBOOL_H.
7322         * modules/stdbool (Makefile.am): Remove stdbool.h if
7323         GL_GENERATE_STDBOOL_H evaluates to false.
7324
7325         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
7326         conditional GL_GENERATE_STDDEF_H.
7327         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
7328         * modules/stddef (Makefile.am): Remove stddef.h if
7329         GL_GENERATE_STDDEF_H evaluates to false.
7330
7331         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
7332         GL_GENERATE_STDINT_H.
7333         * modules/stdint (Makefile.am): Remove stdint.h if
7334         GL_GENERATE_STDINT_H evaluates to false.
7335
7336         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
7337         GL_GENERATE_SYSEXITS_H.
7338         * modules/sysexits (Makefile.am): Remove sysexits.h if
7339         GL_GENERATE_SYSEXITS_H evaluates to false.
7340
7341         Reported by Karl Berry and Ralf Wildenhues.
7342
7343 2011-04-05  Bruno Haible  <bruno@clisp.org>
7344
7345         Ensure to rebuild generated .h files when config.status has changed.
7346         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
7347         config.status.
7348         * modules/ctype (Makefile.am): Likewise.
7349         * modules/dirent (Makefile.am): Likewise.
7350         * modules/errno (Makefile.am): Likewise.
7351         * modules/fcntl-h (Makefile.am): Likewise.
7352         * modules/float (Makefile.am): Likewise.
7353         * modules/getopt-posix (Makefile.am): Likewise.
7354         * modules/glob (Makefile.am): Likewise.
7355         * modules/iconv-h (Makefile.am): Likewise.
7356         * modules/inttypes (Makefile.am): Likewise.
7357         * modules/langinfo (Makefile.am): Likewise.
7358         * modules/locale (Makefile.am): Likewise.
7359         * modules/math (Makefile.am): Likewise.
7360         * modules/netdb (Makefile.am): Likewise.
7361         * modules/netinet_in (Makefile.am): Likewise.
7362         * modules/poll-h (Makefile.am): Likewise.
7363         * modules/pthread (Makefile.am): Likewise.
7364         * modules/pty (Makefile.am): Likewise.
7365         * modules/sched (Makefile.am): Likewise.
7366         * modules/search (Makefile.am): Likewise.
7367         * modules/selinux-h (Makefile.am): Likewise.
7368         * modules/signal (Makefile.am): Likewise.
7369         * modules/spawn (Makefile.am): Likewise.
7370         * modules/stdarg (Makefile.am): Likewise.
7371         * modules/stdbool (Makefile.am): Likewise.
7372         * modules/stddef (Makefile.am): Likewise.
7373         * modules/stdint (Makefile.am): Likewise.
7374         * modules/stdio (Makefile.am): Likewise.
7375         * modules/stdlib (Makefile.am): Likewise.
7376         * modules/string (Makefile.am): Likewise.
7377         * modules/strings (Makefile.am): Likewise.
7378         * modules/sys_file (Makefile.am): Likewise.
7379         * modules/sys_ioctl (Makefile.am): Likewise.
7380         * modules/sys_select (Makefile.am): Likewise.
7381         * modules/sys_socket (Makefile.am): Likewise.
7382         * modules/sys_stat (Makefile.am): Likewise.
7383         * modules/sys_time (Makefile.am): Likewise.
7384         * modules/sys_times (Makefile.am): Likewise.
7385         * modules/sys_utsname (Makefile.am): Likewise.
7386         * modules/sys_wait (Makefile.am): Likewise.
7387         * modules/sysexits (Makefile.am): Likewise.
7388         * modules/termios (Makefile.am): Likewise.
7389         * modules/time (Makefile.am): Likewise.
7390         * modules/unistd (Makefile.am): Likewise.
7391         * modules/wchar (Makefile.am): Likewise.
7392         * modules/wctype-h (Makefile.am): Likewise.
7393         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
7394
7395 2011-04-05  Bruno Haible  <bruno@clisp.org>
7396
7397         pipe2: Relicense under LGPLv2+.
7398         * modules/pipe2 (License): Change to LGPLv2+.
7399         Requested by Eric Blake, for libvirt.
7400
7401 2011-04-05  Bruce Korb  <bkorb@gnu.org>
7402
7403         bootstrap: compute gnulib_extra_files after updating build_aux
7404         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
7405         change build_aux or also supply gnulib_extra_files.  Handle correctly.
7406
7407 2011-04-05  Eric Blake  <eblake@redhat.com>
7408
7409         bootstrap: preserve git whitelist item sorting
7410         * build-aux/bootstrap (sort_patterns): New function.
7411         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
7412
7413 2011-04-05  Simon Josefsson  <simon@josefsson.org>
7414
7415         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
7416         sc_space_tab check.
7417
7418 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
7419
7420         areadlink, areadlinkat: rewrite in terms of careadlinkat
7421         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
7422         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
7423         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
7424         (malloc, realloc): Remove #undefs.
7425         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
7426         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
7427         readlink, ssize_t, stdint, unistd.
7428         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
7429         areadlink, stdint.
7430
7431         careadlinkat: new module
7432         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
7433         * modules/careadlinkat: New files, written by me with
7434         a review and feedback from Ben Pfaff in
7435         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
7436
7437 2011-04-01  Bruno Haible  <bruno@clisp.org>
7438
7439         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
7440         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
7441         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
7442         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
7443         Reported by Bruce Korb <bruce.korb@gmail.com>.
7444
7445 2011-04-01  Bruno Haible  <bruno@clisp.org>
7446
7447         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
7448         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
7449         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
7450         * modules/wcpcpy (Depends-on): Add extensions.
7451         * modules/wcpncpy (Depends-on): Likewise.
7452         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
7453         systems.
7454         * doc/posix-functions/wcpncpy.texi: Likewise.
7455         * doc/posix-functions/wcwidth.texi: Likewise.
7456
7457 2011-03-31  Eric Blake  <eblake@redhat.com>
7458
7459         nonblocking: fix mingw test failures
7460         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
7461         non-blocking flag on regular file.
7462         (get_nonblocking_flag): Set errno on invalid fd.
7463         * tests/test-nonblocking.c (main): Avoid test failure on
7464         directories if fchdir is not active.
7465         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
7466
7467 2011-03-31  Bruno Haible  <bruno@clisp.org>
7468
7469         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
7470         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
7471         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
7472         Reported by Simon Josefsson <simon@josefsson.org>.
7473
7474 2011-03-31  Bruno Haible  <bruno@clisp.org>
7475         and Eric Blake  <eblake@redhat.com>
7476
7477         nonblocking: new module
7478         * modules/nonblocking: New module.
7479         * modules/nonblocking-tests: Likewise.
7480         * lib/nonblocking.h: New file.
7481         * lib/nonblocking.c: Likewise.
7482         * tests/test-nonblocking.c: New test.
7483         * lib/ioctl.c (ioctl) [mingw]: Update comment.
7484
7485 2011-03-30  Bruno Haible  <bruno@clisp.org>
7486
7487         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
7488         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
7489         instead of 'printf' format for GCC >= 4.4.
7490         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
7491         (fprintf, printf, vfprintf, vprintf): Declare with
7492         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
7493         the system's vfprintf() function.
7494         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
7495
7496 2011-03-30  Eric Blake  <eblake@redhat.com>
7497
7498         passfd: fix scoping bug
7499         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
7500         before sendmsg/recvmsg.
7501
7502         passfd: standardize coding conventions
7503         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
7504         can be learned at compile time.
7505         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
7506         ifdefs.
7507         (sendfd, recvfd): Follow gnulib code conventions.
7508
7509         passfd: fix incorrect sendmsg arguments
7510         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
7511         incorrect msg_controllen value.
7512         * modules/passfd-tests (Depends-on): Check for alarm.
7513         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
7514         Reported by Bastien ROUCARIES.
7515
7516 2011-03-30  Bruno Haible  <bruno@clisp.org>
7517
7518         c-strcasestr: Relicense under LGPLv2+.
7519         * modules/c-strcasestr (License): Change to LGPLv2+.
7520         Requested by Eric Blake, for libvirt.
7521
7522 2011-03-30  Simon Josefsson  <simon@josefsson.org>
7523
7524         * users.txt: Add libidn2.  Fix libtasn1 link.
7525
7526 2011-03-30  Jim Meyering  <meyering@redhat.com>
7527
7528         tests: readlink* ("",... fails with EINVAL on newer kernels
7529         readlink and readlinkat have typically failed with ENOENT for
7530         the invalid, empty file name,  "".  However, with the advent
7531         of linux-2.6.39, they fail with EINVAL.
7532         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
7533         when operating on the empty file name.
7534         * tests/test-readlink.h (test_readlink): Likewise.
7535
7536 2011-03-29  Bruno Haible  <bruno@clisp.org>
7537
7538         Relicense some modules under LGPLv2+, for libidn2.
7539         * modules/array-mergesort (License): Change to LGPLv2+.
7540         * modules/c-strcaseeq (License): Likewise.
7541         * modules/striconveh (License): Likewise.
7542         * modules/striconveha (License): Likewise.
7543         * modules/uniconv/base (License): Likewise.
7544         * modules/uniconv/u8-conv-from-enc (License): Likewise.
7545         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
7546         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
7547         * modules/unictype/base (License): Likewise.
7548         * modules/unictype/bidiclass-of (License): Likewise.
7549         * modules/unictype/category-M (License): Likewise.
7550         * modules/unictype/category-none (License): Likewise.
7551         * modules/unictype/category-of (License): Likewise.
7552         * modules/unictype/category-test (License): Likewise.
7553         * modules/unictype/category-test-withtable (License): Likewise.
7554         * modules/unictype/combining-class (License): Likewise.
7555         * modules/unictype/joiningtype-of (License): Likewise.
7556         * modules/unictype/scripts (License): Likewise.
7557         * modules/uninorm/base (License): Likewise.
7558         * modules/uninorm/canonical-decomposition (License): Likewise.
7559         * modules/uninorm/composition (License): Likewise.
7560         * modules/uninorm/decompose-internal (License): Likewise.
7561         * modules/uninorm/decomposition-table (License): Likewise.
7562         * modules/uninorm/nfc (License): Likewise.
7563         * modules/uninorm/nfd (License): Likewise.
7564         * modules/uninorm/u32-normalize (License): Likewise.
7565         * modules/unistr/base (License): Likewise.
7566         * modules/unistr/u32-cpy (License): Likewise.
7567         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
7568         * modules/unistr/u32-to-u8 (License): Likewise.
7569         * modules/unistr/u32-uctomb (License): Likewise.
7570         * modules/unistr/u8-check (License): Likewise.
7571         * modules/unistr/u8-mblen (License): Likewise.
7572         * modules/unistr/u8-mbtouc (License): Likewise.
7573         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
7574         * modules/unistr/u8-mbtoucr (License): Likewise.
7575         * modules/unistr/u8-prev (License): Likewise.
7576         * modules/unistr/u8-strlen (License): Likewise.
7577         * modules/unistr/u8-to-u32 (License): Likewise.
7578         * modules/unistr/u8-uctomb (License): Likewise.
7579         * modules/unitypes (License): Likewise.
7580         Requested by Simon Josefsson.
7581
7582 2011-03-29  Simon Josefsson  <simon@josefsson.org>
7583
7584         lib-symbol-visibility: Add a notice.
7585         * modules/lib-symbol-visibility (Notice): New field.
7586
7587 2011-03-29  Bruno Haible  <bruno@clisp.org>
7588
7589         getaddrinfo: Doc fix.
7590         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
7591         section "fixed in Gnulib".
7592
7593 2011-03-28  Simon Josefsson  <simon@josefsson.org>
7594
7595         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
7596         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
7597
7598 2011-03-26  Bruno Haible  <bruno@clisp.org>
7599
7600         unictype/property-byname: Reduce the number of load-time relocations.
7601         * lib/unictype/pr_byname.c: Include <stdlib.h>.
7602         (UC_PROPERTY_INDEX_*): New enumeration values.
7603         (uc_property_byname): Convert an index from the lookup table to an
7604         uc_property_t.
7605         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
7606         values.
7607
7608 2011-03-26  Bruno Haible  <bruno@clisp.org>
7609
7610         unictype/property-byname: Allow omitted word separators and aliases.
7611         * lib/unictype/pr_byname.gperf: Add property names without word
7612         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
7613         for 'space'.
7614
7615 2011-03-26  Bruno Haible  <bruno@clisp.org>
7616
7617         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
7618         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
7619         also hyphens to space.
7620         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
7621         without spaces.
7622         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
7623
7624 2011-03-26  Bruno Haible  <bruno@clisp.org>
7625
7626         unictype/joiningtype-byname: Recognize long names as well.
7627         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
7628         a long name.
7629         * lib/unictype/joiningtype_byname.c: Include <string.h>,
7630         unictype/joiningtype_byname.h.
7631         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
7632         * lib/unictype/joiningtype_byname.gperf: New file.
7633         * modules/unictype/joiningtype-byname (Files): Add
7634         lib/unictype/joiningtype_byname.gperf.
7635         (Depends-on): Add gperf.
7636         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
7637         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
7638         long names.
7639
7640         Tests for module 'unictype/joiningtype-longname'.
7641         * modules/unictype/joiningtype-longname-tests: New file.
7642         * tests/unictype/test-joiningtype_longname.c: New file.
7643
7644         New module 'unictype/joiningtype-longname'.
7645         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
7646         * lib/unictype/joiningtype_longname.c: New file.
7647         * modules/unictype/joiningtype-longname: New file.
7648         * modules/unictype/joiningtype-all (Depends-on): Add
7649         unictype/joiningtype-longname.
7650
7651 2011-03-26  Bruno Haible  <bruno@clisp.org>
7652
7653         unictype/bidiclass-byname: Recognize long names as well.
7654         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
7655         name.
7656         * lib/unictype/bidi_byname.c: Include <string.h>,
7657         unictype/bidi_byname.h.
7658         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
7659         * lib/unictype/bidi_byname.gperf: New file.
7660         * modules/unictype/bidiclass-byname (Files): Add
7661         lib/unictype/bidi_byname.gperf.
7662         (Depends-on): Add gperf.
7663         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
7664         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
7665         long names.
7666
7667         Tests for module 'unictype/bidiclass-longname'.
7668         * modules/unictype/bidiclass-longname-tests: New file.
7669         * tests/unictype/test-bidi_longname.c: New file.
7670
7671         New module 'unictype/bidiclass-longname'.
7672         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
7673         * lib/unictype/bidi_longname.c: New file.
7674         * modules/unictype/bidiclass-longname: New file.
7675         * modules/unictype/bidiclass-all (Depends-on): Add
7676         unictype/bidiclass-longname.
7677
7678 2011-03-26  Bruno Haible  <bruno@clisp.org>
7679
7680         unictype/bidi*: Rename modules.
7681         * modules/unictype/bidiclass-all: Renamed from
7682         modules/unictype/bidicategory-all.
7683         * modules/unictype/bidiclass-name: Renamed from
7684         modules/unictype/bidiclass-name.
7685         (Description): Update.
7686         * modules/unictype/bidiclass-name-tests: Renamed from
7687         modules/unictype/bidicategory-name-tests.
7688         * modules/unictype/bidiclass-byname: Renamed from
7689         modules/unictype/bidicategory-byname.
7690         (Description): Update.
7691         * modules/unictype/bidiclass-byname-tests: Renamed from
7692         modules/unictype/bidicategory-byname-tests.
7693         * modules/unictype/bidiclass-of: Renamed from
7694         modules/unictype/bidicategory-of.
7695         (Description): Update.
7696         * modules/unictype/bidiclass-of-tests: Renamed from
7697         modules/unictype/bidicategory-of-tests.
7698         * modules/unictype/bidiclass-test: Renamed from
7699         modules/unictype/bidicategory-test.
7700         (Description): Update.
7701         * modules/unictype/bidiclass-test-tests: Renamed from
7702         modules/unictype/bidicategory-test-tests.
7703         * modules/unictype/bidicategory-all: New file, a simple redirection.
7704         * modules/unictype/bidicategory-name: Likewise.
7705         * modules/unictype/bidicategory-byname: Likewise.
7706         * modules/unictype/bidicategory-of: Likewise.
7707         * modules/unictype/bidicategory-test: Likewise.
7708         * modules/unictype/property-bidi-* (Dependencies): Update.
7709         * lib/unictype/bidi_*.c: Update comment.
7710
7711 2011-03-26  Bruno Haible  <bruno@clisp.org>
7712
7713         unictype/bidi*: Rename functions, part 2.
7714         * modules/unictype/bidicategory-name (configure.ac): Update required
7715         libunistring version.
7716         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
7717
7718 2011-03-25  Bruno Haible  <bruno@clisp.org>
7719
7720         New module 'unictype/combining-class-all'.
7721         * modules/unictype/combining-class-all: New file.
7722
7723         Tests for module 'unictype/combining-class-byname'.
7724         * modules/unictype/combining-class-byname-tests: New file.
7725         * tests/unictype/test-combiningclass_byname.c: New file.
7726
7727         New module 'unictype/combining-class-byname'.
7728         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
7729         * lib/unictype/combiningclass_byname.c: New file.
7730         * lib/unictype/combiningclass_byname.gperf: New file.
7731         * modules/unictype/combining-class-byname: New file.
7732
7733         Tests for module 'unictype/combining-class-longname'.
7734         * modules/unictype/combining-class-longname-tests: New file.
7735         * tests/unictype/test-combiningclass_longname.c: New file.
7736
7737         New module 'unictype/combining-class-longname'.
7738         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
7739         * lib/unictype/combiningclass_longname.c: New file.
7740         * modules/unictype/combining-class-longname: New file.
7741
7742         Tests for module 'unictype/combining-class-name'.
7743         * modules/unictype/combining-class-name-tests: New file.
7744         * tests/unictype/test-combiningclass_name.c: New file.
7745
7746         New module 'unictype/combining-class-name'.
7747         * lib/unictype.in.h (uc_combining_class_name): New declaration.
7748         * lib/unictype/combiningclass_name.c: New file.
7749         * modules/unictype/combining-class-name: New file.
7750
7751 2011-03-25  Bruno Haible  <bruno@clisp.org>
7752
7753         unictype/combining-class: Rename source files.
7754         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
7755         of unictype/combining.h.
7756         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
7757         Update.
7758         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
7759         * modules/unictype/combining-class (Description): Fix.
7760         (Files, Makefile.am): Update.
7761         * tests/unictype/test-combiningclass.c: Renamed from
7762         tests/unictype/test-combining.c.
7763         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
7764
7765 2011-03-25  Bruno Haible  <bruno@clisp.org>
7766
7767         unictype: Update list of canonical combining classes.
7768         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
7769
7770 2011-03-25  Bruno Haible  <bruno@clisp.org>
7771
7772         unictype/category-byname: Recognize long names as well.
7773         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
7774         a long name.
7775         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
7776         unictype/categ_byname.h.
7777         (UC_CATEGORY_INDEX_*): New enumeration values.
7778         (uc_general_category_byname): Use uc_general_category_lookup and
7779         convert from index to value.
7780         * lib/unictype/categ_byname.gperf: New file.
7781         * modules/unictype/category-byname (Files): Add
7782         lib/unictype/categ_byname.gperf.
7783         (Depends-on): Add gperf.
7784         (Makefile.am): Add rule for generating unictype/categ_byname.h.
7785         * tests/unictype/test-categ_byname.c (main): Test the recognition of
7786         long names.
7787
7788         Tests for module 'unictype/category-longname'.
7789         * modules/unictype/category-longname-tests: New file.
7790         * tests/unictype/test-categ_longname.c: New file.
7791
7792         New module 'unictype/category-longname'.
7793         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
7794         * lib/unictype/categ_longname.c: New file.
7795         * modules/unictype/category-longname: New file.
7796         * modules/unictype/category-all (Depends-on): Add it.
7797
7798 2011-03-25  Bruno Haible  <bruno@clisp.org>
7799
7800         Tests for module 'unictype/category-LC'.
7801         * modules/unictype/category-LC-tests: New file.
7802         * tests/unictype/test-categ_LC.c: New file, automatically generated.
7803
7804         New module 'unictype/category-LC'.
7805         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
7806         (UC_CATEGORY_LC): New declaration.
7807         (UC_CASED_LETTER): New macro.
7808         * lib/gen-uni-tables.c (is_category_LC): New function.
7809         (output_categories): Also handle category LC.
7810         (UC_CATEGORY_MASK_LC): New enumeration value.
7811         (general_category_byname): Also handle category LC.
7812         * lib/unictype/categ_LC.c: New file.
7813         * lib/unictype/categ_LC.h: New file, automatically generated.
7814         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
7815         category LC.
7816         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
7817         * modules/unictype/category-LC: New file.
7818         * modules/unictype/category-byname (Depends-on): Add
7819         unictype/category-LC.
7820         * modules/unictype/category-all (Depends-on): Likewise.
7821
7822 2011-03-25  Eric Blake  <eblake@redhat.com>
7823
7824         xmalloc: revert yesterday's regression
7825         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
7826         realloc's underlying behavior (allowing allocation of zero-size
7827         objects, especially if malloc-gnu is also in use).
7828
7829 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
7830
7831         maint.mk: add missing version to VC-tag
7832         * top/maint.mk: git tag was missing actual tag name; add it.
7833
7834         valgrind: do leak checking, and exit with code 1 on error (not 0)
7835         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
7836         to VALGRIND.
7837
7838 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
7839
7840         posix-modules: say what it does.
7841         * posix-modules: Add a line to the --help output saying what it does.
7842
7843 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
7844
7845         xmalloc: Do not leak if underlying realloc is C99 compatible.
7846         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
7847         This avoids a leak on C99-based systems.  See
7848         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
7849
7850 2011-03-24  Eric Blake  <eblake@redhat.com>
7851
7852         realloc: document portability problem
7853         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
7854         passing 0 size to realloc.
7855
7856 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
7857
7858         doc: update users.txt
7859         * users.txt: Add cvsps, tmpwatch
7860
7861 2011-03-23  Matt Rice  <ratmice@gmail.com>
7862
7863         doc: update users.txt
7864         * users.txt: Add gdb.
7865
7866 2011-03-23  Jim Meyering  <meyering@redhat.com>
7867
7868         doc: update users.txt
7869         Looking through matches up to the following URL (there are still
7870         several more pages), I found several projects that use gnulib:
7871         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
7872         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
7873         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
7874
7875 2011-03-22  Bruno Haible  <bruno@clisp.org>
7876
7877         unictype/bidi*: Rename functions.
7878         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
7879         uc_bidi_class, uc_is_bidi_class): New declarations.
7880         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
7881         uc_bidi_category_byname.
7882         (uc_bidi_category_byname): New function.
7883         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
7884         u_bidi_category_name.
7885         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
7886         (uc_bidi_category_name): New function.
7887         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
7888         uc_bidi_category.
7889         (uc_bidi_category): New function.
7890         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
7891         uc_is_bidi_category. Invoke uc_bidi_class.
7892         (uc_is_bidi_category): New function.
7893         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
7894         instead of uc_bidi_category_byname.
7895         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
7896         instead of uc_bidi_category_name.
7897         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
7898         uc_bidi_category.
7899         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
7900         instead of uc_is_bidi_category.
7901
7902 2011-03-21  Bruno Haible  <bruno@clisp.org>
7903
7904         New module 'unictype/joininggroup-all'.
7905         * modules/unictype/joininggroup-all: New file.
7906
7907         Tests for module 'unictype/joininggroup-of'.
7908         * modules/unictype/joininggroup-of-tests: New file.
7909         * tests/unictype/test-joininggroup_of.c: New file.
7910         * tests/unictype/test-joininggroup_of.h: New file, automatically
7911         generated by gen-uni-tables.
7912
7913         New module 'unictype/joininggroup-of'.
7914         * modules/unictype/joininggroup-of: New file.
7915         * lib/unictype/joininggroup_of.c: New file.
7916         * lib/unictype/joininggroup_of.h: New file, automatically generated by
7917         gen-uni-tables.
7918
7919         Tests for module 'unictype/joininggroup-byname'.
7920         * modules/unictype/joininggroup-byname-tests: New file.
7921         * tests/unictype/test-joininggroup_byname.c: New file.
7922
7923         New module 'unictype/joininggroup-byname'.
7924         * modules/unictype/joininggroup-byname: New file.
7925         * lib/unictype/joininggroup_byname.c: New file.
7926         * lib/unictype/joininggroup_byname.gperf: New file.
7927
7928         Tests for module 'unictype/joininggroup-name'.
7929         * modules/unictype/joininggroup-name-tests: New file.
7930         * tests/unictype/test-joininggroup_name.c: New file.
7931
7932         New module 'unictype/joininggroup-name'.
7933         * modules/unictype/joininggroup-name: New file.
7934         * lib/unictype/joininggroup_name.c: New file.
7935         * lib/unictype/joininggroup_name.h: New file.
7936
7937         New module 'unictype/joiningtype-all'.
7938         * modules/unictype/joiningtype-all: New file.
7939
7940         Tests for module 'unictype/joiningtype-of'.
7941         * modules/unictype/joiningtype-of-tests: New file.
7942         * tests/unictype/test-joiningtype_of.c: New file.
7943         * tests/unictype/test-joiningtype_of.h: New file, automatically
7944         generated by gen-uni-tables.
7945
7946         New module 'unictype/joiningtype-of'.
7947         * modules/unictype/joiningtype-of: New file.
7948         * lib/unictype/joiningtype_of.c: New file.
7949         * lib/unictype/joiningtype_of.h: New file, automatically generated by
7950         gen-uni-tables.
7951
7952         Tests for module 'unictype/joiningtype-byname'.
7953         * modules/unictype/joiningtype-byname-tests: New file.
7954         * tests/unictype/test-joiningtype_byname.c: New file.
7955
7956         New module 'unictype/joiningtype-byname'.
7957         * modules/unictype/joiningtype-byname: New file.
7958         * lib/unictype/joiningtype_byname.c: New file.
7959
7960         Tests for module 'unictype/joiningtype-name'.
7961         * modules/unictype/joiningtype-name-tests: New file.
7962         * tests/unictype/test-joiningtype_name.c: New file.
7963
7964         New module 'unictype/joiningtype-name'.
7965         * modules/unictype/joiningtype-name: New file.
7966         * lib/unictype/joiningtype_name.c: New file.
7967
7968         unictype: Add support for Arabic shaping properties.
7969         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
7970         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
7971         declarations.
7972         (UC_JOINING_GROUP_*): New enumeration values.
7973         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
7974         declarations.
7975         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
7976         (unicode_joining_type): New variable.
7977         (UC_JOINING_GROUP_*): New enumeration values.
7978         (unicode_joining_group): New variable.
7979         (fill_arabicshaping, joining_type_as_c_identifier,
7980         output_joining_type_test, output_joining_type,
7981         joining_group_as_c_identifier, output_joining_group_test,
7982         output_joining_group): New functions.
7983         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
7984         fill_arabicshaping and output_joining_type_test, output_joining_type,
7985         output_joining_group_test, output_joining_group.
7986         Reported by Simon Josefsson.
7987
7988 2011-03-21  Jim Meyering  <meyering@redhat.com>
7989
7990         strftime: fix a bug in yesterday's change
7991         * lib/strftime.c (add): Accommodate width's initial value of -1.
7992         Otherwise, nstrftime would copy uninitialized data into
7993         the result buffer.
7994
7995 2011-03-21  Jim Meyering  <meyering@redhat.com>
7996
7997         tests: add strftime-tests module
7998         * tests/test-strftime.c: New file.
7999         * modules/strftime-tests: New module.
8000
8001 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
8002
8003         strftime: don't assume a byte count fits in 'int'
8004         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
8005         found this problem by static analysis, using gcc -Wstrict-overflow
8006         (GCC 4.5.2, x86-64).  This reported an optimization that depended
8007         on an integer overflow having undefined behavior, but it turns out
8008         that the argument is a size, which might not fit in 'int' anyway,
8009
8010 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
8011
8012         stdio: don't require ignore_value around fwrite
8013
8014         This patch works around libc bug 11959
8015         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
8016         Without this patch, applications must often write
8017         ignore_value (fwrite (...)) even though the ignore_value is
8018         not helpful here.  It's common to write many objects, using
8019         fwrite/printf/etc., and then use ferror to detect output error.
8020
8021         I considered making this patch optional, but decided against it,
8022         because libc is obviously being inconsistent here: there is no
8023         reason libc should insist that user code must inspect fwrite
8024         return's value without also insisting that it inspect printf's,
8025         putchar's, etc.  If user code wants to have a strict style where
8026         all these functions' values are checked (so that ferror need not
8027         be checked), we could add support for that style in a new gnulib
8028         module, but in the meantime it's better to be consistent and to
8029         support common usage.
8030
8031         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
8032         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
8033         that we are compiling in checking mode, and if not C++, and
8034         if not already wrapping fwrite for some other reason.
8035         (fwrite): #define to rpl_fwrite if the latter is defined.
8036
8037 2011-03-20  Bruno Haible  <bruno@clisp.org>
8038
8039         verror: Fix compilation error introduced on 2011-02-13.
8040         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
8041         instead of __attribute__.
8042         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8043
8044 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
8045             Bruno Haible  <bruno@clisp.org>
8046
8047         socklen: do not depend on sys_socket
8048         While trying to modify Emacs to use gnulib's socklen module,
8049         I discovered a circular dependency: socklen depends on sys_socket
8050         and vice versa.  Emacs can use socklen, but it does not need
8051         sys_socket because it has its own substitute for sys/socket.h.
8052         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
8053         gl_TYPE_SOCKLEN_T.
8054         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
8055         gl_PREREQ_SYS_H_SOCKET.
8056         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
8057         gl_PREREQ_SYS_H_SOCKET.
8058         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
8059         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
8060         * modules/socklen (Depends-on): Do not depend on sys_socket.
8061         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
8062
8063 2011-03-20  Jim Meyering  <meyering@redhat.com>
8064
8065         maint.mk: sort file names *after* new transformation
8066         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
8067         prefix would have led to an unwarranted failure in GNU parted.
8068         Sort after that transformation.
8069
8070 2011-03-19  Jim Meyering  <meyering@redhat.com>
8071
8072         maint.mk: fix po-file syntax-check rule
8073         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
8074         Patch by Bruno Haible.
8075
8076 2011-03-19  Bruno Haible  <bruno@clisp.org>
8077
8078         socklen: Update comment.
8079         * m4/socklen.m4: Update comment about platforms.
8080
8081 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
8082             Bruno Haible  <bruno@clisp.org>
8083
8084         inet_ntop, inet_pton: Simplify.
8085         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
8086         documented to provide socklen_t and we already depend on sys_socket.
8087         * modules/inet_pton (Depends-on): Likewise.
8088         * lib/arpa_inet.in.h: Adjust comment.
8089
8090 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
8091             Bruno Haible  <bruno@clisp.org>
8092
8093         netdb: Simplify.
8094         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
8095         documented to provide socklen_t and we already depend on sys_socket.
8096         * lib/netdb.in.h: Adjust comment.
8097
8098 2011-03-19  Bruno Haible  <bruno@clisp.org>
8099
8100         sys_socket, netdb: Document problem with socklen_t.
8101         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
8102         platforms.
8103         * doc/posix-headers/netdb.texi: Likewise.
8104
8105 2011-03-18  Eric Blake  <eblake@redhat.com>
8106
8107         maint.mk: let po check work in VPATH build
8108         * top/maint.mk (po_file): Allow cfg.mk override.
8109         (sc_po_check): Allow VPATH use.
8110         Reported by Jiri Denemark.
8111
8112 2011-03-16  Jim Meyering  <meyering@redhat.com>
8113
8114         maint.mk: allow fine-grained syntax-check exclusion via Make variables
8115         Before, you would have had to create one .x-sc_ file per rule in order
8116         to exempt offending files.  Now, you may instead use a Make variable --
8117         usually defined in cfg.mk -- whose name identifies the affected rule.
8118         * top/maint.mk (_sc_excl): Define.
8119         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
8120         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
8121
8122 2011-03-13  Bruno Haible  <bruno@clisp.org>
8123
8124         ignore-value tests: Avoid warnings.
8125         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
8126         empty for gcc < 3.4.
8127
8128 2011-03-13  Bruno Haible  <bruno@clisp.org>
8129
8130         passfd: Fix link error on Solaris.
8131         * modules/passfd (Description): Correct.
8132         (Depends-on): Add socketlib.
8133         (Link): New section.
8134         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
8135
8136 2011-03-13  Bruno Haible  <bruno@clisp.org>
8137
8138         passfd: Fix link error on AIX 5.2.
8139         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
8140
8141 2011-03-13  Bruno Haible  <bruno@clisp.org>
8142
8143         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
8144         * lib/sys_socket.in.h: Include <stddef.h>.
8145         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
8146         CMSG_FIRSTHDR. Remove unused variable.
8147
8148 2011-03-13  Bruno Haible  <bruno@clisp.org>
8149
8150         passfd: Fix compilation error on OpenBSD.
8151         * lib/passfd.c: Include <sys/uio.h>.
8152
8153 2011-03-13  Bruno Haible  <bruno@clisp.org>
8154
8155         passfd test: Fix warnings.
8156         * tests/test-passfd.c: Include <sys/wait.h>.
8157         (main): Fix typo.
8158
8159 2011-03-13  Bruno Haible  <bruno@clisp.org>
8160
8161         passfd module, part 4, tweaks.
8162         * tests/test-passfd.c: Reorder includes.
8163         (main): Fix perror and printf calls.
8164
8165 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
8166
8167         passfd module, part 4.
8168         * modules/passfd-tests: New file.
8169         * tests/test-passfd.c: New file.
8170
8171 2011-03-13  Jim Meyering  <meyering@redhat.com>
8172
8173         Makefile: rely on GNU make; derive syntax-check rule names
8174         Rather than requiring that each sc_ rule be listed as a dependent
8175         of "check", use features of GNU make to derive the list.
8176         * Makefile (syntax-check-rules): Define.
8177         (check): Depend on the new variable, not the hard-coded list.
8178
8179 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
8180             Bruno Haible  <bruno@clisp.org>
8181
8182         passfd module, part 3.
8183         * lib/passfd.h (recvfd): Add a flags argument.
8184         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
8185         (recvfd): Add a flags argument.
8186         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
8187         exists.
8188         * modules/passfd (Depends-on): Add cloexec.
8189         Suggested by Eric Blake.
8190
8191 2011-03-13  Bruno Haible  <bruno@clisp.org>
8192
8193         passfd module, part 2, tweaks.
8194         * modules/passfd (Files): Reorder.
8195         (Depends-on): Remove errno.
8196         (Include): Remove <sys/socket.h>, <sys/un.h>.
8197         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
8198         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
8199         specification header. Include <sys/socket.h> always. Don't include
8200         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
8201         (sendfd): Clarify that it sets errno when it fails.
8202         (recvfd): Fix specification.
8203
8204 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
8205
8206         passfd module, part 2.
8207         * modules/passfd: New file.
8208         * lib/passfd.h: New file.
8209         * lib/passfd.c: New file.
8210
8211 2011-03-12  Bruno Haible  <bruno@clisp.org>
8212
8213         wcswidth, mbswidth: Avoid integer overflow.
8214         * lib/wcswidth.c: Include <limits.h>.
8215         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
8216         * lib/mbswidth.c: Include <limits.h>.
8217         (mbsnwidth): Avoid 'int' overflow.
8218         Reported by Jim Meyering.
8219
8220 2011-03-12  Bruno Haible  <bruno@clisp.org>
8221
8222         futimens, utimensat: Avoid endless recursion on Solaris 10.
8223         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
8224         Solaris.
8225         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
8226         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
8227
8228 2011-03-11  Jim Meyering  <meyering@redhat.com>
8229
8230         maint.mk: relax a regexp to accommodate other formatting styles
8231         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
8232         between "ngettext" and the following "(".
8233
8234 2011-03-11  Pádraig Brady <P@draigBrady.com>
8235
8236         maint.mk: suppress a false positive warning
8237         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
8238         diagnostics are marked with ngettext.
8239
8240 2011-03-10  Eric Blake  <eblake@redhat.com>
8241
8242         wchar: add explicit dependencies, for Tru64
8243         * modules/mbmemcasecoll (Depends-on): Add wchar.
8244         * modules/mbtowc (Depends-on): Likewise.
8245         * modules/vasnprintf (Depends-on): Likewise.
8246         * modules/unistdio/u-printf-args (Depends-on): Likewise.
8247         * modules/wctomb (Depends-on): Likewise.
8248         Reported by Peter O'Gorman.
8249
8250 2011-03-08  Bruno Haible  <bruno@clisp.org>
8251
8252         passfd module, part 1, tweaks.
8253         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
8254         Improve indentation. Improve AC_MSG_CHECKING messages.
8255         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
8256         gl_SOCKET_FAMILIES.
8257
8258 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
8259
8260         passfd module, part 1.
8261         * m4/afunix.m4: New file.
8262         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
8263         sockets.
8264
8265 2011-03-08  Bruno Haible  <bruno@clisp.org>
8266
8267         regex-quote: New API.
8268         * lib/regex-quote.h: Include <stdbool.h>.
8269         (struct regex_quote_spec): New type.
8270         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
8271         New declarations.
8272         (regex_quote_length, regex_quote_copy, regex_quote): Take a
8273         'const struct regex_quote_spec *' argument.
8274         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
8275         (pcre_special): New constant.
8276         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
8277         New functions.
8278         (regex_quote_length, regex_quote_copy, regex_quote): Take a
8279         'const struct regex_quote_spec *' argument.
8280         * modules/regex-quote (Depends-on): Add stdbool.
8281         * tests/test-regex-quote.c (check): Update for new API. Add test for
8282         anchored results.
8283         * NEWS: Mention the API change.
8284         Reported by Reuben Thomas and Eric Blake.
8285
8286 2011-03-06  Bruno Haible  <bruno@clisp.org>
8287
8288         regex-quote: Fix creation of POSIX extended regular expressions.
8289         * lib/regex-quote.c (ere_special): Add grouping and alternation
8290         operators.
8291
8292 2011-03-05  Bruno Haible  <bruno@clisp.org>
8293
8294         doc: Improve doc regarding autopoint vs. gnulib.
8295         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
8296         disable autopoint while running autoreconf.
8297         Suggested by Ralf Wildenhues.
8298
8299 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8300
8301         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
8302         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
8303
8304 2011-03-03  Bruce Korb  <bkorb@gnu.org>
8305
8306         parse-duration: remove xalloc.h dependency
8307         * lib/parse-duration.c (parse_period): handle NULL return from
8308         strdup instead of calling xstrdup().
8309         * modules/parse-duration: remove "xalloc" dependency
8310
8311 2011-03-03  Matthew Booth  <mbooth@redhat.com>
8312
8313         bootstrap: honor m4_base when running aclocal
8314         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
8315
8316 2011-03-02  Jim Meyering  <meyering@redhat.com>
8317
8318         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
8319         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
8320         on request from Matt Booth.
8321
8322 2011-03-01  Eric Blake  <eblake@redhat.com>
8323
8324         test-link: work on Hurd
8325         * tests/test-link.h (test_link): Hurd rejects linking directories
8326         with EISDIR instead of the POSIX-mandated EPERM.
8327
8328 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
8329
8330         stdio: simplify by moving files to printf-posix, sigpipe
8331         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
8332         since this symbol is needed only if printf is replaced.
8333         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
8334         Require gl_ASM_SYMBOL_PREFIX.
8335         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
8336         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
8337         (Depends-on): Add 'raise'.
8338         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
8339         * modules/stdio (Files): Remove lib/stdio-write.c,
8340         m4/asm-underscore.m4.
8341         (Depends-on): Remove 'raise'.
8342
8343         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
8344         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
8345         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
8346         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
8347
8348 2011-02-28  Bruno Haible  <bruno@clisp.org>
8349
8350         localcharset: Assume ANSI C behaviour of free().
8351         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
8352         calling free().
8353         Suggested by Simon Josefsson <simon@josefsson.org>.
8354
8355 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
8356             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
8357             Bruno Haible  <bruno@clisp.org>  (tiny change)
8358
8359         On Cygwin, use /proc file system instead of win32 API.
8360         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
8361         Win32 file names.
8362         (DllMain): Simplify by removing Cygwin specific code.
8363         (find_shared_library_fullname): Use Linux specific implementation also
8364         for Cygwin.
8365         (get_shared_library_fullname): Update accordingly.
8366         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
8367         Win32 file names.
8368         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
8369         Cygwin specific code.
8370
8371 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
8372             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
8373
8374         Fix OpenMP flag detection for various Fortran compilers.
8375         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
8376         OpenMP-conditional compilation construct, to force compile
8377         failure with missing OpenMP flag.
8378         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
8379
8380 2011-02-25  Eric Blake  <eblake@redhat.com>
8381
8382         strstr: expand test coverage
8383         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
8384         compilation.
8385         * tests/test-memmem.c (main): Duplicate tests.
8386         * tests/test-strcasestr.c (main): Likewise.
8387         * tests/test-c-strcasestr.c (main): Likewise.
8388
8389 2011-02-25  Jim Meyering  <meyering@redhat.com>
8390
8391         maint.mk: detect missing-NL-at-EOF, too
8392         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
8393         it also detects when a file lacks a newline at EOF.
8394         (require_exactly_one_NL_at_EOF_): Renamed from
8395         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
8396         since people may well have .x-sc_... file names tied to the
8397         existing name.  Suggested by Eric Blake.
8398
8399 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
8400
8401         dirname: move m4/dos.m4 functionality into lib/dosname.h
8402
8403         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
8404         extracts symbols from it, puts them into config.h; but it's much
8405         easier to use the symbols directly.  filename.h already does this,
8406         but it disagrees with dos.m4 in some respects.  This patch
8407         introduces a different include file dosname.h that packages up
8408         dos.m4, and then later we can work on merging filename.h and
8409         dosname.h.  Applications that need only the easy-to-configure
8410         symbols should consider including dosname.h rather than dirname.h.
8411         * NEWS: Mention incompatible changes.
8412         * m4/dos.m4: Remove.
8413         * lib/dosname.h, modules/dosname: New files.
8414         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
8415         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
8416         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
8417         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
8418         Include dosname.h, not dirname.h.
8419         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
8420         Include dosname.h, for definitions of symbols like ISSLASH
8421         that used to be in config.h.
8422         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
8423         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
8424         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
8425         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
8426         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
8427         * modules/rmdir (Files): Likewise.
8428         * modules/stat (Files): Likewise.
8429         * modules/unlink (Files): Likewise.
8430         * modules/dirname-lgpl (Depends-on): Add dosname.
8431         * modules/lstat (Depends-on): Likewise.
8432         * modules/openat (Depends-on): Likewise.
8433         * modules/rmdir (Depends-on): Likewise.
8434         * modules/savewd (Depends-on): Likewise.
8435         * modules/stat (Depends-on): Likewise.
8436         * modules/unlink (Depends-on): Likewise.
8437         * modules/openat (Depends-on): Remove dirname-lgpl.
8438         * modules/savewd (Depends-on): Likewise.
8439         * tests/test-dirname.c: Do not use removed symbols like
8440         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
8441         the remaining symbols, e.g., ISSLASH ('\\').
8442
8443 2011-02-25  Eric Blake  <eblake@redhat.com>
8444
8445         strstr: revert patches that introduced bug and pessimization
8446         * lib/str-two-way.h: Add another reference.
8447         (two_way_short_needle, two_way_long_needle): Revert changes from
8448         2011-02-24; they pessimize search speed.
8449         (critical_factorization): Partially revert changes from
8450         2010-06-22; they violate the requirement that the left half of the
8451         needle be smaller than the period of the needle.
8452
8453 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
8454
8455         filenamecat: remove unnecessary dependency on dirname-lgpl
8456         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
8457         is no direct dependency, just an indirect one via filenamecat-lgpl.
8458
8459         remove: remove unnecessary use of m4/dos.m4
8460         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
8461         * modules/remove (FILES): Remove m4/dos.m4.
8462
8463         * lib/openat-proc.c: Don't include dirname.h; not needed.
8464
8465         backupfile: remove unnecessary use of m4/dos.m4
8466         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
8467         of its symbols are used by the backupfile code.  backupfile.c does
8468         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
8469         for the rare case of programs that want all their backup file
8470         names to live within 8+3 limits, and dos.m4 doesn't address that.
8471         * modules/backupfile (Files): Remove m4/dos.m4.
8472
8473 2011-02-24  Jim Meyering  <meyering@redhat.com>
8474
8475         strstr: fix a bug whereby strstr would mistakenly return NULL
8476         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
8477         in period calculation.
8478         (two_way_long_needle): Likewise.
8479         The original problem was reported by Mike Stump in
8480         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
8481         Ralf Wildenhues provided the short needle and haystack.
8482         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
8483         Add a more involved test to trigger the bug in two_way_long_needle.
8484
8485 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
8486
8487         gnulib-tool: remove use of bold display in help screen
8488         * gnulib-tool (func_usage): Do not use bold display anymore in the
8489         help screen.  That was just meant to be a temporary emphasis for a
8490         backward-incompatible change.
8491
8492 2011-02-23  Bruno Haible  <bruno@clisp.org>
8493
8494         Fix misindentation of preprocessor directives.
8495         * lib/argp-namefrob.h: Reindent preprocessor directives.
8496         * lib/getopt_int.h (struct _getopt_data): Likewise.
8497         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
8498         * lib/vasnprintf.c (decode_long_double): Likewise.
8499         * tests/test-argmatch.c: Insert blank lines, for clarity.
8500         * tests/test-exclude.c: Likewise.
8501
8502 2011-02-22  Bruno Haible  <bruno@clisp.org>
8503
8504         ioctl: Fix for MacOS X in 64-bit mode.
8505         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
8506         value.
8507         Suggested by Eric Blake.
8508         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
8509
8510 2011-02-22  Jim Meyering  <meyering@redhat.com>
8511
8512         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
8513         * Makefile (sc_cpp_indent_check): Don't limit the check to files
8514         in lib/.
8515
8516 2011-02-22  Eric Blake  <eblake@redhat.com>
8517
8518         maint: avoid any CDPATH issue
8519         * Makefile (sc_cpp_indent_check): Anchor cd argument.
8520
8521         maint: adjust cpp indentation for my modules, as well
8522         * Makefile (sc_cpp_indent_check): Add my name.
8523         * lib/fbufmode.c: Filter through cppi.
8524         * lib/fpurge.c: Likewise.
8525         * lib/freadable.c: Likewise.
8526         * lib/freading.c: Likewise.
8527         * lib/fwritable.c: Likewise.
8528         * lib/fwriting.c: Likewise.
8529         * lib/sigaction.c: Likewise.
8530
8531 2011-02-22  Jim Meyering  <meyering@redhat.com>
8532
8533         maint: adjust cpp indentation to reflect nesting depth
8534         I.e., in a block of code that begins with an unnested "#if",
8535         put one space between the "#" in column 1 and following token.
8536         For example,
8537         -#include <sys/vfs.h>
8538         +# include <sys/vfs.h>
8539         Do this only in .c files that are part of a module I maintain.
8540         * lib/linkat.c: Filter through cppi.
8541         * lib/nanosleep.c: Likewise.
8542         * lib/openat.c: Likewise.
8543         * lib/openat-die.c: Likewise.
8544         * lib/dup3.c: Likewise.
8545         * lib/fchownat.c: Likewise.
8546         * lib/flock.c: Likewise.
8547         * lib/fsync.c: Likewise.
8548         * lib/fts.c: Likewise.
8549         * lib/getpass.c: Likewise.
8550         * lib/gettimeofday.c: Likewise.
8551         * lib/userspec.c: Likewise.
8552         * Makefile (sc_cpp_indent_check): New rule, to check this.
8553
8554 2011-02-22  Bruno Haible  <bruno@clisp.org>
8555
8556         New module 'wctomb'.
8557         * lib/stdlib.in.h (wctomb): New declaration.
8558         * lib/wctomb.c: New file.
8559         * lib/wctomb-impl.h: New file.
8560         * m4/wctomb.m4: New file.
8561         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
8562         REPLACE_WCTOMB.
8563         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
8564         REPLACE_WCTOMB.
8565         * modules/wctomb: New file.
8566         * tests/test-stdlib-c++.cc: Test signature of wctomb.
8567         * doc/posix-functions/wctomb.texi: Mention the new module.
8568         * modules/wctob (Depends-on): Add wctomb.
8569
8570 2011-02-22  Bruno Haible  <bruno@clisp.org>
8571
8572         New module 'mbtowc'.
8573         * lib/stdlib.in.h (mbtowc): New declaration.
8574         * lib/mbtowc.c: New file.
8575         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
8576         * m4/mbtowc.m4: New file.
8577         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
8578         REPLACE_MBTOWC.
8579         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
8580         REPLACE_MBTOWC.
8581         * modules/mbtowc: New file.
8582         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
8583         * doc/posix-functions/mbtowc.texi: Mention the new module.
8584         * modules/btowc (Depends-on): Add mbtowc.
8585
8586 2011-02-22  Bruno Haible  <bruno@clisp.org>
8587
8588         wcrtomb: Add more tests for native Windows platforms.
8589         * tests/test-wcrtomb-w32-1.sh: New file.
8590         * tests/test-wcrtomb-w32-2.sh: New file.
8591         * tests/test-wcrtomb-w32-3.sh: New file.
8592         * tests/test-wcrtomb-w32-4.sh: New file.
8593         * tests/test-wcrtomb-w32-5.sh: New file.
8594         * tests/test-wcrtomb-w32.c: New file.
8595         * modules/wcrtomb-tests (Files): Add them.
8596         (Makefile.am): Arrange to run these tests.
8597         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
8598         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
8599
8600 2011-02-20  Bruno Haible  <bruno@clisp.org>
8601
8602         wcrtomb: Enhance test.
8603         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
8604
8605 2011-02-20  Bruno Haible  <bruno@clisp.org>
8606
8607         mbrtowc: Tiny optimization.
8608         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
8609
8610 2011-02-20  Jim Meyering  <meyering@redhat.com>
8611
8612         test-exclude.c: remove unmatched #endif
8613         * tests/test-exclude.c: Remove stray #endif, left over from
8614         the change of a week ago.
8615
8616 2011-02-19  Jim Meyering  <meyering@redhat.com>
8617
8618         git-version-gen: skip "-dirty" check when appropriate
8619         * build-aux/git-version-gen: Don't run any git commands when the
8620         version string comes from .tarball-version.  Prior to this, we
8621         would run git update-index --refresh even from a just-unpacked
8622         tarball directory, and that could affect a .git/ directory in a
8623         parent of the build directory.  Reported by Mike Frysinger.
8624
8625 2011-02-19  Bruno Haible  <bruno@clisp.org>
8626
8627         unictype/property-byname: Reduce the size of the 'data' segment.
8628         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
8629
8630 2011-02-19  Bruno Haible  <bruno@clisp.org>
8631
8632         unictype/scripts: Reduce the size of the 'data' segment.
8633         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
8634         '%pic'.
8635         * lib/unictype/scripts_byname.gperf: Regenerated.
8636
8637 2011-02-19  Bruno Haible  <bruno@clisp.org>
8638
8639         stdint: Update documentation.
8640         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
8641
8642 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
8643
8644         stdint: omit redundant check for wchar.h
8645         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
8646         always tests whether wchar.h exists, so remove the now-redundant test.
8647
8648 2011-02-18  Bruno Haible  <bruno@clisp.org>
8649
8650         stdint: Cut dependency to module 'wchar'.
8651         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
8652         include the necessary prerequisites.
8653         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
8654         * modules/stdint (Depends-on): Remove wchar.
8655         (Makefile.am): Substitute HAVE_WCHAR_H.
8656         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
8657
8658 2011-02-18  Eric Blake  <eblake@redhat.com>
8659
8660         longlong: skip, rather than fail, on cross-compilation
8661         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
8662         when cross-compiling; regression from 2011-02-16.
8663
8664 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
8665
8666         * NEWS: Mention 2011-02-08 change to stdlib.
8667
8668 2011-02-17  Bruno Haible  <bruno@clisp.org>
8669
8670         getloadavg: Add comments about platforms.
8671         * m4/getloadavg.m4: Add comment.
8672         * lib/getloadavg.c: Likewise.
8673
8674 2011-02-17  Bruno Haible  <bruno@clisp.org>
8675
8676         getloadavg: Fix link error on Solaris 2.6.
8677         * modules/getloadavg (Link): New section.
8678         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
8679         linking test-getloadavg.
8680         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
8681         getloadavg.
8682
8683 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
8684
8685         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
8686         It was 'int', but this doesn't match the IRIX 6.5 manual.
8687         Suggested by Bruno Haible in
8688         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
8689
8690 2011-02-17  Bruno Haible  <bruno@clisp.org>
8691
8692         havelib: Fix comments.
8693         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
8694         change.
8695
8696 2011-02-17  Bruno Haible  <bruno@clisp.org>
8697
8698         havelib: Update config.rpath.
8699         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
8700
8701 2011-02-17  Bruno Haible  <bruno@clisp.org>
8702
8703         getloadavg test: Add some plausibility checks.
8704         * tests/test-getloadavg.c (check_avg): Print a warning when the value
8705         is improbable.
8706
8707 2011-02-16  Eric Blake  <eblake@redhat.com>
8708
8709         maintainer-makefile: make syntax-check a no-op from tarballs
8710         * top/maint.mk (no-vc-detected): New rule.
8711         (local-checks-available): Use it to avoid hanging if someone tries
8712         'make syntax-check' from a tarball.  Also append to any non-syntax
8713         checks already defined in cfg.mk.
8714
8715 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
8716
8717         longlong: tune, particularly for common case of c99
8718
8719         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
8720         or running anything if c99, or if unsigned long long int does not
8721         work.  In either case, we know the answer without further tests.
8722         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
8723         it at most once, and use its results for both long long int and
8724         unsigned long long int.  This is more likely to be efficient in
8725         the common case where the program wants to check for both long
8726         long int and unsigned long long int.
8727         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
8728         since the answer is already known.
8729
8730 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
8731
8732         getloadavg: set errno
8733         * lib/getloadavg.c: Set errno when returning -1.  If no other
8734         error number looks appropriate, set it to ENOSYS if the getloadavg
8735         looks like it can't possibly ever work, ENOTSUP otherwise.
8736         Suggested by Bruno Haible in
8737         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
8738
8739         getloadavg: trim unused parts and speed up 'configure'
8740         * NEWS: Document this.
8741         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
8742         always compiled if getloadavg is absent.
8743         Move test code to ...
8744         * tests/test-getloadavg.c: New file, containing previous
8745         contents of test from lib/getloadavg.c.  It also contains
8746         suggestions by Bruno Haible in
8747         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
8748         * modules/getloadavg-tests: New file.
8749         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
8750         Do tests in the same order as they're needed for getloadavg.c.
8751         Omit setgid-related tests that generate symbols KMEM_GROUP,
8752         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
8753         Do only the tests that are needed to see whether the system has
8754         getloadavg, moving the other tests into ...
8755         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
8756         NLIST_NAME_UNION; nobody should be using it.  Do not define
8757         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
8758         relevant, as the user of this module shouldn't care how getloadavg
8759         is implemented.
8760
8761         getloadavg: omit unused var
8762         * lib/getloadavg.c (getloadavg): Omit unused local variable.
8763
8764 2011-02-15  Jim Meyering  <meyering@redhat.com>
8765
8766         doc: update users.txt
8767         * users.txt: Update iwhd's URL.
8768
8769 2011-02-13  Bruno Haible  <bruno@clisp.org>
8770
8771         Consistent macro naming for macros that use GCC __attribute__.
8772         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
8773         _ATTRIBUTE_NONNULL_.
8774         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
8775         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
8776         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
8777         ATTRIBUTE_DEPRECATED.
8778         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
8779         ATTRIBUTE_NORETURN.
8780         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
8781         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
8782         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
8783         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
8784         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
8785         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
8786         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
8787         ATTRIBUTE_SENTINEL.
8788         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
8789         ATTRIBUTE_RETURN_CHECK.
8790         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
8791         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
8792         ATTRIBUTE_NORETURN.
8793         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
8794         Reported by Paul Eggert.
8795
8796 2011-02-13  Bruno Haible  <bruno@clisp.org>
8797
8798         Don't interfere with a program's definition of __attribute__.
8799         * lib/argp.h (__attribute__): Remove definition.
8800         (_GL_ATTRIBUTE_FORMAT): New macro.
8801         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
8802         * lib/argp-fmtstream.h (__attribute__): Remove definition.
8803         (_GL_ATTRIBUTE_FORMAT): New macro.
8804         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
8805         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
8806         GCC 3 or newer.
8807         * lib/error.h (__attribute__): Remove definition.
8808         (_GL_ATTRIBUTE_FORMAT): New macro.
8809         (error, error_at_line): Use it.
8810         * lib/hash.h (__attribute__): Remove definition.
8811         (ATTRIBUTE_WUR): Update definition. Define always.
8812         * lib/openat.h (__attribute__): Remove definition.
8813         (ATTRIBUTE_NORETURN): Update definition. Define always.
8814         * lib/sigpipe-die.h (__attribute__): Remove definition.
8815         (ATTRIBUTE_NORETURN): Update definition. Define always.
8816         * lib/vasnprintf.h (__attribute__): Remove definition.
8817         (_GL_ATTRIBUTE_FORMAT): New macro.
8818         (asnprintf, vasnprintf): Use it.
8819         * lib/xalloc.h (__attribute__): Remove definition.
8820         (ATTRIBUTE_NORETURN): Update definition. Define always.
8821         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
8822         * lib/xmemdup0.h (__attribute__): Remove definition.
8823         (ATTRIBUTE_NORETURN): Update definition. Define always.
8824         * lib/xprintf.h (__attribute__): Remove definition.
8825         (_GL_ATTRIBUTE_FORMAT): New macro.
8826         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
8827         * lib/xstrtol.h (__attribute__): Remove definition.
8828         (ATTRIBUTE_NORETURN): Update definition. Define always.
8829         * lib/xvasprintf.h (__attribute__): Remove definition.
8830         (_GL_ATTRIBUTE_FORMAT): New macro.
8831         (xasprintf, xvasprintf): Use it.
8832         * tests/test-argmatch.c (__attribute__): Remove definition.
8833         (ATTRIBUTE_NORETURN): Update definition. Define always.
8834         * tests/test-exclude.c (__attribute__): Remove definition.
8835         (ATTRIBUTE_NORETURN): Update definition. Define always.
8836         Reported by Paul Eggert.
8837
8838 2011-02-13  Bruno Haible  <bruno@clisp.org>
8839
8840         mbrtowc: Add more tests for native Windows platforms.
8841         * tests/test-mbrtowc-w32-1.sh: New file.
8842         * tests/test-mbrtowc-w32-2.sh: New file.
8843         * tests/test-mbrtowc-w32-3.sh: New file.
8844         * tests/test-mbrtowc-w32-4.sh: New file.
8845         * tests/test-mbrtowc-w32-5.sh: New file.
8846         * tests/test-mbrtowc-w32.c: New file.
8847         * modules/mbrtowc-tests (Files): Add them.
8848         (Makefile.am): Arrange to run these tests.
8849         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
8850         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
8851
8852 2011-02-13  Bruno Haible  <bruno@clisp.org>
8853
8854         mbrtowc: Work around native Windows bug.
8855         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
8856         guess when no suitable locale for testing was found.
8857         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
8858
8859 2011-02-13  Bruno Haible  <bruno@clisp.org>
8860
8861         mbsinit: Work around mingw bug.
8862         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
8863         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
8864         Windows.
8865         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
8866
8867 2011-02-13  Bruno Haible  <bruno@clisp.org>
8868
8869         mbsinit: Don't crash for a NULL argument.
8870         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
8871         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
8872
8873 2011-02-13  Bruno Haible  <bruno@clisp.org>
8874
8875         Don't interfere with a program's definition of __attribute__.
8876         * lib/stdio.in.h (__attribute__): Remove definition.
8877         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
8878         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
8879         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
8880         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
8881         * lib/string.in.h (__attribute__): Remove definition.
8882         Reported by Paul Eggert.
8883
8884 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
8885
8886         stdlib: don't get in the way of non-GCC __attribute__
8887         See thread starting at
8888         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
8889         Revert previous stdlib change, installing the following instead:
8890         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
8891         to get in the way of a non-GCC compiler that supports __attribute__.
8892         (_GL_ATTRIBUTE_RETURN): New macro.
8893         (_Exit): Use it instead of __attribute__.
8894
8895 2011-02-12  Bruno Haible  <bruno@clisp.org>
8896
8897         quotearg test: Avoid test failure on mingw.
8898         * tests/test-quotearg.sh: Convert the locale identifier from native
8899         Windows syntax to Unix syntax.
8900
8901 2011-02-12  Bruno Haible  <bruno@clisp.org>
8902
8903         setlocale: Prefer gnulib's override over libintl's override.
8904         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
8905         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
8906         GNULIB_defined_setlocale is set.
8907
8908 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
8909
8910         stdlib: support non-GCC __attribute__
8911
8912         Fix a serious and tricky problem encountered when attempting to
8913         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
8914         5.5, but it crashed due to memory corruption on Solaris 10 with
8915         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
8916         bits that are otherwise zero.  This tagging is optional inside
8917         Emacs but is preferred and is used when __attribute__ ((__aligned
8918         (8))) works, as it does with both recent-enough GCC and with Sun C
8919         5.11.  However, Sun C 5.11 is not GCC and does not #define
8920         __GNUC__ and __GNUC_MINOR__.
8921
8922         When I added the getloadavg module to Emacs, it brought in
8923         stdlib.in.h, which contained this fragment:
8924
8925            #ifndef __attribute__
8926            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
8927            #  define __attribute__(Spec)   /* empty */
8928            # endif
8929            #endif
8930
8931         When files that include <stdlib.h> were compiled with Sun C 5.11,
8932         the above code disabled __attribute__ ((__aligned (8))), which
8933         caused variables to not be properly aligned, which eventually led
8934         to the pointer corruption mentioned above.  (This was a bit hard
8935         to diagnose, unfortunately.)
8936
8937         Several "#define __attribute__(X) /* empty */" code snippets need
8938         to be eradicated from Gnulib to work with non-GCC compilers that
8939         support __attribute__.  The Autoconf way to do this is to test for
8940         each kind of attribute that we want support for, and selectively
8941         enable that in source code.
8942
8943         Fix this problem just for stdlib.h, by adding a test for the
8944         __noreturn__ attribute, and change stdlib.in.h to use that test
8945         when needed.  This technique can be easily generalized to the
8946         other *.in.h files and attributes, and a similar technique can be
8947         used for *.h and *.c files.  This patch is enough to solve the
8948         problem for Emacs + getloadavg, and I thought I'd publish it for
8949         feedback before undertaking further, similar fixes in other
8950         modules.
8951
8952         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
8953         because it's not needed for stdlib.h.  It merely substitutes the
8954         value directly into stdlib.h.  We may well need to #define it, or
8955         similar symbols, for other modules, but it's nice to also have an
8956         option to not #define it for applications like Emacs that do not
8957         need it.
8958
8959         * lib/stdlib.in.h (__attribute__): Do not #define.
8960         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
8961         be defined only if the _Exit module is also used.
8962         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
8963         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
8964         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
8965         platforms.
8966         * modules/_Exit (Files): Add m4/attribute.m4.
8967         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
8968         * m4/attribute.m4: New file.
8969
8970 2011-02-12  Bruno Haible  <bruno@clisp.org>
8971
8972         wcsrtombs: Work around bug on native Windows.
8973         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
8974         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
8975         instead of len.
8976         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
8977
8978 2011-02-12  Bruno Haible  <bruno@clisp.org>
8979
8980         mbsrtowcs: Work around bug on native Windows.
8981         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
8982         against mingw bug.
8983         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
8984
8985 2011-02-12  Bruno Haible  <bruno@clisp.org>
8986
8987         Avoid setlocale bugs in tests.
8988         * modules/btowc (Dependencies): Add setlocale.
8989         * modules/c-strcase (Dependencies): Likewise.
8990         * modules/mbmemcasecmp (Dependencies): Likewise.
8991         * modules/mbmemcasecoll (Dependencies): Likewise.
8992         * modules/mbrtowc (Dependencies): Likewise.
8993         * modules/mbscasecmp (Dependencies): Likewise.
8994         * modules/mbscasestr (Dependencies): Likewise.
8995         * modules/mbschr (Dependencies): Likewise.
8996         * modules/mbscspn (Dependencies): Likewise.
8997         * modules/mbsinit (Dependencies): Likewise.
8998         * modules/mbsncasecmp (Dependencies): Likewise.
8999         * modules/mbsnrtowcs (Dependencies): Likewise.
9000         * modules/mbspbrk (Dependencies): Likewise.
9001         * modules/mbspcasecmp (Dependencies): Likewise.
9002         * modules/mbsrchr (Dependencies): Likewise.
9003         * modules/mbsrtowcs (Dependencies): Likewise.
9004         * modules/mbsspn (Dependencies): Likewise.
9005         * modules/mbsstr (Dependencies): Likewise.
9006         * modules/nl_langinfo (Dependencies): Likewise.
9007         * modules/quotearg (Dependencies): Likewise.
9008         * modules/unicase/locale-language (Dependencies): Likewise.
9009         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
9010         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
9011         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
9012         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
9013         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
9014         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
9015         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
9016         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
9017         * modules/vasnprintf-posix (Dependencies): Likewise.
9018         * modules/wcrtomb (Dependencies): Likewise.
9019         * modules/wcsnrtombs (Dependencies): Likewise.
9020         * modules/wcsrtombs (Dependencies): Likewise.
9021
9022 2011-02-12  Bruno Haible  <bruno@clisp.org>
9023
9024         setlocale: Workaround native Windows bug.
9025         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
9026         succeeds but sets LC_CTYPE to "C", report a failure.
9027         * tests/test-setlocale2.sh: New file.
9028         * tests/test-setlocale2.c: New file.
9029         * modules/setlocale-tests (Files): Add the new files.
9030         (Makefile.am): Enable test-setlocale2.sh test.
9031         * doc/posix-functions/setlocale.texi: Mention workaround.
9032
9033 2011-02-11  Bruno Haible  <bruno@clisp.org>
9034
9035         Tests for module 'setlocale'.
9036         * modules/setlocale-tests: New file.
9037         * tests/test-setlocale1.sh: New file.
9038         * tests/test-setlocale1.c: New file.
9039
9040         New module 'setlocale'.
9041         * lib/locale.in.h (setlocale): New declaration.
9042         * lib/setlocale.c: New file, based on
9043         gettext/gettext-runtime/intl/setlocale.c.
9044         * m4/setlocale.m4: New file.
9045         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
9046         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
9047         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
9048         REPLACE_SETLOCALE.
9049         * modules/setlocale: New file.
9050         * tests/test-locale-c++.cc: Test the declaration of setlocale.
9051         * doc/posix-functions/setlocale.texi: Mention the new module.
9052
9053 2011-02-11  Bruno Haible  <bruno@clisp.org>
9054
9055         Prepare for locale dependent tests on mingw.
9056         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
9057         because it has the wrong locale encoding.
9058         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
9059         French_France.1252 instead of "fr".
9060         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
9061         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
9062         because it has the wrong locale encoding.
9063         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
9064         native Windows, try Turkish_Turkey.65001.
9065         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
9066         Chinese_China.54936.
9067
9068         Prepare for locale dependent tests on mingw.
9069         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
9070         differently.
9071         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
9072         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
9073         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
9074         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
9075
9076 2011-02-11  Eric Blake  <eblake@redhat.com>
9077
9078         strptime: avoid compiler warnings
9079         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
9080         compiler warnings about dead code.
9081         Reported by Daniel P. Berrange.
9082
9083 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
9084
9085         doc: update users.txt
9086         * users.txt: Add rcs.
9087
9088 2011-02-10  John W. Eaton  <jwe@gnu.org>
9089
9090         doc: update users.txt
9091         * users.txt: Add octave.
9092
9093 2011-02-10  Jim Meyering  <meyering@redhat.com>
9094
9095         doc: update users.txt
9096         * users.txt: Add iwhd.
9097
9098 2011-02-09  Bruno Haible  <bruno@clisp.org>
9099
9100         gnulib-tool: Make copyright notice adjustment more robust.
9101         * gnulib-tool (func_import): In sed_transform_main_lib_file,
9102         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
9103         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
9104         License".
9105         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
9106
9107 2011-02-06  Bruno Haible  <bruno@clisp.org>
9108
9109         New module 'towctrans'.
9110         * modules/towctrans: New file.
9111         * lib/wctype.in.h (towctrans): New declaration.
9112         * lib/towctrans.c: New file.
9113         * lib/towctrans-impl.h: New file.
9114         * m4/towctrans.m4: New file.
9115         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
9116         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
9117         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
9118         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
9119         * doc/posix-functions/towctrans.texi: Mention the new module.
9120
9121 2011-02-06  Bruno Haible  <bruno@clisp.org>
9122
9123         New module 'wctrans'.
9124         * modules/wctrans: New file.
9125         * lib/wctype.in.h (wctrans): New declaration.
9126         * lib/wctrans.c: New file.
9127         * lib/wctrans-impl.h: New file.
9128         * m4/wctrans.m4: New file.
9129         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
9130         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
9131         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
9132         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
9133         * doc/posix-functions/wctrans.texi: Mention the new module.
9134
9135 2011-02-06  Bruno Haible  <bruno@clisp.org>
9136
9137         New module 'iswctype'.
9138         * modules/iswctype: New file.
9139         * lib/wctype.in.h (iswctype): New declaration.
9140         * lib/iswctype.c: New file.
9141         * lib/iswctype-impl.h: New file.
9142         * m4/iswctype.m4: New file.
9143         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
9144         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
9145         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
9146         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
9147         * doc/posix-functions/iswctype.texi: Mention the new module and the
9148         HP-UX 11.00 problem.
9149
9150 2011-02-06  Bruno Haible  <bruno@clisp.org>
9151
9152         New module 'wctype'.
9153         * modules/wctype: Change to represent the wctype() substitute.
9154         * lib/wctype.in.h (wctype): New declaration.
9155         * lib/wctype.c: New file.
9156         * lib/wctype-impl.h: New file.
9157         * m4/wctype.m4: New file.
9158         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
9159         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
9160         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
9161         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
9162         * doc/posix-functions/wctype.texi: Mention the new module and the
9163         HP-UX 11.00 problem.
9164
9165 2011-02-06  Bruno Haible  <bruno@clisp.org>
9166
9167         wctype-h: Ensure wctype_t and wctrans_t are defined.
9168         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
9169         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
9170         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
9171         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
9172         HAVE_WCTRANS_T.
9173         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
9174
9175 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
9176
9177         flock: fix license typo
9178
9179         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
9180         omitted.
9181
9182 2011-02-08  Bruno Haible  <bruno@clisp.org>
9183
9184         Split large sed scripts, for HP-UX sed.
9185         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
9186         to avoid HP-UX limit of 99 commands, in the near future.
9187         * modules/stdlib (Makefile.am): Likewise.
9188         * modules/unistd (Makefile.am): Likewise.
9189         * modules/wchar (Makefile.am): Likewise.
9190         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
9191         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
9192         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
9193
9194 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
9195             Bruno Haible  <bruno@clisp.org>
9196
9197         stdlib: improve random_r modularization
9198         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
9199         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
9200         you also need the random_r module to get this material right.
9201         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
9202         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
9203         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
9204
9205 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
9206
9207         stdlib: don't depend on stdint
9208         * lib/stdlib.in.h: Don't include <stdint.h> merely because
9209         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
9210         be independent of whether stdint.h is needed.
9211         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
9212         here, instead of ...
9213         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
9214         struct random_data should be using the random_r module, not just
9215         the stdlib module (which wouldn't make sense: what package needs
9216         just struct random_data without also needing random_r?).
9217         * modules/stdlib (Depends-on): Remove stdint.
9218
9219         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
9220         See the thread rooted at
9221         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
9222         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
9223         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
9224         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
9225         __VMS)); previously it was always included (via fcntl--.h).
9226         (getloadavg): Do not use c_strtod.  Instead, approximate it by
9227         hand; this is good enough for load averages.  Also, do not use
9228         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
9229         flags directly if available and don't bother otherwise.  (Packages
9230         that need the extra reliability should use the modules that define
9231         these flags on older platforms that lack them.)
9232         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
9233         fcntl-safer.
9234
9235 2011-02-08  Jim Meyering  <meyering@redhat.com>
9236
9237         di-set.h, ino-map.h: add multiple-inclusion guard
9238         Technically, the guard is required only for ino-map.h, due to its
9239         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
9240         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
9241         * lib/ino-map.h: Likewise.
9242
9243 2011-02-06  Bruno Haible  <bruno@clisp.org>
9244
9245         iswblank: Ensure declaration on glibc systems.
9246         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
9247         * modules/iswblank (Dependencies): Add 'extensions'.
9248         * doc/posix-functions/iswblank.texi: Document the glibc problem.
9249
9250 2011-02-06  Bruno Haible  <bruno@clisp.org>
9251
9252         New module 'iswblank'.
9253         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
9254         * modules/iswblank: New file.
9255         * modules/wctype-h (Files): Remove lib/iswblank.c.
9256         (Makefile.am): Substitute GNULIB_ISWBLANK.
9257         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
9258         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
9259         (gl_WCTYPE_H_DEFAULTS): New macro.
9260         (gl_WCTYPE_H): Require it. Remove iswblank related code.
9261         * modules/iswblank-tests: New file.
9262         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
9263         * tests/test-wctype-h.c (main): Remove iswblank tests.
9264         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
9265         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
9266         of 'wctype-h'.
9267         * NEWS: Mention the change.
9268         * modules/mbchar (Depends-on): Add iswblank.
9269
9270 2011-02-08  Bruno Haible  <bruno@clisp.org>
9271
9272         di-set tests: Refactor.
9273         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
9274         unnecessary includes.
9275         (ASSERT): Remove macro.
9276         (main): Make C90 compliant by avoiding variable declaration after
9277         statement.
9278         * modules/di-set-tests (Files): Add tests/macros.h.
9279
9280 2011-02-08  Bruno Haible  <bruno@clisp.org>
9281
9282         ino-map tests: Refactor.
9283         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
9284         unnecessary includes.
9285         (ASSERT): Remove macro.
9286         (main): Make C90 compliant by avoiding variable declaration after
9287         statement.
9288         * modules/ino-map-tests (Files): Add tests/macros.h.
9289
9290 2011-02-08  Jim Meyering  <meyering@redhat.com>
9291
9292         di-set: add "const" to a cast
9293         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
9294         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
9295
9296 2011-02-06  Bruno Haible  <bruno@clisp.org>
9297
9298         Rename module 'wctype' to 'wctype-h'.
9299         * modules/wctype-h: Renamed from modules/wctype.
9300         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
9301         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
9302         (Files, Depends-on, Makefile.am): Update.
9303         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
9304         (Files, Makefile.am): Update.
9305         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
9306         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
9307         * doc/posix-headers/wctype.texi: Update.
9308         * doc/posix-functions/iswalnum.texi: Update.
9309         * doc/posix-functions/iswalpha.texi: Update.
9310         * doc/posix-functions/iswblank.texi: Update.
9311         * doc/posix-functions/iswcntrl.texi: Update.
9312         * doc/posix-functions/iswdigit.texi: Update.
9313         * doc/posix-functions/iswgraph.texi: Update.
9314         * doc/posix-functions/iswlower.texi: Update.
9315         * doc/posix-functions/iswprint.texi: Update.
9316         * doc/posix-functions/iswpunct.texi: Update.
9317         * doc/posix-functions/iswspace.texi: Update.
9318         * doc/posix-functions/iswupper.texi: Update.
9319         * doc/posix-functions/iswxdigit.texi: Update.
9320         * doc/posix-functions/towlower.texi: Update.
9321         * doc/posix-functions/towupper.texi: Update.
9322         * NEWS: Mention the change.
9323         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
9324         * modules/mbchar (Dependencies): Likewise.
9325         * modules/mbswidth (Dependencies): Likewise.
9326         * modules/quotearg (Dependencies): Likewise.
9327         * modules/regex (Dependencies): Likewise.
9328         * modules/wcscasecmp (Dependencies): Likewise.
9329         * modules/wcsncasecmp (Dependencies): Likewise.
9330         * modules/wcwidth (Dependencies): Likewise.
9331
9332 2011-02-06  Bruno Haible  <bruno@clisp.org>
9333
9334         New module 'wcswidth'.
9335         * modules/wcswidth: New file.
9336         * lib/wchar.in.h (wcswidth): New declaration.
9337         * lib/wcswidth.c: New file.
9338         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
9339         * m4/wcswidth.m4: New file.
9340         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
9341         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
9342         REPLACE_WCSWIDTH.
9343         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
9344         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
9345         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
9346         * doc/posix-functions/wcswidth.texi: Mention the new module.
9347
9348 2011-02-06  Bruno Haible  <bruno@clisp.org>
9349
9350         New module 'wcstok'.
9351         * modules/wcstok: New file.
9352         * lib/wchar.in.h (wcstok): New declaration.
9353         * lib/wcstok.c: New file.
9354         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
9355         * m4/wcstok.m4: New file.
9356         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
9357         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
9358         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
9359         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
9360         * doc/posix-functions/wcstok.texi: Mention the new module.
9361
9362 2011-02-06  Bruno Haible  <bruno@clisp.org>
9363
9364         New module 'wcsstr'.
9365         * modules/wcsstr: New file.
9366         * lib/wchar.in.h (wcsstr): New declaration.
9367         * lib/wcsstr.c: New file.
9368         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
9369         * m4/wcsstr.m4: New file.
9370         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
9371         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
9372         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
9373         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
9374         * doc/posix-functions/wcsstr.texi: Mention the new module.
9375
9376 2011-02-06  Bruno Haible  <bruno@clisp.org>
9377
9378         New module 'wcspbrk'.
9379         * modules/wcspbrk: New file.
9380         * lib/wchar.in.h (wcspbrk): New declaration.
9381         * lib/wcspbrk.c: New file.
9382         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
9383         * m4/wcspbrk.m4: New file.
9384         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
9385         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
9386         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
9387         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
9388         * doc/posix-functions/wcspbrk.texi: Mention the new module.
9389
9390 2011-02-06  Bruno Haible  <bruno@clisp.org>
9391
9392         New module 'wcsspn'.
9393         * modules/wcsspn: New file.
9394         * lib/wchar.in.h (wcsspn): New declaration.
9395         * lib/wcsspn.c: New file.
9396         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
9397         * m4/wcsspn.m4: New file.
9398         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
9399         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
9400         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
9401         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
9402         * doc/posix-functions/wcsspn.texi: Mention the new module.
9403
9404 2011-02-06  Bruno Haible  <bruno@clisp.org>
9405
9406         New module 'wcscspn'.
9407         * modules/wcscspn: New file.
9408         * lib/wchar.in.h (wcscspn): New declaration.
9409         * lib/wcscspn.c: New file.
9410         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
9411         * m4/wcscspn.m4: New file.
9412         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
9413         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
9414         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
9415         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
9416         * doc/posix-functions/wcscspn.texi: Mention the new module.
9417
9418 2011-02-06  Bruno Haible  <bruno@clisp.org>
9419
9420         New module 'wcsrchr'.
9421         * modules/wcsrchr: New file.
9422         * lib/wchar.in.h (wcsrchr): New declaration.
9423         * lib/wcsrchr.c: New file.
9424         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
9425         * m4/wcsrchr.m4: New file.
9426         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
9427         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
9428         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
9429         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
9430         * doc/posix-functions/wcsrchr.texi: Mention the new module.
9431
9432 2011-02-06  Bruno Haible  <bruno@clisp.org>
9433
9434         New module 'wcschr'.
9435         * modules/wcschr: New file.
9436         * lib/wchar.in.h (wcschr): New declaration.
9437         * lib/wcschr.c: New file.
9438         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
9439         * m4/wcschr.m4: New file.
9440         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
9441         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
9442         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
9443         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
9444         * doc/posix-functions/wcschr.texi: Mention the new module.
9445
9446 2011-02-06  Bruno Haible  <bruno@clisp.org>
9447
9448         New module 'wcsdup'.
9449         * modules/wcsdup: New file.
9450         * lib/wchar.in.h (wcsdup): New declaration.
9451         * lib/wcsdup.c: New file.
9452         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
9453         * m4/wcsdup.m4: New file.
9454         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
9455         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
9456         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
9457         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
9458         * doc/posix-functions/wcsdup.texi: Mention the new module.
9459
9460 2011-02-06  Bruno Haible  <bruno@clisp.org>
9461
9462         New module 'wcsxfrm'.
9463         * modules/wcsxfrm: New file.
9464         * lib/wchar.in.h (wcsxfrm): New declaration.
9465         * lib/wcsxfrm.c: New file.
9466         * lib/wcsxfrm-impl.h: New file.
9467         * m4/wcsxfrm.m4: New file.
9468         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
9469         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
9470         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
9471         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
9472         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
9473
9474 2011-02-06  Bruno Haible  <bruno@clisp.org>
9475
9476         New module 'wcscoll'.
9477         * modules/wcscoll: New file.
9478         * lib/wchar.in.h (wcscoll): New declaration.
9479         * lib/wcscoll.c: New file.
9480         * lib/wcscoll-impl.h: New file.
9481         * m4/wcscoll.m4: New file.
9482         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
9483         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
9484         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
9485         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
9486         * doc/posix-functions/wcscoll.texi: Mention the new module.
9487
9488 2011-02-06  Bruno Haible  <bruno@clisp.org>
9489
9490         New module 'wcsncasecmp'.
9491         * modules/wcsncasecmp: New file.
9492         * lib/wchar.in.h (wcsncasecmp): New declaration.
9493         * lib/wcsncasecmp.c: New file.
9494         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
9495         * m4/wcsncasecmp.m4: New file.
9496         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
9497         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
9498         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
9499         HAVE_WCSNCASECMP.
9500         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
9501         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
9502
9503 2011-02-06  Bruno Haible  <bruno@clisp.org>
9504
9505         New module 'wcscasecmp'.
9506         * modules/wcscasecmp: New file.
9507         * lib/wchar.in.h (wcscasecmp): New declaration.
9508         * lib/wcscasecmp.c: New file.
9509         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
9510         * m4/wcscasecmp.m4: New file.
9511         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
9512         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
9513         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
9514         HAVE_WCSCASECMP.
9515         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
9516         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
9517
9518 2011-02-05  Bruno Haible  <bruno@clisp.org>
9519
9520         New module 'wcsncmp'.
9521         * modules/wcsncmp: New file.
9522         * lib/wchar.in.h (wcsncmp): New declaration.
9523         * lib/wcsncmp.c: New file.
9524         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
9525         * m4/wcsncmp.m4: New file.
9526         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
9527         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
9528         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
9529         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
9530         * doc/posix-functions/wcsncmp.texi: Mention the new module.
9531
9532 2011-02-05  Bruno Haible  <bruno@clisp.org>
9533
9534         New module 'wcscmp'.
9535         * modules/wcscmp: New file.
9536         * lib/wchar.in.h (wcscmp): New declaration.
9537         * lib/wcscmp.c: New file.
9538         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
9539         * m4/wcscmp.m4: New file.
9540         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
9541         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
9542         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
9543         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
9544         * doc/posix-functions/wcscmp.texi: Mention the new module.
9545
9546 2011-02-05  Bruno Haible  <bruno@clisp.org>
9547
9548         New module 'wcsncat'.
9549         * modules/wcsncat: New file.
9550         * lib/wchar.in.h (wcsncat): New declaration.
9551         * lib/wcsncat.c: New file.
9552         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
9553         * m4/wcsncat.m4: New file.
9554         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
9555         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
9556         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
9557         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
9558         * doc/posix-functions/wcsncat.texi: Mention the new module.
9559
9560 2011-02-05  Bruno Haible  <bruno@clisp.org>
9561
9562         New module 'wcscat'.
9563         * modules/wcscat: New file.
9564         * lib/wchar.in.h (wcscat): New declaration.
9565         * lib/wcscat.c: New file.
9566         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
9567         * m4/wcscat.m4: New file.
9568         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
9569         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
9570         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
9571         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
9572         * doc/posix-functions/wcscat.texi: Mention the new module.
9573
9574 2011-02-05  Bruno Haible  <bruno@clisp.org>
9575
9576         New module 'wcpncpy'.
9577         * modules/wcpncpy: New file.
9578         * lib/wchar.in.h (wcpncpy): New declaration.
9579         * lib/wcpncpy.c: New file.
9580         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
9581         * m4/wcpncpy.m4: New file.
9582         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
9583         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
9584         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
9585         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
9586         * doc/posix-functions/wcpncpy.texi: Mention the new module.
9587
9588 2011-02-05  Bruno Haible  <bruno@clisp.org>
9589
9590         New module 'wcsncpy'.
9591         * modules/wcsncpy: New file.
9592         * lib/wchar.in.h (wcsncpy): New declaration.
9593         * lib/wcsncpy.c: New file.
9594         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
9595         * m4/wcsncpy.m4: New file.
9596         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
9597         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
9598         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
9599         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
9600         * doc/posix-functions/wcsncpy.texi: Mention the new module.
9601
9602 2011-02-05  Bruno Haible  <bruno@clisp.org>
9603
9604         New module 'wcpcpy'.
9605         * modules/wcpcpy: New file.
9606         * lib/wchar.in.h (wcpcpy): New declaration.
9607         * lib/wcpcpy.c: New file.
9608         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
9609         * m4/wcpcpy.m4: New file.
9610         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
9611         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
9612         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
9613         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
9614         * doc/posix-functions/wcpcpy.texi: Mention the new module.
9615
9616 2011-02-05  Bruno Haible  <bruno@clisp.org>
9617
9618         New module 'wcscpy'.
9619         * modules/wcscpy: New file.
9620         * lib/wchar.in.h (wcscpy): New declaration.
9621         * lib/wcscpy.c: New file.
9622         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
9623         * m4/wcscpy.m4: New file.
9624         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
9625         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
9626         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
9627         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
9628         * doc/posix-functions/wcscpy.texi: Mention the new module.
9629
9630 2011-02-05  Bruno Haible  <bruno@clisp.org>
9631
9632         New module 'wcsnlen'.
9633         * modules/wcsnlen: New file.
9634         * lib/wchar.in.h (wcsnlen): New declaration.
9635         * lib/wcsnlen.c: New file.
9636         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
9637         * m4/wcsnlen.m4: New file.
9638         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
9639         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
9640         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
9641         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
9642         * doc/posix-functions/wcsnlen.texi: Mention the new module.
9643
9644 2011-02-05  Bruno Haible  <bruno@clisp.org>
9645
9646         New module 'wcslen'.
9647         * modules/wcslen: New file.
9648         * lib/wchar.in.h (wcslen): New declaration.
9649         * lib/wcslen.c: New file.
9650         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
9651         * m4/wcslen.m4: New file.
9652         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
9653         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
9654         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
9655         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
9656         * doc/posix-functions/wcslen.texi: Mention the new module.
9657
9658 2011-02-05  Bruno Haible  <bruno@clisp.org>
9659
9660         New module 'wmemset'.
9661         * modules/wmemset: New file.
9662         * lib/wchar.in.h (wmemset): New declaration.
9663         * lib/wmemset.c: New file.
9664         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
9665         * m4/wmemset.m4: New file.
9666         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
9667         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
9668         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
9669         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
9670         * doc/posix-functions/wmemset.texi: Mention the new module.
9671
9672 2011-02-05  Bruno Haible  <bruno@clisp.org>
9673
9674         New module 'wmemmove'.
9675         * modules/wmemmove: New file.
9676         * lib/wchar.in.h (wmemmove): New declaration.
9677         * lib/wmemmove.c: New file.
9678         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
9679         * m4/wmemmove.m4: New file.
9680         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
9681         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
9682         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
9683         HAVE_WMEMMOVE.
9684         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
9685         * doc/posix-functions/wmemmove.texi: Mention the new module.
9686
9687 2011-02-05  Bruno Haible  <bruno@clisp.org>
9688
9689         New module 'wmemcpy'.
9690         * modules/wmemcpy: New file.
9691         * lib/wchar.in.h (wmemcpy): New declaration.
9692         * lib/wmemcpy.c: New file.
9693         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
9694         * m4/wmemcpy.m4: New file.
9695         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
9696         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
9697         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
9698         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
9699         * doc/posix-functions/wmemcpy.texi: Mention the new module.
9700
9701 2011-02-05  Bruno Haible  <bruno@clisp.org>
9702
9703         New module 'wmemcmp'.
9704         * modules/wmemcmp: New file.
9705         * lib/wchar.in.h (wmemcmp): New declaration.
9706         * lib/wmemcmp.c: New file.
9707         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
9708         * m4/wmemcmp.m4: New file.
9709         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
9710         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
9711         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
9712         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
9713         * doc/posix-functions/wmemcmp.texi: Mention the new module.
9714
9715 2011-02-07  Jim Meyering  <meyering@redhat.com>
9716
9717         di-set, ino-map: new modules, from coreutils
9718         * lib/di-set.c: New file.
9719         * lib/di-set.h: Likewise.
9720         * lib/ino-map.c: Likewise.
9721         * lib/ino-map.h: Likewise.
9722         * modules/di-set: Likewise.
9723         * modules/di-set-tests: Likewise.
9724         * modules/ino-map: Likewise.
9725         * modules/ino-map-tests: Likewise.
9726         * tests/test-di-set.c: Likewise.
9727         * tests/test-ino-map.c: Likewise.
9728
9729 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
9730
9731         getloadavg: merge minor changes from Emacs
9732
9733         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
9734         (getloadavg): Use memset, not bzero.
9735
9736         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
9737         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
9738         clash (bug#86).
9739
9740 2010-11-14  Bruno Haible  <bruno@clisp.org>
9741
9742         Allow multiple gnulib generated replacements to coexist.
9743         * lib/getopt.in.h (struct option): Avoid identical redefinition.
9744         * lib/inttypes.in.h (imaxdiv_t): Likewise.
9745         * lib/langinfo.in.h (nl_item): Likewise.
9746         * lib/math.in.h (_NaN, NAN): Likewise.
9747         * lib/netdb.in.h (struct addrinfo): Likewise.
9748         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
9749         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
9750         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
9751         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
9752         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
9753         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
9754         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
9755         pthread_mutexattr_init, pthread_mutexattr_settype,
9756         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
9757         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
9758         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
9759         pthread_spin_trylock, pthread_spin_unlock): Likewise.
9760         * lib/sched.in.h (struct sched_param): Likewise.
9761         * lib/se-selinux.in.h (security_class_t, security_context_t,
9762         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
9763         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
9764         lsetfilecon, fsetfilecon, security_check_context,
9765         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
9766         Likewise.
9767         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
9768         Likewise.
9769         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
9770         _gl_function_taking_int_returning_void_t, union sigval,
9771         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
9772         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
9773         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
9774         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
9775         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
9776         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
9777         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
9778         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
9779         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
9780         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
9781         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
9782         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
9783         socklen_t, rpl_fd_isset): Likewise.
9784         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
9785         * lib/sys_time.in.h (struct timeval): Likewise.
9786         * lib/sys_times.in.h (struct tms): Likewise.
9787         * lib/sys_utsname.in.h (struct utsname):
9788         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
9789         * lib/unistd.in.h (getpagesize): Likewise.
9790         * lib/wchar.in.h (mbstate_t): Likewise.
9791         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
9792         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
9793         towlower, towupper): Likewise.
9794         Reported by Sam Steingold <sds@gnu.org>.
9795
9796 2011-02-05  Eric Blake  <eblake@redhat.com>
9797
9798         unsetenv: work around Haiku issues
9799         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
9800         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
9801
9802 2010-12-30  Bruce Korb  <bkorb@gnu.org>
9803
9804         libposix: avoid calling error() within libposix
9805         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
9806         is defined.
9807
9808 2011-02-05  Eric Blake  <eblake@redhat.com>
9809
9810         strerror_r-posix: port to cygwin
9811         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
9812         implementation.
9813         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
9814         * tests/test-strerror_r.c (main): Fix test.
9815         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
9816         issue.
9817
9818 2011-02-05  Bruno Haible  <bruno@clisp.org>
9819
9820         New module 'wmemchr'.
9821         * modules/wmemchr: New file.
9822         * lib/wchar.in.h (wmemchr): New declaration.
9823         * lib/wmemchr.c: New file.
9824         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
9825         * m4/wmemchr.m4: New file.
9826         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
9827         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
9828         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
9829         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
9830         * doc/posix-functions/wmemchr.texi: Mention the new module.
9831
9832 2011-02-04  Eric Blake  <eblake@redhat.com>
9833
9834         fdopendir: detect FreeBSD bug
9835         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
9836         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
9837
9838 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
9839
9840         stdbool: do not define HAVE_STDBOOL_H
9841         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
9842         AC_HEADER_STDBOOL.  All uses changed.  Do not define
9843         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
9844         imported from the latest Autoconf git.  It was motivated by Emacs,
9845         which uses gnulib but does not need HAVE_STDBOOL_H.
9846
9847 2011-02-04  Bruno Haible  <bruno@clisp.org>
9848
9849         wcsnrtombs: Prepare for new module wwcsnrtombs.
9850         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
9851         * lib/wcsnrtombs.c: Include it.
9852         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
9853
9854         wcsrtombs: Prepare for new module wwcsrtombs.
9855         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
9856         * lib/wcsrtombs.c: Include it.
9857         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
9858
9859         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
9860         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
9861         * lib/mbsnrtowcs.c: Include it.
9862         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
9863
9864         mbsrtowcs: Prepare for new module mbsrtowwcs.
9865         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
9866         * lib/mbsrtowcs.c: Include it.
9867         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
9868
9869 2011-02-04  Bruno Haible  <bruno@clisp.org>
9870
9871         vasnprintf: Reduce use of malloc for small format strings.
9872         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
9873         (arguments): Add room for the first 7 arguments.
9874         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
9875         (char_directives, u8_directives, u16_directives, u32_directives): Add
9876         room for the first 7 directives.
9877         * lib/printf-parse.c: Include <string.h>.
9878         (PRINTF_PARSE): Change memory handling code so that it uses the first
9879         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
9880         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
9881         Reported by Pádraig Brady <P@draigbrady.com>.
9882
9883 2011-01-31  Eric Blake  <eblake@redhat.com>
9884
9885         dup2: work around Haiku bug
9886         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
9887         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
9888         * doc/posix-functions/dup2.texi (dup2): Document the bug.
9889         * tests/test-dup2.c (main): Enhance test.
9890
9891 2011-01-31  Simon Josefsson  <simon@josefsson.org>
9892
9893         doc: off_t is not available in eglibc 2.11.2 stdio.h.
9894         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
9895         declared by eglibc 2.11.2.
9896         * lib/stdio.in.h: Likewise.
9897
9898 2011-01-31  Eric Blake  <eblake@redhat.com>
9899
9900         ignore-value: add missing test dependency
9901         * tests/test-ignore-value.c: Revert previous change; stdio.h
9902         provides off_t.
9903         * modules/ignore-value-tests (Depends-on): Add missing dependency.
9904
9905 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
9906
9907         mktime: clarify long_int width checking
9908         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
9909         the top level, to make it clearer that the assumption about
9910         long_int width is being checked.  See
9911         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
9912
9913 2011-01-30  Simon Josefsson  <simon@josefsson.org>
9914
9915         ignore-value: Fix self-test.
9916         * tests/test-ignore-value.c: Include sys/types.h for off_t.
9917
9918 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
9919
9920         TYPE_MAXIMUM: avoid theoretically undefined behavior
9921         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
9922         negative number, which the C Standard says has undefined behavior.
9923         In practice this is not a problem, but might as well do it by the book.
9924         Reported by Rich Felker and Eric Blake; see
9925         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
9926         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
9927         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
9928         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
9929         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
9930         * m4/stdint.m4 (gl_STDINT_H): Likewise.
9931         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
9932
9933         mktime: #undef mktime before #defining it
9934         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
9935
9936         mktime: systematically normalize tm_isdst comparisons
9937         * lib/mktime.c (isdst_differ): New function.
9938         (__mktime_internal): Use it systematically for all isdst comparisons.
9939         This completes the fix for libc BZ #6723, and removes the need for
9940         normalizing tm_isdst.  See
9941         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
9942         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
9943
9944         mktime: fix some integer overflow issues and sidestep the rest
9945
9946         This was prompted by a bug report by Benjamin Lindner for MinGW
9947         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
9948         His bug is due to signed integer overflow (0 - INT_MIN), and I
9949         I scanned through mktime.c looking for other integer overflow
9950         problems, fixing all the bugs I found.
9951
9952         Although the C Standard says the resulting code is still not safe
9953         in the presence of integer overflow, in practice it should be good
9954         enough for all real-world two's-complement implementations, except
9955         for debugging environments that deliberately trap on integer
9956         overflow (e.g., gcc -ftrapv).
9957
9958         * lib/mktime.c (WRAPV): New macro.
9959         (SHR): Also check that long_int and time_t shift right in the
9960         usual way, before using the fast-but-unportable method.
9961         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
9962         used.  The code already assumed two's complement, so there's
9963         no need to test for alternatives.  All uses removed.
9964         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
9965         the C standard.  Problem reported by Rich Felker in
9966         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
9967         (twos_complement_arithmetic): Also check long_int and time_t.
9968         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
9969         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
9970         (__mktime_internal): Avoid integer overflow with unary subtraction
9971         in two instances where -1 - X is an adequate replacement for -X,
9972         since the calculations are approximate.
9973
9974 2011-01-29  Eric Blake  <eblake@redhat.com>
9975
9976         mktime: avoid infinite loop
9977         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
9978         type; behavior is still undefined but portable to all known targets.
9979         Reported by Rich Felker.
9980
9981 2011-01-29  Simon Josefsson  <simon@josefsson.org>
9982
9983         rename, unlink, same-inode: Relicense.
9984         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
9985         * modules/unlink (License): Likewise.
9986         * modules/same-inode (License): Likewise.
9987
9988 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
9989
9990         mktime: avoid problems on NetBSD 5 / i386
9991         * lib/mktime.c (long_int): New type.  This works around a problem
9992         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
9993         but time_t is 64 bits, and where I expect the existing code is
9994         wrong in some cases.
9995         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
9996         (ydhms_diff): Bring back the compile-time check for wide-enough
9997         year and yday.
9998
9999         mktime: fix misspelling in comment
10000         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
10001         This merges all recent glibc changes of importance.
10002
10003 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10004
10005         move-if-change: cope with concurrent mv of identical file.
10006         * build-aux/move-if-change (CMPPROG): Accept environment
10007         variable as an override for `cmp'.
10008         (usage): Document CMPPROG.
10009         Adjust comparison to drop stdout.  Cope with failure of mv if
10010         the target file exists and is identical to the source, for
10011         parallel builds.
10012         Report from H.J. Lu against binutils in PR binutils/12283.
10013
10014 2011-01-28  Bruce Korb  <bkorb@gnu.org>
10015
10016         * users.txt: Mention sharutils.
10017
10018 2011-01-28  Simon Josefsson  <simon@josefsson.org>
10019
10020         * users.txt: Mention OATH Toolkit.
10021
10022 2011-01-27  Bruno Haible  <bruno@clisp.org>
10023
10024         Prepare for supporting FreeBSD 10.
10025         * build-aux/config.libpath: Remove handling of freebsd1*.
10026
10027 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
10028
10029         Prepare for supporting FreeBSD 10.
10030         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
10031         match FreeBSD 10.0.
10032
10033 2011-01-27  Bruno Haible  <bruno@clisp.org>
10034
10035         vma-iter, get-rusage-as: Add OpenBSD support.
10036         * modules/vma-iter (configure.ac): Test for mquery.
10037         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
10038         * lib/vma-iter.c: Include <sys/mman.h>.
10039         (vma_iterate): Add an implementation based on mquery().
10040         * lib/resource-ext.h (get_rusage_as): Update comments.
10041         * lib/get-rusage-as.c: Likewise.
10042         * lib/get-rusage-data.c: Likewise.
10043
10044 2011-01-26  Karl Berry  <karl@gnu.org>
10045
10046         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
10047         variables to make it easier to override the makeinfo program used.
10048
10049 2011-01-26  Eric Blake  <eblake@redhat.com>
10050
10051         fcntl: work around Haiku F_DUPFD bugs
10052         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
10053         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
10054         cloexec bit on duplication.
10055         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
10056
10057 2011-01-26  Bruno Haible  <bruno@clisp.org>
10058
10059         Enable memory leak tests on AIX.
10060         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
10061         * tests/test-fprintf-posix3.c (main): Likewise.
10062
10063 2011-01-26  Bruno Haible  <bruno@clisp.org>
10064
10065         Tests for module 'get-rusage-data'.
10066         * modules/get-rusage-data-tests: New file.
10067         * tests/test-get-rusage-data.c: New file.
10068
10069         New module 'get-rusage-data'.
10070         * lib/resource-ext.h (get_rusage_data): New declaration.
10071         * lib/get-rusage-data.c: New file.
10072         * modules/get-rusage-data: New file.
10073
10074 2011-01-25  Bruno Haible  <bruno@clisp.org>
10075
10076         get-rusage-as: Allow for easier testing.
10077         * lib/resource-ext.h (get_rusage_as): Add comment.
10078         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
10079         (main): New function for interactive testing.
10080
10081 2011-01-25  Bruno Haible  <bruno@clisp.org>
10082
10083         vma-iter: Treat Haiku like BeOS.
10084         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
10085         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
10086
10087 2011-01-25  Eric Blake  <eblake@redhat.com>
10088
10089         c-stack: fix regression on cygwin when libsigsegv is present
10090         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
10091
10092 2011-01-24  Bruno Haible  <bruno@clisp.org>
10093
10094         vma-iter: Avoid empty intervals.
10095         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
10096         on an empty interval.
10097
10098 2011-01-24  Jim Meyering  <meyering@redhat.com>
10099
10100         u64: remove unnecessary #include
10101         * lib/u64.h: Don't include <stddef.h>.  It was not used.
10102
10103 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
10104
10105         Allow the user to avoid the HAVE_RAW_DECL_* macros.
10106         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
10107
10108 2011-01-23  Bruno Haible  <bruno@clisp.org>
10109
10110         New module 'vma-iter'.
10111         * lib/vma-iter.h: New file.
10112         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
10113         * modules/vma-iter: New file.
10114         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
10115         for get_rusage_as_via_iterator.
10116         (vma_iterate_callback): New function.
10117         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
10118         * modules/get-rusage-as (Depends-on): Add vma-iter.
10119
10120 2011-01-23  Bruno Haible  <bruno@clisp.org>
10121
10122         uninorm: Tweak includes.
10123         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
10124         Reported by Jim Meyering.
10125
10126 2011-01-23  Bruno Haible  <bruno@clisp.org>
10127
10128         get-rusage-as: Improve on NetBSD.
10129         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
10130         /proc, like on FreeBSD.
10131
10132 2011-01-23  Jim Meyering  <meyering@redhat.com>
10133
10134         xreadlink.h: remove unnecessary #include
10135         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
10136
10137         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
10138         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
10139
10140 2011-01-23  Bruno Haible  <bruno@clisp.org>
10141
10142         get-rusage-as: Fix bug.
10143         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
10144         original limit when aborting the first loop.
10145
10146 2011-01-23  Bruno Haible  <bruno@clisp.org>
10147
10148         wctype: Ensure valid C syntax.
10149         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
10150         unconditionally, instead of gl_NEXT_HEADERS conditionally.
10151
10152 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
10153
10154         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
10155         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
10156         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
10157         as they are needed only for configure's test case.
10158         This removes two unnecessary symbols from config.h.
10159
10160         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
10161         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
10162         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
10163         AC_CHECK_HEADERS_ONCE on a header that we also invoke
10164         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
10165         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
10166         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
10167         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
10168         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
10169         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
10170         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
10171         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
10172         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
10173         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
10174         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
10175         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
10176         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
10177         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
10178
10179 2011-01-21  Eric Blake  <eblake@redhat.com>
10180
10181         maintainer-makefile: work with older git for submodule check
10182         * top/maint.mk (public-submodule-commit): Rewrite to avoid
10183         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
10184         Reported by Matthias Bolte.
10185
10186         bootstrap: minor portability fixes
10187         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
10188         (usage): Omit leading capital and trailing . on help phrases, per
10189         GNU Coding Standards.
10190         (check_versions, top level): Prefix messages with script name.
10191
10192 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
10193
10194         bootstrap: support --no-git option
10195         * build-aux/bootstrap: Add --no-git option, to be used when
10196         --gnulib-srcdir points to the exact desired checkout.
10197
10198 2011-01-21  Eric Blake  <eblake@redhat.com>
10199
10200         strerror_r-posix: work with glibc 2.13
10201         * lib/strerror_r.c (strerror_r): Fix return type.
10202
10203 2011-01-21  Pádraig Brady  <P@draigBrady.com>
10204             Bruno Haible  <bruno@clisp.org>
10205
10206         uN_strstr: New unit tests.
10207         * modules/unistr/u8-strstr-tests: New file.
10208         * modules/unistr/u16-strstr-tests: New file.
10209         * modules/unistr/u32-strstr-tests: New file.
10210         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
10211         * tests/unistr/test-u8-strstr.c: New file.
10212         * tests/unistr/test-u16-strstr.c: New file.
10213         * tests/unistr/test-u32-strstr.c: New file.
10214
10215 2011-01-21  Pádraig Brady  <P@draigBrady.com>
10216             Bruno Haible  <bruno@clisp.org>
10217
10218         Make uN_strstr functions O(n) worst-case.
10219         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
10220         16-bit and 32-bit unit cases, use the unibyte algorithm from
10221         lib/mbsstr.c.
10222         * lib/unistr/u8-strstr.c: Include <string.h>.
10223         (UNIT_IS_UINT8_T): New macro.
10224         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
10225         (U_STRLEN, U_STRNLEN): New macros.
10226         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
10227         (U_STRLEN, U_STRNLEN): New macros.
10228         * modules/unistr/u8-strstr (Depends-on): Add strstr.
10229         (configure.ac): Update required libunistring version.
10230         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
10231         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
10232         malloca.
10233         (configure.ac): Update required libunistring version.
10234         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
10235         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
10236         malloca.
10237         (configure.ac): Update required libunistring version.
10238
10239 2011-01-21  Pádraig Brady  <P@draigBrady.com>
10240             Bruno Haible  <bruno@clisp.org>
10241
10242         Prepare for faster uN_strstr functions.
10243         * lib/str-kmp.h: Support definable UNITs.
10244         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
10245         needle_len argument.
10246         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
10247         * lib/mbscasestr.c (mbscasestr): Likewise.
10248
10249 2011-01-21  Pádraig Brady <P@draigBrady.com>
10250
10251         malloca-tests: make faster by unsetting MALLOC_PERTURB_
10252         * tests/test-malloca.c (main): Unset the environment variable
10253         to greatly speed up the test.
10254         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
10255         * modules/malloca-tests: Depend on unsetenv.
10256
10257 2011-01-21  Pádraig Brady <P@draigBrady.com>
10258
10259         ignore-value: remove stdint dependency
10260         * lib/ignore-value.h: Remove <stdint.h>
10261         * modules/ignore-value: Remove stdint dependency.
10262
10263 2011-01-21  Jim Meyering  <meyering@redhat.com>
10264
10265         maint.mk: adjust variable name to be consistent with other gl_ vars
10266         * top/maint.mk (gl_public_submodule_commit): Rename the variable
10267         to be lower case.
10268
10269 2011-01-20  Jim Meyering  <meyering@redhat.com>
10270
10271         maint.mk: make "check" depend on public-submodule-commit by default
10272         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
10273
10274 2011-01-20  Bruno Haible  <bruno@clisp.org>
10275
10276         mbfile, mbiter: Complete change from 2008-12-21.
10277         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
10278         * m4/mbiter.m4 (gl_MBITER): Likewise.
10279
10280 2011-01-20  Jim Meyering  <meyering@redhat.com>
10281
10282         init.sh: insert space between each function name and "()"
10283         * tests/init.sh: Make it a little easier to see that a function's
10284         name is "warn_", and not "warn" when looking at the first part of
10285         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
10286
10287 2011-01-20  Jim Meyering  <meyering@redhat.com>
10288
10289         mountlist: clean up code formatting
10290         * lib/mountlist.c (read_file_system_list): Split a long line,
10291         correct bracing style, use NULL in place of "(struct statfs *)0",
10292         don't parenthesize return value, add spaces around "=" and after
10293         ";-in-for-stmt".
10294
10295 2011-01-14  Markus Duft <mduft@gentoo.org>
10296
10297         mountlist: add support for Interix
10298         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
10299         Apply statvfs to all entries of /dev/fs.
10300         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
10301         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
10302
10303 2011-01-20  Jim Meyering  <meyering@redhat.com>
10304
10305         maint.mk: improve the public-submodule-commit rule
10306         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
10307         to suppress printing of its commands... unless V=1.
10308         Add git submodule's --quiet option to suppress printing of e.g.,
10309         "Entering gnulib" output.
10310         "cd" into $(srcdir) before running git submodule.
10311
10312 2011-01-20  Bruno Haible  <bruno@clisp.org>
10313
10314         include_next: Fix bug introduced on 2011-01-18.
10315         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
10316         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
10317         ac_cv_header_... variable if the second argument is not 'check'.
10318         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
10319         gl_NEXT_HEADERS_INTERNAL.
10320
10321 2011-01-20  Bruno Haible  <bruno@clisp.org>
10322
10323         Allow the user to avoid the GNULIB_TEST_* macros.
10324         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
10325         Suggested by Paul Eggert.
10326
10327 2011-01-14  Jim Meyering  <meyering@redhat.com>
10328
10329         bootstrap: avoid failure when there is no .gitmodules file
10330         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
10331         has been assigned to, even when its value is the empty string.
10332         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
10333         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
10334         Reported by John W. Eaton <jwe@gnu.org>.
10335
10336 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
10337
10338         assume <ctype.h>, ..., <time.h> exist
10339         For years gnulib has been assuming the existence of the headers
10340         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
10341         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
10342         them, since they don't appear to be needed.
10343         * README (Portability guidelines): Document this.
10344         * lib/flock.c: Assume <fcntl.h> exists.
10345         * lib/regex_internal.h: Assume <locale.h> exists.
10346         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
10347         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
10348         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
10349         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
10350         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
10351         * m4/regex.m4 (gl_REGEX): Likewise.
10352         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
10353         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
10354         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
10355         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
10356         * tests/test-argp.c: Likewise.
10357         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
10358
10359         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
10360         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
10361         AA_APPLE_UNIVERSAL_BUILD.  See
10362         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
10363         * NEWS: Document this.
10364
10365 2011-01-19  Eric Blake  <eblake@redhat.com>
10366
10367         c-stack: assume stack overflow if SA_SIGINFO unsupported
10368         * lib/c-stack.c (SIGACTION_WORKS): Rename...
10369         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
10370         sigaction will work.
10371         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
10372         behavior match Linux.
10373         * tests/test-c-stack.c (main): Prefer NULL for pointers.
10374
10375         stdbool-tests: accomodate Haiku
10376         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
10377
10378         binary-io: fix O_TEXT on Haiku
10379         * modules/binary-io (Depends-on): Add fcntl-h.
10380         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
10381         than blindly undefining O_TEXT.
10382         Reported by Scott McCreary.
10383
10384 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
10385
10386         include_next: do not check for standard headers like stddef.h
10387
10388         I found this problem when modifying Emacs to use gnulib.
10389         I noticed that it added HAVE_STDDEF_H to config.h, even though
10390         gnulib always assumes <stddef.h> exists as per README and this
10391         symbol is unnecessary.
10392         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
10393         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
10394         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
10395         faster for headers like stddef.h that are known to exist.
10396         (gl_CHECK_NEXT_HEADERS): Use it.
10397         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
10398         rather than gl_CHECK_NEXT_HEADERS.
10399         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
10400         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
10401
10402 2011-01-18  Eric Blake  <eblake@redhat.com>
10403
10404         ansi-c++-opt: skip C++ dependency style if C++ is unused
10405         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
10406         tests when we know C++ compilation is not desired.
10407         Reported by Scott McCreary.
10408
10409 2011-01-18  Bruno Haible  <bruno@clisp.org>
10410
10411         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
10412         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
10413         (main): Perform test also when getrlimit and setrlimit don't exist or
10414         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
10415         limiting the address space size using setrlimit, compare the address
10416         space size before and after the the test.
10417         * tests/test-dprintf-posix2.c: Likewise.
10418         * tests/test-fprintf-posix3.sh: Update skip messages.
10419         * tests/test-dprintf-posix2.sh: Likewise.
10420         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
10421         * modules/dprintf-posix-tests (Depends-on): Likewise.
10422         Reported by Bruce Korb <bkorb@gnu.org> and
10423         Gary V. Vaughan <gary@gnu.org>.
10424
10425 2011-01-18  Bruno Haible  <bruno@clisp.org>
10426
10427         get-rusage-as: Improvement for Cygwin.
10428         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
10429         areas that are merely reserved.
10430
10431 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
10432
10433         strftime: remove dependencies on multibyte modules
10434
10435         strftime depended on mbrlen, mbsinit, and wchar, but these modules
10436         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
10437         only if __osf__ is defined, and I suspect OSF doesn't need these
10438         other modules.  If my guess is wrong, we'll need to come up with a
10439         variant of strftime that doesn't need the multibyte modules.
10440
10441         I discovered this problem when attempting modify Emacs to use the
10442         strftime module.  With the previous gnulib, this caused Emacs to
10443         need 31 new files, ranging from lib/config.charset to
10444         m4/wint_t.m4.  This was overkill and I expect would be offputting
10445         to the Emacs maintainers.  After this change, only 6 new files are
10446         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
10447         stdbool.m4, and tm_gmtoff.m4.
10448
10449         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
10450         Suggested by Bruno Haible in
10451         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
10452         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
10453         and do not check for wchar.h.
10454         * modules/strftime (Files): Remove m4/mbstate_t.m4.
10455         (Depends-on): Remove mbrlen, mbsinit, wchar.
10456
10457 2011-01-18  Bruno Haible  <bruno@clisp.org>
10458
10459         Tests for module 'get-rusage-as'.
10460         * modules/get-rusage-as-tests: New file.
10461         * tests/test-get-rusage-as.c: New file.
10462
10463         New module 'get-rusage-as'.
10464         * modules/get-rusage-as: New file.
10465         * lib/resource-ext.h: New file.
10466         * lib/get-rusage-as.c: New file.
10467
10468 2011-01-17  Eric Blake  <eblake@redhat.com>
10469
10470         sigaction: relax license from LGPLv3+ to LGPLv2+
10471         * modules/sigaction (License): Relax to LGPLv2+.
10472
10473 2011-01-14  Bruno Haible  <bruno@clisp.org>
10474
10475         filemode: Make function declarations usable in C++ mode.
10476         * lib/filemode.h: Enclose function declarations in extern "C" block.
10477         Reported by John W. Eaton <jwe@gnu.org>.
10478
10479 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
10480
10481         save-cwd: no longer include "xgetcwd.h"
10482         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
10483         This avoids a compilation failure in projects that use save-cwd
10484         without also using the xgetcwd module.
10485
10486 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
10487
10488         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
10489         This is so that a program like Emacs, which needs only dtoastr,
10490         does not have to bother with distributing and compiling ftoastr
10491         and ldtoastr.
10492         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
10493         * modules/dtoastr, modules/ldtoastr: New files.
10494         * modules/ftoastr: Now works just for 'float'.
10495         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
10496         (Makefile.am): Remove ftoastr.h (not needed and no effect),
10497         dtoastr.c, ldtoastr.c.
10498
10499 2011-01-11  Jim Meyering  <meyering@redhat.com>
10500
10501         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
10502         There is no need to work around the lack of the fchdir function,
10503         since gnulib can now provide a replacement when required.
10504         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
10505         * modules/save-cwd (Depends-on): Add fchdir.
10506
10507 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
10508
10509         openat, save-cwd: avoid xmalloc
10510
10511         This removes a direct (but undocumented) dependency of openat on
10512         xalloc, along with an indirect dependency via save-cwd.  It also
10513         removes a dependency of save-cwd on xgetcwd, and thereby
10514         indirectly on xalloc.  This change causes the openat substitute
10515         to fall back on save_cwd when memory is tight, and for save_cwd to
10516         fail instead of dying when memory is tight, but that's good enough.
10517         Problem and initial idea for fix reported by Bastien Roucaries in
10518         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
10519
10520         * lib/openat-proc.c: Include stdlib.h (for malloc), not
10521         xalloc.h (for xmalloc).
10522         (openat_proc_name): Use malloc, not xmalloc.
10523         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
10524         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
10525
10526         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
10527         This avoids heap allocation for file names whose lengths are in
10528         the range 512..1023, with the upper bound increasing to at most
10529         4031 depending on the platform's PATH_MAX.  (We do not want
10530         pathmax.h here as it might supply a non-constant PATH_MAX.)
10531         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
10532         Perhaps they should be moved to malloca.h?
10533         (OPENAT_BUFFER_SIZE): Use them.
10534
10535 2011-01-10  Bruno Haible  <bruno@clisp.org>
10536
10537         doc: Update users.txt.
10538         * users.txt: Add recutils.
10539
10540 2011-01-09  Karl Berry  <karl@gnu.org>
10541
10542         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
10543
10544         * doc/configmake.texi: New file.
10545         * doc/gnulib.texi: Include it.
10546         * modules/configmake: Move documentation from here.
10547
10548 2011-01-09  Bruno Haible  <bruno@clisp.org>
10549
10550         Update to Unicode 6.0.0.
10551         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
10552         (get_lbp): Update for Unicode 6.0.0.
10553         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
10554         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
10555         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
10556         U+11001, U+11038..U+11046. Remove U+06DE.
10557         (uc_width): Fix bounds of planes.
10558         * tests/uniwidth/test-uc_width2.sh: Same updates as in
10559         lib/uniwidth/width.c.
10560         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
10561         trailing whitespace removed.
10562         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
10563         without comments, but with the original copyright notice.
10564         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
10565         * lib/unicase/ignorable.h: Likewise.
10566         * lib/unicase/tocasefold.h: Likewise.
10567         * lib/unicase/tolower.h: Likewise.
10568         * lib/unicase/totitle.h: Likewise.
10569         * lib/unicase/toupper.h: Likewise.
10570         * lib/unictype/bidi_of.h: Likewise.
10571         * lib/unictype/blocks.h: Likewise.
10572         * lib/unictype/categ_C.h: Likewise.
10573         * lib/unictype/categ_Cn.h: Likewise.
10574         * lib/unictype/categ_L.h: Likewise.
10575         * lib/unictype/categ_Ll.h: Likewise.
10576         * lib/unictype/categ_Lm.h: Likewise.
10577         * lib/unictype/categ_Lo.h: Likewise.
10578         * lib/unictype/categ_Lu.h: Likewise.
10579         * lib/unictype/categ_M.h: Likewise.
10580         * lib/unictype/categ_Mc.h: Likewise.
10581         * lib/unictype/categ_Me.h: Likewise.
10582         * lib/unictype/categ_Mn.h: Likewise.
10583         * lib/unictype/categ_N.h: Likewise.
10584         * lib/unictype/categ_Nd.h: Likewise.
10585         * lib/unictype/categ_No.h: Likewise.
10586         * lib/unictype/categ_P.h: Likewise.
10587         * lib/unictype/categ_Po.h: Likewise.
10588         * lib/unictype/categ_S.h: Likewise.
10589         * lib/unictype/categ_Sc.h: Likewise.
10590         * lib/unictype/categ_Sk.h: Likewise.
10591         * lib/unictype/categ_Sm.h: Likewise.
10592         * lib/unictype/categ_So.h: Likewise.
10593         * lib/unictype/categ_of.h: Likewise.
10594         * lib/unictype/combining.h: Likewise.
10595         * lib/unictype/ctype_alnum.h: Likewise.
10596         * lib/unictype/ctype_alpha.h: Likewise.
10597         * lib/unictype/ctype_graph.h: Likewise.
10598         * lib/unictype/ctype_lower.h: Likewise.
10599         * lib/unictype/ctype_print.h: Likewise.
10600         * lib/unictype/ctype_punct.h: Likewise.
10601         * lib/unictype/ctype_upper.h: Likewise.
10602         * lib/unictype/decdigit.h: Likewise.
10603         * lib/unictype/digit.h: Likewise.
10604         * lib/unictype/numeric.h: Likewise.
10605         * lib/unictype/pr_alphabetic.h: Likewise.
10606         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
10607         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
10608         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
10609         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
10610         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
10611         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
10612         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
10613         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
10614         * lib/unictype/pr_case_ignorable.h: Likewise.
10615         * lib/unictype/pr_cased.h: Likewise.
10616         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
10617         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
10618         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
10619         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
10620         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
10621         * lib/unictype/pr_combining.h: Likewise.
10622         * lib/unictype/pr_composite.h: Likewise.
10623         * lib/unictype/pr_currency_symbol.h: Likewise.
10624         * lib/unictype/pr_decimal_digit.h: Likewise.
10625         * lib/unictype/pr_deprecated.h: Likewise.
10626         * lib/unictype/pr_format_control.h: Likewise.
10627         * lib/unictype/pr_grapheme_base.h: Likewise.
10628         * lib/unictype/pr_grapheme_extend.h: Likewise.
10629         * lib/unictype/pr_grapheme_link.h: Likewise.
10630         * lib/unictype/pr_id_continue.h: Likewise.
10631         * lib/unictype/pr_id_start.h: Likewise.
10632         * lib/unictype/pr_ideographic.h: Likewise.
10633         * lib/unictype/pr_lowercase.h: Likewise.
10634         * lib/unictype/pr_math.h: Likewise.
10635         * lib/unictype/pr_numeric.h: Likewise.
10636         * lib/unictype/pr_other_alphabetic.h: Likewise.
10637         * lib/unictype/pr_other_id_continue.h: Likewise.
10638         * lib/unictype/pr_other_math.h: Likewise.
10639         * lib/unictype/pr_punctuation.h: Likewise.
10640         * lib/unictype/pr_sentence_terminal.h: Likewise.
10641         * lib/unictype/pr_terminal_punctuation.h: Likewise.
10642         * lib/unictype/pr_unassigned_code_value.h: Likewise.
10643         * lib/unictype/pr_unified_ideograph.h: Likewise.
10644         * lib/unictype/pr_uppercase.h: Likewise.
10645         * lib/unictype/pr_xid_continue.h: Likewise.
10646         * lib/unictype/pr_xid_start.h: Likewise.
10647         * lib/unictype/scripts.h: Likewise.
10648         * lib/unictype/scripts_byname.gperf: Likewise.
10649         * lib/unictype/sy_java_ident.h: Likewise.
10650         * lib/unigbrk/gbrkprop.h: Likewise.
10651         * lib/unilbrk/lbrkprop1.h: Likewise.
10652         * lib/unilbrk/lbrkprop2.h: Likewise.
10653         * lib/uninorm/decomposition-table2.h: Likewise.
10654         * lib/uniwbrk/wbrkprop.h: Likewise.
10655         * tests/unicase/test-cased.c: Likewise.
10656         * tests/unicase/test-ignorable.c: Likewise.
10657         * tests/unicase/test-uc_tolower.c: Likewise.
10658         * tests/unicase/test-uc_totitle.c: Likewise.
10659         * tests/unicase/test-uc_toupper.c: Likewise.
10660         * tests/unictype/test-categ_C.c: Likewise.
10661         * tests/unictype/test-categ_Cn.c: Likewise.
10662         * tests/unictype/test-categ_L.c: Likewise.
10663         * tests/unictype/test-categ_Ll.c: Likewise.
10664         * tests/unictype/test-categ_Lm.c: Likewise.
10665         * tests/unictype/test-categ_Lo.c: Likewise.
10666         * tests/unictype/test-categ_Lu.c: Likewise.
10667         * tests/unictype/test-categ_M.c: Likewise.
10668         * tests/unictype/test-categ_Mc.c: Likewise.
10669         * tests/unictype/test-categ_Me.c: Likewise.
10670         * tests/unictype/test-categ_Mn.c: Likewise.
10671         * tests/unictype/test-categ_N.c: Likewise.
10672         * tests/unictype/test-categ_Nd.c: Likewise.
10673         * tests/unictype/test-categ_No.c: Likewise.
10674         * tests/unictype/test-categ_P.c: Likewise.
10675         * tests/unictype/test-categ_Po.c: Likewise.
10676         * tests/unictype/test-categ_S.c: Likewise.
10677         * tests/unictype/test-categ_Sc.c: Likewise.
10678         * tests/unictype/test-categ_Sk.c: Likewise.
10679         * tests/unictype/test-categ_Sm.c: Likewise.
10680         * tests/unictype/test-categ_So.c: Likewise.
10681         * tests/unictype/test-ctype_alnum.c: Likewise.
10682         * tests/unictype/test-ctype_alpha.c: Likewise.
10683         * tests/unictype/test-ctype_graph.c: Likewise.
10684         * tests/unictype/test-ctype_lower.c: Likewise.
10685         * tests/unictype/test-ctype_print.c: Likewise.
10686         * tests/unictype/test-ctype_punct.c: Likewise.
10687         * tests/unictype/test-ctype_upper.c: Likewise.
10688         * tests/unictype/test-decdigit.h: Likewise.
10689         * tests/unictype/test-digit.h: Likewise.
10690         * tests/unictype/test-numeric.h: Likewise.
10691         * tests/unictype/test-pr_alphabetic.c: Likewise.
10692         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
10693         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
10694         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
10695         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
10696         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
10697         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
10698         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
10699         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
10700         * tests/unictype/test-pr_case_ignorable.c: Likewise.
10701         * tests/unictype/test-pr_cased.c: Likewise.
10702         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
10703         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
10704         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
10705         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
10706         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
10707         * tests/unictype/test-pr_combining.c: Likewise.
10708         * tests/unictype/test-pr_composite.c: Likewise.
10709         * tests/unictype/test-pr_currency_symbol.c: Likewise.
10710         * tests/unictype/test-pr_decimal_digit.c: Likewise.
10711         * tests/unictype/test-pr_deprecated.c: Likewise.
10712         * tests/unictype/test-pr_format_control.c: Likewise.
10713         * tests/unictype/test-pr_grapheme_base.c: Likewise.
10714         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
10715         * tests/unictype/test-pr_grapheme_link.c: Likewise.
10716         * tests/unictype/test-pr_id_continue.c: Likewise.
10717         * tests/unictype/test-pr_id_start.c: Likewise.
10718         * tests/unictype/test-pr_ideographic.c: Likewise.
10719         * tests/unictype/test-pr_lowercase.c: Likewise.
10720         * tests/unictype/test-pr_math.c: Likewise.
10721         * tests/unictype/test-pr_numeric.c: Likewise.
10722         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
10723         * tests/unictype/test-pr_other_id_continue.c: Likewise.
10724         * tests/unictype/test-pr_other_math.c: Likewise.
10725         * tests/unictype/test-pr_punctuation.c: Likewise.
10726         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
10727         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
10728         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
10729         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
10730         * tests/unictype/test-pr_uppercase.c: Likewise.
10731         * tests/unictype/test-pr_xid_continue.c: Likewise.
10732         * tests/unictype/test-pr_xid_start.c: Likewise.
10733         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
10734         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
10735         changes.
10736         * lib/unictype/categ_Cc.h: Likewise.
10737         * lib/unictype/categ_Cf.h: Likewise.
10738         * lib/unictype/categ_Co.h: Likewise.
10739         * lib/unictype/categ_Cs.h: Likewise.
10740         * lib/unictype/categ_Lt.h: Likewise.
10741         * lib/unictype/categ_Nl.h: Likewise.
10742         * lib/unictype/categ_Pc.h: Likewise.
10743         * lib/unictype/categ_Pd.h: Likewise.
10744         * lib/unictype/categ_Pe.h: Likewise.
10745         * lib/unictype/categ_Pf.h: Likewise.
10746         * lib/unictype/categ_Pi.h: Likewise.
10747         * lib/unictype/categ_Ps.h: Likewise.
10748         * lib/unictype/categ_Z.h: Likewise.
10749         * lib/unictype/categ_Zl.h: Likewise.
10750         * lib/unictype/categ_Zp.h: Likewise.
10751         * lib/unictype/categ_Zs.h: Likewise.
10752         * lib/unictype/ctype_blank.h: Likewise.
10753         * lib/unictype/ctype_cntrl.h: Likewise.
10754         * lib/unictype/ctype_digit.h: Likewise.
10755         * lib/unictype/ctype_space.h: Likewise.
10756         * lib/unictype/ctype_xdigit.h: Likewise.
10757         * lib/unictype/mirror.h: Likewise.
10758         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
10759         * lib/unictype/pr_bidi_block_separator.h: Likewise.
10760         * lib/unictype/pr_bidi_common_separator.h: Likewise.
10761         * lib/unictype/pr_bidi_control.h: Likewise.
10762         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
10763         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
10764         * lib/unictype/pr_bidi_european_digit.h: Likewise.
10765         * lib/unictype/pr_bidi_pdf.h: Likewise.
10766         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
10767         * lib/unictype/pr_bidi_whitespace.h: Likewise.
10768         * lib/unictype/pr_dash.h: Likewise.
10769         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
10770         * lib/unictype/pr_diacritic.h: Likewise.
10771         * lib/unictype/pr_extender.h: Likewise.
10772         * lib/unictype/pr_hex_digit.h: Likewise.
10773         * lib/unictype/pr_hyphen.h: Likewise.
10774         * lib/unictype/pr_ids_binary_operator.h: Likewise.
10775         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
10776         * lib/unictype/pr_ignorable_control.h: Likewise.
10777         * lib/unictype/pr_iso_control.h: Likewise.
10778         * lib/unictype/pr_join_control.h: Likewise.
10779         * lib/unictype/pr_left_of_pair.h: Likewise.
10780         * lib/unictype/pr_line_separator.h: Likewise.
10781         * lib/unictype/pr_logical_order_exception.h: Likewise.
10782         * lib/unictype/pr_non_break.h: Likewise.
10783         * lib/unictype/pr_not_a_character.h: Likewise.
10784         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
10785         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
10786         * lib/unictype/pr_other_id_start.h: Likewise.
10787         * lib/unictype/pr_other_lowercase.h: Likewise.
10788         * lib/unictype/pr_other_uppercase.h: Likewise.
10789         * lib/unictype/pr_paired_punctuation.h: Likewise.
10790         * lib/unictype/pr_paragraph_separator.h: Likewise.
10791         * lib/unictype/pr_pattern_syntax.h: Likewise.
10792         * lib/unictype/pr_pattern_white_space.h: Likewise.
10793         * lib/unictype/pr_private_use.h: Likewise.
10794         * lib/unictype/pr_quotation_mark.h: Likewise.
10795         * lib/unictype/pr_radical.h: Likewise.
10796         * lib/unictype/pr_soft_dotted.h: Likewise.
10797         * lib/unictype/pr_space.h: Likewise.
10798         * lib/unictype/pr_titlecase.h: Likewise.
10799         * lib/unictype/pr_variation_selector.h: Likewise.
10800         * lib/unictype/pr_white_space.h: Likewise.
10801         * lib/unictype/pr_zero_width.h: Likewise.
10802         * lib/unictype/sy_c_ident.h: Likewise.
10803         * lib/unictype/sy_c_whitespace.h: Likewise.
10804         * lib/unictype/sy_java_whitespace.h: Likewise.
10805         * lib/uninorm/composition-table.gperf: Likewise.
10806         * lib/uninorm/decomposition-table1.h: Likewise.
10807         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
10808         LB8.
10809         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
10810         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
10811         * modules/unictype/*: Bump version number of expected libunistring
10812         version.
10813
10814 2011-01-09  Bruno Haible  <bruno@clisp.org>
10815
10816         Update to Unicode 5.2.0.
10817         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
10818         trailing whitespace removed.
10819
10820 2011-01-09  Bruno Haible  <bruno@clisp.org>
10821
10822         New Unicode character properties, from Unicode 5.2.0.
10823         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
10824         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
10825         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
10826         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
10827         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
10828         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
10829         uc_is_property_cased, uc_is_property_case_ignorable,
10830         uc_is_property_changes_when_lowercased,
10831         uc_is_property_changes_when_uppercased,
10832         uc_is_property_changes_when_titlecased,
10833         uc_is_property_changes_when_casefolded,
10834         uc_is_property_changes_when_casemapped): New declarations.
10835         * lib/unictype/pr_byname.gperf: Add the new properties.
10836         * modules/unictype/property-byname (Depends-on): Depend on the new
10837         properties modules.
10838         * modules/unictype/property-all (Depends-on): Likewise.
10839         * MODULES.html.sh (Unicode string functions): Add
10840         unictype/property-case-ignorable, unictype/property-cased,
10841         unictype/property-changes-when-casefolded,
10842         unictype/property-changes-when-casemapped,
10843         unictype/property-changes-when-lowercased,
10844         unictype/property-changes-when-titlecased,
10845         unictype/property-changes-when-uppercased.
10846
10847         New module 'unictype/property-changes-when-casemapped'.
10848         * modules/unictype/property-changes-when-casemapped: New file.
10849         * lib/unictype/pr_changes_when_casemapped.c: New file.
10850         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
10851         generated by gen-uni-tables.
10852         * modules/unictype/property-changes-when-casemapped-tests: New file.
10853         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
10854         automatically generated by gen-uni-tables.
10855
10856         New module 'unictype/property-changes-when-casefolded'.
10857         * modules/unictype/property-changes-when-casefolded: New file.
10858         * lib/unictype/pr_changes_when_casefolded.c: New file.
10859         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
10860         generated by gen-uni-tables.
10861         * modules/unictype/property-changes-when-casefolded-tests: New file.
10862         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
10863         automatically generated by gen-uni-tables.
10864
10865         New module 'unictype/property-changes-when-titlecased'.
10866         * modules/unictype/property-changes-when-titlecased: New file.
10867         * lib/unictype/pr_changes_when_titlecased.c: New file.
10868         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
10869         generated by gen-uni-tables.
10870         * modules/unictype/property-changes-when-titlecased-tests: New file.
10871         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
10872         automatically generated by gen-uni-tables.
10873
10874         New module 'unictype/property-changes-when-uppercased'.
10875         * modules/unictype/property-changes-when-uppercased: New file.
10876         * lib/unictype/pr_changes_when_uppercased.c: New file.
10877         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
10878         generated by gen-uni-tables.
10879         * modules/unictype/property-changes-when-uppercased-tests: New file.
10880         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
10881         automatically generated by gen-uni-tables.
10882
10883         New module 'unictype/property-changes-when-lowercased'.
10884         * modules/unictype/property-changes-when-lowercased: New file.
10885         * lib/unictype/pr_changes_when_lowercased.c: New file.
10886         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
10887         generated by gen-uni-tables.
10888         * modules/unictype/property-changes-when-lowercased-tests: New file.
10889         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
10890         automatically generated by gen-uni-tables.
10891
10892         New module 'unictype/property-case-ignorable'.
10893         * modules/unictype/property-case-ignorable: New file.
10894         * lib/unictype/pr_case_ignorable.c: New file.
10895         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
10896         by gen-uni-tables.
10897         * modules/unictype/property-case-ignorable-tests: New file.
10898         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
10899         generated by gen-uni-tables.
10900
10901         New module 'unictype/property-cased'.
10902         * modules/unictype/property-cased: New file.
10903         * lib/unictype/pr_cased.c: New file.
10904         * lib/unictype/pr_cased.h: New file, automatically generated by
10905         gen-uni-tables.
10906         * modules/unictype/property-cased-tests: New file.
10907         * tests/unictype/test-pr_cased.c: New file, automatically generated by
10908         gen-uni-tables.
10909
10910 2011-01-09  Bruno Haible  <bruno@clisp.org>
10911
10912         Update to Unicode 5.2.0.
10913         * lib/gen-uni-tables.c (output_predicate, output_category,
10914         output_combclass, output_bidi_category, output_decimal_digit_test,
10915         output_decimal_digit, output_digit_test, output_digit,
10916         output_numeric_test, output_numeric, output_mirror, output_scripts,
10917         output_scripts_byname, output_blocks, output_ident_category): Fix
10918         comment header.
10919         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
10920         get_wbp.
10921         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
10922         items.
10923         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
10924         Changes_When_Lowercased, Changes_When_Uppercased,
10925         Changes_When_Titlecased, Changes_When_Casefolded,
10926         Changes_When_Casemapped.
10927         (is_property_alphabetic, is_property_default_ignorable_code_point):
10928         Update for Unicode 5.2.0.
10929         (is_property_cased, is_property_case_ignorable,
10930         is_property_changes_when_lowercased,
10931         is_property_changes_when_uppercased,
10932         is_property_changes_when_titlecased,
10933         is_property_changes_when_casefolded,
10934         is_property_changes_when_casemapped): New functions.
10935         (output_properties): Output also the properties cased, case_ignorable,
10936         changes_when_lowercased, changes_when_uppercased,
10937         changes_when_titlecased, changes_when_casefolded,
10938         changes_when_casemapped.
10939         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
10940         Unicode TR#11 revision 17 -> 19.
10941         (LBP_CP): New enumeration value.
10942         (LBP_*): Adjust values accordingly.
10943         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
10944         TR#14 revision 22 -> 24.
10945         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
10946         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
10947         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
10948         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
10949         is_WBP_MIDLETTER.
10950         (output_composition_tables): Allow for 24 bits instead of 16 bits in
10951         the code1 and code2 of each composition rule.
10952         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
10953         * lib/unicase/ignorable.h: Likewise.
10954         * lib/unicase/tocasefold.h: Likewise.
10955         * lib/unicase/tolower.h: Likewise.
10956         * lib/unicase/totitle.h: Likewise.
10957         * lib/unicase/toupper.h: Likewise.
10958         * lib/unictype/bidi_of.h: Likewise.
10959         * lib/unictype/blocks.h: Likewise.
10960         * lib/unictype/categ_C.h: Likewise.
10961         * lib/unictype/categ_Cf.h: Likewise.
10962         * lib/unictype/categ_Cn.h: Likewise.
10963         * lib/unictype/categ_L.h: Likewise.
10964         * lib/unictype/categ_Ll.h: Likewise.
10965         * lib/unictype/categ_Lm.h: Likewise.
10966         * lib/unictype/categ_Lo.h: Likewise.
10967         * lib/unictype/categ_Lu.h: Likewise.
10968         * lib/unictype/categ_M.h: Likewise.
10969         * lib/unictype/categ_Mc.h: Likewise.
10970         * lib/unictype/categ_Mn.h: Likewise.
10971         * lib/unictype/categ_N.h: Likewise.
10972         * lib/unictype/categ_Nd.h: Likewise.
10973         * lib/unictype/categ_Nl.h: Likewise.
10974         * lib/unictype/categ_No.h: Likewise.
10975         * lib/unictype/categ_P.h: Likewise.
10976         * lib/unictype/categ_Pd.h: Likewise.
10977         * lib/unictype/categ_Po.h: Likewise.
10978         * lib/unictype/categ_S.h: Likewise.
10979         * lib/unictype/categ_Sc.h: Likewise.
10980         * lib/unictype/categ_So.h: Likewise.
10981         * lib/unictype/categ_of.h: Likewise.
10982         * lib/unictype/combining.h: Likewise.
10983         * lib/unictype/ctype_alnum.h: Likewise.
10984         * lib/unictype/ctype_alpha.h: Likewise.
10985         * lib/unictype/ctype_graph.h: Likewise.
10986         * lib/unictype/ctype_lower.h: Likewise.
10987         * lib/unictype/ctype_print.h: Likewise.
10988         * lib/unictype/ctype_punct.h: Likewise.
10989         * lib/unictype/ctype_upper.h: Likewise.
10990         * lib/unictype/decdigit.h: Likewise.
10991         * lib/unictype/digit.h: Likewise.
10992         * lib/unictype/numeric.h: Likewise.
10993         * lib/unictype/pr_alphabetic.h: Likewise.
10994         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
10995         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
10996         * lib/unictype/pr_bidi_european_digit.h: Likewise.
10997         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
10998         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
10999         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
11000         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
11001         * lib/unictype/pr_combining.h: Likewise.
11002         * lib/unictype/pr_composite.h: Likewise.
11003         * lib/unictype/pr_currency_symbol.h: Likewise.
11004         * lib/unictype/pr_dash.h: Likewise.
11005         * lib/unictype/pr_decimal_digit.h: Likewise.
11006         * lib/unictype/pr_deprecated.h: Likewise.
11007         * lib/unictype/pr_diacritic.h: Likewise.
11008         * lib/unictype/pr_extender.h: Likewise.
11009         * lib/unictype/pr_grapheme_base.h: Likewise.
11010         * lib/unictype/pr_grapheme_extend.h: Likewise.
11011         * lib/unictype/pr_grapheme_link.h: Likewise.
11012         * lib/unictype/pr_id_continue.h: Likewise.
11013         * lib/unictype/pr_id_start.h: Likewise.
11014         * lib/unictype/pr_ideographic.h: Likewise.
11015         * lib/unictype/pr_ignorable_control.h: Likewise.
11016         * lib/unictype/pr_logical_order_exception.h: Likewise.
11017         * lib/unictype/pr_lowercase.h: Likewise.
11018         * lib/unictype/pr_numeric.h: Likewise.
11019         * lib/unictype/pr_other_alphabetic.h: Likewise.
11020         * lib/unictype/pr_punctuation.h: Likewise.
11021         * lib/unictype/pr_sentence_terminal.h: Likewise.
11022         * lib/unictype/pr_terminal_punctuation.h: Likewise.
11023         * lib/unictype/pr_unassigned_code_value.h: Likewise.
11024         * lib/unictype/pr_unified_ideograph.h: Likewise.
11025         * lib/unictype/pr_uppercase.h: Likewise.
11026         * lib/unictype/pr_xid_continue.h: Likewise.
11027         * lib/unictype/pr_xid_start.h: Likewise.
11028         * lib/unictype/pr_zero_width.h: Likewise.
11029         * lib/unictype/scripts.h: Likewise.
11030         * lib/unictype/scripts_byname.gperf: Likewise.
11031         * lib/unictype/sy_java_ident.h: Likewise.
11032         * lib/unigbrk/gbrkprop.h: Likewise.
11033         * lib/unilbrk/lbrkprop1.h: Likewise.
11034         * lib/unilbrk/lbrkprop2.h: Likewise.
11035         * lib/unilbrk/lbrktables.h: Likewise.
11036         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
11037         LBP_CP. Implement rule LB30.
11038         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
11039         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
11040         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
11041         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
11042         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
11043         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
11044         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
11045         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
11046         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
11047         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
11048         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
11049         bits instead of 16 bits in the code1 and code2 of each composition
11050         rule.
11051         (uc_composition): Update for Unicode 5.2.0.
11052         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
11053         * lib/uninorm/decomposition-table2.h: Likewise.
11054         * lib/uniwbrk/wbrkprop.h: Likewise.
11055         * tests/unicase/test-cased.c: Likewise.
11056         * tests/unicase/test-ignorable.c: Likewise.
11057         * tests/unicase/test-uc_tolower.c: Likewise.
11058         * tests/unicase/test-uc_totitle.c: Likewise.
11059         * tests/unicase/test-uc_toupper.c: Likewise.
11060         * tests/unictype/test-categ_C.c: Likewise.
11061         * tests/unictype/test-categ_Cf.c: Likewise.
11062         * tests/unictype/test-categ_Cn.c: Likewise.
11063         * tests/unictype/test-categ_L.c: Likewise.
11064         * tests/unictype/test-categ_Ll.c: Likewise.
11065         * tests/unictype/test-categ_Lm.c: Likewise.
11066         * tests/unictype/test-categ_Lo.c: Likewise.
11067         * tests/unictype/test-categ_Lu.c: Likewise.
11068         * tests/unictype/test-categ_M.c: Likewise.
11069         * tests/unictype/test-categ_Mc.c: Likewise.
11070         * tests/unictype/test-categ_Mn.c: Likewise.
11071         * tests/unictype/test-categ_N.c: Likewise.
11072         * tests/unictype/test-categ_Nd.c: Likewise.
11073         * tests/unictype/test-categ_Nl.c: Likewise.
11074         * tests/unictype/test-categ_No.c: Likewise.
11075         * tests/unictype/test-categ_P.c: Likewise.
11076         * tests/unictype/test-categ_Pd.c: Likewise.
11077         * tests/unictype/test-categ_Po.c: Likewise.
11078         * tests/unictype/test-categ_S.c: Likewise.
11079         * tests/unictype/test-categ_Sc.c: Likewise.
11080         * tests/unictype/test-categ_So.c: Likewise.
11081         * tests/unictype/test-ctype_alnum.c: Likewise.
11082         * tests/unictype/test-ctype_alpha.c: Likewise.
11083         * tests/unictype/test-ctype_graph.c: Likewise.
11084         * tests/unictype/test-ctype_lower.c: Likewise.
11085         * tests/unictype/test-ctype_print.c: Likewise.
11086         * tests/unictype/test-ctype_punct.c: Likewise.
11087         * tests/unictype/test-ctype_upper.c: Likewise.
11088         * tests/unictype/test-decdigit.h: Likewise.
11089         * tests/unictype/test-digit.h: Likewise.
11090         * tests/unictype/test-numeric.h: Likewise.
11091         * tests/unictype/test-pr_alphabetic.c: Likewise.
11092         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
11093         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
11094         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
11095         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
11096         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
11097         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
11098         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
11099         * tests/unictype/test-pr_combining.c: Likewise.
11100         * tests/unictype/test-pr_composite.c: Likewise.
11101         * tests/unictype/test-pr_currency_symbol.c: Likewise.
11102         * tests/unictype/test-pr_dash.c: Likewise.
11103         * tests/unictype/test-pr_decimal_digit.c: Likewise.
11104         * tests/unictype/test-pr_deprecated.c: Likewise.
11105         * tests/unictype/test-pr_diacritic.c: Likewise.
11106         * tests/unictype/test-pr_extender.c: Likewise.
11107         * tests/unictype/test-pr_grapheme_base.c: Likewise.
11108         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
11109         * tests/unictype/test-pr_grapheme_link.c: Likewise.
11110         * tests/unictype/test-pr_id_continue.c: Likewise.
11111         * tests/unictype/test-pr_id_start.c: Likewise.
11112         * tests/unictype/test-pr_ideographic.c: Likewise.
11113         * tests/unictype/test-pr_ignorable_control.c: Likewise.
11114         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
11115         * tests/unictype/test-pr_lowercase.c: Likewise.
11116         * tests/unictype/test-pr_numeric.c: Likewise.
11117         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
11118         * tests/unictype/test-pr_punctuation.c: Likewise.
11119         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
11120         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
11121         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
11122         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
11123         * tests/unictype/test-pr_uppercase.c: Likewise.
11124         * tests/unictype/test-pr_xid_continue.c: Likewise.
11125         * tests/unictype/test-pr_xid_start.c: Likewise.
11126         * tests/unictype/test-pr_zero_width.c: Likewise.
11127         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
11128         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
11129         changed behaviour: line breaking is now disallowed between a letter
11130         or '=' and '('.
11131         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
11132         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
11133         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
11134         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
11135         * tests/uniwidth/test-uc_width2.sh: Same updates as in
11136         lib/uniwidth/width.c.
11137         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
11138         without comments, but with the original copyright notice.
11139         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
11140         changes.
11141         * lib/unictype/categ_Cc.h: Likewise.
11142         * lib/unictype/categ_Co.h: Likewise.
11143         * lib/unictype/categ_Cs.h: Likewise.
11144         * lib/unictype/categ_Lt.h: Likewise.
11145         * lib/unictype/categ_Me.h: Likewise.
11146         * lib/unictype/categ_Pc.h: Likewise.
11147         * lib/unictype/categ_Pe.h: Likewise.
11148         * lib/unictype/categ_Pf.h: Likewise.
11149         * lib/unictype/categ_Pi.h: Likewise.
11150         * lib/unictype/categ_Ps.h: Likewise.
11151         * lib/unictype/categ_Sk.h: Likewise.
11152         * lib/unictype/categ_Sm.h: Likewise.
11153         * lib/unictype/categ_Z.h: Likewise.
11154         * lib/unictype/categ_Zl.h: Likewise.
11155         * lib/unictype/categ_Zp.h: Likewise.
11156         * lib/unictype/categ_Zs.h: Likewise.
11157         * lib/unictype/ctype_blank.h: Likewise.
11158         * lib/unictype/ctype_cntrl.h: Likewise.
11159         * lib/unictype/ctype_digit.h: Likewise.
11160         * lib/unictype/ctype_space.h: Likewise.
11161         * lib/unictype/ctype_xdigit.h: Likewise.
11162         * lib/unictype/mirror.h: Likewise.
11163         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
11164         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
11165         * lib/unictype/pr_bidi_block_separator.h: Likewise.
11166         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
11167         * lib/unictype/pr_bidi_common_separator.h: Likewise.
11168         * lib/unictype/pr_bidi_control.h: Likewise.
11169         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
11170         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
11171         * lib/unictype/pr_bidi_pdf.h: Likewise.
11172         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
11173         * lib/unictype/pr_bidi_whitespace.h: Likewise.
11174         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
11175         * lib/unictype/pr_format_control.h: Likewise.
11176         * lib/unictype/pr_hex_digit.h: Likewise.
11177         * lib/unictype/pr_hyphen.h: Likewise.
11178         * lib/unictype/pr_ids_binary_operator.h: Likewise.
11179         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
11180         * lib/unictype/pr_iso_control.h: Likewise.
11181         * lib/unictype/pr_join_control.h: Likewise.
11182         * lib/unictype/pr_left_of_pair.h: Likewise.
11183         * lib/unictype/pr_line_separator.h: Likewise.
11184         * lib/unictype/pr_math.h: Likewise.
11185         * lib/unictype/pr_non_break.h: Likewise.
11186         * lib/unictype/pr_not_a_character.h: Likewise.
11187         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
11188         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
11189         * lib/unictype/pr_other_id_continue.h: Likewise.
11190         * lib/unictype/pr_other_id_start.h: Likewise.
11191         * lib/unictype/pr_other_lowercase.h: Likewise.
11192         * lib/unictype/pr_other_math.h: Likewise.
11193         * lib/unictype/pr_other_uppercase.h: Likewise.
11194         * lib/unictype/pr_paired_punctuation.h: Likewise.
11195         * lib/unictype/pr_paragraph_separator.h: Likewise.
11196         * lib/unictype/pr_pattern_syntax.h: Likewise.
11197         * lib/unictype/pr_pattern_white_space.h: Likewise.
11198         * lib/unictype/pr_private_use.h: Likewise.
11199         * lib/unictype/pr_quotation_mark.h: Likewise.
11200         * lib/unictype/pr_radical.h: Likewise.
11201         * lib/unictype/pr_soft_dotted.h: Likewise.
11202         * lib/unictype/pr_space.h: Likewise.
11203         * lib/unictype/pr_titlecase.h: Likewise.
11204         * lib/unictype/pr_variation_selector.h: Likewise.
11205         * lib/unictype/pr_white_space.h: Likewise.
11206         * lib/unictype/sy_c_ident.h: Likewise.
11207         * lib/unictype/sy_c_whitespace.h: Likewise.
11208         * lib/unictype/sy_java_whitespace.h: Likewise.
11209         * modules/uni*/*: Bump version number of expected libunistring version.
11210         Reported by Simon Josefsson.
11211
11212 2011-01-09  Karl Heuer  <kwzh@gnu.org>
11213
11214         useless-if-before-free: fix typo in --help and make the internal,
11215         automatic version date update process work once again.
11216         --help output contained a NUL character instead of the
11217         backslash-zero that was intended.  Also, the "must lie within
11218         the first 8 lines" line is on line 9, and hence not getting
11219         automatically updated.
11220         * build-aux/useless-if-before-free: Fix the former by adding a
11221         backslash, and the latter by condensing the three lines of what-it-does
11222         to a single line, leaving one line of slack for the future.
11223
11224 2011-01-09  Bruno Haible  <bruno@clisp.org>
11225
11226         uniwidth/width: Fix width of U+1D173..U+1D17A.
11227         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
11228         symbolic_width, output_width_property_test): New functions.
11229         (main): Invoke output_nonspacing_property, output_width_property_test.
11230         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
11231         U+1D173..U+1D17A.
11232         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
11233         1.
11234         * modules/uniwidth/*: Bump version number of expected libunistring
11235         version.
11236         * modules/unilbrk/*: Likewise.
11237
11238 2011-01-08  Bruno Haible  <bruno@clisp.org>
11239
11240         uninorm tests: Preserve copyright of Unicode data file.
11241         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
11242         Mention modifications.
11243
11244 2011-01-08  Bruno Haible  <bruno@clisp.org>
11245
11246         gen-uni-tables: Prepare for Unicode 5.2.0.
11247         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
11248         (debug_output_lbp, output_lbp): Update.
11249
11250 2011-01-08  Bruno Haible  <bruno@clisp.org>
11251
11252         unilbrk: Clarify gen-uni-tables.c code.
11253         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
11254         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
11255         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
11256
11257 2011-01-07  Bruno Haible  <bruno@clisp.org>
11258
11259         strtod: Restore errno when successfully parsing Infinity or NaN.
11260         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
11261         restore the original errno.
11262
11263 2011-01-07  Bruno Haible  <bruno@clisp.org>
11264
11265         remove test: Avoid failure on HP-UX 11.
11266         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
11267
11268 2011-01-07  Bruno Haible  <bruno@clisp.org>
11269
11270         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
11271         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
11272         error code.
11273
11274 2011-01-07  Pádraig Brady <P@draigBrady.com>
11275
11276         ignore-value: fixup comments, and add Eric Blake
11277         as an author since he rewrote the macros.
11278         * lib/ignore-value.h (ignore_value):  State that
11279         we now support aggregates.  Also specify exactly
11280         when the GCC warn_unused_result feature was added.
11281
11282 2011-01-06  Eric Blake  <eblake@redhat.com>
11283
11284         ignore-value: support aggregate types
11285         * lib/ignore-value.h (ignore_value): Provide separate gcc
11286         definition.
11287         * modules/ignore-value-tests: New test module.
11288         * tests/test-ignore-value.c: New test.
11289
11290         maint.mk: improve sc_prohibit_strcmp regex
11291         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
11292         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
11293         definition of STRNEQ.
11294
11295         signal: work around Haiku issue with SIGBUS
11296         * lib/siglist.h: Add comment.
11297         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
11298         strsignal's favoring of SIGSEGV.
11299         * tests/test-signal.c (main): Avoid test failure.
11300         * doc/posix-headers/signal.texi (signal.h): Document the issue.
11301         Reported by Scott McCreary.
11302
11303         maint.mk: add pre-release check to ensure submodule commits are public
11304         * top/maint.mk (public-submodule-commit): New rule.
11305         (submodule-checks): New variable.
11306         (alpha beta stable): Depend on the variable.
11307
11308 2011-01-05  Pádraig Brady <P@draigBrady.com>
11309         and Jim Meyering  <meyering@redhat.com>
11310
11311         ignore-value: make ignore_value more generic; deprecate ignore_ptr
11312         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
11313         (ATTRIBUTE_DEPRECATED): Define.
11314         (_ignore_case): New function.
11315         (ignore_value): New macro, to replace the old function.
11316         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
11317         * modules/ignore-value (Depends-on): Add stdint.
11318
11319 2011-01-04  Eric Blake  <eblake@redhat.com>
11320
11321         doc: regenerate INSTALL
11322         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
11323         @firstparagraphindent support, now that autoconf dropped it.
11324         (INSTALL_PRELUDE): Reinstate old macro.
11325         * doc/install.texi: Resync from autoconf.
11326         * doc/INSTALL: Reflect recent autoconf update.
11327         * doc/INSTALL.ISO: Likewise.
11328         * doc/INSTALL.UTF-8: Likewise.
11329         Reported by Karl Berry.
11330
11331 2011-01-04  Bruce Korb  <address@hidden>
11332
11333         git-version-gen: avoid a sub-shell
11334         * build-aux/git-version-gen: Redirect stderr in `...` via
11335         "exec 2>...", rather than via an added sub-shell.
11336
11337 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
11338
11339         git-version-gen: use (...) rather than sh -c '...'
11340         * build-aux/git-version-gen: Rather than hard-coding a shell's name
11341         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
11342
11343 2011-01-03  Jim Meyering  <meyering@redhat.com>
11344
11345         git-version-gen: convert leading TABs to spaces
11346         * build-aux/git-version-gen: Expand leading TABs.
11347
11348         git-version-gen: handle failed "git rev-list"
11349         * build-aux/git-version-gen: Rather than leaking a "fatal" error
11350         from git and proceeding as if it had succeeded but printed no SHA1
11351         checksums, suppress the diagnostic and handle the failure.
11352         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
11353
11354         git-version-gen: include command name in one more diagnostic
11355         * build-aux/git-version-gen: When the required .tarball-version file
11356         was missing or unreadable, you might see the diagnostic from "cat",
11357         but no trace of the name of the invoking script.  Now, you still see
11358         the diagnostic from cat, but also get one from "git-version-gen: ".
11359         Inspired by a patch from Bruce Korb.
11360
11361         update-copyright: adjust test to match changed code
11362         * tests/test-update-copyright.sh: Change test's expected output
11363         to match new actual output.
11364
11365 2011-01-02  Bruno Haible  <bruno@clisp.org>
11366
11367         getlogin_r: Avoid test failure on HP-UX 11.
11368         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
11369         ERANGE when the second argument is zero.
11370         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
11371         portability problem.
11372
11373 2011-01-02  Bruce Korb  <bkorb@gnu.org>
11374
11375         * build-aux/update-copyright: doc Simon's changes
11376
11377 2011-01-02  Simon Josefsson  <simon@josefsson.org>
11378
11379         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
11380         environment variable.
11381
11382 2011-01-02  Bruno Haible  <bruno@clisp.org>
11383
11384         unigbrk: Avoid gcc warnings.
11385         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
11386         unused variable.
11387         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
11388         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
11389         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
11390         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
11391         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
11392         Change type of first argument to 'const char *'.
11393         (main): Remove unused variable.
11394         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
11395         type of first argument to 'const char *'.
11396         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
11397         Likewise.
11398         (main): Change type of variable 's'.
11399         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
11400         to 'int'.
11401
11402 2011-01-02  Bruno Haible  <bruno@clisp.org>
11403
11404         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
11405         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
11406         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
11407         bug.
11408         * lib/pwrite.c: Undo 2010-12-31 patch.
11409         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
11410
11411 2011-01-02  Bruno Haible  <bruno@clisp.org>
11412
11413         pread: Fix test whether it works.
11414         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
11415
11416 2011-01-02  Bruno Haible  <bruno@clisp.org>
11417
11418         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
11419         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
11420         ends in "6". Don't require a specific month name. Try also the locale
11421         names found on HP-UX 11 and Solaris 7.
11422
11423 2011-01-02  Bruno Haible  <bruno@clisp.org>
11424
11425         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
11426         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
11427         C linkage.
11428         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
11429
11430 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
11431
11432         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
11433         for consistency, since the "cluster" term is not used elsewhere.
11434         * lib/unigbrk.in.h: Update name.
11435         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
11436         * lib/unigbrk/u16-grapheme-next.c: Update name.
11437         * lib/unigbrk/u16-grapheme-prev.c: Update name.
11438         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
11439         * lib/unigbrk/u32-grapheme-next.c: Update name.
11440         * lib/unigbrk/u32-grapheme-prev.c: Update name.
11441         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
11442         * lib/unigbrk/u8-grapheme-next.c: Update name.
11443         * lib/unigbrk/u8-grapheme-prev.c: Update name.
11444         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
11445         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
11446         Suggested by Bruno Haible.
11447
11448 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
11449
11450         Remove module 'u8-grapheme-len' as too redundant with
11451         'u8-grapheme-next'.
11452         * modules/unigbrk/u8-grapheme-len: Delete file.
11453         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
11454         * lib/unigbrk.in.h: Remove prototype for deleted function.
11455         * lib/unigbrk/u8-grapheme-len.c: Delete file.
11456         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
11457
11458         Remove module 'u16-grapheme-len' as too redundant with
11459         'u16-grapheme-next'.
11460         * modules/unigbrk/u16-grapheme-len: Delete file.
11461         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
11462         * lib/unigbrk.in.h: Remove prototype for deleted function.
11463         * lib/unigbrk/u16-grapheme-len.c: Delete file.
11464         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
11465
11466         Remove module 'u32-grapheme-len' as too redundant with
11467         'u32-grapheme-next'.
11468         * modules/unigbrk/u32-grapheme-len: Delete file.
11469         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
11470         * lib/unigbrk.in.h: Remove prototype for deleted function.
11471         * lib/unigbrk/u32-grapheme-len.c: Delete file.
11472         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
11473
11474         Suggested by Bruno Haible.
11475
11476 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
11477
11478         * unigbrk.in.h: Fix typo: "ben" => "been".
11479         Reported by Bruno Haible.
11480
11481 2011-01-01  Jim Meyering  <meyering@redhat.com>
11482
11483         maint: update almost all copyright ranges to include 2011
11484         Run the new "make update-copyright" rule.
11485
11486 2011-01-01  Jim Meyering  <meyering@redhat.com>
11487
11488         maint: update-copyright: exempt doc/INSTALL*
11489         * Makefile (update-copyright): Also exclude doc/INSTALL*,
11490         since they are generated.  Suggested by Bruno Haible.
11491
11492 2011-01-01  Jim Meyering  <meyering@redhat.com>
11493
11494         maint: refine the update-copyright rule
11495         * Makefile (update-copyright): Also exclude any file that includes
11496         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
11497         code that merely generates the comment.
11498
11499 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
11500
11501         New module 'u8-grapheme-len'.
11502         * modules/unigbrk/u8-grapheme-len: New file.
11503         * modules/unigbrk/u8-grapheme-len-tests: New file.
11504         * lib/unigbrk.in.h: Add prototype for new function.
11505         * lib/unigbrk/u8-grapheme-len.c: New file.
11506         * tests/unigbrk/test-u8-grapheme-len.c: New file.
11507
11508         New module 'u16-grapheme-len'.
11509         * modules/unigbrk/u16-grapheme-len: New file.
11510         * modules/unigbrk/u16-grapheme-len-tests: New file.
11511         * lib/unigbrk.in.h: Add prototype for new function.
11512         * lib/unigbrk/u16-grapheme-len.c: New file.
11513         * tests/unigbrk/test-u16-grapheme-len.c: New file.
11514
11515         New module 'u32-grapheme-len'.
11516         * modules/unigbrk/u32-grapheme-len: New file.
11517         * modules/unigbrk/u32-grapheme-len-tests: New file.
11518         * lib/unigbrk.in.h: Add prototype for new function.
11519         * lib/unigbrk/u32-grapheme-len.c: New file.
11520         * tests/unigbrk/test-u32-grapheme-len.c: New file.
11521
11522         New module 'u8-grapheme-next'.
11523         * modules/unigbrk/u8-grapheme-next: New file.
11524         * modules/unigbrk/u8-grapheme-next-tests: New file.
11525         * lib/unigbrk.in.h: Add prototype for new function.
11526         * lib/unigbrk/u8-grapheme-next.c: New file.
11527         * tests/unigbrk/test-u8-grapheme-next.c: New file.
11528
11529         New module 'u16-grapheme-next'.
11530         * modules/unigbrk/u16-grapheme-next: New file.
11531         * modules/unigbrk/u16-grapheme-next-tests: New file.
11532         * lib/unigbrk.in.h: Add prototype for new function.
11533         * lib/unigbrk/u16-grapheme-next.c: New file.
11534         * tests/unigbrk/test-u16-grapheme-next.c: New file.
11535
11536         New module 'u32-grapheme-next'.
11537         * modules/unigbrk/u32-grapheme-next: New file.
11538         * modules/unigbrk/u32-grapheme-next-tests: New file.
11539         * lib/unigbrk.in.h: Add prototype for new function.
11540         * lib/unigbrk/u32-grapheme-next.c: New file.
11541         * tests/unigbrk/test-u32-grapheme-next.c: New file.
11542
11543         New module 'u8-grapheme-prev'.
11544         * modules/unigbrk/u8-grapheme-prev: New file.
11545         * modules/unigbrk/u8-grapheme-prev-tests: New file.
11546         * lib/unigbrk.in.h: Add prototype for new function.
11547         * lib/unigbrk/u8-grapheme-prev.c: New file.
11548         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
11549
11550         New module 'u16-grapheme-prev'.
11551         * modules/unigbrk/u16-grapheme-prev: New file.
11552         * modules/unigbrk/u16-grapheme-prev-tests: New file.
11553         * lib/unigbrk.in.h: Add prototype for new function.
11554         * lib/unigbrk/u16-grapheme-prev.c: New file.
11555         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
11556
11557         New module 'u32-grapheme-prev'.
11558         * modules/unigbrk/u32-grapheme-prev: New file.
11559         * modules/unigbrk/u32-grapheme-prev-tests: New file.
11560         * lib/unigbrk.in.h: Add prototype for new function.
11561         * lib/unigbrk/u32-grapheme-prev.c: New file.
11562         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
11563
11564         New module 'u8-grapheme-breaks'.
11565         * modules/unigbrk/u8-grapheme-breaks: New file.
11566         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
11567         * lib/unigbrk.in.h: Add prototype for new function.
11568         * lib/unigbrk/u8-grapheme-breaks.c: New file.
11569         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
11570
11571         New module 'u16-grapheme-breaks'.
11572         * modules/unigbrk/u16-grapheme-breaks: New file.
11573         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
11574         * lib/unigbrk.in.h: Add prototype for new function.
11575         * lib/unigbrk/u16-grapheme-breaks.c: New file.
11576         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
11577
11578         New module 'u32-grapheme-breaks'.
11579         * modules/unigbrk/u32-grapheme-breaks: New file.
11580         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
11581         * lib/unigbrk.in.h: Add prototype for new function.
11582         * lib/unigbrk/u32-grapheme-breaks.c: New file.
11583         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
11584
11585         New module 'ulc-grapheme-breaks'.
11586         * modules/unigbrk/ulc-grapheme-breaks: New file.
11587         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
11588         * m4/locale-ar.m4: New file.
11589         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
11590         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
11591         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
11592
11593 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
11594
11595         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
11596         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
11597         modified how this file was generated before I initially submitted
11598         the module, but failed to regenerate it.  This meant that several
11599         of the level2 entries were wrong.
11600         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
11601         Remove the division-by-2 that is folded into the table now that
11602         gbrkprop.h has been regenerated properly.  Now -1 entries are
11603         handled correctly.
11604
11605         New module 'unigbrk/uc-gbrk-prop-tests'.
11606         * modules/unigbrk/uc-gbrk-prop-tests: New file.
11607         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
11608         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
11609         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
11610
11611 2011-01-01  Bruno Haible  <bruno@clisp.org>
11612
11613         Avoid use of hexadecimal escapes.
11614         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
11615         instead of hexadecimal escapes.
11616
11617 2011-01-01  Jim Meyering  <meyering@redhat.com>
11618
11619         maint: new rule to update copyright year ranges
11620         * Makefile (update-copyright): New rule.
11621
11622         maint: indent with TABs in Makefile
11623         * Makefile: Expand leading sequences of spaces to TABs
11624
11625         version-etc: update the copyright year it reports
11626         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
11627
11628 2010-12-31  Bruno Haible  <bruno@clisp.org>
11629
11630         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
11631         * lib/isfinite.c (zerof, zerod, zerol): New variables.
11632         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
11633         zero.
11634
11635 2010-12-31  Bruno Haible  <bruno@clisp.org>
11636
11637         pwrite: Work around HP-UX 11.11 bug.
11638         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
11639         works and set REPLACE_PWRITE if not.
11640         * lib/pwrite.c (pwrite): Add an implementation that uses the system
11641         function.
11642         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
11643
11644 2010-12-31  Bruno Haible  <bruno@clisp.org>
11645
11646         pread: Work around HP-UX 11 bugs.
11647         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
11648         and set REPLACE_PREAD if not.
11649         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
11650
11651 2010-12-31  Eric Blake  <eblake@redhat.com>
11652
11653         nl_langinfo: fix YESEXPR on Irix 6.5
11654         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
11655         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
11656         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
11657         it.
11658
11659 2010-12-31  Bruno Haible  <bruno@clisp.org>
11660
11661         iconv: Document HP-UX 11 bug.
11662         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
11663
11664 2010-12-31  Bruno Haible  <bruno@clisp.org>
11665
11666         ldexpl: Fix link error on HP-UX 11.
11667         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
11668         LDEXPL_LIBM, using $ISNANL_LIBM.
11669
11670 2010-12-31  Eric Blake  <eblake@redhat.com>
11671
11672         ftello: avoid compilation failure with SunStudio c89
11673         * lib/ftello.c (ftello): Use lseek, not llseek.
11674
11675         tests: avoid failing coreutils tests on cygwin
11676         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
11677         (create_exe_shims_): Return 0 when skipping.
11678
11679 2010-12-31  Bruno Haible  <bruno@clisp.org>
11680
11681         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
11682         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
11683
11684 2010-12-31  Bruno Haible  <bruno@clisp.org>
11685
11686         waitpid: Fix link error in C++ mode.
11687         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
11688
11689 2010-12-31  Bruno Haible  <bruno@clisp.org>
11690
11691         isnan: Use GCC built-ins when possible.
11692         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
11693         __builtin_isnan.
11694         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
11695         (isnan): Define using GCC built-ins for GCC >= 4.0.
11696
11697 2010-12-31  Bruno Haible  <bruno@clisp.org>
11698
11699         isnand: Fix mistake.
11700         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
11701         __builtin_isnand.
11702
11703 2010-12-31  Bruno Haible  <bruno@clisp.org>
11704
11705         open: Avoid C++ error on HP-UX 11.
11706         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
11707
11708 2010-12-31  Bruno Haible  <bruno@clisp.org>
11709
11710         time_r: Add missing declarations on HP-UX 11.
11711         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
11712         instead of HAVE_LOCALTIME_R.
11713         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
11714         HAVE_LOCALTIME_R always.
11715         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
11716         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
11717         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
11718         HAVE_LOCALTIME_R.
11719         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
11720         * doc/posix-functions/localtime_r.texi: Likewise.
11721
11722 2010-12-29  Eric Blake  <eblake@redhat.com>
11723
11724         mountlist: tweak previous commit
11725         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
11726         Reported by Paul Eggert.
11727
11728         mountlist: fix local drive detection on cygwin
11729         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
11730         that works for cygwin.
11731
11732 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
11733
11734         ftoastr, snprintf: ftoastr + snprintf module
11735         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
11736         since the snprintf module now should be good enough here.
11737         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
11738         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
11739         and gl_MODULE_INDICATOR([snprintf]), but the former enables
11740         GNULIB_SNPRINTF only for the test directory, and the latter
11741         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
11742         seems to suffice by itself.
11743
11744 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
11745
11746         alloca: one step towards thread-safety
11747         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
11748         need for a static variable.  All callers changed.  This does not
11749         make the alloca replacement thread-safe, but it's one step.
11750
11751         tests: minor indenting change
11752         * tests/init.sh: Sync from coreutils housekeeping patch
11753         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
11754         to keep lines within 80 columns.
11755
11756 2010-12-28  Jim Meyering  <meyering@redhat.com>
11757
11758         regex: don't infloop on persistent failing calloc
11759         * lib/regexec.c (build_trtable): Return failure indication upon
11760         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
11761         In glibc, this was fixed for version 2.13:
11762         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
11763
11764 2010-12-28  Bruno Haible  <bruno@clisp.org>
11765             Paul Eggert <eggert@cs.ucla.edu>
11766
11767         linkat: Make implementation robust against system behaviour variations.
11768         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
11769         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
11770         way, and to -2 if it needs a generic runtime test.
11771         * lib/linkat.c (solaris_optimized_link_immediate,
11772         solaris_optimized_link_follow): New functions.
11773         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
11774         (check_same_link): Use it.
11775
11776 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
11777
11778         New module 'unigbrk/base'.
11779         * modules/unigbrk/base: New file.
11780         * lib/unigbrk.in.h: New file.
11781
11782         New module 'unigbrk/uc-gbrk-prop'.
11783         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
11784         * modules/unigbrk/uc-gbrk-prop: New file.
11785         * lib/unigbrk/gbrkprop.h: New file.
11786         * lib/unigbrk/uc-gbrk-prop.c: New file.
11787
11788         New module 'unigbrk/uc-is-grapheme-break'.
11789         * modules/unigbrk/uc-is-grapheme-break: New file.
11790         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
11791         * lib/unigbrk/uc-is-grapheme-break.c: New file.
11792         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
11793         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
11794         * tests/unigbrk/GraphemeBreakTest.txt: New file.
11795
11796         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
11797
11798 2010-12-27  Bruno Haible  <bruno@clisp.org>
11799
11800         linkat test: Avoid failure on Solaris 11 2010-11.
11801         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
11802
11803 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
11804
11805         utimens: work around glibc rounding bug on more platforms
11806         * lib/utimens.c (fdutimens): Work around rounding bug even if
11807         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
11808         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
11809
11810 2010-12-27  Bruno Haible  <bruno@clisp.org>
11811
11812         select tests: Improve comments.
11813         * tests/test-select.c (do_select): Add comments.
11814
11815 2010-12-27  Bruno Haible  <bruno@clisp.org>
11816
11817         select tests: Safer way of handling timeout.
11818         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
11819         at every invocation.
11820
11821 2010-12-27  Bruno Haible  <bruno@clisp.org>
11822
11823         select tests: Use 'bool' where appropriate.
11824         * tests/test-select.c (connect_to_socket): Change argument type to
11825         'bool'.
11826
11827 2010-12-27  Bruno Haible  <bruno@clisp.org>
11828
11829         select tests: Use existing modules.
11830         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
11831         (configure.ac): Don't test for unistd.h.
11832         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
11833         declared in <unistd.h>.
11834
11835 2010-12-27  Bruno Haible  <bruno@clisp.org>
11836
11837         mbrtowc: Work around a Solaris 7 bug.
11838         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
11839         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
11840         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
11841         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
11842         MBRTOWC_NULL_ARG1_BUG.
11843         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
11844         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
11845         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
11846         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
11847
11848 2010-12-27  Jim Meyering  <meyering@redhat.com>
11849
11850         read-file.c: tweak syntax
11851         * lib/read-file.c (fread_file): Remove space after "*" in function
11852         definitions.
11853
11854 2010-12-27  Bruno Haible  <bruno@clisp.org>
11855
11856         times test: Avoid gcc warnings on OSF/1.
11857         * tests/test-times.c (main): Cast printf arguments from clock_t to
11858         'long int'.
11859
11860 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
11861
11862         utimens: work around glibc rounding bug on older Linux kernels
11863         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
11864         on Linux with a glibc whose utimes might not work, then work
11865         around a longstanding glibc bug involving rounding rather than
11866         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
11867         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
11868
11869 2010-12-26  Bruno Haible  <bruno@clisp.org>
11870
11871         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
11872         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
11873         _GL_CXXALIAS_SYS.
11874         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
11875
11876 2010-12-26  Bruno Haible  <bruno@clisp.org>
11877
11878         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
11879         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
11880         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
11881         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
11882         looking for the declaration.
11883         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
11884         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
11885         problem.
11886         * doc/posix-functions/inet_pton.texi: Likewise.
11887
11888 2010-12-26  Bruno Haible  <bruno@clisp.org>
11889
11890         arpa_inet: Use the common idioms with C++ support.
11891         * lib/arpa_inet.in.h: Include c++defs.h.
11892         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
11893         support.
11894         * modules/arpa_inet (Depends-on): Add c++defs.
11895         (Makefile.am): Substitute the contents of c++defs.h.
11896         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
11897         * modules/arpa_inet-c++-tests: New file.
11898         * tests/test-arpa_inet-c++.cc: New file.
11899
11900 2010-12-25  Bruno Haible  <bruno@clisp.org>
11901
11902         Fix more C++ link errors on Solaris 8.
11903         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
11904         $(LIB_EACCESS).
11905         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
11906         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
11907         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
11908         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
11909         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
11910
11911 2010-12-25  Bruno Haible  <bruno@clisp.org>
11912
11913         printf-posix: Fix link error when a non-GCC compiler is used.
11914         * lib/stdio.in.h (printf): When not using GCC, override printf
11915         correctly.
11916         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
11917
11918 2010-12-25  Bruno Haible  <bruno@clisp.org>
11919
11920         strerror_r-posix: Update doc.
11921         * doc/posix-functions/strerror_r.texi: Update doc about the return
11922         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
11923
11924 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
11925
11926         utimens: simplify the logic of the previous change
11927         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
11928         This should not affect whether the test succeeds or fails.
11929
11930         utimens: configure better on hosts with NFS clock skew
11931         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
11932         uses the clock of the local host.  It might use the clock of the
11933         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
11934         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
11935
11936 2010-12-25  Bruno Haible  <bruno@clisp.org>
11937
11938         ptsname test: Avoid failure on Solaris.
11939         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
11940         open a pseudo-terminal; don't use BSD-style ptys.
11941         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
11942
11943 2010-12-25  Bruno Haible  <bruno@clisp.org>
11944
11945         ptsname: Avoid ERANGE failure on some systems.
11946         * lib/ptsname.c (buffer): Increase size.
11947
11948 2010-12-25  Bruno Haible  <bruno@clisp.org>
11949
11950         rename, renameat: Avoid test failures at NFS mounted locations.
11951         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
11952         so that subsequent mkdir calls succeed.
11953
11954 2010-12-25  Bruno Haible  <bruno@clisp.org>
11955
11956         iswblank: Fix C++ link error on Solaris 8.
11957         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
11958         _GL_FUNCDECL_SYS.
11959
11960 2010-12-25  Bruno Haible  <bruno@clisp.org>
11961
11962         unistd: Fix C++ link error on Solaris 8.
11963         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
11964
11965 2010-12-25  Bruno Haible  <bruno@clisp.org>
11966
11967         readlink doc: Mention an old glibc bug.
11968         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
11969
11970 2010-12-25  Bruno Haible  <bruno@clisp.org>
11971
11972         fcntl-h: Fix for use of C++ on glibc systems.
11973         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
11974         also on glibc systems in C++ mode.
11975         Reported by Gary V. Vaughan <gary@gnu.org>.
11976
11977 2010-12-25  Bruno Haible  <bruno@clisp.org>
11978
11979         roundl-ieee: Make it work on OSF/1 5.1 with cc.
11980         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
11981
11982 2010-12-25  Bruno Haible  <bruno@clisp.org>
11983
11984         truncl-ieee: Make it work on OSF/1 5.1 with cc.
11985         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
11986         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
11987         test whether truncl works according to ISO C 99 with IEC 60559.
11988         * m4/truncl-ieee.m4: New file.
11989         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
11990         m4/signbit.m4.
11991         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
11992
11993 2010-12-25  Bruno Haible  <bruno@clisp.org>
11994
11995         ceill-ieee: Make it work on OSF/1 5.1 with cc.
11996         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
11997         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
11998         test whether ceill works according to ISO C 99 with IEC 60559.
11999         * m4/ceill-ieee.m4: New file.
12000         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
12001         m4/signbit.m4.
12002         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
12003
12004 2010-12-25  Bruno Haible  <bruno@clisp.org>
12005
12006         Ensure all prerequisites of <wchar.h> are included.
12007         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
12008         before <wchar.h>.
12009         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
12010         gl_MBRLEN_NUL_RETVAL): Likewise.
12011         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
12012         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
12013         AC_FUNC_MBRTOWC): Likewise.
12014         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
12015         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
12016         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
12017         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
12018         Likewise.
12019         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
12020         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
12021         (gl_WCHAR_H): Improve comments.
12022         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
12023
12024 2010-12-25  Bruno Haible  <bruno@clisp.org>
12025
12026         strtok_r: Fix C syntax error in autoconf macro.
12027         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
12028         characters in test program.
12029
12030 2010-12-24  Bruno Haible  <bruno@clisp.org>
12031
12032         ceil, trunc, round: Fix gcc warnings.
12033         * lib/ceil.c (MIN): Undefine before redefining.
12034         * lib/trunc.c (MIN): Likewise.
12035         * lib/round.c (MIN): Likewise.
12036         Include <math.h> first.
12037
12038 2010-12-24  Bruno Haible  <bruno@clisp.org>
12039
12040         select tests: Avoid failures on OSF/1 5.1.
12041         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
12042         failure of closing the last socket; it may fail with ECONNRESET.
12043
12044 2010-12-24  Eric Blake  <eblake@redhat.com>
12045
12046         stdint: avoid HP-UX 10.20 preprocessor bug
12047         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
12048         than #if.
12049         * tests/test-floor2.c (main): Likewise.
12050         Reported by Peter O'Gorman.
12051
12052         pipe: make obsoletion transition easier
12053         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
12054         * modules/pipe (Files): Include revived file.
12055         (Include): Drop reference, to mirror getdate's behavior.
12056
12057 2010-12-24  Bruno Haible  <bruno@clisp.org>
12058
12059         sys_socket: Hide mismatch of declarations on NonStop Kernel.
12060         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
12061         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
12062         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
12063
12064 2010-12-24  Bruno Haible  <bruno@clisp.org>
12065
12066         gethostname: Ensure declaration on NonStop Kernel.
12067         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
12068         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
12069
12070 2010-12-24  Bruno Haible  <bruno@clisp.org>
12071
12072         sys_select: Ensure all necessary types on NonStop Kernel.
12073         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
12074         include <sys/time.h>.
12075         * doc/posix-headers/sys_select.texi: Mention that it's missing on
12076         NonStop Kernel.
12077         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
12078
12079 2010-12-24  Bruno Haible  <bruno@clisp.org>
12080
12081         sys_select: Remove unneeded include.
12082         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
12083         have <sys/select.h>.
12084
12085 2010-12-24  Bruno Haible  <bruno@clisp.org>
12086
12087         gethostname: Provide a fallback for HOST_NAME_MAX.
12088         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
12089         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
12090         instead.
12091         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
12092
12093 2010-12-24  Bruno Haible  <bruno@clisp.org>
12094
12095         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
12096         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
12097         (SA_RESTART): Likewise.
12098         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
12099
12100 2010-12-24  Bruno Haible  <bruno@clisp.org>
12101
12102         signal: Define NSIG.
12103         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
12104         * tests/test-signal.c (nsig): New variable.
12105         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
12106
12107 2010-12-24  Bruno Haible  <bruno@clisp.org>
12108
12109         rename, renameat: Avoid test failures on OSF/1 5.1.
12110         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
12111         alternative error codes.
12112         * tests/test-renameat.c (main): Likewise.
12113
12114 2010-12-24  Bruno Haible  <bruno@clisp.org>
12115
12116         *printf: Detect large precisions bug on Solaris 10/SPARC.
12117         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
12118         by Paul Eggert.
12119         * tests/test-snprintf-posix.h (test_function): Add this test code here
12120         too.
12121         * tests/test-sprintf-posix.h (test_function): Likewise.
12122         * tests/test-vasnprintf-posix.c (test_function): Likewise.
12123         * tests/test-vasprintf-posix.c (test_function): Likewise.
12124         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
12125         around by gnulib.
12126         * doc/posix-functions/printf.texi: Likewise.
12127         * doc/posix-functions/snprintf.texi: Likewise.
12128         * doc/posix-functions/sprintf.texi: Likewise.
12129         * doc/posix-functions/vfprintf.texi: Likewise.
12130         * doc/posix-functions/vprintf.texi: Likewise.
12131         * doc/posix-functions/vsnprintf.texi: Likewise.
12132         * doc/posix-functions/vsprintf.texi: Likewise.
12133         * doc/posix-functions/dprintf.texi: Undo last commit.
12134         * doc/posix-functions/vdprintf.texi: Likewise.
12135
12136 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
12137
12138         tests: port test-fdutimensat.c to Solaris 8
12139         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
12140         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
12141         On Solaris 8, it fails with errno == ENOSYS, because there is no
12142         futimens (so it can't use the fd), and there is no lutimens (so it
12143         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
12144
12145         vsnprintf: make more consistent with snprintf; doc fixes
12146
12147         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
12148         the byte count return problem was promoted from the snprintf-posix
12149         to the snprintf module.
12150         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
12151         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
12152         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
12153         * tests/test-snprintf.c (main): Check the byte count returned.
12154         * tests/test-vsnprintf.c (main): Likewise.
12155
12156 2010-12-23  Eric Blake  <eblake@redhat.com>
12157
12158         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
12159         * modules/sigpipe (License): Relax license.
12160
12161 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
12162
12163         doc: document Solaris printf bug with large float precisions
12164         * doc/posix-functions/dprintf.texi (dprintf):
12165         * doc/posix-functions/fprintf.texi (fprintf):
12166         * doc/posix-functions/printf.texi (printf):
12167         * doc/posix-functions/snprintf.texi (snprintf):
12168         * doc/posix-functions/sprintf.texi (sprintf):
12169         * doc/posix-functions/vdprintf.texi (vdprintf):
12170         * doc/posix-functions/vfprintf.texi (vfprintf):
12171         * doc/posix-functions/vprintf.texi (vprintf):
12172         * doc/posix-functions/vsnprintf.texi (vsnprintf):
12173         * doc/posix-functions/vsprintf.texi (vsprintf):
12174         Mention that these functions mishandle large floating point
12175         precisions on Solaris 10.  The same bug is also present in Solaris
12176         8, and I assume earlier.  This causes "cd gnulib-tests; make
12177         check" to fail on Solaris 8 (and I assume, later) when building
12178         the latest coreutils, in test-vasprintf-posix's call to
12179         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
12180         the wide flavors (e.g., wprintf) so this patch just updates the
12181         documentation for the narrow ones.
12182
12183         test-posixtm.c: add two tests
12184         * tests/test-posixtm.c: Add two tests, to highlight the
12185         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
12186         around this bug; this is merely to document it.
12187
12188 2010-12-22  Bruno Haible  <bruno@clisp.org>
12189
12190         getlogin_r: Work around portability problem on OSF/1.
12191         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
12192         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
12193         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
12194         test for a truncated result.
12195         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
12196         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
12197         * modules/getlogin_r (Depends-on): Add memchr.
12198         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
12199
12200 2010-12-22  Bruno Haible  <bruno@clisp.org>
12201
12202         ptsname: Avoid test failure on OSF/1 5.1.
12203         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
12204         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
12205         (same_slave): New function.
12206         (main): Use it to compare ptsname's result with the expected file name.
12207
12208 2010-12-22  Bruno Haible  <bruno@clisp.org>
12209
12210         Port extended stdio modules to HP NonStop Kernel.
12211         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
12212         macros.
12213         * lib/fbufmode.c: Update comments.
12214         * lib/fflush.c: Likewise.
12215         * lib/fpurge.c: Likewise.
12216         * lib/freadable.c: Likewise.
12217         * lib/freadahead.c: Likewise.
12218         * lib/freading.c: Likewise.
12219         * lib/freadptr.c: Likewise.
12220         * lib/freadseek.c: Likewise.
12221         * lib/fseeko.c: Likewise.
12222         * lib/fseterr.c: Likewise.
12223         * lib/fwritable.c: Likewise.
12224         * lib/fwriting.c: Likewise.
12225         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
12226
12227 2010-12-22  Bruno Haible  <bruno@clisp.org>
12228
12229         ttyname_r: Work around bug on OSF/1 5.1.
12230         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
12231         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
12232         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
12233         present.
12234         * lib/ttyname_r.c (ttyname_r): Update comments.
12235
12236 2010-12-22  Bruno Haible  <bruno@clisp.org>
12237
12238         round: Implement result sign according to IEEE 754.
12239         * lib/round.c (MIN, MINUS_ZERO): New macros.
12240         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
12241         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
12242         * tests/test-round-ieee.c (main): Likewise.
12243         * tests/test-roundl-ieee.c (main): Likewise.
12244
12245         trunc: Implement result sign according to IEEE 754.
12246         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
12247         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
12248         * tests/test-trunc2.c: Include minus-zero.h.
12249         (MINUS_ZERO): New macro.
12250         (trunc_reference): Keep in sync with lib/trunc.c.
12251         * tests/test-truncf2.c: Include minus-zero.h.
12252         (MINUS_ZERO): New macro.
12253         (truncf_reference): Keep in sync with lib/trunc.c.
12254         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
12255         * tests/test-trunc-ieee.c (main): Likewise.
12256         * tests/test-truncl-ieee.c (main): Likewise.
12257
12258         ceil: Implement result sign according to IEEE 754.
12259         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
12260         (FUNC): Return -0.0 for -1 < x < 0.
12261         * tests/test-ceil2.c: Include minus-zero.h.
12262         (MINUS_ZERO): New macro.
12263         (ceil_reference): Keep in sync with lib/ceil.c.
12264         * tests/test-ceilf2.c: Include minus-zero.h.
12265         (MINUS_ZERO): New macro.
12266         (ceilf_reference): Keep in sync with lib/ceil.c.
12267         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
12268         * tests/test-ceil-ieee.c (main): Likewise.
12269         * tests/test-ceill-ieee.c (main): Likewise.
12270
12271         floor: Implement result sign according to IEEE 754.
12272         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
12273         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
12274         * tests/test-floorf2.c (floorf_reference): Likewise.
12275         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
12276         * tests/test-floor-ieee.c (main): Likewise.
12277         * tests/test-floorl-ieee.c (main): Likewise.
12278
12279 2010-12-22  Bruno Haible  <bruno@clisp.org>
12280
12281         getaddrinfo: Update doc.
12282         * doc/posix-functions/gai_strerror.texi: Return type is also different
12283         on AIX and HP-UX.
12284
12285 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
12286
12287         getaddrinfo, inet_ntop: Update doc for Solaris.
12288         * doc/posix-functions/gai_strerror.texi: Return type is also an
12289         issue on Solaris 9 and earlier.
12290         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
12291         on Solaris 10 and earlier.
12292
12293 2010-12-21  Bruno Haible  <bruno@clisp.org>
12294
12295         New module 'roundl-ieee'.
12296         * modules/roundl-ieee: New file.
12297         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
12298         test whether roundl works according to ISO C 99 with IEC 60559.
12299         * m4/roundl-ieee.m4: New file.
12300         * modules/roundl-ieee-tests: New file.
12301         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
12302         * tests/test-roundl.c (main): Remove signbit tests.
12303         * modules/roundl-tests (Depends-on): Remove signbit.
12304         * doc/posix-functions/roundl.texi: Mention the new module.
12305
12306 2010-12-21  Bruno Haible  <bruno@clisp.org>
12307
12308         New module 'truncl-ieee'.
12309         * modules/truncl-ieee: New file.
12310         * modules/truncl-ieee-tests: New file.
12311         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
12312         * tests/test-truncl.c (main): Remove signbit tests.
12313         * modules/truncl-tests (Depends-on): Remove signbit.
12314         * doc/posix-functions/truncl.texi: Mention the new module.
12315
12316 2010-12-21  Bruno Haible  <bruno@clisp.org>
12317
12318         New module 'ceill-ieee'.
12319         * modules/ceill-ieee: New file.
12320         * modules/ceill-ieee-tests: New file.
12321         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
12322         * tests/test-ceill.c (main): Remove signbit tests.
12323         * modules/ceill-tests (Depends-on): Remove signbit.
12324         * doc/posix-functions/ceill.texi: Mention the new module.
12325
12326 2010-12-21  Bruno Haible  <bruno@clisp.org>
12327
12328         New module 'floorl-ieee'.
12329         * modules/floorl-ieee: New file.
12330         * modules/floorl-ieee-tests: New file.
12331         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
12332         * tests/test-floorl.c (main): Remove signbit tests.
12333         * modules/floorl-tests (Depends-on): Remove signbit.
12334         * doc/posix-functions/floorl.texi: Mention the new module.
12335
12336 2010-12-21  Bruno Haible  <bruno@clisp.org>
12337
12338         New module 'round-ieee'.
12339         * modules/round-ieee: New file.
12340         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
12341         whether round works according to ISO C 99 with IEC 60559.
12342         * m4/round-ieee.m4: New file.
12343         * modules/round-ieee-tests: New file.
12344         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
12345         * tests/test-round1.c (main): Remove signbit tests.
12346         * modules/round-tests (Depends-on): Remove 'signbit'.
12347         * doc/posix-functions/round.texi: Mention the new module.
12348
12349 2010-12-21  Bruno Haible  <bruno@clisp.org>
12350
12351         New module 'trunc-ieee'.
12352         * modules/trunc-ieee: New file.
12353         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
12354         whether trunc works according to ISO C 99 with IEC 60559.
12355         * m4/trunc-ieee.m4: New file.
12356         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
12357         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
12358         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
12359         * modules/trunc-ieee-tests: New file.
12360         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
12361         * tests/test-trunc1.c (main): Remove signbit tests.
12362         * modules/trunc-tests (Depends-on): Remove 'signbit'.
12363         * doc/posix-functions/trunc.texi: Mention the new module.
12364
12365 2010-12-21  Bruno Haible  <bruno@clisp.org>
12366
12367         New module 'ceil-ieee'.
12368         * modules/ceil-ieee: New file.
12369         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
12370         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
12371         ISO C 99 with IEC 60559.
12372         * m4/ceil-ieee.m4: New file.
12373         * modules/ceil (Files): Add lib/ceil.c.
12374         (Depends-on): Add 'float'.
12375         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
12376         * lib/math.in.h (ceil): New declaration.
12377         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
12378         REPLACE_CEIL.
12379         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
12380         * modules/ceil-ieee-tests: New file.
12381         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
12382         * tests/test-math-c++.cc: Check the signature of 'ceil'.
12383         * doc/posix-functions/ceil.texi: Mention the new module.
12384
12385 2010-12-21  Bruno Haible  <bruno@clisp.org>
12386
12387         New module 'floor-ieee'.
12388         * modules/floor-ieee: New file.
12389         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
12390         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
12391         ISO C 99 with IEC 60559.
12392         * m4/floor-ieee.m4: New file.
12393         * modules/floor (Files): Add lib/floor.c.
12394         (Depends-on): Add 'float'.
12395         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
12396         * lib/math.in.h (floor): New declaration.
12397         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
12398         REPLACE_FLOOR.
12399         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
12400         * modules/floor-ieee-tests: New file.
12401         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
12402         * tests/test-math-c++.cc: Check the signature of 'floor'.
12403         * doc/posix-functions/floor.texi: Mention the new module.
12404
12405 2010-12-21  Bruno Haible  <bruno@clisp.org>
12406
12407         New module 'roundf-ieee'.
12408         * modules/roundf-ieee: New file.
12409         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
12410         test whether roundf works according to ISO C 99 with IEC 60559.
12411         * m4/roundf-ieee.m4: New file.
12412         * modules/roundf-ieee-tests: New file.
12413         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
12414         * tests/test-roundf1.c (main): Remove signbit tests.
12415         * modules/roundf-tests (Depends-on): Remove 'signbit'.
12416         * doc/posix-functions/roundf.texi: Mention the new module.
12417
12418 2010-12-21  Bruno Haible  <bruno@clisp.org>
12419
12420         New module 'truncf-ieee'.
12421         * modules/truncf-ieee: New file.
12422         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
12423         test whether truncf works according to ISO C 99 with IEC 60559.
12424         * m4/truncf-ieee.m4: New file.
12425         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
12426         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
12427         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
12428         * modules/truncf-ieee-tests: New file.
12429         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
12430         * tests/test-truncf1.c (main): Remove signbit tests.
12431         * modules/truncf-tests (Depends-on): Remove 'signbit'.
12432         * doc/posix-functions/truncf.texi: Mention the new module.
12433
12434 2010-12-21  Bruno Haible  <bruno@clisp.org>
12435
12436         New module 'ceilf-ieee'.
12437         * modules/ceilf-ieee: New file.
12438         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
12439         test whether ceilf works according to ISO C 99 with IEC 60559.
12440         * m4/ceilf-ieee.m4: New file.
12441         * modules/ceilf-ieee-tests: New file.
12442         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
12443         * tests/test-ceilf1.c (main): Remove signbit tests.
12444         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
12445         * doc/posix-functions/ceilf.texi: Mention the new module.
12446
12447 2010-12-21  Bruno Haible  <bruno@clisp.org>
12448
12449         New module 'floorf-ieee'.
12450         * modules/floorf-ieee: New file.
12451         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
12452         test whether floorf works according to ISO C 99 with IEC 60559.
12453         * m4/floorf-ieee.m4: New file.
12454         * modules/floorf-ieee-tests: New file.
12455         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
12456         * tests/test-floorf1.c (main): Remove signbit tests.
12457         * modules/floorf-tests (Depends-on): Remove 'signbit'.
12458         * doc/posix-functions/floorf.texi: Mention the new module.
12459
12460 2010-12-21  Bruno Haible  <bruno@clisp.org>
12461
12462         Support for minus zero in autoconf macros.
12463         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
12464         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
12465         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
12466         * tests/minus-zero.h: Update comments.
12467
12468 2010-12-21  Bruno Haible  <bruno@clisp.org>
12469
12470         Tests for module 'ceil'.
12471         * modules/ceil-tests: New file.
12472         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
12473         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
12474
12475 2010-12-21  Bruno Haible  <bruno@clisp.org>
12476
12477         Tests for module 'floor'.
12478         * modules/floor-tests: New file.
12479         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
12480         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
12481
12482 2010-12-21  Bruno Haible  <bruno@clisp.org>
12483
12484         math: Fix indentation.
12485         * lib/math.in.h (floorf): Fix indentation.
12486
12487 2010-12-21  Bruno Haible  <bruno@clisp.org>
12488
12489         Fix cross-compilation guesses on Solaris.
12490         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
12491         not match "solaris2.10".
12492         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
12493         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
12494         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
12495
12496 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
12497
12498         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
12499         This fixes a problem observed with the latest coreutils snapshot
12500         that caused a test to fail on Solaris 8.  src/csplit.c's call
12501         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
12502         earlier, instead of returning the number of bytes that would have
12503         been generated; this causes csplit to incorrectly report memory
12504         exhaustion.
12505         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
12506         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
12507         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
12508         comments to match.
12509         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
12510         Fix typo in matching older versions of Solaris: "solaris2.10"
12511         is matched by the shell pattern "solaris2.[0-9]*".  This matters
12512         only for guessing while cross-compiling.
12513         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
12514
12515 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
12516
12517         ftoastr: fix comment again
12518         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
12519         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
12520         Also, simplify example a bit by using flags = 0.
12521
12522 2010-12-20  Bruno Haible  <bruno@clisp.org>
12523
12524         round*, trunc*: Update documentation regarding glibc.
12525         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
12526         * doc/posix-functions/round.texi: Likewise.
12527         * doc/posix-functions/roundl.texi: Likewise.
12528         * doc/posix-functions/truncf.texi: Likewise.
12529         * doc/posix-functions/trunc.texi: Likewise.
12530         * doc/posix-functions/truncl.texi: Likewise.
12531
12532 2010-12-20  Bruno Haible  <bruno@clisp.org>
12533
12534         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
12535         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
12536         * doc/posix-functions/round.texi: Likewise.
12537         * doc/posix-functions/roundl.texi: Likewise.
12538
12539 2010-12-20  Bruno Haible  <bruno@clisp.org>
12540
12541         ttyname_r: Add missing declaration on HP-UX 11.
12542         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
12543         HAVE_TTYNAME_R.
12544         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
12545         declared. Set HAVE_TTYNAME_R always.
12546         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
12547         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
12548         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
12549         HAVE_TTYNAME_R.
12550         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
12551
12552 2010-12-20  Bruno Haible  <bruno@clisp.org>
12553
12554         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
12555         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
12556         * doc/posix-functions/getlogin_r.texi: Likewise.
12557         * tests/test-getlogin.c: Include <errno.h>.
12558         (main): Avoid test failure on HP-UX 11.11.
12559         * tests/test-getlogin_r.c (main): Likewise.
12560
12561 2010-12-20  Bruno Haible  <bruno@clisp.org>
12562
12563         getlogin_r: Add missing declaration on HP-UX 11.
12564         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
12565         declared also when it exists as a function.
12566         * doc/posix-functions/getlogin_r.texi: Document this workaround.
12567
12568 2010-12-20  Bruno Haible  <bruno@clisp.org>
12569
12570         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
12571         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
12572         through wcrtomb.
12573
12574 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
12575
12576         ftoastr: fix comment
12577         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
12578         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
12579
12580 2010-12-19  Bruno Haible  <bruno@clisp.org>
12581
12582         isnan: Ensure it is a macro.
12583         * lib/math.in.h (isnan): Define as a macro if not already a macro.
12584         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
12585         Solaris.
12586
12587 2010-12-19  Bruno Haible  <bruno@clisp.org>
12588
12589         ldexpl test: Fix link error on OSF/1 5.1.
12590         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
12591
12592 2010-12-19  Bruno Haible  <bruno@clisp.org>
12593
12594         wctype: Make it work in C++ mode on OSF/1 5.1.
12595         * lib/wctype.in.h (iswblank): Declare but not define here.
12596         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
12597         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
12598         * modules/wctype (Files): Add lib/iswblank.c.
12599
12600 2010-12-19  Bruno Haible  <bruno@clisp.org>
12601
12602         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
12603         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
12604         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
12605
12606 2010-12-19  Bruno Haible  <bruno@clisp.org>
12607
12608         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
12609         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
12610         _POSIX_PII_SOCKET.
12611         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
12612         * doc/posix-functions/recvfrom.texi: Likewise.
12613         * doc/posix-functions/send.texi: Likewise.
12614         * doc/posix-functions/sendto.texi: Likewise.
12615
12616 2010-12-19  Bruno Haible  <bruno@clisp.org>
12617
12618         tcgetsid: Add missing declaration on OSF/1 5.1.
12619         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
12620         HAVE_TCGETSID.
12621         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
12622         Don't set HAVE_TCGETSID.
12623         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
12624         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
12625         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
12626         HAVE_TCGETSID.
12627         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
12628
12629 2010-12-19  Bruno Haible  <bruno@clisp.org>
12630
12631         stdio: Fix problem with popen() declaration on OSF/1 5.1.
12632         * lib/stdio.in.h: During the include_next statement, let recursive
12633         includes of this file include only the system header file.
12634
12635 2010-12-19  Bruno Haible  <bruno@clisp.org>
12636
12637         iconv_open: Fix regression from 2010-12-04.
12638         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
12639         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
12640
12641 2010-12-19  Bruno Haible  <bruno@clisp.org>
12642
12643         stdbool test: Avoid a gcc warning.
12644         * tests/test-stdbool.c (main): Fail if e1 is false.
12645         Reported by Jim Meyering.
12646
12647 2010-12-19  Jim Meyering  <meyering@redhat.com>
12648
12649         setenv: restore to working order
12650         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
12651         mistakenly removed.
12652         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
12653         HAVE_SETENV.
12654         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
12655         HAVE_SETENV.
12656
12657 2010-12-19  Bruno Haible  <bruno@clisp.org>
12658
12659         Document some different function declarations on OSF/1 5.1.
12660         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
12661         * doc/posix-functions/inet_ntop.texi: Likewise.
12662         * doc/posix-functions/gethostname.texi: Likewise.
12663         * lib/unistd.in.h (gethostname): Update comment.
12664
12665 2010-12-19  Bruno Haible  <bruno@clisp.org>
12666
12667         doc: Mention vasprintf-posix module.
12668         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
12669         the 'vasprintf-posix' module.
12670         * doc/glibc-functions/vasprintf.texi: Likewise.
12671
12672 2010-12-19  Bruno Haible  <bruno@clisp.org>
12673
12674         unsetenv: Add missing declaration on OSF/1 5.1.
12675         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
12676         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
12677         Don't set HAVE_UNSETENV. In the test program, set _BSD.
12678         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
12679         not HAVE_UNSETENV.
12680         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
12681         HAVE_UNSETENV.
12682         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
12683
12684 2010-12-19  Bruno Haible  <bruno@clisp.org>
12685
12686         setenv: Add missing declaration on OSF/1 5.1.
12687         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
12688         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
12689         declared. Don't set HAVE_SETENV.
12690         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
12691         not HAVE_SETENV.
12692         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
12693         HAVE_SETENV.
12694         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
12695
12696 2010-12-19  Bruno Haible  <bruno@clisp.org>
12697
12698         nl_langinfo tests: Avoid gcc warning.
12699         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
12700
12701 2010-12-19  Bruno Haible  <bruno@clisp.org>
12702
12703         mknod: Avoid error in C++ mode on OSF/1 with GCC.
12704         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
12705         _GL_CXXALIAS_SYS.
12706
12707 2010-12-19  Bruno Haible  <bruno@clisp.org>
12708
12709         stdbool: Relax test.
12710         * tests/test-stdbool.c (e): Don't require that casts from a variable's
12711         address to 'bool' work in static initializer, for compilers other than
12712         GCC.
12713
12714 2010-12-19  Bruno Haible  <bruno@clisp.org>
12715
12716         ftello: Add missing declaration on OSF/1 5.1.
12717         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
12718         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
12719         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
12720         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
12721         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
12722
12723 2010-12-19  Bruno Haible  <bruno@clisp.org>
12724
12725         fseeko: Add missing declaration on OSF/1 5.1.
12726         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
12727         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
12728         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
12729         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
12730         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
12731
12732 2010-12-19  Bruno Haible  <bruno@clisp.org>
12733
12734         fchdir: Add missing declaration on OSF/1 5.1.
12735         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
12736         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
12737         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
12738         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
12739         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
12740
12741 2010-12-19  Bruno Haible  <bruno@clisp.org>
12742
12743         relocatable-prog-wrapper: Separate from relocatable-prog.
12744         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
12745         uninstall-relocwrapper rule here.
12746         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
12747         Reported by Ian Beckwith <ianb@erislabs.net>.
12748
12749 2010-12-19  Bruno Haible  <bruno@clisp.org>
12750
12751         unistr/u8-mbsnlen: Add missing dependency.
12752         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
12753         Reported by Ian Beckwith <ianb@erislabs.net>.
12754
12755 2010-12-19  Bruno Haible  <bruno@clisp.org>
12756
12757         iconv: Make it possible again to use this module without 'iconv-h'.
12758         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
12759         if it is not defined.
12760         Reported by Ian Beckwith <ianb@erislabs.net>.
12761
12762 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
12763
12764         acl: port to Solaris 8 when copying from tmpfs to ufs
12765         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
12766         error number.  Problem observed on Solaris 8 with latest
12767         coreutils, with "mv A B", where A is on a tmpfs file system and B
12768         is on a ufs file system.  This caused coreutils' mv/part-symlink
12769         test to fail.
12770
12771         tests: set fail=0 at start
12772         * tests/init.sh (setup_): Move fail=0 initialization here ...
12773         (mktempd_): ... from here, so that tests can rely on fail being
12774         set to 0 initially.  This fixes a problem in coreutils; see:
12775         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
12776
12777 2010-12-18  Bruno Haible  <bruno@clisp.org>
12778
12779         memmem-simple: Stylistic changes.
12780         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
12781         Fix preprocessor directive indentation.
12782
12783 2010-12-15  Pádraig Brady <P@draigBrady.com>
12784
12785         memmem, memmem-simple: reorganize and expand empty needle check
12786         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
12787         functional checks to memmem-simple so that one has a fully functional
12788         memmem by using just this module.
12789         Restrict the performance only check to the memmem module.
12790         Also expand the empty needle check to ensure the correct
12791         pointer is returned, not just a non NULL pointer.
12792         * doc/glibc-functions/memmem.texi: Rearrange the portability
12793         documentation to correlate with the rearranged checks.
12794         Clarify exactly how the memmem and memmem-simple modules
12795         relate to each other.
12796
12797 2010-12-15  Pádraig Brady <P@draigBrady.com>
12798             Bruno Haible  <bruno@clisp.org>
12799
12800         Improve cross-compilation guesses for uClibc.
12801         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
12802         that uClibc does not have the glibc bug.
12803         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
12804         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
12805
12806 2010-12-14  Eric Blake  <eblake@redhat.com>
12807
12808         configmake: provide fallbacks for oldest supported autotools
12809         * m4/configmake.m4: New file.
12810         * modules/configmake (Files): Ship it.
12811         (configure.ac): Use it to guarantee fallbacks.
12812
12813 2010-12-13  Pádraig Brady <P@draigBrady.com>
12814
12815         read-file: Improve handling of large files
12816         * lib/read-file.c (fread_file): Minimize realloc()s
12817         for regular files, and better manage sizes around SIZE_MAX.
12818
12819 2010-12-13  Eric Blake  <eblake@redhat.com>
12820
12821         cloexec, fcntl: relax license
12822         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
12823         consent from all contributors.
12824         * modules/fcntl (License): Likewise.
12825
12826 2010-12-10  Bruno Haible  <bruno@clisp.org>
12827
12828         Tests for module 'pipe-posix'.
12829         * modules/pipe-posix-tests: New file.
12830         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
12831
12832 2010-12-10  Bruno Haible  <bruno@clisp.org>
12833
12834         pipe-posix: Make it work in C++ mode.
12835         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
12836         (pipe): Use common idiom, not a macro definition.
12837         * lib/pipe.c: New file.
12838         * m4/pipe.m4: New file.
12839         * modules/pipe-posix (Description): Enhance.
12840         (Files): Add lib/pipe.c, m4/pipe.m4.
12841         (configure.ac): Invoke gl_FUNC_PIPE.
12842         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
12843         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
12844         * tests/test-unistd-c++.cc: Check the signature of pipe.
12845
12846 2010-12-10  Bruno Haible  <bruno@clisp.org>
12847
12848         Rename module 'pipe' to 'spawn-pipe'.
12849         * modules/spawn-pipe: New file, renamed from modules/pipe.
12850         (Files, configure.ac, Makefile.am): Update.
12851         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
12852         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
12853         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
12854         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
12855         "spawn-pipe.h" instead of "pipe.h".
12856         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
12857         to gl_SPAWN_PIPE.
12858         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
12859         (Files, Makefile.am): Update.
12860         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
12861         Update.
12862         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
12863         Include "spawn-pipe.h" instead of "pipe.h".
12864         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
12865         * lib/javacomp.c: Likewise.
12866         * lib/javaversion.c: Likewise.
12867         * lib/pipe-filter-gi.c: Likewise.
12868         * lib/pipe-filter-ii.c: Likewise.
12869         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
12870         * modules/javacomp (Depends-on): Likewise.
12871         * modules/javaversion (Depends-on): Likewise.
12872         * modules/pipe-filter-gi (Depends-on): Likewise.
12873         * modules/pipe-filter-ii (Depends-on): Likewise.
12874         * MODULES.html.sh (Executing programs): Update.
12875         * NEWS: Mention the change.
12876
12877 2010-12-10  Eric Blake  <eblake@redhat.com>
12878
12879         pipe-posix: new module
12880         * modules/pipe-posix: New file.
12881         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
12882         (gl_UNISTD_H): Check for declaration.
12883         * modules/unistd (Makefile.am): Substitute it.
12884         * lib/unistd.in.h (pipe): Provide it for mingw.
12885         * doc/posix-functions/pipe.texi (pipe): Update documentation.
12886         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
12887
12888 2010-12-07  Bruno Haible  <bruno@clisp.org>
12889
12890         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
12891         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
12892         u8_strcmp_gnu.
12893         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
12894
12895 2010-12-06  Bruno Haible  <bruno@clisp.org>
12896
12897         Update internal documentation.
12898         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
12899
12900 2010-12-04  Bruno Haible  <bruno@clisp.org>
12901
12902         Put more information about failed tests into the test return codes.
12903         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
12904         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
12905         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
12906         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
12907         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
12908         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
12909         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
12910         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
12911         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
12912         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
12913         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
12914         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
12915         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
12916         * m4/stdint.m4 (gl_STDINT_H): Likewise.
12917         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
12918         returns a bit mask.
12919         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
12920         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
12921         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
12922         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
12923         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
12924         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
12925         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
12926         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
12927         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
12928         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
12929         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
12930         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
12931         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
12932         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
12933         * m4/link.m4 (gl_FUNC_LINK): Likewise.
12934         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
12935         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
12936         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
12937         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
12938         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
12939         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
12940         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
12941         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
12942         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
12943         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
12944         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
12945         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
12946         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
12947         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
12948         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
12949         gl_PRINTF_PRECISION): Likewise.
12950         * m4/regex.m4 (gl_REGEX): Likewise.
12951         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
12952         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
12953         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
12954         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
12955         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
12956         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
12957         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
12958         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
12959         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
12960         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
12961         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
12962         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
12963         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
12964         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
12965         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
12966         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
12967         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
12968         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
12969         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
12970         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
12971         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
12972         enumerated value.
12973         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
12974
12975 2010-12-04  Bruno Haible  <bruno@clisp.org>
12976
12977         Update for Solaris 11 2010-11.
12978         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
12979         Express, released in November 2010.
12980
12981 2010-12-04  Bruno Haible  <bruno@clisp.org>
12982
12983         nproc: Relax license.
12984         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
12985         and Paul Eggert.
12986         Requested by Ludovic Courtès <ludo@gnu.org>.
12987
12988 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
12989
12990         utimecmp: fine-grained src to nearby coarse-grained dest
12991
12992         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
12993         and the source is on a file system with higher-resolution time
12994         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
12995         not work, and the time stamps are close together, the algorithm to
12996         determine the exact resolution from the read-back mtime was buggy:
12997         it had a "!=" where it should have had an "==".  This bug has been
12998         in the code ever since it was introduced to gnulib.
12999         Problem reported by Dan Jacobson in
13000         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
13001
13002 2010-11-30  Bruno Haible  <bruno@clisp.org>
13003
13004         strerror_r-posix: Fix autoconf test.
13005         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
13006
13007 2010-11-28  Bruno Haible  <bruno@clisp.org>
13008             Paul Eggert  <eggert@cs.ucla.edu>
13009
13010         Tests for module 'getdomainname'.
13011         * modules/getdomainname-tests: New file.
13012         * tests/test-getdomainname.c: New file, based on
13013         tests/test-gethostname.c.
13014
13015 2010-11-28  Bruno Haible  <bruno@clisp.org>
13016             Paul Eggert  <eggert@cs.ucla.edu>
13017
13018         getdomainname: Use the system function when possible.
13019         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
13020         (getdomainname): Replace if needed. Provide the declaration if it is
13021         missing. Don't use _GL_CXXALIAS_SYS_CAST.
13022         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
13023         (getdomainname): When the system has getdomainname, call the system
13024         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
13025         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
13026         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
13027         found in libnsl. Look for the declaration also in <netdb.h>. Replace
13028         the function if its second argument is of type 'int' or if it is found
13029         in libnsl.
13030         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
13031         <sys/systeminfo.h> and sysinfo().
13032         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
13033         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
13034         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
13035         HAVE_GETDOMAINNAME.
13036         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
13037         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
13038         * doc/glibc-functions/getdomainname.texi: Document the problems with
13039         the getdomainname declaration.
13040
13041 2010-11-28  Bruno Haible  <bruno@clisp.org>
13042
13043         sys_socket: Ensure ss_family field on AIX.
13044         * lib/sys_socket.in.h (ss_family): New macro definition.
13045         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
13046         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
13047         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
13048         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
13049         * modules/sys_socket (Makefile.am): Substitute
13050         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
13051         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
13052
13053 2010-11-27  Bruno Haible  <bruno@clisp.org>
13054
13055         readline: Improve configure output.
13056         * m4/readline.m4 (gl_FUNC_READLINE): Make the
13057         "checking for readline..." result understandable.
13058
13059 2010-11-27  Bruno Haible  <bruno@clisp.org>
13060
13061         *printf-posix: Detect a bug on Solaris 10/x86.
13062         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
13063         for floating-point output.
13064         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
13065         directive.
13066         * tests/test-snprintf-posix.h (test_function): Likewise.
13067         * tests/test-sprintf-posix.h (test_function): Likewise.
13068         * tests/test-vasprintf-posix.c (test_function): Likewise.
13069         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
13070         * doc/posix-functions/printf.texi: Likewise.
13071         * doc/posix-functions/snprintf.texi: Likewise.
13072         * doc/posix-functions/sprintf.texi: Likewise.
13073         * doc/posix-functions/vfprintf.texi: Likewise.
13074         * doc/posix-functions/vprintf.texi: Likewise.
13075         * doc/posix-functions/vsnprintf.texi: Likewise.
13076         * doc/posix-functions/vsprintf.texi: Likewise.
13077         * doc/glibc-functions/obstack_printf.texi: Likewise.
13078         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
13079
13080 2010-11-27  Bruno Haible  <bruno@clisp.org>
13081
13082         Fix link error when module libunistring-optional is in use.
13083         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
13084         * modules/striconveha-tests (Makefile.am): Likewise.
13085
13086 2010-11-27  Bruno Haible  <bruno@clisp.org>
13087
13088         regex: Mention link dependencies.
13089         * modules/regex (Link): New section.
13090         * modules/rpmatch (Link): Likewise.
13091         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
13092
13093 2010-11-27  Bruno Haible  <bruno@clisp.org>
13094
13095         ftoastr: Fix compilation error on Solaris.
13096         * lib/ftoastr.c: Include <config.h>.
13097
13098 2010-11-27  Bruno Haible  <bruno@clisp.org>
13099
13100         getloadavg: Update documentation.
13101         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
13102
13103 2010-11-27  Bruno Haible  <bruno@clisp.org>
13104
13105         sys_socket: Fix test whether the functions are declared.
13106         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
13107         not <sys/select.h>.
13108
13109 2010-11-27  Bruno Haible  <bruno@clisp.org>
13110
13111         getpass: Make sure to get system declaration on some platforms.
13112         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
13113         gl_USE_SYSTEM_EXTENSIONS.
13114         * modules/getpass (Depends-on): Add extensions.
13115
13116 2010-11-26  Bruno Haible  <bruno@clisp.org>
13117
13118         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
13119         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
13120         'iconv' module is present.
13121         (ICONV_CONST): New macro.
13122         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
13123         ICONV_CONST.
13124         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
13125         set ICONV_CONST.
13126         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
13127         here.
13128         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
13129         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
13130         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
13131         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
13132         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
13133         present.
13134
13135 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
13136
13137         ftoastr: comment fix
13138         * lib/ftoastr.c: "little" -> "little or no" in comment
13139
13140 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
13141
13142         stdint: port to GCC 4.3 + OSX + Octave
13143         On this platform, stdint.h is buggy and defines int64_t to long
13144         long int.  The replacement defined it to long int, causing
13145         problems with C++ style name mangling.  Instead, trust the system
13146         definition if INT64_MAX is defined, and likewise for the unsigned
13147         variant.   Problem reported by Jarno Rajahalme in
13148         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
13149         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
13150         and don't mess with int64_t and INT64_MAX in this case.
13151         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
13152
13153 2010-11-24  Bruno Haible  <bruno@clisp.org>
13154
13155         doc: Corrections regarding MacOS X 10.4 and 10.5.
13156         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
13157         MacOS X.
13158         Reported by Simon Josefsson.
13159
13160 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
13161
13162         Uninstall ".bin" files installed by relocwrapper.
13163         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
13164         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
13165         unless it is already there.
13166
13167 2010-11-21  Bruno Haible  <bruno@clisp.org>
13168
13169         Update for NetBSD 5.0.
13170         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
13171         NetBSD; the test fails on NetBSD 5.0.
13172         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
13173         about NetBSD.
13174
13175 2010-11-21  Bruno Haible  <bruno@clisp.org>
13176
13177         Update for HP-UX 11.23 and HP-UX 11.31.
13178         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
13179         HP-UX.
13180
13181 2010-11-21  Bruno Haible  <bruno@clisp.org>
13182
13183         Update for MacOS X 10.5.
13184         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
13185         MacOS X; the test fails on MacOS X 10.5.8.
13186         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
13187         about MacOS X.
13188
13189 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
13190
13191         bootstrap: add bootstrap_sync option.
13192         See discussion at
13193         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
13194         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
13195         * build-aux/bootstrap: Accept --bootstrap-sync to update
13196         bootstrap if it is not identical to the local gnulib's
13197         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
13198         enable this by default.  Accept --no-bootstrap-sync to disable
13199         it.
13200
13201 2010-11-20  Bruno Haible  <bruno@clisp.org>
13202
13203         Ensure that <features.h> is included before __GLIBC__ is tested.
13204         * lib/printf-parse.h: Include <features.h>.
13205         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
13206         Reported by Mike Frysinger <vapier@gentoo.org>.
13207
13208         Ensure that <features.h> is included before __GLIBC__ is tested.
13209         * lib/wchar.in.h: Include <features.h>.
13210         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
13211         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
13212         Reported by Mike Frysinger <vapier@gentoo.org>.
13213
13214         Ensure that <features.h> is included before __GLIBC__ is tested.
13215         * lib/arpa_inet.in.h: Include <features.h>.
13216         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
13217         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
13218         Reported by Mike Frysinger <vapier@gentoo.org>.
13219
13220         Ensure that <features.h> is included before __GLIBC__ is tested.
13221         * build-aux/link-warning.h: Include <features.h>.
13222         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
13223         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
13224         Reported by Mike Frysinger <vapier@gentoo.org>.
13225
13226         Ensure that <features.h> is included before __GLIBC__ is tested.
13227         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
13228         Reported by Mike Frysinger <vapier@gentoo.org>.
13229
13230 2010-11-20  Bruno Haible  <bruno@clisp.org>
13231
13232         memmem: Fix autoconf test.
13233         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
13234
13235 2010-11-20  Bruno Haible  <bruno@clisp.org>
13236
13237         Port to uClibc.
13238         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
13239         * lib/fcntl.in.h: Likewise.
13240         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
13241         * lib/mbrtowc.c (mbrtowc): Likewise.
13242         * lib/relocatable.c (find_shared_library_fullname): Likewise.
13243         * lib/strerror_r.c: Likewise.
13244         * lib/unistr/u8-strnlen.c: Likewise.
13245         * lib/vasnprintf.c (decimal_point_char): Likewise.
13246         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
13247         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
13248         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
13249         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
13250         * tests/test-sigaction.c (handler, main): Likewise.
13251         * lib/freading.h: Treat uClibc like a non-glibc platform.
13252         * lib/freading.c: Likewise.
13253         * lib/gettext.h: Likewise.
13254         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
13255         Likewise.
13256         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
13257         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
13258         * lib/propername.c (proper_name_utf8): Likewise.
13259         * lib/spawn.in.h: Likewise.
13260         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
13261         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
13262         mem_cd_iconveh_internal): Likewise.
13263         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
13264         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
13265         strstr, strcasestr): Likewise.
13266         * lib/unicodeio.c (unicode_to_mb): Likewise.
13267         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
13268         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
13269         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
13270         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
13271         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
13272         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
13273         * lib/unistr/u8-stpncpy.c: Likewise.
13274         * lib/vasnprintf.c (VASNPRINTF): Likewise.
13275         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
13276         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
13277         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
13278         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
13279         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
13280         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
13281         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
13282         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
13283         Likewise.
13284         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
13285         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
13286         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
13287         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
13288         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
13289         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
13290         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
13291         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
13292         * tests/test-getopt.h (OPTIND_MIN): Likewise.
13293         * tests/test-striconveha.c (main): Likewise.
13294         * tests/test-vasnprintf-posix.c (test_function): Likewise.
13295         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
13296         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
13297         * doc/posix-functions/getline.texi: Likewise.
13298         Reported by Mike Frysinger <vapier@gentoo.org>.
13299
13300 2010-11-20  Bruno Haible  <bruno@clisp.org>
13301
13302         nproc: Fix condition.
13303         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
13304         HAVE_PTHREAD_AFFINITY_NP.
13305
13306 2010-11-20  Bruno Haible  <bruno@clisp.org>
13307
13308         Fix a comment.
13309         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
13310
13311 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
13312
13313         ftoastr: don't assume snprintf
13314         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
13315         Implement a subset of snprintf here, by using sprintf safely.
13316         * modules/ftoastr (Depends-on): Remove snprintf.
13317
13318 2010-11-19  Jim Meyering  <meyering@redhat.com>
13319
13320         test-rename.h: fix compilation failure
13321         * tests/test-rename.h (test_rename): Add omitted "}".
13322
13323 2010-11-17  Jim Meyering  <meyering@redhat.com>
13324
13325         maint.mk: add a URL discussing the no-@acronym policy
13326         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
13327
13328 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
13329
13330         ftoastr: depend on snprintf, improve comments
13331         * lib/ftoastr.c: Also mention Loitsch's draft.
13332         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
13333         needed in the current implementation, but it might simplify
13334         speeding up the code later.
13335         * modules/ftoastr: Depend on snprintf; this improves portability.
13336         Suggested by Bruno Haible in the same email.
13337
13338         ftoastr: port to hosts lacking strtof and strtold
13339         Problem reported by Bruno Haible in
13340         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
13341         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
13342         environment and strtold (and presumably strtof) are not available.
13343         * modules/ftoastr (Files): Add m4/c-strtod.m4.
13344         (configure.ac): Require gl_C99_STRTOLD.
13345
13346 2010-11-18  Bruno Haible  <bruno@clisp.org>
13347
13348         c-strtold: Avoid link error on AIX 7.
13349         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
13350         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
13351         (gl_C_STRTOLD): Test whether strtold_l exists.
13352         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
13353
13354 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
13355
13356         intprops: new macro INT_BITS_STRLEN_BOUND
13357         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
13358         ftoastr.h.  This exposes an internal of intprops.h that was formerly
13359         not exposed.  Also, it uses a slightly tighter bound than before;
13360         though this makes no practical difference, we might as well be as
13361         tight as we easily can.
13362
13363         ftoastr: new module, for lossless conversion of floats to short strings
13364         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
13365         * modules/ftoastr: New files.
13366
13367 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
13368
13369         bootstrap: port to Solaris sed
13370         * build-aux/bootstrap (get_version): Port to Solaris sed.
13371         See Ralf Wildenhues's note in
13372         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
13373
13374 2010-11-14  Jim Meyering  <meyering@redhat.com>
13375
13376         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
13377         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
13378         and move definition closer to sole use.
13379
13380 2010-11-13  Jim Meyering  <meyering@redhat.com>
13381
13382         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
13383         Now we require at least autoconf-2.59, which means the work-around
13384         is no longer needed.
13385         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
13386         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
13387         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
13388         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
13389         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
13390
13391 2010-11-13  Bruno Haible  <bruno@clisp.org>
13392
13393         rename, renameat: Avoid test failures at NFS mounted locations.
13394         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
13395         functions.
13396         (test_rename): Use assert_nonexistent.
13397         * tests/test-rename.c: Include <dirent.h>.
13398         * tests/test-renameat.c: Likewise.
13399         Reported by Gary V. Vaughan <gary@gnu.org>.
13400
13401         rename, renameat: Document Linux bug with NFS
13402         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
13403         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
13404         * doc/posix-functions/renameat.texi: Likewise.
13405         Suggested by Eric Blake.
13406
13407 2010-11-13  Bruno Haible  <bruno@clisp.org>
13408
13409         rename test: Add comments.
13410         * tests/test-rename.h (test_rename): Add structure and comments.
13411
13412 2010-11-13  Eric Blake  <eblake@redhat.com>
13413
13414         maintainer-makefile: cover a few more files
13415         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
13416         scripts generated within C files, for libvirt.
13417
13418 2010-11-13  Bruno Haible  <bruno@clisp.org>
13419
13420         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
13421         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
13422         character, return the number of bytes that belong together, not always
13423         1.
13424         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
13425         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
13426         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
13427         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
13428         number of bytes of an invalid character.
13429         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
13430         (main): Invoke it.
13431         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
13432         results.
13433         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
13434         malformed byte sequences.
13435         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
13436         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
13437         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
13438         Reported by Ben Pfaff and Paolo Bonzini.
13439
13440 2010-11-13  Bruno Haible  <bruno@clisp.org>
13441
13442         openat: Work around glibc bug with fchownat() and empty file names.
13443         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
13444         (gl_FUNC_FCHOWNAT): Invoke it.
13445         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
13446         * doc/posix-functions/fchownat.texi: Document the glibc bug.
13447         Reported by Gary V. Vaughan <gary@gnu.org>.
13448
13449 2010-11-13  Bruno Haible  <bruno@clisp.org>
13450
13451         openat: Ensure autoconf macro ordering.
13452         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
13453         gl_USE_SYSTEM_EXTENSIONS.
13454         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
13455
13456 2010-11-13  Bruno Haible  <bruno@clisp.org>
13457
13458         Update comments.
13459         * lib/unistr/u8-check.c: Update file name in comments.
13460         * lib/unistr/u8-mblen.c: Likewise.
13461         * lib/unistr/u8-prev.c: Likewise.
13462         * lib/unistr/u8-strmblen.c: Likewise.
13463         * lib/unistr/u8-strmbtouc.c: Likewise.
13464
13465 2010-11-13  Jim Meyering  <meyering@redhat.com>
13466
13467         tests: avoid test failure on Solaris 10 due to lack of PATH export
13468         * tests/test-update-copyright.sh: Don't forget to export PATH.
13469
13470         init.sh: ensure that IFS is defined, just in case...
13471         * tests/init.sh (setup_): Ensure that IFS is defined,
13472         so that saving and restoring it works as expected.  This
13473         appears to be useful at least for an old version of dash
13474         from a long time ago (RH 6).  See here for details:
13475         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
13476
13477         maint.mk: tighten "test a == b" check
13478         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
13479         test to files that contain something like #!/bin/sh.
13480         Without this, coreutils would get two false positives in
13481         the comments of C source files.
13482
13483 2010-11-12  Eric Blake  <eblake@redhat.com>
13484
13485         bootstrap: fix typo in previous attempt
13486         * build-aux/bootstrap (buildreq): Correct the grouping.
13487         Reported by Paul Eggert.
13488
13489         maintainer-makefile: prohibit test x == x
13490         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
13491         Based on a report by Matthias Bolte.
13492
13493         bootstrap: allow FreeBSD gzip
13494         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
13495         which has no '.' and goes to stderr.
13496         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
13497         Reported by Matthias Bolte.
13498
13499         maintainer-makefile: check for i18n setup
13500         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
13501         will likely work.
13502
13503 2010-11-12  Bruno Haible  <bruno@clisp.org>
13504
13505         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
13506         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
13507         * lib/nanosleep.c (nanosleep): Likewise.
13508
13509 2010-11-11  Bruno Haible  <bruno@clisp.org>
13510
13511         fcntl-h: Fix for use of C++ on glibc systems.
13512         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
13513         also on glibc systems in C++ mode.
13514         Reported by Gary V. Vaughan <gary@gnu.org>.
13515
13516 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
13517
13518         mknod: avoid false failure with dash
13519         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
13520
13521 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
13522
13523         unlink: Fix "is it should" typo in diagnostic.
13524         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
13525         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
13526
13527 2010-11-11  Bruno Haible  <bruno@clisp.org>
13528
13529         Tests for module 'strerror_r-posix'.
13530         * modules/strerror_r-posix-tests: New file.
13531         * tests/test-strerror_r.c: New file.
13532         * tests/test-string-c++.cc: Check the signature of strerror_r.
13533
13534         New module 'strerror_r-posix'.
13535         * lib/string.in.h (strerror_r): New declaration.
13536         * lib/strerror_r.c: New file.
13537         * m4/strerror_r.m4: New file.
13538         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
13539         of strerror_r.
13540         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
13541         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
13542         * modules/strerror_r-posix: New file.
13543         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
13544         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
13545         * doc/posix-functions/strerror_r.texi: Mention the new module and the
13546         portability problems.
13547
13548 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
13549
13550         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
13551         line is also considered for output. Quoted function name in shell
13552         command, so temporary files for functions like MyClass::operator()
13553         are removed correctly without errors.
13554
13555 2010-11-09  Bruno Haible  <bruno@clisp.org>
13556
13557         * doc/posix-functions/strerror.texi: List more failing platforms.
13558
13559         * doc/posix-functions/strerror.texi: Add a comment.
13560
13561 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
13562
13563         fdopendir: fix bug on MacOS X when low on file descriptors
13564
13565         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
13566         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
13567         All callers changed.
13568         (fdopendir): Invoke save_cwd at the top level, not after using
13569         multiple dup() calls to use up file descriptors.  Then retry
13570         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
13571         less than the maximum number of open file descriptors, because
13572         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
13573         on Mac OS X 10.6.4 for tar 1.24
13574         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
13575         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
13576         and for tar 1.25
13577         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
13578
13579 2010-11-07  Bruno Haible  <bruno@clisp.org>
13580
13581         vasnprintf: Support I flag on glibc systems.
13582         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
13583         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
13584         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
13585         snprintf function.
13586         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
13587         glibc systems.
13588         * tests/test-vasnprintf-posix3.c: New file.
13589         * modules/vasnprintf-posix-tests (Files): Add it.
13590         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
13591
13592 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
13593
13594         [html] Fix copy/paste bug: Use unique name for compiler warnings.
13595         * MODULES.html.sh: For compiler warnings, use name
13596         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
13597
13598 2010-11-05  Eric Blake  <eblake@redhat.com>
13599
13600         ceil, floor: avoid spurious failure with icc
13601         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
13602         [denormals-as-zero] when optimizing without -mieee-fp option.
13603         * tests/test-floorf2.c (floorf_reference): Likewise.
13604         * tests/test-ceilf1.c (dummy): New function.
13605         (main): Use it to outsmart icc's optimization.
13606         * tests/test-floorf1.c (dummy, main): Likewise.
13607
13608         tests: require working signbit
13609         * modules/ceilf-tests (Depends-on): Add signbit.
13610         * modules/ceill-tests (Depends-on): Likewise.
13611         * modules/floorf-tests (Depends-on): Likewise.
13612         * modules/floorl-tests (Depends-on): Likewise.
13613         * modules/round-tests (Depends-on): Likewise.
13614         * modules/roundf-tests (Depends-on): Likewise.
13615         * modules/roundl-tests (Depends-on): Likewise.
13616         * modules/trunc-tests (Depends-on): Likewise.
13617         * modules/truncf-tests (Depends-on): Likewise.
13618         * modules/truncl-tests (Depends-on): Likewise.
13619
13620         strtod: work around icc bug
13621         * lib/strtod.c (minus_zero): Define to working value.
13622         (strtod): Use it to avoid icc bug.
13623
13624         copysign: enhance tests
13625         * modules/copysign-tests (Files): Add minus-zero.h.
13626         * tests/test-copysign.c (main): Also test zeros.
13627
13628 2010-11-04  Eric Blake  <eblake@redhat.com>
13629
13630         ceil, floor, round, trunc: enhance tests of -0
13631         * tests/test-ceilf1.c (main): Ensure correct sign of result.
13632         * tests/test-ceill.c (main): Likewise.
13633         * tests/test-floorf1.c (main): Likewise.
13634         * tests/test-floorl.c (main): Likewise.
13635         * tests/test-round1.c (main): Likewise.
13636         * tests/test-roundf1.c (main): Likewise.
13637         * tests/test-roundl.c (main): Likewise.
13638         * tests/test-trunc1.c (main): Likewise.
13639         * tests/test-truncf1.c (main): Likewise.
13640         * tests/test-truncl.c (main): Likewise.
13641
13642 2010-11-04  Eric Blake  <eblake@redhat.com>
13643
13644         frexp, tests: work around ICC bug with -zero
13645         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
13646         works with more compilers.
13647         * tests/minus-zero.h: New file.
13648         * modules/ceilf-tests (Files): Include it.
13649         * modules/ceill-tests (Files): Likewise.
13650         * modules/floorf-tests (Files): Likewise.
13651         * modules/floorl-tests (Files): Likewise.
13652         * modules/frexp-nolibm-tests (Files): Likewise.
13653         * modules/frexp-tests (Files): Likewise.
13654         * modules/frexpl-nolibm-tests (Files): Likewise.
13655         * modules/frexpl-tests (Files): Likewise.
13656         * modules/isnan-tests (Files): Likewise.
13657         * modules/isnand-nolibm-tests (Files): Likewise.
13658         * modules/isnand-tests (Files): Likewise.
13659         * modules/isnanf-nolibm-tests (Files): Likewise.
13660         * modules/isnanf-tests (Files): Likewise.
13661         * modules/isnanl-nolibm-tests (Files): Likewise.
13662         * modules/isnanl-tests (Files): Likewise.
13663         * modules/round-tests (Files): Likewise.
13664         * modules/roundf-tests (Files): Likewise.
13665         * modules/roundl-tests (Files): Likewise.
13666         * modules/ldexpl-tests (Files): Likewise.
13667         * modules/signbit-tests (Files): Likewise.
13668         * modules/snprintf-posix-tests (Files): Likewise.
13669         * modules/sprintf-posix-tests (Files): Likewise.
13670         * modules/strtod-tests (Files): Likewise.
13671         * modules/trunc-tests (Files): Likewise.
13672         * modules/truncf-tests (Files): Likewise.
13673         * modules/truncl-tests (Files): Likewise.
13674         * modules/vsnprintf-posix-tests (Files): Likewise.
13675         * modules/vsprintf-posix-tests (Files): Likewise.
13676         * modules/vasnprintf-posix-tests (Files): Likewise.
13677         * modules/vasprintf-posix-tests (Files): Likewise.
13678         * tests/test-ceilf1.c (main): Use it.
13679         * tests/test-ceill.c (main): Likewise.
13680         * tests/test-floorf1.c (main): Likewise.
13681         * tests/test-floorl.c (main): Likewise.
13682         * tests/test-frexp.c (main): Likewise.
13683         * tests/test-frexpl.c (main): Likewise.
13684         * tests/test-isnan.c (main): Likewise.
13685         * tests/test-isnand.h (main): Likewise.
13686         * tests/test-isnanf.h (main): Likewise.
13687         * tests/test-isnanl.h (main): Likewise.
13688         * tests/test-ldexpl.c (main): Likewise.
13689         * tests/test-round.c (main): Likewise.
13690         * tests/test-roundf.c (main): Likewise.
13691         * tests/test-roundl.c (main): Likewise.
13692         * tests/test-signbit.c (test_signbitf, test_signbitd)
13693         (test_signbitl): Likewise.
13694         * tests/test-snprintf-posix.h (test_function): Likewise.
13695         * tests/test-sprintf-posix.h (test_function): Likewise.
13696         * tests/test-strtod.c (main): Likewise.
13697         * tests/test-trunc1.c (main): Likewise.
13698         * tests/test-truncf1.c (main): Likewise.
13699         * tests/test-truncl.c (main): Likewise.
13700
13701         isnanl: work around icc bug
13702         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
13703
13704 2010-11-03  Eric Blake  <eblake@redhat.com>
13705
13706         tests: fix compiler warnings
13707         * tests/test-getopt.h (test_getopt): Fix condition.
13708         * tests/test-getopt_long.h (test_getopt_long): Likewise.
13709         * tests/test-pipe2.c (main): Likewise.
13710         * tests/test-quotearg-simple.c (main): Avoid icc warning.
13711
13712         utimens: fix broken m4 test
13713         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
13714
13715 2010-10-28  Bruno Haible  <bruno@clisp.org>
13716
13717         posix_spawn*, getdtablesize: Relax license.
13718         * modules/posix_spawn (License): Change to LGPLv2+.
13719         * modules/posix_spawnp (License): Likewise.
13720         * modules/posix_spawn-internal (License): Likewise.
13721         * modules/posix_spawnattr_init (License): Likewise.
13722         * modules/posix_spawnattr_getflags (License): Likewise.
13723         * modules/posix_spawnattr_setflags (License): Likewise.
13724         * modules/posix_spawnattr_getpgroup (License): Likewise.
13725         * modules/posix_spawnattr_setpgroup (License): Likewise.
13726         * modules/posix_spawnattr_getschedparam (License): Likewise.
13727         * modules/posix_spawnattr_setschedparam (License): Likewise.
13728         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
13729         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
13730         * modules/posix_spawnattr_getsigdefault (License): Likewise.
13731         * modules/posix_spawnattr_setsigdefault (License): Likewise.
13732         * modules/posix_spawnattr_getsigmask (License): Likewise.
13733         * modules/posix_spawnattr_setsigmask (License): Likewise.
13734         * modules/posix_spawnattr_destroy (License): Likewise.
13735         * modules/posix_spawn_file_actions_init (License): Likewise.
13736         * modules/posix_spawn_file_actions_addclose (License): Likewise.
13737         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
13738         * modules/posix_spawn_file_actions_addopen (License): Likewise.
13739         * modules/posix_spawn_file_actions_destroy (License): Likewise.
13740         * modules/getdtablesize (License): Likewise.
13741         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
13742
13743 2010-10-26  Bruno Haible  <bruno@clisp.org>
13744
13745         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
13746         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
13747         Cygwin and mingw.
13748         Suggested by Eric Blake.
13749
13750 2010-10-26  Bruno Haible  <bruno@clisp.org>
13751
13752         stdio: Work around compilation error due to renameat() on Solaris 10.
13753         * lib/stdio.in.h: Include <unistd.h> on Solaris.
13754         * lib/renameat.c: Don't include <unistd.h> here.
13755         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
13756         Reported by Paul Eggert and Eric Blake.
13757
13758 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
13759
13760         renameat: port to Solaris 10, which declares renameat in unistd.h
13761
13762         * lib/renameat.c: Include unistd.h before stdio.h, because
13763         Solaris 10 declares renameat in unistd.h.  Problem encountered
13764         when building GNU tar 1.24 on Solaris 10.
13765
13766 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
13767
13768         fdopendir: fix C89 compilation
13769         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
13770         compilers.
13771
13772 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
13773
13774         inttostr: simplify by removing unnecessary redundancy
13775         * lib/anytostr.c: Don't include verify.h.
13776         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
13777         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
13778         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
13779         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
13780         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
13781         Likewise.
13782         * modules/inttostr (Depends-on): Remove 'verify'.
13783
13784 2010-10-23  Bruno Haible  <bruno@clisp.org>
13785
13786         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
13787         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
13788         Reported by Eric Blake.
13789
13790 2010-10-23  Bruno Haible  <bruno@clisp.org>
13791
13792         Tests: Fix LOCALE_JA on MirBSD 10.
13793         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
13794         to an UTF-8 locale.
13795         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
13796         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
13797         Reported by Eric Blake.
13798
13799 2010-10-21  Bruno Haible  <bruno@clisp.org>
13800
13801         nl_langinfo test: Avoid test failure on NetBSD 5.
13802         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
13803         Reported by Eric Blake.
13804
13805 2010-10-21  Eric Blake  <eblake@redhat.com>
13806
13807         c-stack: work around libsigsegv 2.8 bug
13808         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
13809         overflow on at least PowerPC64.
13810
13811 2010-10-17  Bruno Haible  <bruno@clisp.org>
13812
13813         userspec: Drop redundant file.
13814         * modules/userspec (Files): Remove lib/inttostr.h.
13815
13816 2010-10-17  Bruno Haible  <bruno@clisp.org>
13817
13818         nl_langinfo tests: Silence some warnings.
13819         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
13820         Reported by Jim Meyering.
13821
13822 2010-10-17  Bruno Haible  <bruno@clisp.org>
13823
13824         Make use of GCC's attribute __alloc_size__.
13825         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
13826         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
13827         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
13828         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
13829         __alloc_size__.
13830         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
13831         Suggested by Jim Meyering.
13832
13833 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
13834
13835         bootstrap: anchor .gitignore entries.
13836         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
13837         with...
13838         (insert_vc_ignore): ... this new function, which prepends `/' to
13839         all .gitignore entries before passing them to
13840         insert_sorted_if_absent.
13841
13842 2010-10-16  Bruno Haible  <bruno@clisp.org>
13843
13844         nextafter: Fix configure check.
13845         * modules/nextafter (configure.ac): Correct expected prototype.
13846
13847 2010-10-16  Bruno Haible  <bruno@clisp.org>
13848
13849         termios: Update documentation.
13850         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
13851
13852 2010-10-16  Bruno Haible  <bruno@clisp.org>
13853
13854         tests: Make them compile with TinyCC.
13855         * tests/test-strstr.c (main): Remove parentheses around array
13856         initializer.
13857
13858 2010-10-15  Eric Blake  <eblake@redhat.com>
13859
13860         ignore-value: make header idempotent
13861         * lib/ignore-value.h: Add double-inclusion guards.
13862         Reported by Stefan Berger.
13863
13864 2010-10-15  Jim Meyering  <meyering@redhat.com>
13865
13866         GNUmakefile: handle "stable" target, not "major"
13867         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
13868         lists in maint.mk and announce-gen.  Without this, "make stable"
13869         would fail to ensure that $(VERSION) is up to date.
13870
13871 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
13872
13873         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
13874         & co.
13875
13876 2010-10-14  Bruno Haible  <bruno@clisp.org>
13877
13878         vasnprintf: Don't set errno to 0.
13879         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
13880         block that sets it to 0.
13881         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
13882
13883 2010-10-14  Bruno Haible  <bruno@clisp.org>
13884
13885         socketlib: Fix.
13886         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
13887         gl_PREREQ_SYS_H_WINSOCK2.
13888         Reported by Ian Beckwith <ianb@erislabs.net>.
13889
13890 2010-10-13  Jim Meyering  <meyering@redhat.com>
13891
13892         test-select-stdin.c: avoid warn_unused_result warnings
13893         * tests/test-select-stdin.c: Include "macros.h".
13894         ASSERT that read and fflush succeed.
13895
13896 2010-10-13  Jim Meyering  <meyering@redhat.com>
13897
13898         git-version-gen: do require git-VC'd files in cwd
13899         * build-aux/git-version-gen: Reject a git version string
13900         if there are no commits associated with the current directory.
13901         This avoids an unlikely false-positive (unrelated dir whose parent
13902         repository also contains a tag matching v*), as pointed out
13903         by Giuseppe Scrivano in
13904         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
13905
13906 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
13907
13908         argv-iter: omit nonconforming declaration
13909         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
13910         enum arg_iter_err declaration, which doesn't conform to C99.
13911         Solaris 10 cc warns about this.
13912
13913 2010-10-13  Eric Blake  <eblake@redhat.com>
13914
13915         termios: fix compilation on mingw
13916         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
13917         (gl_TERMIOS_H): Adjust it on mingw.
13918         * modules/termios (Makefile.am): Substitute new key.
13919         * lib/termios.in.h (includes): Make include_next conditional.
13920         * doc/posix-headers/termios.texi (termios.h): Update
13921         documentation.
13922         Reported by Daniel P. Berrange.
13923
13924 2010-10-13  Jim Meyering  <meyering@redhat.com>
13925
13926         git-version-gen: don't require that .git/ be in the current dir
13927         * build-aux/git-version-gen: Adjust this script so that it works
13928         when run from any working directory beneath the top-level .git/-
13929         containing directory.  Inspired by a patch from Giuseppe Scrivano,
13930         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
13931
13932         test-select: avoid warn_unused_result warnings
13933         * tests/test-select.c: Include "macros.h".
13934         ASSERT that each call to read, write, and pipe succeeds.
13935         While not technically required, also check each "close".
13936         * modules/select-tests (Files): Add tests/macros.h.
13937
13938         test-symlinkat: remove declaration of unused local
13939         * tests/test-symlinkat.c (main): Remove unused local, "buf".
13940
13941         test-inttostr: avoid shadowing warnings
13942         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
13943         and use malloc rather than the stack for the same reason as
13944         mentioned in the comment justifying the other allocation.
13945
13946 2010-10-11  Bruno Haible  <bruno@clisp.org>
13947
13948         stdlib: Allow multiple gnulib generated replacements to coexist.
13949         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
13950         Reported by Sam Steingold <sds@gnu.org>.
13951
13952 2010-10-11  Jim Meyering  <meyering@redhat.com>
13953
13954         fix a documentation typo
13955         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
13956
13957 2010-10-11  Eric Blake  <eblake@redhat.com>
13958
13959         futimens: work around Solaris 11 bug
13960         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
13961         * tests/test-futimens.h (test_futimens): Enhance, rather than
13962         weaken test.
13963         * doc/posix-functions/futimens.texi (futimens): Document the bug.
13964
13965 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
13966
13967         Indentation.
13968         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
13969         higher-level operators more to the left.
13970
13971 2010-10-11  Jim Meyering  <meyering@redhat.com>
13972
13973         test-futimens: avoid unwarranted test failure on Solaris 5.11
13974         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
13975         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
13976         because it tries to dereference the NULL name argument.
13977
13978 2010-10-11  Bruno Haible  <bruno@clisp.org>
13979
13980         Indentation.
13981         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
13982         indentation.
13983
13984 2010-10-11  Jim Meyering  <meyering@redhat.com>
13985
13986         spawn.in.h: make indentation consistent with parentheses
13987         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
13988         Make indentation consistent with parentheses.
13989
13990 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
13991
13992         Fix mismatched parens in previous commit
13993         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
13994         parens.
13995
13996 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
13997
13998         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
13999
14000         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
14001         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
14002         * lib/malloca.c: Include "verify.h".
14003         (verify1): Remove, replacing with a verify call.
14004         * lib/relocwrapper.c (verify1): Likewise.
14005         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
14006         Likewise.
14007         * modules/malloca (Depends-on): Add 'verify'.
14008         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
14009         * modules/vasnprintf (Depends-on): Add 'verify'.
14010         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
14011         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
14012         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
14013         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
14014         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
14015         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
14016         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
14017
14018         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
14019
14020         Formerly the style was sometimes 2*X - 1, because the C standard
14021         was wrongly thought to disallow ?: in integral constant expressions.
14022         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
14023         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
14024         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
14025         * lib/stdint.in.h (_verify_intmax_size): Likewise.
14026         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
14027         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
14028         verify that time_t cannot be floating.
14029
14030 2010-10-08  Eric Blake  <eblake@redhat.com>
14031
14032         time: enforce recent POSIX ruling that time_t is integral
14033         * lib/time.in.h (__time_t_must_be_integral): Detect any
14034         problematic systems, allowing the rest of gnulib to assume POSIX.
14035
14036 2010-10-08  Jim Meyering  <meyering@redhat.com>
14037
14038         fdopendir: fix a bug on systems lacking openat and /proc support
14039         OpenBSD 4.7 is one such system.  The most noticeable effect was
14040         failure of any application making nontrivial use of fts: rm, du,
14041         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
14042           ./rm: traversal failed: `a': Bad file descriptor
14043         Debugging that, you see that even though FD 6 was closed just
14044         prior to the opendir call in fd_clone_opendir, its resulting
14045         dir->dd_fd was 8, rather than the expected value of 6:
14046
14047         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
14048         93                close (fd);
14049         (gdb) n
14050         94                dir = fd_clone_opendir (dupfd);
14051         (gdb) n
14052         95                saved_errno = errno;
14053         (gdb) p dir->dd_fd
14054         $11 = 8
14055
14056         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
14057         The problem is that on OpenBSD, fd_clone_opendir has to resort
14058         to using the old-style save/restore CWD mechanism, due to its
14059         lack of openat/proc support, and *that* would steal the FD (6)
14060         that opendir was supposed to use.
14061
14062         The fix is to squirrel away the desired FD so that save_cwd uses a
14063         different one, and then free the dest FD right before calling opendir.
14064         That guarantees opendir will use the required file descriptor.
14065
14066         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
14067
14068 2010-10-08  Bruno Haible  <bruno@clisp.org>
14069
14070         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
14071         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
14072
14073 2010-10-08  Bruno Haible  <bruno@clisp.org>
14074
14075         nanosleep: Make replacement POSIX compliant.
14076         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
14077         is out of range.
14078         Reported by Jim Meyering.
14079
14080 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
14081
14082         bootstrap: add hook for altering gnulib.mk, for Bison
14083         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
14084         the Bison bootstrapping process can rewrite file names and variables
14085         in this file before later parts of 'bootstrap' use the file.
14086         Bison wants to include lib/gnulib.mk from the top-level makefile,
14087         so it needs the file names in this file to be relative to the top
14088         level, not relative to lib; plus it needs variable names to be
14089         rewritten.
14090         (slurp): Use the new function.
14091
14092         bootstrap: reformat for readability
14093         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
14094
14095 2010-10-08  Eric Blake  <eblake@redhat.com>
14096
14097         docs: update cygwin progress
14098         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
14099         1.7.7.
14100         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
14101         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
14102         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
14103         * doc/posix-functions/carg.texi (carg): Likewise.
14104         * doc/posix-functions/cargf.texi (cargf): Likewise.
14105         * doc/posix-functions/casin.texi (casin): Likewise.
14106         * doc/posix-functions/casinf.texi (casinf): Likewise.
14107         * doc/posix-functions/casinh.texi (casinh): Likewise.
14108         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
14109         * doc/posix-functions/catan.texi (catan): Likewise.
14110         * doc/posix-functions/catanf.texi (catanf): Likewise.
14111         * doc/posix-functions/catanh.texi (catanh): Likewise.
14112         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
14113         * doc/posix-functions/ccos.texi (ccos): Likewise.
14114         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
14115         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
14116         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
14117         * doc/posix-functions/cexp.texi (cexp): Likewise.
14118         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
14119         * doc/posix-functions/cimag.texi (cimag): Likewise.
14120         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
14121         * doc/posix-functions/clog.texi (clog): Likewise.
14122         * doc/posix-functions/clogf.texi (clogf): Likewise.
14123         * doc/posix-functions/conj.texi (conj): Likewise.
14124         * doc/posix-functions/conjf.texi (conjf): Likewise.
14125         * doc/posix-functions/cpow.texi (cpow): Likewise.
14126         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
14127         * doc/posix-functions/cproj.texi (cproj): Likewise.
14128         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
14129         * doc/posix-functions/creal.texi (creal): Likewise.
14130         * doc/posix-functions/crealf.texi (crealf): Likewise.
14131         * doc/posix-functions/csin.texi (csin): Likewise.
14132         * doc/posix-functions/csinf.texi (csinf): Likewise.
14133         * doc/posix-functions/csinh.texi (csinh): Likewise.
14134         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
14135         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
14136         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
14137         * doc/posix-functions/ctan.texi (ctan): Likewise.
14138         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
14139         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
14140         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
14141         * doc/posix-headers/complex.texi (complex.h): Likewise.
14142
14143 2010-10-07  Jim Meyering  <meyering@redhat.com>
14144
14145         parse-datetime: avoid compilation failure on OpenBSD 4.7
14146         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
14147         This works around a compilation failure on OpenBSD 4.7:
14148         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
14149
14150 2010-10-07  Eric Blake  <eblake@redhat.com>
14151
14152         docs: update cygwin progress
14153         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
14154         1.7.6.
14155         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
14156         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
14157         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
14158         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
14159         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
14160         Likewise.
14161         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
14162         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
14163         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
14164         Likewise.
14165         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
14166         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
14167         Likewise.
14168         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
14169         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
14170         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
14171         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
14172         Likewise.
14173         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
14174         Likewise.
14175         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
14176
14177         docs: update parse-datetime history
14178         * doc/parse-datetime.texi (Authors of parse_datetime): Better
14179         documentation of this function's history and alternatives.
14180
14181         cygwin: use more robust version check
14182         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
14183         exclude an eventual cygwin 1.9.1.
14184         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
14185         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
14186         (gl_FUNC_STRCASESTR): Likewise.
14187         Reported by Bruno Haible.
14188
14189 2010-10-06  Bruno Haible  <bruno@clisp.org>
14190
14191         string, sys_select: Avoid #including large headers unless necessary.
14192         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
14193         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
14194         OSF/1, BeOS, Haiku.
14195         Reported by Jim Meyering.
14196
14197 2010-10-05  Eric Blake  <eblake@redhat.com>
14198
14199         memmem, strstr, strcasestr: fix bug with long periodic needle
14200         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
14201         periodic needle having false positive.
14202         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
14203         and cygwin 1.7.7.
14204         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
14205         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
14206         (gl_FUNC_STRCASESTR): Likewise.
14207         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
14208         * tests/test-memmem.c (main): Expose the bug.
14209         * tests/test-strcasestr.c (main): Likewise.
14210         * tests/test-strstr.c (main): Likewise.
14211         * tests/test-c-strcasestr.c (main): Likewise.
14212         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
14213         * doc/posix-functions/strstr.texi (strstr): Likewise.
14214         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
14215         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
14216
14217 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
14218
14219         parse-datetime: do some more renaming
14220         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
14221         parse_datetime, not get_date.  Mention the renaming.
14222         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
14223         in comments.
14224         * m4/bison.m4: Likewise.
14225
14226 2010-10-05  Eric Blake  <eblake@redhat.com>
14227
14228         parse-datetime: better name than get_date
14229         * NEWS: Reword the deprecation notice.
14230         * modules/get_date: Rename to modules/parse-datetime.
14231         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
14232         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
14233         * lib/get_date.y: Rename to lib/parse-datetime.y.
14234         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
14235         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
14236         * doc/getdate.texi: Provide fallback wrapper.
14237         * lib/getdate.h: Move guts, and wrap...
14238         * lib/parse-datetime.h: ...new file.
14239         * lib/parse-datetime.y (get_date): Rename...
14240         (parse_datetime): ...to this.
14241         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
14242         (gl_PARSE_DATETIME): ...to this.
14243         * doc/posix-functions/getdate.texi (get_date): Provide fallback
14244         documentation.
14245         * modules/getdate (Files): Provide fallback docs and header.
14246         (Notice, Depends-on): Update references.
14247         * tests/test-parse-datetime.c: Likewise.
14248         * DEPENDENCIES: Likewise.
14249         * MODULES.html.sh (Date and time <time.h>): Likewise.
14250         * doc/parse-datetime.texi (Date input formats)
14251         (Authors of parse_datetime): Likewise.
14252         * modules/parse-datetime (Files, configure.ac, Makefile.am)
14253         (Include): Likewise.
14254         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
14255         * gnulib-tool: Likewise.
14256         * m4/bison.m4 (gl_BISON): Likewise.
14257         Suggested by Bruno Haible.
14258
14259 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
14260
14261         more ports to Solaris tr, which needs [] around ranges
14262         * gnulib-tool: Solaris tr needs [] around ranges.
14263         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
14264         * tests/test-pipe-filter-gi1.c (main): Likewise.
14265         * tests/test-pipe-filter-ii1.c (main): Likewise.
14266
14267 2010-10-05  Eric Blake  <eblake@redhat.com>
14268
14269         bootstrap: fix Solaris regression
14270         * build-aux/bootstrap (check_versions): Solaris tr still needs []
14271         around ranges.
14272         Reported by Pádraig Brady.
14273
14274         bootstrap: work with pkg-config
14275         * build-aux/bootstrap (check_versions): Also transliterate - in
14276         prerequisite name.
14277         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
14278         prerequisites that were already found, to avoid confusion.
14279         Reported by Justin Clift.
14280
14281         faccessat: remove unused wrappers
14282         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
14283         presence of these wrappers dragged in -lgen on Solaris.
14284         Reported by Clemens Brogi; fix suggested by Paul Eggert.
14285
14286 2010-10-05  Jim Meyering  <meyering@redhat.com>
14287
14288         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
14289         * Makefile (sc_pragma_columns): New syntax-check rule.
14290
14291 2010-10-04  Bruno Haible  <bruno@clisp.org>
14292
14293         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
14294         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
14295         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
14296         Reported by Bruce Korb and Eric Blake.
14297
14298 2010-10-04  Bruno Haible  <bruno@clisp.org>
14299
14300         threadlib: Make option --with-libpth-prefix work.
14301         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
14302         use $LIBPTH, not just -lpth.
14303
14304 2010-10-04  Bruno Haible  <bruno@clisp.org>
14305
14306         Avoid line length limitation from HP NonStop system header files.
14307         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
14308         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
14309         * lib/ctype.in.h: Likewise.
14310         * lib/dirent.in.h: Likewise.
14311         * lib/errno.in.h: Likewise.
14312         * lib/fcntl.in.h: Likewise.
14313         * lib/float.in.h: Likewise.
14314         * lib/getopt.in.h: Likewise.
14315         * lib/iconv.in.h: Likewise.
14316         * lib/inttypes.in.h: Likewise.
14317         * lib/langinfo.in.h: Likewise.
14318         * lib/locale.in.h: Likewise.
14319         * lib/math.in.h: Likewise.
14320         * lib/netdb.in.h: Likewise.
14321         * lib/netinet_in.in.h: Likewise.
14322         * lib/poll.in.h: Likewise.
14323         * lib/pthread.in.h: Likewise.
14324         * lib/pty.in.h: Likewise.
14325         * lib/sched.in.h: Likewise.
14326         * lib/se-selinux.in.h: Likewise.
14327         * lib/search.in.h: Likewise.
14328         * lib/signal.in.h: Likewise.
14329         * lib/spawn.in.h: Likewise.
14330         * lib/stdarg.in.h: Likewise.
14331         * lib/stddef.in.h: Likewise.
14332         * lib/stdint.in.h: Likewise.
14333         * lib/stdio.in.h: Likewise.
14334         * lib/stdlib.in.h: Likewise.
14335         * lib/string.in.h: Likewise.
14336         * lib/strings.in.h: Likewise.
14337         * lib/sys_file.in.h: Likewise.
14338         * lib/sys_ioctl.in.h: Likewise.
14339         * lib/sys_select.in.h: Likewise.
14340         * lib/sys_socket.in.h: Likewise.
14341         * lib/sys_stat.in.h: Likewise.
14342         * lib/sys_time.in.h: Likewise.
14343         * lib/sys_times.in.h: Likewise.
14344         * lib/sys_utsname.in.h: Likewise.
14345         * lib/sys_wait.in.h: Likewise.
14346         * lib/sysexits.in.h: Likewise.
14347         * lib/termios.in.h: Likewise.
14348         * lib/time.in.h: Likewise.
14349         * lib/unistd.in.h: Likewise.
14350         * lib/wchar.in.h: Likewise.
14351         * lib/wctype.in.h: Likewise.
14352         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
14353         * modules/ctype (Makefile.am): Likewise.
14354         * modules/dirent (Makefile.am): Likewise.
14355         * modules/errno (Makefile.am): Likewise.
14356         * modules/fcntl-h (Makefile.am): Likewise.
14357         * modules/float (Makefile.am): Likewise.
14358         * modules/getopt-posix (Makefile.am): Likewise.
14359         * modules/iconv-h (Makefile.am): Likewise.
14360         * modules/inttypes (Makefile.am): Likewise.
14361         * modules/langinfo (Makefile.am): Likewise.
14362         * modules/locale (Makefile.am): Likewise.
14363         * modules/math (Makefile.am): Likewise.
14364         * modules/netdb (Makefile.am): Likewise.
14365         * modules/netinet_in (Makefile.am): Likewise.
14366         * modules/poll-h (Makefile.am): Likewise.
14367         * modules/pthread (Makefile.am): Likewise.
14368         * modules/pty (Makefile.am): Likewise.
14369         * modules/sched (Makefile.am): Likewise.
14370         * modules/search (Makefile.am): Likewise.
14371         * modules/selinux-h (Makefile.am): Likewise.
14372         * modules/signal (Makefile.am): Likewise.
14373         * modules/spawn (Makefile.am): Likewise.
14374         * modules/stdarg (Makefile.am): Likewise.
14375         * modules/stddef (Makefile.am): Likewise.
14376         * modules/stdint (Makefile.am): Likewise.
14377         * modules/stdio (Makefile.am): Likewise.
14378         * modules/stdlib (Makefile.am): Likewise.
14379         * modules/string (Makefile.am): Likewise.
14380         * modules/strings (Makefile.am): Likewise.
14381         * modules/sys_file (Makefile.am): Likewise.
14382         * modules/sys_ioctl (Makefile.am): Likewise.
14383         * modules/sys_select (Makefile.am): Likewise.
14384         * modules/sys_socket (Makefile.am): Likewise.
14385         * modules/sys_stat (Makefile.am): Likewise.
14386         * modules/sys_time (Makefile.am): Likewise.
14387         * modules/sys_times (Makefile.am): Likewise.
14388         * modules/sys_utsname (Makefile.am): Likewise.
14389         * modules/sys_wait (Makefile.am): Likewise.
14390         * modules/sysexits (Makefile.am): Likewise.
14391         * modules/termios (Makefile.am): Likewise.
14392         * modules/time (Makefile.am): Likewise.
14393         * modules/unistd (Makefile.am): Likewise.
14394         * modules/wchar (Makefile.am): Likewise.
14395         * modules/wctype (Makefile.am): Likewise.
14396
14397 2010-10-04  Bruno Haible  <bruno@clisp.org>
14398
14399         read-file tests: Avoid a test failure on NonStop Kernel.
14400         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
14401         a regular file.
14402         Reported by Joachim Schmitz <schmitz@hp.com>.
14403
14404 2010-10-03  Bruno Haible  <bruno@clisp.org>
14405
14406         gnulib-tool: Fixes for --create-testdir with --libtool.
14407         * gnulib-tool (func_get_automake_snippet): Don't augment
14408         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
14409         an executable.
14410         (func_create_testdir): Handle module 'alloca' like func_import.
14411         Reported by Bruce Korb <bruce.korb@gmail.com>.
14412
14413 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
14414
14415         Avoid some lines longer than 80 characters.
14416         * lib/stdint.in.h: Break long comment lines.
14417         * lib/math.in.h: Likewise.
14418         (_GL_NUM_UINT_WORDS): New macro, for readability.
14419         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
14420         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
14421         * lib/stdlib.in.h: Likewise.
14422         * lib/spawn.in.h: Likewise.
14423         * lib/sys_socket.in.h: Update an URL.
14424         * lib/sys_stat.in.h: Break long line.
14425
14426 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
14427
14428         Improve pmccabe2html.
14429         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
14430         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
14431         when the sources change. Remove the line in the HTML about "Used
14432         ranges" (which implied that there might be other unused ranges),
14433         rename "Resume" to "Summary" (easier to understand for more users).
14434         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
14435         styles, and some unnecessary blank lines.
14436
14437 2010-10-03  Bruno Haible  <bruno@clisp.org>
14438             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
14439
14440         acl: Add support for ACLs on NonStop Kernel.
14441         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
14442         Check whether the function aclsort() exists.
14443         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
14444         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
14445         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
14446         (acl_nontrivial [HAVE_ACLSORT]: New function.
14447         (file_has_acl): Implement for NonStop Kernel.
14448         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
14449         (qset_acl): Implement for NonStop Kernel.
14450         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
14451         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
14452         (main): Implement for NonStop Kernel.
14453         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
14454         Kernel. Handle this flavor.
14455         * tests/test-set-mode-acl.sh: Likewise.
14456         * tests/test-copy-acl.sh: Likewise.
14457         * tests/test-copy-file.sh: Likewise.
14458
14459 2010-10-03  Bruno Haible  <bruno@clisp.org>
14460
14461         Info about ACLs on NonStop Kernel.
14462         * doc/acl-resources.txt: Add info about NonStop Kernel.
14463         References by Joachim Schmitz <schmitz@hp.com>.
14464
14465 2010-10-02  Bruno Haible  <bruno@clisp.org>
14466
14467         Define missing EDQUOT on NonStop Kernel.
14468         * lib/errno.in.h (EDQUOT): Assign a value if missing.
14469         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
14470         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
14471         missing.
14472         * doc/posix-headers/errno.texi: Mention the NSK bug.
14473         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
14474         Reported by Joachim Schmitz <schmitz@hp.com>.
14475
14476 2010-10-02  Bruno Haible  <bruno@clisp.org>
14477
14478         Update doc for POSIX:2008.
14479         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
14480         Update URL of POSIX specification.
14481
14482 2010-10-02  Bruno Haible  <bruno@clisp.org>
14483
14484         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
14485         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
14486         from gnulib, not from Automake.
14487
14488 2010-10-02  Bruno Haible  <bruno@clisp.org>
14489
14490         New module 'system-posix'.
14491         * modules/system-posix: New file.
14492         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
14493         module is present.
14494         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
14495         GNULIB_SYSTEM_POSIX.
14496         * modules/stdlib (Depends-on): Remove sys_wait.
14497         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
14498         * doc/posix-functions/system.texi: Mention the new module.
14499         * doc/posix-headers/stdlib.texi: Likewise.
14500         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
14501         define test_sys_wait_macros to a no-op.
14502         Reported by Sam Steingold <sds@gnu.org>.
14503
14504 2010-09-30  Bruno Haible  <bruno@clisp.org>
14505
14506         More renaming from 'getdate' to 'get_date'.
14507         * doc/get_date.texi: Renamed from doc/getdate.texi.
14508         * modules/get_date (Files): Update.
14509         * MODULES.html.sh (Date and time <time.h>): Update.
14510         * DEPENDENCIES: Update.
14511         * gnulib-tool: Update comment.
14512         * m4/bison.m4 (gl_BISON): Likewise.
14513         * m4/get_date.m4 (gl_GET_DATE): Likewise.
14514
14515 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
14516
14517         bootstrap: support ACLOCAL_FLAGS during aclocal
14518         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
14519         can add additional -I dir for third-party .m4 files.
14520
14521 2010-09-30  Eric Blake  <eblake@redhat.com>
14522
14523         bootstrap: use glibtoolize on MacOS
14524         * build-aux/bootstrap (check_versions): Convert libtool into
14525         libtoolize.
14526         (tool search): Move libtool check earlier, and look for
14527         glibtoolize for MacOS.
14528         (gnulib_tool_options): Auto-add --libtool when appropriate.
14529         Reported by Justin Clift.
14530
14531         poll: fix typo that broke test on MacOS
14532         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
14533         Reported by Justin Clift.
14534
14535         getdate: rename to get_date
14536         Note: getdate.h is not renamed, to minimize client impact.
14537         * modules/getdate: Mark obsolete.  Move old contents...
14538         * modules/get_date: ...to new module name.
14539         * modules/getdate-tests: Move...
14540         * modules/get_date-tests: ...here.
14541         * m4/getdate.m4: Move...
14542         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
14543         * lib/getdate.y: Move...
14544         * lib/get_date.y: ...here.
14545         * tests/test-getdate.c: Move...
14546         * tests/test-get_date.c: ...here.
14547         * doc/posix-functions/getdate.texi (getdate): Update name.
14548         * NEWS: Mention the change.
14549
14550 2010-09-29  Bruno Haible  <bruno@clisp.org>
14551
14552         Separate the module 'waitpid' from the module 'sys_wait'.
14553         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
14554         present.
14555         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
14556         gl_MODULE_INDICATOR_FOR_TESTS.
14557         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
14558         * modules/sys_wait (Depends-on): Remove waitpid.
14559         (Makefile.am): Substitute GNULIB_WAITPID.
14560         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
14561         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
14562         signature only if the 'waitpid' module is present.
14563         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
14564         * NEWS: Mention the change.
14565         * modules/grantpt (Depends-on): Add waitpid.
14566         * modules/wait-process (Depends-on): Likewise.
14567
14568 2010-09-29  Bruno Haible  <bruno@clisp.org>
14569
14570         More tests for module 'sys_wait'.
14571         * modules/sys_wait-c++-tests: New file.
14572         * tests/test-sys_wait-c++.cc: New file.
14573         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
14574         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
14575
14576 2010-09-29  Bruno Haible  <bruno@clisp.org>
14577
14578         New module 'waitpid'.
14579         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
14580         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
14581         Don't include <process.h>.
14582         (waitpid): Declare only, using modern idiom.
14583         * m4/waitpid.m4: New file.
14584         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
14585         * modules/waitpid: New file.
14586         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
14587         (Makefile.am): Update.
14588         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
14589
14590 2010-09-28  Bruno Haible  <bruno@clisp.org>
14591
14592         poll: Assume ANSI C.
14593         * lib/poll.c (poll): Use an ANSI C declaration.
14594
14595 2010-09-28  Bruno Haible  <bruno@clisp.org>
14596
14597         poll-h: Create poll.h on all platforms.
14598         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
14599         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
14600         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
14601         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
14602         (gl_REPLACE_POLL_H): Don't set POLL_H.
14603         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
14604         * modules/poll-h (Depends-on): Add include_next.
14605         (Makefile.am): Create poll.h unconditionally. Substitute also
14606         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
14607
14608 2010-09-28  Bruno Haible  <bruno@clisp.org>
14609
14610         Tests for module 'poll-h'.
14611         * modules/poll-h-c++-tests: New file.
14612         * tests/test-poll-h-c++.cc: New file.
14613
14614         Tests for module 'poll-h'.
14615         * modules/poll-h-tests: New file.
14616         * tests/test-poll-h.c: New file.
14617
14618 2010-09-28  Bruno Haible  <bruno@clisp.org>
14619
14620         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
14621         * modules/poll-h (Depends-on): Add 'extensions'.
14622
14623 2010-09-28  Bruno Haible  <bruno@clisp.org>
14624
14625         New module 'poll-h'.
14626         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
14627         (poll): Use modern idiom.
14628         * modules/poll-h: New file.
14629         * modules/poll (Files): Remove lib/poll.in.h.
14630         (Depends-on): Add poll-h.
14631         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
14632         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
14633         * m4/poll_h.m4: New file.
14634         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
14635         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
14636         and invoke gl_REPLACE_POLL_H.
14637         * lib/poll.c: Use common idiom.
14638         * tests/test-poll.c: Likewise.
14639         * doc/posix-headers/poll.texi: Mention the poll-h module.
14640         Suggested by Eric Blake.
14641
14642 2010-09-26  Bruno Haible  <bruno@clisp.org>
14643
14644         sys_wait: Implement WSTOPSIG.
14645         * lib/sys_wait.in.h (WSTOPSIG): New macro.
14646         Reported by Simon Josefsson.
14647
14648 2010-09-26  Simon Josefsson  <simon@josefsson.org>
14649
14650         stdlib, sys_wait: Avoid compilation error on mingw.
14651         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
14652
14653 2010-09-26  Bruno Haible  <bruno@clisp.org>
14654
14655         stdlib tests: Avoid code duplication.
14656         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
14657         * modules/sys_wait-tests (Files): Likewise.
14658         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
14659         * tests/test-stdlib.c: Include test-sys_wait.h.
14660         (main): Invoke test_sys_wait_macros.
14661         * tests/test-sys_wait.c: Include test-sys_wait.h.
14662         (main): Invoke test_sys_wait_macros.
14663
14664 2010-09-25  Simon Josefsson  <simon@josefsson.org>
14665
14666         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
14667         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
14668         sure Windows sockets are working before calling getaddrinfo.
14669         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
14670         * doc/gnulib.texi (Windows sockets): Fix typo.
14671
14672 2010-09-25  Bruno Haible  <bruno@clisp.org>
14673
14674         Tests for module 'regex-quote'.
14675         * modules/regex-quote-tests: New file.
14676         * tests/test-regex-quote.c: New file.
14677
14678         New module 'regex-quote'.
14679         * lib/regex-quote.h: New file.
14680         * lib/regex-quote.c: New file.
14681         * modules/regex-quote: New file.
14682         Suggested by Reuben Thomas <rrt@sc3d.org>.
14683
14684 2010-09-24  Bruno Haible  <bruno@clisp.org>
14685
14686         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
14687         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
14688
14689 2010-09-23  Bruno Haible  <bruno@clisp.org>
14690
14691         setenv: Relax license.
14692         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
14693         Blake.
14694         Requested by Eric Blake.
14695
14696 2010-09-22  Bruno Haible  <bruno@clisp.org>
14697
14698         termios: Relax license.
14699         * modules/termios (License): Change to LGPLv2+.
14700         Requested by Eric Blake.
14701
14702 2010-09-22  Bruno Haible  <bruno@clisp.org>
14703
14704         threadlib: Allow the package to change the default to 'no'.
14705         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
14706         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
14707         Reported by Paul Eggert.
14708
14709 2010-09-22  Pádraig Brady  <P@draigbrady.com>
14710             Bruno Haible  <bruno@clisp.org>
14711
14712         Fix endless loop in mbmemcasecoll.
14713         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
14714         byte.
14715         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
14716
14717 2010-09-22  Bruno Haible  <bruno@clisp.org>
14718
14719         Tests for module 'memcoll'.
14720         * modules/memcoll-tests: New file.
14721         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
14722
14723         memcoll, xmemcoll: Clarify size vs. length.
14724         * modules/memcoll.c (memcoll0): Clarify specification.
14725         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
14726         passed to collate_error.
14727
14728 2010-09-22  Bruno Haible  <bruno@clisp.org>
14729
14730         Tests for module 'memcasecmp'.
14731         * modules/memcasecmp-tests: New file.
14732         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
14733
14734 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
14735
14736         * lib/pthread.in.h: Add split double-inclusion guard, and include
14737         system <pthread.h> if there is one.  Use @@-style as in other
14738         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
14739         pthread.h doesn't.
14740         (pthread_mutexattr_destroy, pthread_mutexattr_init):
14741         (pthread_mutexattr_settype, pthread_mutex_trylock):
14742         New static inline functions, if there's no system <pthread.h>.
14743         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
14744         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
14745         Approximate with mutexes if the system lacks spinlocks, as in
14746         MacOS.
14747         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
14748         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
14749         @@-style.  Check for spinlocks separately.
14750         (gl_PTHREAD_DEFAULTS): New macro.
14751         * modules/pthread: Redo to use a more typical style for in.h files.
14752
14753 2010-09-21  Eric Blake  <eblake@redhat.com>
14754
14755         net_if: enhance tests
14756         * tests/test-net_if.c (main): Move signature checks earlier.
14757         Print failures to stderr.
14758         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
14759         Document the bug that we do not yet fix.
14760
14761 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
14762
14763         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
14764         about gnulib, not GSS.
14765
14766 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
14767
14768         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
14769         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
14770         for Emacs.
14771         * build-aux/pmccabe2html: Make Makefile.am example code more
14772         cut-and-paste friendly.
14773
14774 2010-09-21  Simon Josefsson  <simon@josefsson.org>
14775
14776         * tests/test-net_if.c: New file.
14777         * modules/net_if-tests: New file.
14778
14779 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
14780
14781         pthread: add pthread_spin_destroy
14782         * lib/pthread.in.h (pthread_spin_destroy): New function.
14783
14784 2010-09-19  Bruno Haible  <bruno@clisp.org>
14785
14786         gnulib-tool: Fix --help output.
14787         * gnulib-tool (func_usage): Fix help message.
14788         Reported by Reuben Thomas <rrt@sc3d.org>.
14789
14790 2010-09-18  Jim Meyering  <meyering@redhat.com>
14791
14792         maint.mk: avoid unexpanded \n in two diagnostics
14793         * top/maint.mk (sc_prohibit_always_true_header_tests):
14794         Don't use a literal \n in a halt=... assignment.  It would not be
14795         expanded, and the two \n bytes would appear in the diagnostic output
14796         rather than the desired newline.  Use halt=$$(printf ... instead.
14797         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
14798
14799 2010-09-18  Bruno Haible  <bruno@clisp.org>
14800
14801         netinet_in: Doc tweak.
14802         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
14803         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
14804
14805 2010-09-18  Jim Meyering  <meyering@redhat.com>
14806
14807         init.sh: correct an outdated comment
14808         * tests/init.sh (create_exe_shims_):  s/function/alias/
14809
14810         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
14811         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
14812         a file named "*.exe" is removed between the glob expansion and the
14813         processing of that oddly named file.
14814
14815 2010-09-17  Eric Blake  <eblake@redhat.com>
14816
14817         mirbsd: add some more support
14818         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
14819         in BSD family.
14820         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
14821         devices as OpenBSD.
14822         * m4/host-os.m4 (mirbsd): Add MirBSD.
14823
14824         tests: fix unportable assumption on sys/wait.h
14825         * tests/test-sys_wait.c (main): Relax test.
14826         * tests/test-stdlib.c (main): Likewise.
14827
14828         init.sh: accomodate directory with no .exes
14829         * tests/init.sh: Accomodate directory containing only scripts.
14830
14831         tests: avoid compiler warning
14832         * tests/test-stdlib.c (main): Use the variable.
14833
14834         fdutimens, fdutimensat: update signature, again
14835         * lib/utimens.h (gl_futimens): Delete, and move signature...
14836         (fdutimens): ...here.
14837         (fdutimensat): Rearrange signature.
14838         (lutimensat): Rename variable for clarity.
14839         * lib/fdutimensat.c (fdutimensat): Update signature.
14840         * lib/utimens.c (fdutimens): Likewise.
14841         (gl_futimens): Delete.
14842         (utimens, lutimens): Update callers.
14843         * lib/futimens.c (futimens): Likewise.
14844         * tests/test-fdutimensat.c: Likewise.
14845         * tests/test-utimens.c: Likewise.
14846         * tests/test-futimens.h: Update comment.
14847         * NEWS: Mention this.
14848         Suggested by Paul Eggert.
14849
14850 2010-09-17  Bruno Haible  <bruno@clisp.org>
14851
14852         Take over the maintenance of some older macros from Autoconf.
14853         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
14854         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
14855         GNU Autoconf.
14856         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
14857         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
14858
14859 2010-09-17  Eric Blake  <eblake@redhat.com>
14860
14861         fdutimensat: drop atflag validation
14862         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
14863         with valid fd, to close a race scenario where futimens is
14864         unsupported and FILE was replaced by a symlink.
14865         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
14866         accordingly.
14867         Suggested by Paul Eggert.
14868
14869 2010-09-16  Bruno Haible  <bruno@clisp.org>
14870
14871         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
14872         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
14873
14874 2010-09-16  Bruno Haible  <bruno@clisp.org>
14875
14876         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
14877         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
14878         login_tty exists.
14879         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
14880
14881 2010-09-16  Bruno Haible  <bruno@clisp.org>
14882
14883         login_tty: Make the replacement code work on BSD systems.
14884         * lib/login_tty.c: Include <sys/ioctl.h>.
14885         (login_tty): Use ioctl TIOCSCTTY when available.
14886         * modules/login_tty (Depends-on): Add sys_ioctl.
14887         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
14888
14889 2010-09-16  Bruno Haible  <bruno@clisp.org>
14890
14891         login_tty: Stricter unit test.
14892         * modules/login_tty-tests (Depends-on): Add tcgetsid.
14893         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
14894         and tcgetsid() after login_tty.
14895         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
14896
14897 2010-09-16  Bruno Haible  <bruno@clisp.org>
14898
14899         New module 'tcgetsid'.
14900         * lib/tcgetsid.c: New file.
14901         * m4/tcgetsid.m4: New file.
14902         * modules/tcgetsid: New file.
14903         * modules/termios (Depends-on): Add c++defs, warn-on-use.
14904         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
14905         GNULIB_TCGETSID, HAVE_TCGETSID.
14906         * lib/termios.in.h: Include <sys/types.h>.
14907         (tcgetsid): New declaration.
14908         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
14909         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
14910         * doc/posix-functions/tcgetsid.texi: Mention the new module.
14911         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
14912
14913 2010-09-16  Bruno Haible  <bruno@clisp.org>
14914
14915         Tests for module 'termios'.
14916         * modules/termios-c++-tests: New file.
14917         * modules/termios-tests: New file.
14918         * tests/test-termios-c++.cc: New file.
14919         * tests/test-termios.c: New file.
14920
14921         New module 'termios'.
14922         * modules/termios: New file.
14923         * lib/termios.in.h: New file.
14924         * m4/termios_h.m4: New file.
14925         * doc/posix-headers/termios.texi: Mention the new module.
14926
14927 2010-09-16  Eric Blake  <eblake@redhat.com>
14928
14929         fdutimensat: add an atflag parameter
14930         * lib/fdutimensat.c (fdutimensat): Add new parameter.
14931         * lib/utimens.h (fdutimensat): Update prototype.
14932         * tests/test-fdutimensat.c: Adjust test to match.
14933         * NEWS: Document the change.
14934         Suggested by Paul Eggert.
14935
14936 2010-09-16  Bruno Haible  <bruno@clisp.org>
14937
14938         Fix typos in comments.
14939         * lib/striconveh.h: Fix typo in comment.
14940         * lib/login_tty.c (login_tty): Likewise.
14941
14942 2010-09-15  Bruno Haible  <bruno@clisp.org>
14943
14944         stdlib: clarify MirBSD WEXITSTATUS bug
14945         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
14946         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
14947
14948 2010-09-15  Eric Blake  <eblake@redhat.com>
14949
14950         stdlib: work around MirBSD WEXITSTATUS bug
14951         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
14952         * modules/stdlib (Depends-on): Add sys_wait.
14953         * tests/test-sys_wait.c (main): Enhance test.
14954         * tests/test-stdlib.c (main): Likewise.
14955         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
14956
14957         docs: mention MacOS issue with WEXITSTATUS(constant)
14958         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
14959         issue.
14960         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
14961
14962         strnlen: add tests
14963         * modules/strnlen-tests: New file.
14964         * tests/test-strnlen.c: Likewise.
14965
14966 2010-09-14  Bruno Haible  <bruno@clisp.org>
14967
14968         unistr/base: Avoid link errors when module 'libunistring' is also used.
14969         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
14970         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
14971         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
14972         Declare also when HAVE_LIBUNISTRING is set.
14973         Reported by Pádraig Brady <P@draigbrady.com>.
14974
14975 2010-09-14  Eric Blake  <eblake@redhat.com>
14976
14977         test-rawmemchr: make more robust
14978         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
14979         (Depends-on, configure.ac): Add needed prerequisites to use it.
14980         * modules/memchr-tests (Files, Depends-on, configure.ac):
14981         Likewise, to avoid implicit reliance on memchr module prereqs.
14982         * tests/test-memchr.c (main): Ensure proper masking.
14983         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
14984         reads.
14985
14986         memchr: detect glibc Alpha bug
14987         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
14988         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
14989         Alpha.
14990         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
14991         * tests/test-memchr.c (main): Enhance test.
14992         Reported by Nelson H. F. Beebe.
14993
14994 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
14995
14996         fts, getcwd, glob: audit for dirfd returning -1
14997         * lib/fts.c (opendir): Remove #define; no longer used.
14998         (opendirat): New arg PDIR_FD.  All callers changed.
14999         (fts_build, _opendir2): Use new opendirat to avoid the need for
15000         dirfd, or for checking whether dirfd returns a negative value.
15001         Don't use opendir; always use openat followed by fdopendir.
15002         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
15003         it.
15004         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
15005         returns -1 here.
15006         * modules/fts (Depends-on): Remove dirfd.
15007         * modules/getcwd (Depends-on): Likewise.
15008
15009 2010-09-13  Eric Blake  <eblake@redhat.com>
15010
15011         float: fix broken MirBSD header
15012         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
15013         * doc/posix-headers/float.texi (float.h): Document it.
15014
15015 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
15016
15017         fts: use O_NOFOLLOW to avoid race condition when opening a directory
15018         * lib/fts.c (opendirat): New arg extra_flags.
15019         (__opendir2): Use it to avoid following symlinks when opening
15020         a directory, if symlinks are not supposed to be followed.  See
15021         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
15022
15023         fdopendir: preserve argument fd before returning
15024         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
15025         (fdopendir_with_dup, fd_clone_opendir): New static functions.
15026         (fdopendir): Use them, arranging for FD to be open to the same
15027         directory that it was when it started.  (It might be temporarily
15028         closed while fdopendir is running, so this not thread- or
15029         signal-safe.)  Be careful to do the right thing even when file
15030         descriptors are scarce and dup fails with errno == EMFILE.  See
15031         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
15032
15033 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
15034
15035         regex: Pass the system regex if its only problem is 32-bit regoff_t.
15036         * NEWS: Document change.
15037         * m4/regex.m4: Disable test for regoff_t size.
15038
15039 2010-09-13  Jim Meyering  <meyering@redhat.com>
15040
15041         fts: don't operate on an invalid file descriptor after failed dup
15042         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
15043         negative file descriptor.
15044
15045 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
15046
15047         savedir: add streamsavedir, deprecate fdsavedir
15048         * NEWS: Mention deprecation of fdsavedir.
15049         * lib/savedir.c (streamsavedir): New extern function, whose name
15050         ends in "savedir" to be consistent with the others.  This differs
15051         from savedirstream in that it doesn't close its argument.  The
15052         next version of GNU tar will use this instead of fdsavedir, to
15053         avoid some race conditions and conserve file descriptors.
15054         (savedirstream): Reimplement as a wrapper around streamsavedir.
15055         (fdsavedir): Add a comment deprecating this function.  As far as
15056         I know, only GNU tar used it, and GNU tar doesn't need it any more.
15057         * lib/savedir.h (streamsavedir): New decl.
15058         (fdsavedir): Add a comment deprecating this.
15059
15060 2010-09-10  Bruno Haible  <bruno@clisp.org>
15061
15062         langinfo: Fix last commit.
15063         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
15064         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
15065         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15066
15067 2010-09-10  Bruno Haible  <bruno@clisp.org>
15068
15069         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
15070         * lib/progreloc.c (O_EXEC): Define fallback.
15071
15072 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
15073
15074         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
15075         * NEWS: Document recent changes to fcntl-h.
15076         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
15077         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
15078         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
15079         Similarly for O_SEARCH; this last was already true, but not documented.
15080         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
15081         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
15082         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
15083         Likewise.
15084         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
15085         is zero, not whether it is defined.
15086         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
15087         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
15088         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
15089
15090 2010-09-10  Bruno Haible  <bruno@clisp.org>
15091
15092         langinfo, nl_langinfo: Fix for IRIX 5.3.
15093         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
15094         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
15095         HAVE_LANGINFO_YESEXPR.
15096         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
15097         HAVE_LANGINFO_YESEXPR.
15098         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
15099         HAVE_LANGINFO_T_FMT_AMPM is 0.
15100         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
15101         HAVE_LANGINFO_YESEXPR is 0.
15102         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
15103         NOEXPR.
15104         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
15105         * doc/posix-functions/nl_langinfo.texi: Likewise.
15106         Reported by Eric Blake.
15107
15108 2010-09-10  Bruno Haible  <bruno@clisp.org>
15109
15110         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
15111         * doc/glibc-functions/login_tty.texi: Mention the include file problem
15112         on FreeBSD 8.0 and OpenBSD 4.6.
15113         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
15114         * m4/pty_h.m4 (gl_PTY_H): Likewise.
15115         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
15116         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
15117         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
15118         ac_includes_default.
15119         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
15120
15121 2010-09-09  Eric Blake  <eblake@redhat.com>
15122
15123         strsignal: work around NetBSD bug
15124         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
15125         * lib/string.in.h (includes): Likewise.
15126         * doc/posix-functions/strsignal.texi (strsignal): Document the
15127         bug.
15128         Reported by Nelson H. F. Beebe.
15129
15130         gnulib-tool: work with NetBSD /bin/sh
15131         * gnulib-tool (func_cache_var, func_cache_lookup_module)
15132         (func_get_description, func_get_comment, func_get_status)
15133         (func_get_notice, func_get_applicability, func_get_filelist)
15134         (func_get_dependencies, func_get_autoconf_early_snippet)
15135         (func_get_autoconf_snippet, func_get_automake_snippet)
15136         (func_get_include_directive, func_get_link_directive)
15137         (func_get_license, func_get_maintainer, func_import): Avoid
15138         shell syntax errors from parsing syntax extensions.
15139
15140 2010-09-09  Bruno Haible  <bruno@clisp.org>
15141
15142         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
15143         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
15144         a reliable way to determine whether the 'alias' command works.
15145
15146 2010-09-08  Jim Meyering  <meyering@redhat.com>
15147
15148         init.sh: penalize a set-x-impaired shell; don't disqualify it
15149         * tests/init.sh: Too many shells corrupt application stderr when
15150         you set -x, so we can't afford to disqualify them, since at least
15151         on Irix-6.5, that would disqualify all bourne shells.
15152         Instead, use a two-pass approach.
15153         On the first pass, try to find a shell that meets the stricter
15154         condition that set -x does not corrupt stderr.
15155         If no shell meets the stricter condition, retest each candidate
15156         shell, but without that extra condition.  Finally, when
15157         VERBOSE=yes is requested and set -x might cause trouble, simply
15158         issue a warning and refrain from enabling debug output.
15159
15160 2010-09-08  Eric Blake  <eblake@redhat.com>
15161
15162         unsetenv: fix OpenBSD bug
15163         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
15164         * doc/posix-functions/unsetenv.texi (unsetenv): Update
15165         documentation.
15166         Reported by Jim Meyering.
15167
15168         strtod: work around IRIX 6.5 bug
15169         * lib/strtod.c (strtod): Reparse number on shorter string if
15170         exponent parse was invalid.
15171         * tests/test-strtod.c (main): Add check for "0x1p 2".
15172         Reported by Tom G. Christensen.
15173
15174         getopt: optimize previous patch
15175         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
15176         empty variable.  Speed up awk script.
15177         Reported by Paolo Bonzini.
15178
15179 2010-09-08  Jim Meyering  <meyering@redhat.com>
15180
15181         test.sh: disqualify shells for which set -x corrupts stderr
15182         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
15183         and OpenBSD 4.7.  They make it so with "set -x", environment settings
15184         appear in stderr output.  For example, this command:
15185             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
15186         prints "P=1" on those two systems:
15187
15188 2010-09-08  Bruno Haible  <bruno@clisp.org>
15189
15190         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
15191         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
15192         commands, because some shells ignore redirections when there is an
15193         error in the command lookup.
15194         Reported by Eric Blake.
15195
15196 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
15197
15198         * lib/regex.h: Fix a mention of `regex_compile' (should be
15199         `re_compile_pattern').
15200         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
15201         (re_set_registers): Correct name of parameter in comment.
15202
15203         * doc/regex.texi: Add documentation for missing syntax flags.
15204         Remove commented-out documentation of defunct syntax option
15205         RE_NO_EMPTY_ALTS.
15206         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
15207         Add documentation of re_set_registers.
15208         Document trick to re-use a pattern buffer by setting fastmap manually.
15209         Update documentation of struct re_pattern_buffer per public members.
15210         Uncomment documentation of equivalence class operators and
15211         collating symbol operators, since they are now implemented,
15212         Explain leftmost-longest matching in relation to alternatives.
15213         Tidy documentation of substring matching.
15214         Remove POSIX documentation, which is done better in
15215         glibc, and refer the reader there. Keep BSD API documentation, as
15216         that is not readily available elsewhere.
15217
15218 2010-09-07  Eric Blake  <eblake@redhat.com>
15219
15220         getopt: handle POSIXLY_CORRECT set but not exported
15221         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
15222         export state of POSIXLY_CORRECT, due to bash set -o posix.
15223         Reported by Dustin J. Mitchell.
15224
15225 2010-09-05  Bruno Haible  <bruno@clisp.org>
15226
15227         gnulib-tool: Highlight the changed options.
15228         * gnulib-tool (func_usage): Display the --import, --add-import,
15229         --remove-import explanations in bold font.
15230
15231 2010-09-06  Karl Berry  <karl@gnu.org>
15232
15233         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
15234
15235 2010-09-05  Bruno Haible  <bruno@clisp.org>
15236
15237         uniwidth/width: Update comment.
15238         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
15239         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
15240
15241 2010-09-05  Bruno Haible  <bruno@clisp.org>
15242
15243         isinf, isnan: Relax license.
15244         * modules/isinf (License): Change from GPL to LGPL, with consent from
15245         Ben Pfaff.
15246         * modules/isnan (License): Likewise.
15247         Requested by Ludovic Courtès.
15248
15249 2010-09-04  Bruno Haible  <bruno@clisp.org>
15250
15251         gnulib-tool: Help migration from --import to --add-import or --update.
15252         * gnulib-tool: Emit a verbose error message when --import is used
15253         without any module name.
15254
15255 2010-09-04  Bruno Haible  <bruno@clisp.org>
15256
15257         Update doc about gnulib-tool.
15258         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
15259         'gnulib-tool --update' in more detail.
15260         Reported by Eric Blake.
15261
15262 2010-09-04  Bruno Haible  <bruno@clisp.org>
15263
15264         gnulib-tool: Change --import. New options --add/remove-import.
15265         * gnulib-tool: New options --add-import, --remove-import.
15266         (func_usage): Document them.
15267         (have_associative): Define always.
15268         (func_import): In import mode, don't merge the specified settings with
15269         the cached settings. Implement remove-import mode.
15270         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
15271         Explain when to use them versus --import.
15272         (Simple update): Use --add-import instead of --import.
15273         * NEWS: Mention the change.
15274
15275 2010-09-04  Bruno Haible  <bruno@clisp.org>
15276
15277         * doc/gnulib-tool.texi (Initial import): Update paragraph about
15278         separate gnulib.mk.
15279
15280 2010-09-04  Bruno Haible  <bruno@clisp.org>
15281
15282         gnulib-tool: Don't talk about CVS any more.
15283         * gnulib-tool (func_usage, func_import): Write "version control"
15284         instead of CVS.
15285
15286 2010-09-04  Jim Meyering  <meyering@redhat.com>
15287
15288         maint.mk: avoid obscure sc_copyright_check failure in coreutils
15289         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
15290         false positives (whose names may be ill-chosen) when searching
15291         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
15292         would cause a false-positive.
15293
15294         avoid coreutils "make distcheck" failure
15295         Coreutils tests with an absolute build directory name that contains
15296         a space.  Not quoting this directory name caused a failure.
15297         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
15298         * tests/test-vc-list-files-cvs.sh: Likewise.
15299
15300 2010-09-04  Bruno Haible  <bruno@clisp.org>
15301
15302         gnulib-tool: Avoid error when run in a package without Makefile.am.
15303         * gnulib-tool: When collecting the m4dirs in a package that does not
15304         have a Makefile.am, eliminate those directories that contain no
15305         gnulib-cache.m4. Fix expression that counts these directories.
15306
15307 2010-09-04  Bruno Haible  <bruno@clisp.org>
15308
15309         update-copyright test: Improve output when perl is missing or too old.
15310         * tests/test-update-copyright.sh: Move test of Perl version down after
15311         the test whether Perl exists. Provide an explanation relating Perl's
15312         error message to Automake's SKIP: message.
15313
15314 2010-09-04  Bruno Haible  <bruno@clisp.org>
15315
15316         Don't augment PATH in TESTS_ENVIRONMENT.
15317         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
15318         set abs_aux_dir instead of augmenting PATH.
15319         * modules/vc-list-files-tests (Makefile.am): Likewise.
15320         * tests/test-update-copyright.sh: Augment PATH here.
15321         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
15322         path_prepend_.
15323         * tests/test-vc-list-files-git.sh: Likewise.
15324
15325 2010-09-04  Jim Meyering  <meyering@redhat.com>
15326
15327         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
15328         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
15329
15330 2010-09-04  Bruno Haible  <bruno@clisp.org>
15331
15332         strdup: Fix compilation error in C++ mode.
15333         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
15334         the macro.
15335
15336 2010-09-04  Bruno Haible  <bruno@clisp.org>
15337
15338         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
15339         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
15340         macro into a function.
15341         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
15342
15343 2010-09-04  Bruno Haible  <bruno@clisp.org>
15344
15345         Set PATH_SEPARATOR the same way autoconf does.
15346         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
15347         the value of PATH_SEPARATOR the same way autoconf-generated configure
15348         scripts do.
15349         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
15350         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
15351
15352 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
15353
15354         Set PATH_SEPARATOR the same way autoconf does.
15355         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
15356         the same way autoconf-generated configure scripts do.
15357         * posix-modules: Likewise.
15358
15359 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
15360
15361         hash: fix safe_hasher const typo
15362         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
15363         const; otherwise, there is a type error later.
15364
15365 2010-09-02  Jim Meyering  <meyering@redhat.com>
15366
15367         test-update-copyright.sh: require perl 5.8.0
15368         * tests/test-update-copyright.sh: Require 5.8.0,
15369         which Tom G. Christensen has confirmed is adequate,
15370         while 5.6.1 is not.
15371
15372 2010-09-02  Eric Blake  <eblake@redhat.com>
15373
15374         tests: init.sh improvements for re-exec'ing with zsh
15375         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
15376         -vx through shell re-exec.
15377         Reported by Tom G. Christensen.
15378
15379         wctype: fix typo in previous commit
15380         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
15381         Reported by Ludovic Courtès.
15382
15383 2010-09-02  Jim Meyering  <meyering@redhat.com>
15384
15385         test-update-copyright.sh: skip test if Perl is too old
15386         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
15387         Reported by Tom G. Christensen.
15388
15389 2010-09-02  Bruno Haible  <bruno@clisp.org>
15390
15391         wctype: Avoid compilation error on IRIX 6.5.30.
15392         * lib/wctype.in.h (iswblank): Declare with a replacement if
15393         REPLACE_ISWBLANK is set.
15394         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
15395         declared. Set REPLACE_ISWBLANK.
15396         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
15397         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
15398         * doc/posix-headers/wctype.texi: Likewise.
15399         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15400
15401 2010-09-01  Bruno Haible  <bruno@clisp.org>
15402
15403         New module 'socketlib'.
15404         * modules/socketlib: New file.
15405         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
15406         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
15407         * modules/sockets (Depends-on): Add socketlib.
15408         Suggested by Sam Steingold <sds@gnu.org>.
15409
15410 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
15411
15412         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
15413
15414         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
15415         when one needs search access to a directory but not read access.
15416         On systems where it is available, it works in some cases where
15417         O_RDONLY does not, namely on directories that are searchable but
15418         not readable, and which need only to be searchable.  If O_SEARCH
15419         is not available, fall back to the traditional method of using
15420         O_RDONLY.
15421
15422         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
15423         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
15424         when opening a directory that needs only to be searchable.
15425         * lib/chdir-safer.c (chdir_no_follow): Likewise.
15426         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
15427         * lib/openat-proc.c (openat_proc_name): Likewise.
15428         * lib/openat.c (openat_needs_fchdir): Likewise.
15429         * lib/save-cwd.c (save_cwd): Likewise.
15430         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
15431
15432 2010-08-28  Bruno Haible  <bruno@clisp.org>
15433
15434         New module 'host-cpu-c-abi'.
15435         * modules/host-cpu-c-abi: New file.
15436         * m4/host-cpu-c-abi.m4: New file, based on part of
15437         clisp/src/m4/general.m4.
15438         Requested by Sam Steingold <sds@gnu.org>.
15439
15440 2010-08-31  Eric Blake  <eblake@redhat.com>
15441         and Jim Meyering  <meyering@redhat.com>
15442
15443         hash: factor, and guard against misbehaving hasher function
15444         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
15445         of table->hasher's return value.  Also protect against a hash value
15446         so large that adding it to table->bucket results in a NULL pointer.
15447         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
15448         Use it in place of open-coded check-and-abort.
15449
15450 2010-08-30  Bruno Haible  <bruno@clisp.org>
15451
15452         hash: silence spurious clang warning
15453         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
15454         Reported by Eric Blake.
15455
15456 2010-08-30  Eric Blake  <eblake@redhat.com>
15457
15458         strstr, memmem, strcasestr: avoid leaked shell message
15459         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
15460         FreeBSD.
15461         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
15462         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
15463
15464         tests: silence clang warning
15465         * tests/test-malloca.c (do_allocation): Avoid dead store.
15466
15467 2010-08-29  Bruno Haible  <bruno@clisp.org>
15468
15469         gettext: Fix recent mistake.
15470         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
15471
15472 2010-08-29  Bruno Haible  <bruno@clisp.org>
15473
15474         selinux-h: Offer a --without-selinux option.
15475         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
15476         --without-selinux was specified, skip all tests and define
15477         HAVE_SELINUX_SELINUX_H to 0.
15478         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
15479         set LIB_SELINUX to empty.
15480         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
15481         gl_LIBSELINUX. If --without-selinux was specified, replace
15482         selinux/context.h.
15483         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
15484
15485 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15486             Bruno Haible  <bruno@clisp.org>
15487
15488         Make the module 'realloc-gnu' work again on AIX and OSF/1.
15489         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
15490         of HAVE_REALLOC.
15491         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
15492         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
15493         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
15494         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
15495
15496 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15497             Bruno Haible  <bruno@clisp.org>
15498
15499         Make the module 'calloc-gnu' work again on AIX and OSF/1.
15500         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
15501         HAVE_CALLOC.
15502         * lib/xmalloc.c: Update accordingly.
15503         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
15504         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
15505         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
15506
15507 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15508             Bruno Haible  <bruno@clisp.org>
15509
15510         Make the module 'malloc-gnu' work again on AIX and OSF/1.
15511         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
15512         HAVE_MALLOC.
15513         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
15514         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
15515         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
15516
15517 2010-08-29  Bruno Haible  <bruno@clisp.org>
15518
15519         Update modules list.
15520         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
15521         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
15522         (String handling <string.h>): Add astrxfrm.
15523         (File system functions): Add readlinkat.
15524
15525 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15526
15527         Tests for module 'realloc-gnu'.
15528         * modules/realloc-gnu-tests: New file.
15529         * tests/test-realloc-gnu.c: New file.
15530
15531         Tests for module 'calloc-gnu'.
15532         * modules/calloc-gnu-tests: New file.
15533         * tests/test-calloc-gnu.c: New file.
15534
15535         Tests for module 'malloc-gnu'.
15536         * modules/malloc-gnu-tests: New file.
15537         * tests/test-malloc-gnu.c: New file.
15538
15539 2010-08-28  Bruno Haible  <bruno@clisp.org>
15540
15541         Rename module 'realloc' -> 'realloc-gnu'.
15542         * modules/realloc-gnu: New file, copied from modules/realloc.
15543         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
15544         obsolete.
15545         * modules/mgetgroups (Depends-on): Update.
15546         * doc/posix-functions/realloc.texi: Update.
15547         * NEWS: Mention the change.
15548
15549         Rename module 'calloc' -> 'calloc-gnu'.
15550         * modules/calloc-gnu: New file, copied from modules/calloc.
15551         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
15552         obsolete.
15553         * doc/posix-functions/calloc.texi: Update.
15554         * NEWS: Mention the change.
15555
15556         Rename module 'malloc' -> 'malloc-gnu'.
15557         * modules/malloc-gnu: New file, copied from modules/malloc.
15558         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
15559         obsolete.
15560         * modules/argp (Depends-on): Update.
15561         * modules/regex (Depends-on): Update.
15562         * doc/posix-functions/malloc.texi: Update.
15563         * NEWS: Mention the change.
15564
15565 2010-08-28  Eric Blake  <eblake@redhat.com>
15566
15567         pread, pwrite: add missing dependency
15568         * modules/pread (Depends-on): Add extensions.
15569         * modules/pwrite (Depends-on): Likewise.
15570
15571 2010-08-28  Bruno Haible  <bruno@clisp.org>
15572
15573         unistr/u*-strchr: Fix tests dependencies.
15574         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
15575         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
15576         Reported by Ian Beckwith <ianb@erislabs.net>.
15577
15578 2010-08-28  Bruno Haible  <bruno@clisp.org>
15579
15580         read-file: Don't occupy too much unused memory.
15581         * lib/read-file.c (fread_file): Shrink the buffer at the end.
15582
15583 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
15584             Eric Blake  <eblake@redhat.com>
15585             Bruno Haible  <bruno@clisp.org>
15586
15587         read-file: Avoid memory reallocations with regular files.
15588         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
15589         (fread_file): With regular files, use the remaining length as the
15590         initial buffer size.  Check against overflow.
15591         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
15592         sys_stat.
15593
15594 2010-08-28  Bruno Haible  <bruno@clisp.org>
15595
15596         ftello: Relax license.
15597         * modules/ftello (License): Relax to LGPLv2+.
15598         Reported by Eric Blake.
15599
15600 2010-08-28  Bruno Haible  <bruno@clisp.org>
15601
15602         Avoid relocwrapper link errors due to gnulib replacement functions.
15603         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
15604         function.
15605         Reported by Ben Pfaff <blp@cs.stanford.edu>.
15606
15607 2010-08-28  Bruno Haible  <bruno@clisp.org>
15608
15609         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
15610         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
15611         defined.
15612         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
15613         Suggested by Eric Blake.
15614
15615 2010-08-28  Bruno Haible  <bruno@clisp.org>
15616
15617         sys_socket, netdb: Ensure socklen_t gets defined.
15618         * modules/sys_socket (Depends-on): Add socklen.
15619         * modules/netdb (Depends-on): Likewise.
15620         * modules/getaddrinfo (Depends-on): Remove socklen.
15621         * modules/getsockopt (Depends-on): Likewise.
15622         * modules/setsockopt (Depends-on): Likewise.
15623         * tests/test-sys_socket.c: Check that socklen_t is defined.
15624         * tests/test-netdb.c: Likewise.
15625         * m4/socklen.m4: Update comments.
15626         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15627
15628 2010-08-27  Eric Blake  <eblake@redhat.com>
15629
15630         login_tty: add missing dependency
15631         * modules/login_tty (Depends-on): Add pty.
15632
15633 2010-08-26  Eric Blake  <eblake@redhat.com>
15634
15635         lib-symbol-versions: fix m4 quoting
15636         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
15637         format for AC_LINK_IFELSE.
15638
15639         glob: fix compile test
15640         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
15641
15642         btowc: fix missing file
15643         * modules/btowc (Files): Also ship locale-fr.m4.
15644
15645         lseek: fix link test
15646         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
15647         AC_LINK_IFELSE.
15648
15649         include_next: silence autoconf 2.68 warning
15650         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
15651         AC_COMPILE_IFELSE as special.
15652         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
15653         autoconf < 2.68.
15654
15655         acl: fix compilation test
15656         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
15657         AC_COMPILE_IFELSE.
15658
15659 2010-08-26  Bruno Haible  <bruno@clisp.org>
15660
15661         Modernize AC_TRY_RUN invocations.
15662         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
15663         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
15664         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
15665         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
15666         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
15667         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
15668         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
15669         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
15670         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
15671         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
15672         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
15673         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
15674         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
15675         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
15676         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
15677         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
15678         gl_MBRLEN_NUL_RETVAL): Likewise.
15679         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
15680         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
15681         Likewise.
15682         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
15683         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
15684         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
15685         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
15686         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
15687         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
15688         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
15689         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
15690         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
15691         Likewise.
15692         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
15693         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
15694         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
15695         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
15696         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
15697         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
15698         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
15699         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
15700         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
15701         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
15702
15703 2010-08-26  Bruno Haible  <bruno@clisp.org>
15704
15705         Modernize AC_TRY_LINK invocations.
15706         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
15707         AC_TRY_LINK.
15708         * m4/argp.m4 (gl_ARGP): Likewise.
15709         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
15710         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
15711         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
15712         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
15713         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
15714         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
15715         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
15716         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
15717         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
15718         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
15719         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
15720         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
15721         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
15722         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
15723         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
15724         * m4/hostent.m4 (gl_HOSTENT): Likewise.
15725         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
15726         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
15727         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
15728         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
15729         Likewise.
15730         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
15731         Likewise.
15732         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
15733         Likewise.
15734         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
15735         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
15736         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
15737         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
15738         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
15739         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
15740         * m4/servent.m4 (gl_SERVENT): Likewise.
15741         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
15742         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
15743         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
15744         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
15745         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
15746         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
15747         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
15748         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
15749         * modules/tsearch-tests (configure.ac): Likewise.
15750
15751 2010-08-26  Bruno Haible  <bruno@clisp.org>
15752
15753         Modernize AC_TRY_COMPILE invocations.
15754         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
15755         AC_TRY_COMPILE.
15756         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
15757         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
15758         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
15759         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
15760         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
15761         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
15762         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
15763         * m4/lock.m4 (gl_LOCK): Likewise.
15764         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
15765         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
15766         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
15767         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
15768         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
15769         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
15770         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
15771         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
15772         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
15773         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
15774         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
15775         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
15776         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
15777         extraneous semicolon.
15778
15779 2010-08-26  Jim Meyering  <meyering@redhat.com>
15780
15781         stat-time: relax license LGPL
15782         * modules/stat-time (License): Change from GPL to LGPL,
15783         with consent from all contributors, for use in libguile.
15784         Requested by Ludovic Courtès.
15785
15786 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
15787
15788         poll: return immediately on POLLHUP.
15789         * lib/poll.c (poll): Always set timeout before wait_timeout is
15790         computed.
15791
15792 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15793
15794         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
15795         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
15796         rmdir ("dir/.//"), unlinkat.
15797
15798 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
15799
15800         stdbool: avoid spurious failure with modern xlc
15801         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
15802
15803 2010-08-24  Bruno Haible  <bruno@clisp.org>
15804
15805         getloadavg: simplify code
15806         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
15807         gl_have_func. Update comments.
15808
15809 2010-08-24  Eric Blake  <eblake@redhat.com>
15810
15811         getloadavg: don't define SVR4 on cygwin
15812         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
15813         only define SVR4 when -lkvm is required.
15814         Reported by Yaakov Selkowitz.
15815
15816 2010-08-24  Bruno Haible  <bruno@clisp.org>
15817
15818         priv-set: fix comment
15819         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
15820
15821 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
15822
15823         priv-set: fix comments
15824         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
15825         to match code, as suggested by David Bartley in:
15826         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
15827
15828 2010-08-23  Eric Blake  <eblake@redhat.com>
15829
15830         stdbool: avoid rejecting clang
15831         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
15832         * tests/test-stdbool.c: Enable more tests if using the system
15833         <stdbool.h> instead of the gnulib replacement.
15834         (main): Move xlc bug test to a runtime test for all compilers.
15835         Reported by Anders Kaseorg.
15836
15837         argz: fix shell quoting issue
15838         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
15839         Reported by Charles Wilson.
15840
15841 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
15842             Erik Faye-Lund <kusmabite@gmail.com>
15843
15844         poll, select: handle ERROR_BROKEN_PIPE.
15845         * lib/poll.c (win32_compute_revents): Return POLLHUP when
15846         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
15847         * lib/select.c (win32_compute_revents): Do not mark a pipe
15848         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
15849
15850 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
15851
15852         fts: allow compilation with C++
15853         * lib/fts_.h: Specify extern "C" linkage with C++.
15854
15855 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15856
15857         Fix gnulib-tool sed script de-commentation for AIX sed.
15858         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
15859         sed.
15860
15861 2010-08-17  Eric Blake  <eblake@redhat.com>
15862
15863         test-stddef: test for (some) offsetof bugs
15864         * tests/test-stddef.c: Enhance test to ensure correct type of
15865         offsetof.
15866         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
15867         that we are not fixing at this time.
15868
15869 2010-08-15  Bruno Haible  <bruno@clisp.org>
15870
15871         stpncpy: Allow stpncpy to be defined as a macro.
15872         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
15873         if it's already correctly declared.
15874         * lib/string.in.h (stpncpy): Undefine before redefining.
15875         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
15876
15877 2010-08-14  Bruno Haible  <bruno@clisp.org>
15878
15879         Rename module 'memxfrm' to 'amemxfrm'.
15880         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
15881         (amemxfrm): Renamed from memxfrm.
15882         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
15883         (amemxfrm): Renamed from memxfrm.
15884         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
15885         * NEWS: Mention the change.
15886         * MODULES.html.sh (String handling <string.h>): Update.
15887         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
15888         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
15889         * lib/unicase/u16-casexfrm.c: Likewise.
15890         * lib/unicase/u32-casexfrm.c: Likewise.
15891         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
15892         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
15893         * lib/uninorm/u16-normxfrm.c: Likewise.
15894         * lib/uninorm/u32-normxfrm.c: Likewise.
15895         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
15896         memxfrm.
15897         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
15898         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
15899         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
15900         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
15901         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
15902         Suggested by Paul Eggert.
15903
15904 2010-08-14  Bruno Haible  <bruno@clisp.org>
15905
15906         Tests for module 'astrxfrm'.
15907         * modules/astrxfrm-tests: New file.
15908         * tests/test-astrxfrm.c: New file.
15909
15910         New module 'astrxfrm'.
15911         * lib/astrxfrm.h: New file.
15912         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
15913         * modules/astrxfrm: New file.
15914
15915 2010-08-14  Reuben Thomas <rrt@sc3d.org>
15916
15917         regex: Tweak doc.
15918         * doc/regex.texi (Overview): Don't mention regex.c.
15919         (GNU Regular Expression Compiling): Likewise.
15920         (Match-end-of-line Operator): Mention 'not_eol'.
15921
15922 2010-08-14  Brian Gough  <bjg@gnu.org>
15923             Bruno Haible  <bruno@clisp.org>
15924
15925         git-merge-changelog: add doc relating to use with bzr and hg.
15926         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
15927
15928 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
15929
15930         pthread: fix pthread.h creation for srcdir != builddir
15931         * modules/pthread (Makefile.am): Fix the rule to work also in a
15932         non-srcdir build.
15933
15934 2010-08-13  Karl Berry  <karl@gnu.org>
15935
15936         * doc/regex.texi (Predefined Syntaxes): @smallexample.
15937         * doc/posix-*/*: force line break before @url of POSIX
15938         specifications.
15939         Suggested by Werner Lemberg.
15940
15941 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
15942
15943         strtod: fix const diagnostic
15944         * lib/strtod.c (strtod): Don't assign const char * to char *,
15945         as this elicits a warning from GCC when warnings are enabled.
15946
15947 2010-08-10  Pádraig Brady <P@draigbrady.com>
15948         and Eric Blake  <eblake@redhat.com>
15949
15950         copy-acl: ignore ENOTSUP on HP-UX
15951         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
15952         so that it is available for HP-UX.
15953         * lib/copy-acl.c (qcopy_acl): Use it.
15954         Reported by Patrick M. Callahan.
15955
15956 2010-08-10  Eric Blake  <eblake@redhat.com>
15957
15958         open, chown: relax license
15959         * modules/open (License): Change to LGPLv2+, with consent by all
15960         authors, for use in augeas.
15961         * modules/chown (License): Likewise.
15962         * modules/lchown (Likewise): Likewise.
15963         Requested by Adam Stokes.
15964
15965 2010-08-09  Karl Berry  <karl@gnu.org>
15966
15967         * build-aux/ar-lib: new file, import from Automake.
15968         * config/srclist.txt: autocheck for updates.
15969
15970 2010-08-09  Eric Blake  <eblake@redhat.com>
15971
15972         readlinkat: adjust client modules
15973         * modules/areadlinkat (Depends-on): Use readlinkat, not
15974         symlinkat.
15975         * modules/areadlinkat-with-size (Depends-on): Likewise.
15976
15977         mknod: be more vocal about danger of running tests as root
15978         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
15979         root, since that is just asking for problems.
15980         Suggested by Bruno Haible, based on a report by Rainer Tammer.
15981
15982         readlinkat: split into its own module
15983         * modules/symlinkat: Split readlinkat...
15984         * modules/readlinkat: ...into separate module.
15985         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
15986         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
15987         * lib/symlinkat.c (readlinkat): Move...
15988         * lib/readlinkat.c: ...into new file.
15989         * modules/symlinkat-tests: Split readlinkat test...
15990         * modules/readlinkat-tests: ...into separate module.
15991         * tests/test-symlinkat.c: Split...
15992         * tests/test-readlinkat.c: ...into new file.
15993         * NEWS: Document the split.
15994         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
15995         * lib/unistd.in.h (readlinkat): Likewise.
15996         Suggested by Bruno Haible.
15997
15998 2010-08-08  Bruno Haible  <bruno@clisp.org>
15999
16000         memxfrm: Speed up.
16001         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
16002         that usually only one call to strxfrm is necessary for each string
16003         part.
16004         Reported by Paul Eggert <eggert@cs.ucla.edu>.
16005
16006 2010-08-07  Karl Berry  <karl@gnu.org>
16007
16008         * doc/posix-headers/limits.texi,
16009         * doc/posix-functions/malloc.texi,
16010         * doc/posix-functions/strsignal.texi: missing @item.
16011         * doc/ld-version-script.texi: spurious leading i.
16012         * doc/regex.texi (Interval Operators): no commas inside @var.
16013
16014 2010-08-01  Bruno Haible  <bruno@clisp.org>
16015
16016         Integrate the regex documentation.
16017         * doc/gnulib.texi: Define 'cn' index.
16018         (Regular expressions): New a chapter that includes regex.texi and
16019         regexprops-generic.texi.
16020         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
16021         syntax.
16022
16023         Whitespace cleanup.
16024         * doc/regex.texi: Remove trailing spaces.
16025
16026         Add regex documentation.
16027         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
16028         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
16029         Written by Kathy A. Hargreaves and Karl Berry.
16030
16031 2010-08-01  Bruno Haible  <bruno@clisp.org>
16032
16033         link: Update documentation.
16034         * doc/posix-functions/link.texi: Update regarding Solaris.
16035
16036 2010-07-31  Bruno Haible  <bruno@clisp.org>
16037
16038         Update modules list.
16039         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
16040         (String handling <string.h>): Add memcmp2, memxfrm.
16041         (Container data structures): Add xlist, xsublist, xoset.
16042         (Core language properties): Add alignof, unused-parameter.
16043         (Process control, Numeric conversion functions <stdlib.h>): Renamed
16044         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
16045         (Unibyte characters <ctype.h>): New section.
16046         (String handling <string.h>): New section.
16047         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
16048         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
16049         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
16050         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
16051         tan, tanh, tanl, y0, y1, yn.
16052         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
16053         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
16054         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
16055         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
16056         unlockpt, vdprintf, vdprintf-posix.
16057         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
16058         (File system functions): Add concat-filename, sys_file, sys_ioctl,
16059         xconcat-filename.
16060         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
16061         getdtablesize, pipe2, pipe2-safer.
16062         (Security): New section.
16063         (Networking functions): Add accept4.
16064         (Signal handling): Add sigpipe.
16065         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
16066         mbmemcasecoll.
16067         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
16068         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
16069         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
16070         pipe-filter-ii.
16071         (Misc): Add argp-version-etc, login_tty, parse-duration.
16072
16073 2010-07-31  Bruno Haible  <bruno@clisp.org>
16074
16075         Improve doc in MODULES.html.
16076         * modules/linkat (Description): Add the word "function".
16077         * modules/mkfifo (Description): Likewise.
16078         * modules/mknod (Description): Likewise.
16079         * modules/remove (Description): Likewise.
16080         * modules/renameat (Description): Likewise.
16081         * modules/stat (Description): Likewise.
16082         * modules/symlink (Description): Likewise.
16083         * modules/unlink (Description): Likewise.
16084
16085 2010-07-31  Bruno Haible  <bruno@clisp.org>
16086
16087         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
16088         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
16089         option --enable/disable-c++ instead of --enable/disable-cxx.
16090         * NEWS: Mention the change.
16091
16092 2010-07-31  Bruno Haible  <bruno@clisp.org>
16093
16094         readlink, areadlink: Relax test a bit.
16095         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
16096         alternative to ENOTDIR.
16097         * tests/test-areadlink.h (test_areadlink): Likewise.
16098         Reported by Rainer Tammer.
16099
16100 2010-07-31  Bruno Haible  <bruno@clisp.org>
16101
16102         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
16103         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
16104         character, perform the search using U_STRCHR.
16105         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
16106         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
16107         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
16108         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
16109         Suggested by Paolo Bonzini.
16110
16111 2010-07-31  Bruno Haible  <bruno@clisp.org>
16112
16113         unistr/u*-strstr: Fix dependencies.
16114         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
16115         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
16116         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
16117
16118 2010-07-31  Bruno Haible  <bruno@clisp.org>
16119
16120         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
16121         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
16122         the beginning of the loop.
16123         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
16124         cases in 'switch' statement.
16125
16126         unistr/u8-strchr: Fix several bugs.
16127         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
16128         the string. When not found, return NULL, not a pointer near the end.
16129
16130         More tests for unistr/u8-strchr.
16131         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
16132         that the function does not read past the first occurrence of the byte
16133         being searched.
16134         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
16135         * tests/unistr/test-u16-strchr.c (main): New function.
16136         * tests/unistr/test-u32-strchr.c (main): New function.
16137
16138 2010-07-31  Bruno Haible  <bruno@clisp.org>
16139
16140         posix-modules: Ignore backup files of documentation files.
16141         * posix-modules: grep only through files named *.texi.
16142
16143 2010-07-31  Bruno Haible  <bruno@clisp.org>
16144
16145         symlinkat: Fix documentation.
16146         * doc/posix-functions/readlinkat.texi: Fix module name.
16147
16148 2010-07-31  Bruno Haible  <bruno@clisp.org>
16149
16150         fchownat: Replace also when chown has the trailing slash bug.
16151         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
16152         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
16153         introduced on 2010-04-10.
16154         Reported by Rainer Tammer.
16155
16156 2010-07-31  Bruno Haible  <bruno@clisp.org>
16157
16158         linkat: Work around AIX 7.1 bug.
16159         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
16160         whether linkat handles trailing slash correctly. If not, replace linkat
16161         and define LINKAT_TRAILING_SLASH_BUG.
16162         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
16163         check whether (fd1,file1) points to a directory if file1 or file2 ends
16164         in a slash. Code taken from lib/link.c.
16165         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
16166         Reported by Rainer Tammer.
16167
16168 2010-07-31  Bruno Haible  <bruno@clisp.org>
16169
16170         Correctly determine whether pow is available in libc on AIX 7 with xlc.
16171         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
16172         This disables an xlc optimization that was causing wrong test results.
16173         Reported by Rainer Tammer.
16174
16175 2010-07-31  Bruno Haible  <bruno@clisp.org>
16176
16177         iconv: Work around AIX 6.1..7.1 bug.
16178         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
16179         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
16180         cross-compiling, guess no on all versions of AIX.
16181         Reported by Rainer Tammer.
16182
16183 2010-07-31  Bruno Haible  <bruno@clisp.org>
16184
16185         readlink: Relax test a bit.
16186         * tests/test-readlink.h (test_readlink): Allow different errno value
16187         when readlink is called with a file name that ends in / and refers to
16188         a file.
16189         Suggested by Eric Blake.
16190         Reported by Rainer Tammer.
16191
16192 2010-07-31  Bruno Haible  <bruno@clisp.org>
16193
16194         copysign: Does not require -lm on glibc systems.
16195         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
16196         gl_COMMON_DOUBLE_MATHFUNC.
16197         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
16198
16199 2010-07-31  Bruno Haible  <bruno@clisp.org>
16200
16201         duplocale: Work around AIX 7.1 bug.
16202         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
16203         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
16204         * lib/duplocale.c (rpl_duplocale): Update comment.
16205         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
16206         Reported by Rainer Tammer.
16207
16208 2010-07-30  Bruno Haible  <bruno@clisp.org>
16209
16210         dirfd: Avoid link error on AIX 7.1.
16211         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
16212         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
16213         exist, set REPLACE_DIRFD.
16214         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
16215         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
16216         * doc/posix-functions/dirfd.texi: Update.
16217         Reported by Rainer Tammer.
16218
16219 2010-07-30  Eric Blake  <eblake@redhat.com>
16220
16221         strtod: next round of AIX fixes
16222         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
16223         exponent.
16224         * tests/test-strtod.c (main): Enhance tests.
16225         * doc/posix-functions/strtod.texi (strtod): Document next bug.
16226         Reported by Rainer Tammer.
16227
16228         futimens: fix configure check
16229         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
16230         Reported by Bruno Haible.
16231
16232 2010-07-30  Bruno Haible  <bruno@clisp.org>
16233
16234         getline: Update regarding AIX.
16235         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
16236         Reported by Rainer Tammer.
16237
16238 2010-07-30  Bruno Haible  <bruno@clisp.org>
16239
16240         wcwidth: Drop replacement on AIX 7.
16241         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
16242         AIX 7.
16243         Reported by Rainer Tammer.
16244
16245 2010-07-30  Bruno Haible  <bruno@clisp.org>
16246
16247         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
16248         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
16249         a 'char *'.
16250         Reported by Rainer Tammer.
16251
16252 2010-07-30  Bruno Haible  <bruno@clisp.org>
16253
16254         unlink: Update regarding AIX.
16255         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
16256         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
16257         Reported by Rainer Tammer.
16258
16259 2010-07-30  Bruno Haible  <bruno@clisp.org>
16260
16261         symlink: Update regarding AIX.
16262         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
16263         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
16264         Reported by Rainer Tammer.
16265
16266 2010-07-30  Bruno Haible  <bruno@clisp.org>
16267
16268         strndup: Update regarding AIX.
16269         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
16270         AIX 7.
16271         Reported by Rainer Tammer.
16272
16273 2010-07-30  Bruno Haible  <bruno@clisp.org>
16274
16275         stat: Update regarding AIX.
16276         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
16277         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
16278         Reported by Rainer Tammer.
16279
16280 2010-07-30  Bruno Haible  <bruno@clisp.org>
16281
16282         truncl: Fix autoconf test.
16283         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
16284         whether truncl works.
16285         Reported by Rainer Tammer.
16286
16287 2010-07-30  Bruno Haible  <bruno@clisp.org>
16288
16289         round: Update regarding AIX.
16290         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
16291         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
16292         Reported by Rainer Tammer.
16293
16294 2010-07-30  Bruno Haible  <bruno@clisp.org>
16295
16296         rename: Update regarding AIX.
16297         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
16298         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
16299         Reported by Rainer Tammer.
16300
16301 2010-07-30  Bruno Haible  <bruno@clisp.org>
16302
16303         printf.m4: Update regarding AIX.
16304         * m4/printf.m4: Update comments regarding AIX.
16305         Reported by Rainer Tammer.
16306
16307 2010-07-30  Bruno Haible  <bruno@clisp.org>
16308
16309         iconv: Update regarding AIX.
16310         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
16311         AIX 7.
16312         Reported by Rainer Tammer.
16313
16314 2010-07-30  Bruno Haible  <bruno@clisp.org>
16315
16316         getopt: Update regarding AIX.
16317         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
16318         no on AIX.
16319         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
16320         Reported by Rainer Tammer.
16321
16322 2010-07-30  Bruno Haible  <bruno@clisp.org>
16323
16324         ldexpl; Update regarding AIX.
16325         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
16326         on AIX 7.
16327         Reported by Rainer Tammer.
16328
16329 2010-07-30  Bruno Haible  <bruno@clisp.org>
16330
16331         frexpl: Update regarding AIX.
16332         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
16333         on AIX 7.
16334         Reported by Rainer Tammer.
16335
16336 2010-07-30  Bruno Haible  <bruno@clisp.org>
16337
16338         open, fopen: Update regarding AIX.
16339         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
16340         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
16341         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
16342         * doc/posix-functions/fopen.texi: Likewise.
16343         Reported by Rainer Tammer.
16344
16345 2010-07-30  Bruno Haible  <bruno@clisp.org>
16346
16347         chown: Update doc regarding AIX.
16348         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
16349         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
16350         Reported by Rainer Tammer.
16351
16352 2010-07-30  Eric Blake  <eblake@redhat.com>
16353
16354         strtod: fix bug in replacement function on AIX
16355         * lib/strtod.c (strtod): Special case broken "0x" parse in
16356         underlying strtod.
16357         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
16358         * doc/posix-functions/strtod.texi (strtod): Likewise.
16359         Reported by Rainer Tammer.
16360
16361 2010-07-30  Bruno Haible  <bruno@clisp.org>
16362
16363         mbrlen: Fix cross-compilation guess for AIX.
16364         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
16365         guess. Leftover from 2008-12-22.
16366
16367 2010-07-30  Bruno Haible  <bruno@clisp.org>
16368
16369         mbrtowc: Fix cross-compilation guess for AIX.
16370         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
16371         guess. Leftover from 2008-12-21.
16372
16373 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
16374
16375         init.sh: work around trap limitation of some shells
16376         * tests/init.sh (setup_): Move exit trap outside of shell function.
16377
16378 2010-07-29  Eric Blake  <eblake@redhat.com>
16379
16380         strtod: aid debugging
16381         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
16382         understanding why strtod is rejected.
16383
16384 2010-07-28  Bruno Haible  <bruno@clisp.org>
16385
16386         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
16387         * lib/unistr/u8-chr.c: Include <string.h>.
16388         * tests/unistr/test-u8-chr.c: Likewise.
16389         * tests/unistr/test-u16-chr.c: Likewise.
16390         * tests/unistr/test-u32-chr.c: Likewise.
16391         * tests/unistr/test-u8-strchr.c: Likewise.
16392         * tests/unistr/test-u16-strchr.c: Likewise.
16393         * tests/unistr/test-u32-strchr.c: Likewise.
16394         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
16395         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
16396         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
16397         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
16398
16399 2010-07-28  Bruno Haible  <bruno@clisp.org>
16400
16401         Use spaces for indentation, not tabs.
16402         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
16403
16404 2010-07-27  Bruno Haible  <bruno@clisp.org>
16405
16406         mbspcasecmp: Fix function specification.
16407         * lib/string.in.h (mbspcasecmp): Fix specification comment.
16408         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
16409         Reported by Eric Blake <eblake@redhat.com>.
16410
16411 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
16412
16413         timespec: use cast and not conditional, as truncation isn't possible
16414         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
16415         instead of a conditional.  Comment about the situation in more detail.
16416         This undoes most of the 2009-10-29 patch.
16417
16418 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
16419
16420         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
16421         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
16422         * lib/unistr/u8-strchr.c: Likewise.
16423         * modules/unistr/u8-chr: Depend on memchr.
16424
16425         unistr/u*-strchr: add tests
16426         * modules/unistr/u8-strchr-tests: New file.
16427         * modules/unistr/u16-strchr-tests: New file.
16428         * modules/unistr/u32-strchr-tests: New file.
16429         * tests/unistr/test-strchr.h: New file.
16430         * tests/unistr/test-u8-strchr.c: New file.
16431         * tests/unistr/test-u16-strchr.c: New file.
16432         * tests/unistr/test-u32-strchr.c: New file.
16433
16434         unistr/u*-chr: test multibyte sequences more
16435         * tests/unistr/test-chr.h: Do complete testing of the characters in the
16436         test vector.
16437         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
16438         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
16439         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
16440
16441         unistr/u*-chr: test multibyte sequences
16442         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
16443
16444         unistr/u*-chr: prepare for multibyte tests
16445         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
16446         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
16447         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
16448         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
16449         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
16450         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
16451
16452 2010-07-18  Bruno Haible  <bruno@clisp.org>
16453
16454         unistr/u8-strchr: Optimize non-ASCII argument case.
16455         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
16456         because the first byte often matches anyway.
16457         Reported by Pádraig Brady <P@draigbrady.com>.
16458
16459 2010-07-15  Karl Berry  <karl@gnu.org>
16460
16461         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
16462
16463 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
16464
16465         getcwd: on Solaris, work better if ancestors are inaccessible
16466         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
16467         buffer and size, try again with a large buffer.  This works better
16468         on Solaris, since its getcwd succeeds even if the path to the root
16469         is inaccessible, and this is helpful in common cases such as .zfs
16470         hidden directories.  Problem reported by J Chapman Flack in
16471         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
16472         Use system getcwd if it's declared, not merely if it's partly
16473         working; use the partly-working test only to avoid needless effort
16474         if the system getcwd fails.
16475         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
16476         comment that was already obsolete and is now even more obsolete.
16477         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
16478         now might call strdup.
16479
16480 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
16481
16482         pthread: Add enough so that coreutils/src/sort.c compiles.
16483         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
16484         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
16485         gnulib. Include <sched.h> and <time.h>, as per POSIX.
16486         Include <sys/types.h>, in case it defines pthread_t.
16487         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
16488         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
16489         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
16490         (pthread_rwlockattr_t, pthread_spinlock_t):
16491         New typedefs, if HAVE_PTHREAD_T is not defined.
16492         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
16493         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
16494         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
16495         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
16496         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
16497         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
16498         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
16499         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
16500         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
16501         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
16502         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
16503         New macros.
16504         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
16505         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
16506         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
16507         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
16508         (pthread_spin_unlock): New dummy functions.
16509         (pthread_create): Return EAGAIN; don't set errno.
16510         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
16511         require AC_C_INLINE.
16512         * modules/pthread (Depends-on): Add sched, time.
16513         (pthread.h): Use AM_V_GEN.
16514
16515 2010-07-13  Bruno Haible  <bruno@clisp.org>
16516
16517         striconveh: Don't malloc memory if the result buffer is sufficient.
16518         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
16519         buffer if its size is sufficient.
16520         Reported by Ludovic Courtès <ludo@gnu.org>.
16521
16522 2010-07-13  Bruno Haible  <bruno@clisp.org>
16523
16524         strtod: Add safety check.
16525         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
16526
16527 2010-07-12  Bruno Haible  <bruno@clisp.org>
16528
16529         Unify tests that set gl_cv_func_ldexpl_no_libm.
16530         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
16531         gl_FUNC_LDEXPL.
16532         (gl_FUNC_LDEXPL): Invoke it.
16533         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
16534
16535 2010-07-12  Bruno Haible  <bruno@clisp.org>
16536
16537         Unify tests that set gl_cv_func_ldexp_no_libm.
16538         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
16539         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
16540         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
16541         (configure.ac): Simply invoke gl_FUNC_LDEXP.
16542         * modules/strtod (Files): Add m4/ldexp.m4.
16543
16544 2010-07-12  Bruno Haible  <bruno@clisp.org>
16545
16546         Unify tests that set gl_cv_func_frexpl_no_libm.
16547         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
16548         gl_FUNC_FREXPL_NO_LIBM.
16549         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
16550         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
16551
16552 2010-07-12  Bruno Haible  <bruno@clisp.org>
16553
16554         Unify tests that set gl_cv_func_frexp_no_libm.
16555         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
16556         gl_FUNC_FREXP_NO_LIBM.
16557         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
16558         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
16559
16560 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
16561
16562         memcoll: clarify sizes versus lengths, document better, and tweak perf
16563         * lib/memcoll.c (strcoll_loop, memcoll0):
16564         Improve quality of descriptive comments.  Name variables
16565         consistently as to whether they are lengths (which do not include
16566         terminating null) versus sizes (which do).
16567         * lib/xmemcoll.c (xmemcoll0): Likewise.
16568         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
16569         returned when s1size == 0; this is easier to compile and saves
16570         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
16571
16572 2010-07-12  Bruno Haible  <bruno@clisp.org>
16573
16574         Tests for module '_Exit'.
16575         * modules/_Exit-tests: New file.
16576         * tests/test-_Exit.sh: New file.
16577         * tests/test-_Exit.c: New file.
16578
16579         New module '_Exit'.
16580         * lib/stdlib.in.h (__attribute__): New macro.
16581         (_Exit): New declaration.
16582         * lib/_Exit.c: New file.
16583         * m4/_Exit.m4: New file.
16584         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
16585         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
16586         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
16587         * modules/_Exit: New file.
16588         * tests/test-stdlib-c++.cc (_Exit): Check signature.
16589         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
16590
16591 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
16592
16593         strtod: make it more-accurate typically, and don't require libm
16594         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
16595         Include limits.h.  Don't include string.h.
16596         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
16597         (locale_isspace): New function, so that no casts are needed to
16598         check whether *s is a space.
16599         (ldexp): Provide an unused dummy if not available.
16600         (scale_radix_exp, parse_number, underlying_strtod): New functions.
16601         (strtod): Use them.  This implementation prefers to use the
16602         underlying strtod if available, falling back on our own code
16603         only to fix known bugs.  This is more likely to produce an
16604         accurate result.  Also, it avoids the use of libm functions.
16605         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
16606         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
16607         was absent, but it caused a test failure with coreutils.
16608         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
16609         with libm.
16610         * modules/strtod (Makefile.am, Link): libm is no longer needed.
16611         * modules/strtod-tests (Makefile.am): Likewise.
16612
16613 2010-07-11  Pádraig Brady  <P@draigBrady.com>
16614             Bruno Haible  <bruno@clisp.org>
16615
16616         unistr/u8-strchr: Optimize ASCII argument case.
16617         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
16618
16619 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
16620
16621         (x)memcoll: minor tweaks
16622         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
16623         is after the type that it qualifies.
16624         (memcoll0): Likewise.
16625         * lib/memcoll.h (memcoll0): Likewise.
16626         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
16627         * lib/xmemcoll.h (xmemcoll0): Likewise.
16628         * lib/memcoll.c (memcoll0): Correct the comment.  This function
16629         differs from memcoll in that the NUL byte is part of the argument.
16630         Omit the abort-checks, as performance is a real issue here.  Plus,
16631         the checks were wrong anyway (an off-by-one error).  Omit local
16632         variable 'diff', as it's a bit clearer that way.
16633         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
16634         no longer needed.
16635
16636 2010-07-08  Chen Guo <chenguo4@yahoo.com>
16637
16638         (x)memcoll: speedup when input is known to be NUL delimited
16639         * lib/memcoll.c: Include stdlib.
16640         (memcoll0): New function.
16641         (strcoll_loop): New function, refactored for use in both memcoll
16642         and memcoll0.
16643         * lib/memcoll.h (memcoll0): Add prototype.
16644         * lib/xmemcoll.c (xmemcoll0): New function.
16645         (collate_error): New function, refactored for use in both xmemcoll
16646         and xmemcoll0.
16647         * lib/xmemcoll.h (xmemcoll0): Add prototype.
16648         * m4/memcoll.m4: add inline invocation.
16649
16650 2010-07-06  Pádraig Brady  <P@draigBrady.com>
16651
16652         * build-aux/bootstrap: Remove any local translations
16653         from the translation project synchronization directory,
16654         so that local only translations are not distributed.
16655
16656 2010-07-04  Bruno Haible  <bruno@clisp.org>
16657
16658         fsusage: Clarify which code applies to which platforms.
16659         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
16660         platform.
16661         * lib/fsusage.c (get_fs_usage): Likewise.
16662
16663 2010-07-04  Bruno Haible  <bruno@clisp.org>
16664
16665         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
16666         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
16667         Reported by Martin Lambers <marlam@marlam.de>.
16668
16669 2010-07-04  Jim Meyering  <meyering@redhat.com>
16670
16671         hash: once again explicitly disallow insertion of NULL
16672         * lib/hash.c (hash_insert0): Reinstate just-removed test:
16673         inserting a NULL pointer cannot work with these functions.
16674         Add a comment with details.
16675         This reverts part of the 2010-07-01 commit, 5bef1a35
16676         "hash: extend module to deal with non-pointer keys".
16677
16678 2010-07-01  Bruno Haible  <bruno@clisp.org>
16679
16680         stdbool: Update doc.
16681         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
16682         Info from Christian Weisgerber <naddy@mips.inka.de>.
16683
16684 2010-07-01  Jim Meyering  <meyering@redhat.com>
16685
16686         hash: extend module to deal with non-pointer keys
16687         * lib/hash.c (hash_insert0): New interface, much like hash_insert
16688         but that allows insertion of non-pointer entries.
16689         Do not disallow an ENTRY value of NULL.
16690         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
16691         * lib/hash.h (hash_insert0): Declare.
16692
16693 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
16694
16695         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
16696         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
16697         not present (i.e. with autoconf 2.59 and when using gettextize, not
16698         gnulib), require AC_GNU_SOURCE instead.
16699
16700 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
16701
16702         idpriv-drop: Fix tests.
16703         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
16704         not to the test-idpriv-droptemp program.
16705
16706 2010-06-29  Bruno Haible  <bruno@clisp.org>
16707
16708         string: Fix syntax error with g++ 2.96.
16709         * lib/string.in.h (__pure__): Remove definition.
16710         (_GL_ATTRIBUTE_PURE): New macro.
16711         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
16712         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
16713         Reported by Christian Weisgerber <naddy@mips.inka.de>.
16714
16715 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
16716
16717         unitypes: Fix bug introduced on 2010-05-18.
16718         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
16719
16720 2010-06-22  Eric Blake  <eblake@redhat.com>
16721
16722         memmem: slight optimization
16723         * lib/str-two-way.h (critical_factorization): Update comments.
16724         Reduce work during factorization phase.
16725         Reported by Carlos Bueno <carlos@bueno.org>.
16726
16727 2010-06-21  Bruno Haible  <bruno@clisp.org>
16728
16729         Fix HAVE_CALLOC_POSIX misnomer.
16730         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
16731         !HAVE_CALLOC_POSIX.
16732         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
16733         HAVE_CALLOC_POSIX.
16734         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
16735         instead of HAVE_CALLOC_POSIX.
16736         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
16737         HAVE_CALLOC_POSIX.
16738
16739         Use modern idiom for calloc() replacement.
16740         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
16741         AC_FUNC_CALLOC.
16742         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
16743         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
16744         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
16745         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
16746         (gl_REPLACE_CALLOC): New macro.
16747
16748 2010-06-21  Bruno Haible  <bruno@clisp.org>
16749
16750         Fix HAVE_REALLOC_POSIX misnomer.
16751         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
16752         !HAVE_REALLOC_POSIX.
16753         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
16754         HAVE_REALLOC_POSIX.
16755         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
16756         instead of HAVE_REALLOC_POSIX.
16757         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
16758         HAVE_REALLOC_POSIX.
16759
16760         Use modern idiom for realloc() replacement.
16761         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
16762         AC_FUNC_REALLOC.
16763         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
16764         Autoconf's AC_FUNC_REALLOC.
16765         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
16766         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
16767         (gl_REPLACE_REALLOC): New macro.
16768         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
16769
16770 2010-06-21  Bruno Haible  <bruno@clisp.org>
16771
16772         Fix HAVE_MALLOC_POSIX misnomer.
16773         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
16774         !HAVE_MALLOC_POSIX.
16775         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
16776         HAVE_MALLOC_POSIX.
16777         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
16778         instead of HAVE_MALLOC_POSIX.
16779         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
16780         HAVE_MALLOC_POSIX.
16781
16782         Use modern idiom for malloc() replacement.
16783         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
16784         AC_FUNC_MALLOC.
16785         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
16786         Autoconf's AC_FUNC_MALLOC.
16787         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
16788         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
16789         (gl_REPLACE_MALLOC): New macro.
16790         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
16791
16792 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
16793
16794         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
16795         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
16796         This macro takes 3 arguments, not 4.
16797
16798 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
16799
16800         ipv6: fix detection under mingw
16801         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
16802         in6_addr.
16803
16804 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
16805
16806         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
16807         that strtod() works when cross-compiling to a glibc version known
16808         to work.
16809
16810 2010-06-15  Bruno Haible  <bruno@clisp.org>
16811
16812         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
16813
16814 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
16815
16816         select: Correct timeout.
16817         * lib/select.c (rpl_select): Compute wait_timeout correctly.
16818
16819 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
16820
16821         git-version-gen: init shell var to avoid env var influence
16822         * build-aux/git-version-gen (v): Init shell var to empty.
16823
16824 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
16825
16826         priv-set: Don't assume that priv.h exists merely because getppriv does.
16827         See Jan Andersen's bug report about AIX 5L in
16828         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
16829         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
16830         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
16831         * lib/priv-set.h: Likewise.
16832         * tests/test-priv-set.c: Likewise.
16833
16834 2010-06-13  Bruno Haible  <bruno@clisp.org>
16835
16836         relocatable: Make it easier to test whether to install wrappers.
16837         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
16838         RELOCATABLE_VIA_WRAPPER.
16839
16840 2010-06-13  Bruno Haible  <bruno@clisp.org>
16841
16842         gnulib-tool: Display specified modules and dependencies differently.
16843         * gnulib-tool (func_show_module_list): New function.
16844         (func_import, func_create_testdir): Invoke it.
16845         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
16846
16847 2010-06-13  Bruno Haible  <bruno@clisp.org>
16848
16849         gnulib-tool: Align code of func_import and func_create_testdir.
16850         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
16851         specified_modules.
16852
16853 2010-06-12  Jim Meyering  <meyering@redhat.com>
16854
16855         test-inttostr: avoid spurious failure on Solaris 9
16856         * tests/test-inttostr.c (main): Skip the test when snprintf fails
16857         to accept "%ju".  Reported by Bruno Haible.
16858
16859 2010-06-11  Jim Meyering  <meyering@redhat.com>
16860
16861         test-sys_socket: mark variables as used more readably
16862         * tests/test-sys_socket.c (main): Mark otherwise unused variables
16863         as "used" explicitly via (void) statement casts.  This is more
16864         readable than using them in an artificial return expression.
16865         Suggestion from Bruno Haible.
16866
16867 2010-06-11  Bruno Haible  <bruno@clisp.org>
16868
16869         Avoid some more warnings from "gcc -Wwrite-strings".
16870         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
16871         to 'const char *'.
16872         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
16873         * tests/test-c-strcasestr.c (main): Likewise.
16874         * tests/test-mbscasestr1.c (main): Likewise.
16875         * tests/test-mbscasestr2.c (main): Likewise.
16876         * tests/test-memmem.c (main): Likewise.
16877         * tests/test-strstr.c (main): Likewise.
16878         * tests/test-strcasestr.c (main): Likewise.
16879
16880 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16881
16882         init.sh: change framework_failure_ to fail with status 99, not 1
16883         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
16884         automake's parallel-tests rule that this is an unexpected failure,
16885         even if the test is listed in XFAIL_TESTS.
16886
16887 2010-06-11  Jim Meyering  <meyering@redhat.com>
16888
16889         test-inttostr: avoid warnings about 4-6KB literal strings
16890         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
16891         Include "macros.h", for its definition of ASSERT.
16892         (CK): s/assert/ASSERT/
16893         * modules/inttostr-tests (Files): Add macros.h.
16894
16895         init.sh: don't use $ME_ or skip_ before they are defined
16896         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
16897         their first uses.  Also hoist their companions: warn_, fail_,
16898         framework_failure_, $stderr_fileno.  Prompted by a patch from
16899         Stefano Lattarini.
16900
16901         test-sys_socket: avoid set-but-not-used warnings from gcc
16902         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
16903         avoid warning about set-but-not-used variables.
16904
16905         test-xvasprintf: avoid 'const' discard warnings
16906         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
16907         "const" when assigning from literal strings.
16908         (test_xasprintf): Add "void" in function argument list to placate
16909         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
16910
16911         tests: avoid compilation warnings in argmatch and exclude tests...
16912         in packages that define ARGMATCH_DIE_DECL, like coreutils.
16913         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
16914         Since it always exits, declare with the "noreturn" attribute.
16915         * tests/test-argmatch.c: Likewise.
16916
16917         tests: avoid 'const' discard warnings in mbsstr tests
16918         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
16919         * tests/test-mbsstr2.c (main): Likewise.
16920
16921         test-verify: avoid warning from gcc's -Wmissing-declarations
16922         * tests/test-verify.c (function): Declare to be static.
16923
16924         test-inttostr.c: include <string.h> for use of strcmp
16925         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
16926
16927         test-linkat: avoid failed assertion on "other" architectures
16928         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
16929         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
16930         sparc: https://bugs.launchpad.net/bugs/591968
16931
16932 2010-06-11  Jim Meyering  <meyering@redhat.com>
16933
16934         printf.m4: avoid autoconf's "Expanded Before Required" warning
16935         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
16936         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
16937         autoconf warning.
16938
16939 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
16940
16941         Replacement header templates are now named with ".in", not "_".
16942         * doc/gnulib-intro.texi: Correct.
16943
16944 2010-06-10  Jim Meyering  <meyering@redhat.com>
16945
16946         inttostr-tests: depend on snprintf, not snprintf-posix
16947         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
16948         snprintf-posix, to avoid this aclocal failure:
16949           missing file gnulib-tests/vasnprintf.c
16950           configure.ac:45: error: expected source file, required through \
16951           AC_LIBSOURCES, not found
16952
16953 2010-06-10  Jim Meyering  <meyering@redhat.com>
16954
16955         inttostr: add a new function, inttostr, and tests
16956         The namesake function was not available.  The existence of the
16957         template file, inttostr.c makes its addition nontrivial.
16958         * lib/anytostr.c: Rename from inttostr.c.
16959         (anytostr): Rename from inttostr.
16960         * lib/inttostr.c: New file.
16961         * modules/inttostr (Files): Add anytostr.c.
16962         (Makefile.am): Set lib_SOURCES instead of ...
16963         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
16964         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
16965         * lib/offtostr.c: Likewise.
16966         * lib/uinttostr.c: Likewise.
16967         * lib/umaxtostr.c: Likewise.
16968         * modules/inttostr-tests: New file.
16969         * tests/test-inttostr.c: New file.  Test these functions.
16970
16971 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
16972             Bruno Haible  <bruno@clisp.org>
16973
16974         Add "Extending Gnulib" chapter to manual.
16975         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
16976         chapter.
16977         (Extending Gnulib): New chapter.
16978         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
16979         chapter.
16980
16981 2010-06-09  Bruno Haible  <bruno@clisp.org>
16982
16983         Avoid relocwrapper link errors due to gnulib replacement functions.
16984         * lib/areadlink.c: Use the system's malloc, realloc functions.
16985         (areadlink): Set errno to ENOMEM explicitly.
16986         * modules/areadlink (Depends-on): Remove malloc-posix.
16987         Reported by Ben Pfaff <blp@cs.stanford.edu>.
16988
16989 2010-06-09  Bruno Haible  <bruno@clisp.org>
16990
16991         Avoid relocwrapper link errors due to gnulib replacement functions.
16992         * lib/canonicalize-lgpl.c: Use the system's malloc function.
16993         * lib/malloca.c: Likewise.
16994         * lib/relocatable.c: Likewise.
16995         * lib/progreloc.c: Use the system's malloc, sprintf functions.
16996         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
16997         * lib/setenv.c: Use the system's malloc, realloc functions.
16998         * lib/strerror.c: Use the system's sprintf function.
16999         Reported by Ben Pfaff <blp@cs.stanford.edu>.
17000
17001 2010-06-04  Bruno Haible  <bruno@clisp.org>
17002
17003         Prefer documented low-level autoconf macro names.
17004         * m4/lib-link.m4: Use m4_translit instead of translit.
17005         * m4/environ.m4: Likewise.
17006         * m4/mathfunc.m4: Likewise.
17007         * m4/onceonly.m4: Likewise.
17008         * m4/stdint.m4: Likewise.
17009         Suggested by Eric Blake.
17010
17011 2010-06-04  Martin Lambers  <marlam@marlam.de>
17012             Bruno Haible  <bruno@clisp.org>
17013
17014         havelib: Allow library names with '+' characters.
17015         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
17016         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
17017
17018 2010-06-09  Bruno Haible  <bruno@clisp.org>
17019
17020         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
17021         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
17022         realloc failed.
17023
17024 2010-06-08  Peter Simons  <simons@cryp.to>
17025
17026         maint.mk: make the news-check rule more configurable
17027         * top/maint.mk (news-check-lines-spec): New variable.
17028         (news-check): Use "sed -n 1,10p" in place of "head".
17029
17030 2010-06-07  Jim Meyering  <meyering@redhat.com>
17031
17032         do-release-commit-and-tag: fix typo in --help
17033         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
17034
17035         regex: avoid new dead-code warning with gcc-4.6.0
17036         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
17037         if-block containing a while-loop.  It's been unused for at least
17038         5 years.
17039
17040 2010-06-05  Bruno Haible  <bruno@clisp.org>
17041
17042         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
17043         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
17044
17045 2010-06-04  Bruno Haible  <bruno@clisp.org>
17046
17047         Update to GNU gettext 0.18.1.
17048         * modules/gettext (configure.ac): Require gettext infrastructure from
17049         version 0.18.1.
17050
17051 2010-06-03  Bruno Haible  <bruno@clisp.org>
17052
17053         Don't use AC_LIBOBJ with file names in subdirectories.
17054         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
17055         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
17056         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
17057         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
17058         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
17059         gl_LIBUNISTRING_LIBSOURCE.
17060         (Makefile.am): Augment lib_SOURCES here, conditionally.
17061         * NEWS: Drop requirement for Automake option 'subdir-objects'.
17062
17063 2010-06-03  Bruno Haible  <bruno@clisp.org>
17064
17065         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
17066         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
17067         expansion does not end with a newline.
17068         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
17069         unnecessary newline.
17070
17071 2010-06-03  Bruno Haible  <bruno@clisp.org>
17072
17073         Reduce dependencies.
17074         * tests/test-quotearg.h: New file, extracted from
17075         tests/test-quotearg.c.
17076         * tests/test-quotearg-simple.c: New file, extracted from
17077         tests/test-quotearg.c.
17078         * tests/test-quotearg.c: Don't include <ctype.h>.
17079         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
17080         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
17081         use_quote_double_quotes, use_quotearg_colon): Moved to
17082         tests/test-quotearg.h.
17083         (results_g, flag_results, custom_quotes, custom_results): Moved
17084         to tests/test-quotearg-simple.c.
17085         (main): Moved the part that does not depend on gettext to
17086         tests/test-quotearg-simple.c. Return 77 if the test cannot be
17087         performed.
17088         * modules/quotearg-simple: New file.
17089         * modules/quotearg-simple-tests: New file.
17090         * modules/quotearg (Depends-on): Add quotearg-simple.
17091         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
17092         (Files): Add tests/test-quotearg.h.
17093         Reported by Paolo Bonzini.
17094
17095 2010-06-03  Bruno Haible  <bruno@clisp.org>
17096
17097         Reduce dependencies.
17098         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
17099
17100 2010-06-03  Bruno Haible  <bruno@clisp.org>
17101
17102         time: Undefine more broken macros.
17103         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
17104         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
17105         Reported by Eric Blake.
17106
17107 2010-06-03  Bruno Haible  <bruno@clisp.org>
17108
17109         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
17110         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
17111         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
17112         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
17113         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
17114         Reported by Ludovic Courtès <ludo@gnu.org>.
17115
17116 2010-06-02  Eric Blake  <eblake@redhat.com>
17117
17118         time: work with mingw + pthreads-win32 library
17119         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
17120         if timespec is defined only in pthread.h.
17121         * modules/time (Makefile.am): Substitute it.
17122         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
17123         <pthread.h>, when needed.
17124         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
17125         from the library.
17126
17127 2010-05-31  Bruno Haible  <bruno@clisp.org>
17128
17129         Avoid expanding two macros in the wrong order.
17130         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
17131         gl_LIBUNISTRING if it is defined.
17132         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
17133         autoconf >= 2.64.
17134         Reported by Ludovic Courtès <ludo@gnu.org>.
17135
17136 2010-05-27  Jim Meyering  <meyering@redhat.com>
17137
17138         maint.mk: also prohibit "#undef" of always-defined symbols
17139         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
17140         Allow more than one space before the symbol name.
17141         (sc_prohibit_always-defined_macros): Use grep's -E, now that
17142         the regexp uses alternation.
17143
17144 2010-05-26  Eric Blake  <eblake@redhat.com>
17145
17146         maint.mk: avoid echo -e
17147         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
17148         Convert all uses of echo -* to printf.
17149         Reported by Matthias Bolte.
17150
17151 2010-05-25  Bruno Haible  <bruno@clisp.org>
17152
17153         Update to GNU gettext 0.18, part 2.
17154         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
17155         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
17156
17157 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17158
17159         Add missing include in test-pwrite.c.
17160         * tests/test-pwrite.c: Include string.h, for strcmp.
17161
17162 2010-05-24  Bruno Haible  <bruno@clisp.org>
17163
17164         * NEWS: Mention requirement for Automake option 'subdir-objects'.
17165
17166 2010-05-24  Bruno Haible  <bruno@clisp.org>
17167
17168         Don't use conversion with transliteration in u{8,16,32}_strcoll.
17169         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
17170         iconveh_error argument.
17171         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
17172         U_STRCONV_TO_LOCALE.
17173         * lib/unistr/u16-strcoll.c: Likewise.
17174         * lib/unistr/u32-strcoll.c: Likewise.
17175         * modules/unistr/u8-strcoll (Depends-on): Add
17176         uniconv/u8-strconv-to-enc, localcharset. Remove
17177         uniconv/u8-strconv-to-locale.
17178         (configure.ac): Bump version number.
17179         * modules/unistr/u16-strcoll (Depends-on): Add
17180         uniconv/u16-strconv-to-enc, localcharset. Remove
17181         uniconv/u16-strconv-to-locale.
17182         (configure.ac): Bump version number.
17183         * modules/unistr/u32-strcoll (Depends-on): Add
17184         uniconv/u32-strconv-to-enc, localcharset. Remove
17185         uniconv/u32-strconv-to-locale.
17186         (configure.ac): Bump version number.
17187
17188 2010-05-24  Bruno Haible  <bruno@clisp.org>
17189
17190         Avoid a test failure on NetBSD 5.0.
17191         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
17192         an iconv() bug.
17193
17194 2010-05-24  Bruno Haible  <bruno@clisp.org>
17195
17196         Adjust #include directive style.
17197         * modules/regex (Includes): Recommend to write <regex.h>.
17198
17199 2010-05-24  Bruno Haible  <bruno@clisp.org>
17200
17201         regex: Don't require alloca.
17202         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
17203         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
17204         only inside if (0).
17205
17206 2010-05-23  Jim Meyering  <meyering@redhat.com>
17207
17208         test-renameat.c: include <sys/stat.h>
17209         * tests/test-renameat.c: Include <sys/stat.h>; required for
17210         definition of S_IS* macros.
17211
17212 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
17213
17214         Update maintainer documentation for 'relocatable-prog' module.
17215         * doc/relocatable-maint.texi: Update.
17216         Comments by Bruno Haible.
17217
17218 2010-05-23  Bruno Haible  <bruno@clisp.org>
17219
17220         git-merge-changelog: Enable --split-merged-entry by default.
17221         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
17222         (usage): Don't mention this option any more.
17223         Reported by Ralf Wildenhues.
17224
17225 2010-05-23  Jim Meyering  <meyering@redhat.com>
17226
17227         test-pwrite: do not leave behind a test file named "out"
17228         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
17229         The trivial-looking use of init.sh is really necessary.
17230         It ensures that the temporary file, "out", is created in
17231         a temporary directory, and removed upon termination.
17232         * tests/test-pwrite.sh: Re-add file.
17233         * modules/pwrite-tests: Reference it.
17234
17235 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17236
17237         Fix output redirection buglet in init.sh.
17238         * tests/init.sh: Fix redirection of stderr.
17239
17240 2010-05-20  Simon Josefsson  <simon@josefsson.org>
17241
17242         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
17243
17244 2010-05-17  Simon Josefsson  <simon@josefsson.org>
17245
17246         * modules/valgrind-tests: New file.
17247         * m4/valgrind-tests.m4: New file.
17248         * doc/valgrind-tests.texi: New file.
17249         * doc/gnulib.texi (Running self-tests under valgrind): New
17250         section.
17251
17252 2010-05-19  Bruno Haible  <bruno@clisp.org>
17253
17254         Clean up dead code in recent commit.
17255         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
17256         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
17257         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
17258         Suggested by Paolo Bonzini.
17259
17260 2010-05-19  Bruno Haible  <bruno@clisp.org>
17261
17262         Avoid valgrind error reports from libunistring.
17263         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
17264         * modules/libunistring (Files): Add it.
17265         * modules/libunistring-optional (Files): Likewise.
17266
17267 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
17268             Bruno Haible  <bruno@clisp.org>
17269
17270         New module 'libunistring-optional'.
17271         * modules/libunistring-optional: New file.
17272         * m4/libunistring-base.m4: New file.
17273         * m4/libunistring-optional.m4: New file.
17274         * lib/unicase.in.h: Renamed from lib/unicase.h.
17275         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
17276         * lib/unictype.in.h: Renamed from lib/unictype.h.
17277         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
17278         * lib/uniname.in.h: Renamed from lib/uniname.h.
17279         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
17280         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
17281         * lib/unistr.in.h: Renamed from lib/unistr.h.
17282         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
17283         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
17284         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
17285         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
17286         gl_LIBUNISTRING. If the library was found, determine the installed
17287         version and set LIBUNISTRING_VERSION.
17288         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
17289         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
17290         handle a configuration option --with-included-libunistring.
17291         * modules/libunistring (Files): Add m4/absolute-header.m4.
17292         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
17293         Add m4/libunistring-base.m4.
17294         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17295         (Makefile.am): Build unicase.h from unicase.in.h.
17296         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
17297         Add m4/libunistring-base.m4.
17298         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17299         (Makefile.am): Build uniconv.h from uniconv.in.h.
17300         * modules/unictype/base (Files): Use unictype.in.h instead of
17301         unictype.h. Add m4/libunistring-base.m4.
17302         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17303         (Makefile.am): Build unictype.h from unictype.in.h.
17304         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
17305         Add m4/libunistring-base.m4.
17306         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17307         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
17308         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
17309         Add m4/libunistring-base.m4.
17310         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17311         (Makefile.am): Build uniname.h from uniname.in.h.
17312         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
17313         Add m4/libunistring-base.m4.
17314         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17315         (Makefile.am): Build uninorm.h from uninorm.in.h.
17316         * modules/unistdio/base (Files): Use unistdio.in.h instead of
17317         unistdio.h. Add m4/libunistring-base.m4.
17318         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17319         (Makefile.am): Build unistdio.h from unistdio.in.h.
17320         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
17321         Add m4/libunistring-base.m4.
17322         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17323         (Makefile.am): Build unistr.h from unistr.in.h.
17324         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
17325         Add m4/libunistring-base.m4.
17326         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17327         (Makefile.am): Build unitypes.h from unitypes.in.h.
17328         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
17329         Add m4/libunistring-base.m4.
17330         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17331         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
17332         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
17333         uniwidth.h. Add m4/libunistring-base.m4.
17334         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17335         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
17336         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
17337         instead of augmenting lib_SOURCES.
17338         * modules/unicase/empty-suffix-context: Likewise.
17339         * modules/unicase/locale-language: Likewise.
17340         * modules/unicase/tolower: Likewise.
17341         * modules/unicase/totitle: Likewise.
17342         * modules/unicase/toupper: Likewise.
17343         * modules/unicase/u8-casecmp: Likewise.
17344         * modules/unicase/u8-casecoll: Likewise.
17345         * modules/unicase/u8-casefold: Likewise.
17346         * modules/unicase/u8-casexfrm: Likewise.
17347         * modules/unicase/u8-ct-casefold: Likewise.
17348         * modules/unicase/u8-ct-tolower: Likewise.
17349         * modules/unicase/u8-ct-totitle: Likewise.
17350         * modules/unicase/u8-ct-toupper: Likewise.
17351         * modules/unicase/u8-is-cased: Likewise.
17352         * modules/unicase/u8-is-casefolded: Likewise.
17353         * modules/unicase/u8-is-lowercase: Likewise.
17354         * modules/unicase/u8-is-titlecase: Likewise.
17355         * modules/unicase/u8-is-uppercase: Likewise.
17356         * modules/unicase/u8-prefix-context: Likewise.
17357         * modules/unicase/u8-suffix-context: Likewise.
17358         * modules/unicase/u8-tolower: Likewise.
17359         * modules/unicase/u8-totitle: Likewise.
17360         * modules/unicase/u8-toupper: Likewise.
17361         * modules/unicase/u16-casecmp: Likewise.
17362         * modules/unicase/u16-casecoll: Likewise.
17363         * modules/unicase/u16-casefold: Likewise.
17364         * modules/unicase/u16-casexfrm: Likewise.
17365         * modules/unicase/u16-ct-casefold: Likewise.
17366         * modules/unicase/u16-ct-tolower: Likewise.
17367         * modules/unicase/u16-ct-totitle: Likewise.
17368         * modules/unicase/u16-ct-toupper: Likewise.
17369         * modules/unicase/u16-is-cased: Likewise.
17370         * modules/unicase/u16-is-casefolded: Likewise.
17371         * modules/unicase/u16-is-lowercase: Likewise.
17372         * modules/unicase/u16-is-titlecase: Likewise.
17373         * modules/unicase/u16-is-uppercase: Likewise.
17374         * modules/unicase/u16-prefix-context: Likewise.
17375         * modules/unicase/u16-suffix-context: Likewise.
17376         * modules/unicase/u16-tolower: Likewise.
17377         * modules/unicase/u16-totitle: Likewise.
17378         * modules/unicase/u16-toupper: Likewise.
17379         * modules/unicase/u32-casecmp: Likewise.
17380         * modules/unicase/u32-casecoll: Likewise.
17381         * modules/unicase/u32-casefold: Likewise.
17382         * modules/unicase/u32-casexfrm: Likewise.
17383         * modules/unicase/u32-ct-casefold: Likewise.
17384         * modules/unicase/u32-ct-tolower: Likewise.
17385         * modules/unicase/u32-ct-totitle: Likewise.
17386         * modules/unicase/u32-ct-toupper: Likewise.
17387         * modules/unicase/u32-is-cased: Likewise.
17388         * modules/unicase/u32-is-casefolded: Likewise.
17389         * modules/unicase/u32-is-lowercase: Likewise.
17390         * modules/unicase/u32-is-titlecase: Likewise.
17391         * modules/unicase/u32-is-uppercase: Likewise.
17392         * modules/unicase/u32-prefix-context: Likewise.
17393         * modules/unicase/u32-suffix-context: Likewise.
17394         * modules/unicase/u32-tolower: Likewise.
17395         * modules/unicase/u32-totitle: Likewise.
17396         * modules/unicase/u32-toupper: Likewise.
17397         * modules/unicase/ulc-casecmp: Likewise.
17398         * modules/unicase/ulc-casecoll: Likewise.
17399         * modules/unicase/ulc-casexfrm: Likewise.
17400         * modules/uniconv/u8-conv-from-enc: Likewise.
17401         * modules/uniconv/u8-conv-to-enc: Likewise.
17402         * modules/uniconv/u8-strconv-from-enc: Likewise.
17403         * modules/uniconv/u8-strconv-from-locale: Likewise.
17404         * modules/uniconv/u8-strconv-to-enc: Likewise.
17405         * modules/uniconv/u8-strconv-to-locale: Likewise.
17406         * modules/uniconv/u16-conv-from-enc: Likewise.
17407         * modules/uniconv/u16-conv-to-enc: Likewise.
17408         * modules/uniconv/u16-strconv-from-enc: Likewise.
17409         * modules/uniconv/u16-strconv-from-locale: Likewise.
17410         * modules/uniconv/u16-strconv-to-enc: Likewise.
17411         * modules/uniconv/u16-strconv-to-locale: Likewise.
17412         * modules/uniconv/u32-conv-from-enc: Likewise.
17413         * modules/uniconv/u32-conv-to-enc: Likewise.
17414         * modules/uniconv/u32-strconv-from-enc: Likewise.
17415         * modules/uniconv/u32-strconv-from-locale: Likewise.
17416         * modules/uniconv/u32-strconv-to-enc: Likewise.
17417         * modules/uniconv/u32-strconv-to-locale: Likewise.
17418         * modules/unictype/bidicategory-byname: Likewise.
17419         * modules/unictype/bidicategory-name: Likewise.
17420         * modules/unictype/bidicategory-of: Likewise.
17421         * modules/unictype/bidicategory-test: Likewise.
17422         * modules/unictype/block-list: Likewise.
17423         * modules/unictype/block-test: Likewise.
17424         * modules/unictype/category-C: Likewise.
17425         * modules/unictype/category-Cc: Likewise.
17426         * modules/unictype/category-Cf: Likewise.
17427         * modules/unictype/category-Cn: Likewise.
17428         * modules/unictype/category-Co: Likewise.
17429         * modules/unictype/category-Cs: Likewise.
17430         * modules/unictype/category-L: Likewise.
17431         * modules/unictype/category-Ll: Likewise.
17432         * modules/unictype/category-Lm: Likewise.
17433         * modules/unictype/category-Lo: Likewise.
17434         * modules/unictype/category-Lt: Likewise.
17435         * modules/unictype/category-Lu: Likewise.
17436         * modules/unictype/category-M: Likewise.
17437         * modules/unictype/category-Mc: Likewise.
17438         * modules/unictype/category-Me: Likewise.
17439         * modules/unictype/category-Mn: Likewise.
17440         * modules/unictype/category-N: Likewise.
17441         * modules/unictype/category-Nd: Likewise.
17442         * modules/unictype/category-Nl: Likewise.
17443         * modules/unictype/category-No: Likewise.
17444         * modules/unictype/category-P: Likewise.
17445         * modules/unictype/category-Pc: Likewise.
17446         * modules/unictype/category-Pd: Likewise.
17447         * modules/unictype/category-Pe: Likewise.
17448         * modules/unictype/category-Pf: Likewise.
17449         * modules/unictype/category-Pi: Likewise.
17450         * modules/unictype/category-Po: Likewise.
17451         * modules/unictype/category-Ps: Likewise.
17452         * modules/unictype/category-S: Likewise.
17453         * modules/unictype/category-Sc: Likewise.
17454         * modules/unictype/category-Sk: Likewise.
17455         * modules/unictype/category-Sm: Likewise.
17456         * modules/unictype/category-So: Likewise.
17457         * modules/unictype/category-Z: Likewise.
17458         * modules/unictype/category-Zl: Likewise.
17459         * modules/unictype/category-Zp: Likewise.
17460         * modules/unictype/category-Zs: Likewise.
17461         * modules/unictype/category-and: Likewise.
17462         * modules/unictype/category-and-not: Likewise.
17463         * modules/unictype/category-byname: Likewise.
17464         * modules/unictype/category-name: Likewise.
17465         * modules/unictype/category-none: Likewise.
17466         * modules/unictype/category-of: Likewise.
17467         * modules/unictype/category-or: Likewise.
17468         * modules/unictype/category-test: Likewise.
17469         * modules/unictype/combining-class: Likewise.
17470         * modules/unictype/ctype-alnum: Likewise.
17471         * modules/unictype/ctype-alpha: Likewise.
17472         * modules/unictype/ctype-blank: Likewise.
17473         * modules/unictype/ctype-cntrl: Likewise.
17474         * modules/unictype/ctype-digit: Likewise.
17475         * modules/unictype/ctype-graph: Likewise.
17476         * modules/unictype/ctype-lower: Likewise.
17477         * modules/unictype/ctype-print: Likewise.
17478         * modules/unictype/ctype-punct: Likewise.
17479         * modules/unictype/ctype-space: Likewise.
17480         * modules/unictype/ctype-upper: Likewise.
17481         * modules/unictype/ctype-xdigit: Likewise.
17482         * modules/unictype/decimal-digit: Likewise.
17483         * modules/unictype/digit: Likewise.
17484         * modules/unictype/mirror: Likewise.
17485         * modules/unictype/numeric: Likewise.
17486         * modules/unictype/property-alphabetic: Likewise.
17487         * modules/unictype/property-ascii-hex-digit: Likewise.
17488         * modules/unictype/property-bidi-arabic-digit: Likewise.
17489         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
17490         * modules/unictype/property-bidi-block-separator: Likewise.
17491         * modules/unictype/property-bidi-boundary-neutral: Likewise.
17492         * modules/unictype/property-bidi-common-separator: Likewise.
17493         * modules/unictype/property-bidi-control: Likewise.
17494         * modules/unictype/property-bidi-embedding-or-override: Likewise.
17495         * modules/unictype/property-bidi-eur-num-separator: Likewise.
17496         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
17497         * modules/unictype/property-bidi-european-digit: Likewise.
17498         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
17499         * modules/unictype/property-bidi-left-to-right: Likewise.
17500         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
17501         * modules/unictype/property-bidi-other-neutral: Likewise.
17502         * modules/unictype/property-bidi-pdf: Likewise.
17503         * modules/unictype/property-bidi-segment-separator: Likewise.
17504         * modules/unictype/property-bidi-whitespace: Likewise.
17505         * modules/unictype/property-byname: Likewise.
17506         * modules/unictype/property-combining: Likewise.
17507         * modules/unictype/property-composite: Likewise.
17508         * modules/unictype/property-currency-symbol: Likewise.
17509         * modules/unictype/property-dash: Likewise.
17510         * modules/unictype/property-decimal-digit: Likewise.
17511         * modules/unictype/property-default-ignorable-code-point: Likewise.
17512         * modules/unictype/property-deprecated: Likewise.
17513         * modules/unictype/property-diacritic: Likewise.
17514         * modules/unictype/property-extender: Likewise.
17515         * modules/unictype/property-format-control: Likewise.
17516         * modules/unictype/property-grapheme-base: Likewise.
17517         * modules/unictype/property-grapheme-extend: Likewise.
17518         * modules/unictype/property-grapheme-link: Likewise.
17519         * modules/unictype/property-hex-digit: Likewise.
17520         * modules/unictype/property-hyphen: Likewise.
17521         * modules/unictype/property-id-continue: Likewise.
17522         * modules/unictype/property-id-start: Likewise.
17523         * modules/unictype/property-ideographic: Likewise.
17524         * modules/unictype/property-ids-binary-operator: Likewise.
17525         * modules/unictype/property-ids-trinary-operator: Likewise.
17526         * modules/unictype/property-ignorable-control: Likewise.
17527         * modules/unictype/property-iso-control: Likewise.
17528         * modules/unictype/property-join-control: Likewise.
17529         * modules/unictype/property-left-of-pair: Likewise.
17530         * modules/unictype/property-line-separator: Likewise.
17531         * modules/unictype/property-logical-order-exception: Likewise.
17532         * modules/unictype/property-lowercase: Likewise.
17533         * modules/unictype/property-math: Likewise.
17534         * modules/unictype/property-non-break: Likewise.
17535         * modules/unictype/property-not-a-character: Likewise.
17536         * modules/unictype/property-numeric: Likewise.
17537         * modules/unictype/property-other-alphabetic: Likewise.
17538         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
17539         * modules/unictype/property-other-grapheme-extend: Likewise.
17540         * modules/unictype/property-other-id-continue: Likewise.
17541         * modules/unictype/property-other-id-start: Likewise.
17542         * modules/unictype/property-other-lowercase: Likewise.
17543         * modules/unictype/property-other-math: Likewise.
17544         * modules/unictype/property-other-uppercase: Likewise.
17545         * modules/unictype/property-paired-punctuation: Likewise.
17546         * modules/unictype/property-paragraph-separator: Likewise.
17547         * modules/unictype/property-pattern-syntax: Likewise.
17548         * modules/unictype/property-pattern-white-space: Likewise.
17549         * modules/unictype/property-private-use: Likewise.
17550         * modules/unictype/property-punctuation: Likewise.
17551         * modules/unictype/property-quotation-mark: Likewise.
17552         * modules/unictype/property-radical: Likewise.
17553         * modules/unictype/property-sentence-terminal: Likewise.
17554         * modules/unictype/property-soft-dotted: Likewise.
17555         * modules/unictype/property-space: Likewise.
17556         * modules/unictype/property-terminal-punctuation: Likewise.
17557         * modules/unictype/property-test: Likewise.
17558         * modules/unictype/property-titlecase: Likewise.
17559         * modules/unictype/property-unassigned-code-value: Likewise.
17560         * modules/unictype/property-unified-ideograph: Likewise.
17561         * modules/unictype/property-uppercase: Likewise.
17562         * modules/unictype/property-variation-selector: Likewise.
17563         * modules/unictype/property-white-space: Likewise.
17564         * modules/unictype/property-xid-continue: Likewise.
17565         * modules/unictype/property-xid-start: Likewise.
17566         * modules/unictype/property-zero-width: Likewise.
17567         * modules/unictype/scripts: Likewise.
17568         * modules/unictype/syntax-c-ident: Likewise.
17569         * modules/unictype/syntax-c-whitespace: Likewise.
17570         * modules/unictype/syntax-java-ident: Likewise.
17571         * modules/unictype/syntax-java-whitespace: Likewise.
17572         * modules/unilbrk/u8-possible-linebreaks: Likewise.
17573         * modules/unilbrk/u8-width-linebreaks: Likewise.
17574         * modules/unilbrk/u16-possible-linebreaks: Likewise.
17575         * modules/unilbrk/u16-width-linebreaks: Likewise.
17576         * modules/unilbrk/u32-possible-linebreaks: Likewise.
17577         * modules/unilbrk/u32-width-linebreaks: Likewise.
17578         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
17579         * modules/unilbrk/ulc-width-linebreaks: Likewise.
17580         * modules/uniname/uniname: Likewise.
17581         * modules/uninorm/canonical-decomposition: Likewise.
17582         * modules/uninorm/composition: Likewise.
17583         * modules/uninorm/decomposing-form: Likewise.
17584         * modules/uninorm/decomposition: Likewise.
17585         * modules/uninorm/filter: Likewise.
17586         * modules/uninorm/nfc: Likewise.
17587         * modules/uninorm/nfd: Likewise.
17588         * modules/uninorm/nfkc: Likewise.
17589         * modules/uninorm/nfkd: Likewise.
17590         * modules/uninorm/u8-normalize: Likewise.
17591         * modules/uninorm/u8-normcmp: Likewise.
17592         * modules/uninorm/u8-normcoll: Likewise.
17593         * modules/uninorm/u8-normxfrm: Likewise.
17594         * modules/uninorm/u16-normalize: Likewise.
17595         * modules/uninorm/u16-normcmp: Likewise.
17596         * modules/uninorm/u16-normcoll: Likewise.
17597         * modules/uninorm/u16-normxfrm: Likewise.
17598         * modules/uninorm/u32-normalize: Likewise.
17599         * modules/uninorm/u32-normcmp: Likewise.
17600         * modules/uninorm/u32-normcoll: Likewise.
17601         * modules/uninorm/u32-normxfrm: Likewise.
17602         * modules/unistdio/u8-asnprintf: Likewise.
17603         * modules/unistdio/u8-asprintf: Likewise.
17604         * modules/unistdio/u8-snprintf: Likewise.
17605         * modules/unistdio/u8-sprintf: Likewise.
17606         * modules/unistdio/u8-u8-asnprintf: Likewise.
17607         * modules/unistdio/u8-u8-asprintf: Likewise.
17608         * modules/unistdio/u8-u8-snprintf: Likewise.
17609         * modules/unistdio/u8-u8-sprintf: Likewise.
17610         * modules/unistdio/u8-u8-vasnprintf: Likewise.
17611         * modules/unistdio/u8-u8-vasprintf: Likewise.
17612         * modules/unistdio/u8-u8-vsnprintf: Likewise.
17613         * modules/unistdio/u8-u8-vsprintf: Likewise.
17614         * modules/unistdio/u8-vasnprintf: Likewise.
17615         * modules/unistdio/u8-vasprintf: Likewise.
17616         * modules/unistdio/u8-vsnprintf: Likewise.
17617         * modules/unistdio/u8-vsprintf: Likewise.
17618         * modules/unistdio/u16-asnprintf: Likewise.
17619         * modules/unistdio/u16-asprintf: Likewise.
17620         * modules/unistdio/u16-snprintf: Likewise.
17621         * modules/unistdio/u16-sprintf: Likewise.
17622         * modules/unistdio/u16-u16-asnprintf: Likewise.
17623         * modules/unistdio/u16-u16-asprintf: Likewise.
17624         * modules/unistdio/u16-u16-snprintf: Likewise.
17625         * modules/unistdio/u16-u16-sprintf: Likewise.
17626         * modules/unistdio/u16-u16-vasnprintf: Likewise.
17627         * modules/unistdio/u16-u16-vasprintf: Likewise.
17628         * modules/unistdio/u16-u16-vsnprintf: Likewise.
17629         * modules/unistdio/u16-u16-vsprintf: Likewise.
17630         * modules/unistdio/u16-vasnprintf: Likewise.
17631         * modules/unistdio/u16-vasprintf: Likewise.
17632         * modules/unistdio/u16-vsnprintf: Likewise.
17633         * modules/unistdio/u16-vsprintf: Likewise.
17634         * modules/unistdio/u32-asnprintf: Likewise.
17635         * modules/unistdio/u32-asprintf: Likewise.
17636         * modules/unistdio/u32-snprintf: Likewise.
17637         * modules/unistdio/u32-sprintf: Likewise.
17638         * modules/unistdio/u32-u32-asnprintf: Likewise.
17639         * modules/unistdio/u32-u32-asprintf: Likewise.
17640         * modules/unistdio/u32-u32-snprintf: Likewise.
17641         * modules/unistdio/u32-u32-sprintf: Likewise.
17642         * modules/unistdio/u32-u32-vasnprintf: Likewise.
17643         * modules/unistdio/u32-u32-vasprintf: Likewise.
17644         * modules/unistdio/u32-u32-vsnprintf: Likewise.
17645         * modules/unistdio/u32-u32-vsprintf: Likewise.
17646         * modules/unistdio/u32-vasnprintf: Likewise.
17647         * modules/unistdio/u32-vasprintf: Likewise.
17648         * modules/unistdio/u32-vsnprintf: Likewise.
17649         * modules/unistdio/u32-vsprintf: Likewise.
17650         * modules/unistdio/ulc-asnprintf: Likewise.
17651         * modules/unistdio/ulc-asprintf: Likewise.
17652         * modules/unistdio/ulc-fprintf: Likewise.
17653         * modules/unistdio/ulc-snprintf: Likewise.
17654         * modules/unistdio/ulc-sprintf: Likewise.
17655         * modules/unistdio/ulc-vasnprintf: Likewise.
17656         * modules/unistdio/ulc-vasprintf: Likewise.
17657         * modules/unistdio/ulc-vfprintf: Likewise.
17658         * modules/unistdio/ulc-vsnprintf: Likewise.
17659         * modules/unistdio/ulc-vsprintf: Likewise.
17660         * modules/unistr/u8-check: Likewise.
17661         * modules/unistr/u8-chr: Likewise.
17662         * modules/unistr/u8-cmp: Likewise.
17663         * modules/unistr/u8-cmp2: Likewise.
17664         * modules/unistr/u8-cpy: Likewise.
17665         * modules/unistr/u8-cpy-alloc: Likewise.
17666         * modules/unistr/u8-endswith: Likewise.
17667         * modules/unistr/u8-mblen: Likewise.
17668         * modules/unistr/u8-mbsnlen: Likewise.
17669         * modules/unistr/u8-mbtouc: Likewise.
17670         * modules/unistr/u8-mbtouc-unsafe: Likewise.
17671         * modules/unistr/u8-mbtoucr: Likewise.
17672         * modules/unistr/u8-move: Likewise.
17673         * modules/unistr/u8-next: Likewise.
17674         * modules/unistr/u8-prev: Likewise.
17675         * modules/unistr/u8-set: Likewise.
17676         * modules/unistr/u8-startswith: Likewise.
17677         * modules/unistr/u8-stpcpy: Likewise.
17678         * modules/unistr/u8-stpncpy: Likewise.
17679         * modules/unistr/u8-strcat: Likewise.
17680         * modules/unistr/u8-strchr: Likewise.
17681         * modules/unistr/u8-strcmp: Likewise.
17682         * modules/unistr/u8-strcoll: Likewise.
17683         * modules/unistr/u8-strcpy: Likewise.
17684         * modules/unistr/u8-strcspn: Likewise.
17685         * modules/unistr/u8-strdup: Likewise.
17686         * modules/unistr/u8-strlen: Likewise.
17687         * modules/unistr/u8-strmblen: Likewise.
17688         * modules/unistr/u8-strmbtouc: Likewise.
17689         * modules/unistr/u8-strncat: Likewise.
17690         * modules/unistr/u8-strncmp: Likewise.
17691         * modules/unistr/u8-strncpy: Likewise.
17692         * modules/unistr/u8-strnlen: Likewise.
17693         * modules/unistr/u8-strpbrk: Likewise.
17694         * modules/unistr/u8-strrchr: Likewise.
17695         * modules/unistr/u8-strspn: Likewise.
17696         * modules/unistr/u8-strstr: Likewise.
17697         * modules/unistr/u8-strtok: Likewise.
17698         * modules/unistr/u8-to-u16: Likewise.
17699         * modules/unistr/u8-to-u32: Likewise.
17700         * modules/unistr/u8-uctomb: Likewise.
17701         * modules/unistr/u16-check: Likewise.
17702         * modules/unistr/u16-chr: Likewise.
17703         * modules/unistr/u16-cmp: Likewise.
17704         * modules/unistr/u16-cmp2: Likewise.
17705         * modules/unistr/u16-cpy: Likewise.
17706         * modules/unistr/u16-cpy-alloc: Likewise.
17707         * modules/unistr/u16-endswith: Likewise.
17708         * modules/unistr/u16-mblen: Likewise.
17709         * modules/unistr/u16-mbsnlen: Likewise.
17710         * modules/unistr/u16-mbtouc: Likewise.
17711         * modules/unistr/u16-mbtouc-unsafe: Likewise.
17712         * modules/unistr/u16-mbtoucr: Likewise.
17713         * modules/unistr/u16-move: Likewise.
17714         * modules/unistr/u16-next: Likewise.
17715         * modules/unistr/u16-prev: Likewise.
17716         * modules/unistr/u16-set: Likewise.
17717         * modules/unistr/u16-startswith: Likewise.
17718         * modules/unistr/u16-stpcpy: Likewise.
17719         * modules/unistr/u16-stpncpy: Likewise.
17720         * modules/unistr/u16-strcat: Likewise.
17721         * modules/unistr/u16-strchr: Likewise.
17722         * modules/unistr/u16-strcmp: Likewise.
17723         * modules/unistr/u16-strcoll: Likewise.
17724         * modules/unistr/u16-strcpy: Likewise.
17725         * modules/unistr/u16-strcspn: Likewise.
17726         * modules/unistr/u16-strdup: Likewise.
17727         * modules/unistr/u16-strlen: Likewise.
17728         * modules/unistr/u16-strmblen: Likewise.
17729         * modules/unistr/u16-strmbtouc: Likewise.
17730         * modules/unistr/u16-strncat: Likewise.
17731         * modules/unistr/u16-strncmp: Likewise.
17732         * modules/unistr/u16-strncpy: Likewise.
17733         * modules/unistr/u16-strnlen: Likewise.
17734         * modules/unistr/u16-strpbrk: Likewise.
17735         * modules/unistr/u16-strrchr: Likewise.
17736         * modules/unistr/u16-strspn: Likewise.
17737         * modules/unistr/u16-strstr: Likewise.
17738         * modules/unistr/u16-strtok: Likewise.
17739         * modules/unistr/u16-to-u32: Likewise.
17740         * modules/unistr/u16-to-u8: Likewise.
17741         * modules/unistr/u16-uctomb: Likewise.
17742         * modules/unistr/u32-check: Likewise.
17743         * modules/unistr/u32-chr: Likewise.
17744         * modules/unistr/u32-cmp: Likewise.
17745         * modules/unistr/u32-cmp2: Likewise.
17746         * modules/unistr/u32-cpy: Likewise.
17747         * modules/unistr/u32-cpy-alloc: Likewise.
17748         * modules/unistr/u32-endswith: Likewise.
17749         * modules/unistr/u32-mblen: Likewise.
17750         * modules/unistr/u32-mbsnlen: Likewise.
17751         * modules/unistr/u32-mbtouc: Likewise.
17752         * modules/unistr/u32-mbtouc-unsafe: Likewise.
17753         * modules/unistr/u32-mbtoucr: Likewise.
17754         * modules/unistr/u32-move: Likewise.
17755         * modules/unistr/u32-next: Likewise.
17756         * modules/unistr/u32-prev: Likewise.
17757         * modules/unistr/u32-set: Likewise.
17758         * modules/unistr/u32-startswith: Likewise.
17759         * modules/unistr/u32-stpcpy: Likewise.
17760         * modules/unistr/u32-stpncpy: Likewise.
17761         * modules/unistr/u32-strcat: Likewise.
17762         * modules/unistr/u32-strchr: Likewise.
17763         * modules/unistr/u32-strcmp: Likewise.
17764         * modules/unistr/u32-strcoll: Likewise.
17765         * modules/unistr/u32-strcpy: Likewise.
17766         * modules/unistr/u32-strcspn: Likewise.
17767         * modules/unistr/u32-strdup: Likewise.
17768         * modules/unistr/u32-strlen: Likewise.
17769         * modules/unistr/u32-strmblen: Likewise.
17770         * modules/unistr/u32-strmbtouc: Likewise.
17771         * modules/unistr/u32-strncat: Likewise.
17772         * modules/unistr/u32-strncmp: Likewise.
17773         * modules/unistr/u32-strncpy: Likewise.
17774         * modules/unistr/u32-strnlen: Likewise.
17775         * modules/unistr/u32-strpbrk: Likewise.
17776         * modules/unistr/u32-strrchr: Likewise.
17777         * modules/unistr/u32-strspn: Likewise.
17778         * modules/unistr/u32-strstr: Likewise.
17779         * modules/unistr/u32-strtok: Likewise.
17780         * modules/unistr/u32-to-u16: Likewise.
17781         * modules/unistr/u32-to-u8: Likewise.
17782         * modules/unistr/u32-uctomb: Likewise.
17783         * modules/uniwbrk/u8-wordbreaks: Likewise.
17784         * modules/uniwbrk/u16-wordbreaks: Likewise.
17785         * modules/uniwbrk/u32-wordbreaks: Likewise.
17786         * modules/uniwbrk/ulc-wordbreaks: Likewise.
17787         * modules/uniwbrk/wordbreak-property: Likewise.
17788         * modules/uniwidth/u8-strwidth: Likewise.
17789         * modules/uniwidth/u8-width: Likewise.
17790         * modules/uniwidth/u16-strwidth: Likewise.
17791         * modules/uniwidth/u16-width: Likewise.
17792         * modules/uniwidth/u32-strwidth: Likewise.
17793         * modules/uniwidth/u32-width: Likewise.
17794         * modules/uniwidth/width: Likewise.
17795         * modules/unicase/cased-tests (Makefile.am): Link all test programs
17796         with $(LIBUNISTRING).
17797         * modules/unicase/ignorable-tests: Likewise.
17798         * modules/unicase/locale-language-tests: Likewise.
17799         * modules/unicase/tolower-tests: Likewise.
17800         * modules/unicase/totitle-tests: Likewise.
17801         * modules/unicase/toupper-tests: Likewise.
17802         * modules/unicase/u8-casecmp-tests: Likewise.
17803         * modules/unicase/u8-casecoll-tests: Likewise.
17804         * modules/unicase/u8-casefold-tests: Likewise.
17805         * modules/unicase/u8-is-cased-tests: Likewise.
17806         * modules/unicase/u8-is-casefolded-tests: Likewise.
17807         * modules/unicase/u8-is-lowercase-tests: Likewise.
17808         * modules/unicase/u8-is-titlecase-tests: Likewise.
17809         * modules/unicase/u8-is-uppercase-tests: Likewise.
17810         * modules/unicase/u8-tolower-tests: Likewise.
17811         * modules/unicase/u8-totitle-tests: Likewise.
17812         * modules/unicase/u8-toupper-tests: Likewise.
17813         * modules/unicase/u16-casecmp-tests: Likewise.
17814         * modules/unicase/u16-casecoll-tests: Likewise.
17815         * modules/unicase/u16-casefold-tests: Likewise.
17816         * modules/unicase/u16-is-cased-tests: Likewise.
17817         * modules/unicase/u16-is-casefolded-tests: Likewise.
17818         * modules/unicase/u16-is-lowercase-tests: Likewise.
17819         * modules/unicase/u16-is-titlecase-tests: Likewise.
17820         * modules/unicase/u16-is-uppercase-tests: Likewise.
17821         * modules/unicase/u16-tolower-tests: Likewise.
17822         * modules/unicase/u16-totitle-tests: Likewise.
17823         * modules/unicase/u16-toupper-tests: Likewise.
17824         * modules/unicase/u32-casecmp-tests: Likewise.
17825         * modules/unicase/u32-casecoll-tests: Likewise.
17826         * modules/unicase/u32-casefold-tests: Likewise.
17827         * modules/unicase/u32-is-cased-tests: Likewise.
17828         * modules/unicase/u32-is-casefolded-tests: Likewise.
17829         * modules/unicase/u32-is-lowercase-tests: Likewise.
17830         * modules/unicase/u32-is-titlecase-tests: Likewise.
17831         * modules/unicase/u32-is-uppercase-tests: Likewise.
17832         * modules/unicase/u32-tolower-tests: Likewise.
17833         * modules/unicase/u32-totitle-tests: Likewise.
17834         * modules/unicase/u32-toupper-tests: Likewise.
17835         * modules/unicase/ulc-casecmp-tests: Likewise.
17836         * modules/unicase/ulc-casecoll-tests: Likewise.
17837         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
17838         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
17839         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
17840         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
17841         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
17842         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
17843         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
17844         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
17845         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
17846         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
17847         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
17848         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
17849         * modules/unictype/bidicategory-byname-tests: Likewise.
17850         * modules/unictype/bidicategory-name-tests: Likewise.
17851         * modules/unictype/bidicategory-of-tests: Likewise.
17852         * modules/unictype/bidicategory-test-tests: Likewise.
17853         * modules/unictype/block-list-tests: Likewise.
17854         * modules/unictype/block-of-tests: Likewise.
17855         * modules/unictype/block-test-tests: Likewise.
17856         * modules/unictype/category-C-tests: Likewise.
17857         * modules/unictype/category-Cc-tests: Likewise.
17858         * modules/unictype/category-Cf-tests: Likewise.
17859         * modules/unictype/category-Cn-tests: Likewise.
17860         * modules/unictype/category-Co-tests: Likewise.
17861         * modules/unictype/category-Cs-tests: Likewise.
17862         * modules/unictype/category-L-tests: Likewise.
17863         * modules/unictype/category-Ll-tests: Likewise.
17864         * modules/unictype/category-Lm-tests: Likewise.
17865         * modules/unictype/category-Lo-tests: Likewise.
17866         * modules/unictype/category-Lt-tests: Likewise.
17867         * modules/unictype/category-Lu-tests: Likewise.
17868         * modules/unictype/category-M-tests: Likewise.
17869         * modules/unictype/category-Mc-tests: Likewise.
17870         * modules/unictype/category-Me-tests: Likewise.
17871         * modules/unictype/category-Mn-tests: Likewise.
17872         * modules/unictype/category-N-tests: Likewise.
17873         * modules/unictype/category-Nd-tests: Likewise.
17874         * modules/unictype/category-Nl-tests: Likewise.
17875         * modules/unictype/category-No-tests: Likewise.
17876         * modules/unictype/category-P-tests: Likewise.
17877         * modules/unictype/category-Pc-tests: Likewise.
17878         * modules/unictype/category-Pd-tests: Likewise.
17879         * modules/unictype/category-Pe-tests: Likewise.
17880         * modules/unictype/category-Pf-tests: Likewise.
17881         * modules/unictype/category-Pi-tests: Likewise.
17882         * modules/unictype/category-Po-tests: Likewise.
17883         * modules/unictype/category-Ps-tests: Likewise.
17884         * modules/unictype/category-S-tests: Likewise.
17885         * modules/unictype/category-Sc-tests: Likewise.
17886         * modules/unictype/category-Sk-tests: Likewise.
17887         * modules/unictype/category-Sm-tests: Likewise.
17888         * modules/unictype/category-So-tests: Likewise.
17889         * modules/unictype/category-Z-tests: Likewise.
17890         * modules/unictype/category-Zl-tests: Likewise.
17891         * modules/unictype/category-Zp-tests: Likewise.
17892         * modules/unictype/category-Zs-tests: Likewise.
17893         * modules/unictype/category-and-not-tests: Likewise.
17894         * modules/unictype/category-and-tests: Likewise.
17895         * modules/unictype/category-byname-tests: Likewise.
17896         * modules/unictype/category-name-tests: Likewise.
17897         * modules/unictype/category-none-tests: Likewise.
17898         * modules/unictype/category-of-tests: Likewise.
17899         * modules/unictype/category-or-tests: Likewise.
17900         * modules/unictype/category-test-withtable-tests: Likewise.
17901         * modules/unictype/combining-class-tests: Likewise.
17902         * modules/unictype/ctype-alnum-tests: Likewise.
17903         * modules/unictype/ctype-alpha-tests: Likewise.
17904         * modules/unictype/ctype-blank-tests: Likewise.
17905         * modules/unictype/ctype-cntrl-tests: Likewise.
17906         * modules/unictype/ctype-digit-tests: Likewise.
17907         * modules/unictype/ctype-graph-tests: Likewise.
17908         * modules/unictype/ctype-lower-tests: Likewise.
17909         * modules/unictype/ctype-print-tests: Likewise.
17910         * modules/unictype/ctype-punct-tests: Likewise.
17911         * modules/unictype/ctype-space-tests: Likewise.
17912         * modules/unictype/ctype-upper-tests: Likewise.
17913         * modules/unictype/ctype-xdigit-tests: Likewise.
17914         * modules/unictype/decimal-digit-tests: Likewise.
17915         * modules/unictype/digit-tests: Likewise.
17916         * modules/unictype/mirror-tests: Likewise.
17917         * modules/unictype/numeric-tests: Likewise.
17918         * modules/unictype/property-alphabetic-tests: Likewise.
17919         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
17920         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
17921         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
17922         * modules/unictype/property-bidi-block-separator-tests: Likewise.
17923         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
17924         * modules/unictype/property-bidi-common-separator-tests: Likewise.
17925         * modules/unictype/property-bidi-control-tests: Likewise.
17926         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
17927         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
17928         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
17929         * modules/unictype/property-bidi-european-digit-tests: Likewise.
17930         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
17931         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
17932         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
17933         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
17934         * modules/unictype/property-bidi-pdf-tests: Likewise.
17935         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
17936         * modules/unictype/property-bidi-whitespace-tests: Likewise.
17937         * modules/unictype/property-byname-tests: Likewise.
17938         * modules/unictype/property-combining-tests: Likewise.
17939         * modules/unictype/property-composite-tests: Likewise.
17940         * modules/unictype/property-currency-symbol-tests: Likewise.
17941         * modules/unictype/property-dash-tests: Likewise.
17942         * modules/unictype/property-decimal-digit-tests: Likewise.
17943         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
17944         * modules/unictype/property-deprecated-tests: Likewise.
17945         * modules/unictype/property-diacritic-tests: Likewise.
17946         * modules/unictype/property-extender-tests: Likewise.
17947         * modules/unictype/property-format-control-tests: Likewise.
17948         * modules/unictype/property-grapheme-base-tests: Likewise.
17949         * modules/unictype/property-grapheme-extend-tests: Likewise.
17950         * modules/unictype/property-grapheme-link-tests: Likewise.
17951         * modules/unictype/property-hex-digit-tests: Likewise.
17952         * modules/unictype/property-hyphen-tests: Likewise.
17953         * modules/unictype/property-id-continue-tests: Likewise.
17954         * modules/unictype/property-id-start-tests: Likewise.
17955         * modules/unictype/property-ideographic-tests: Likewise.
17956         * modules/unictype/property-ids-binary-operator-tests: Likewise.
17957         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
17958         * modules/unictype/property-ignorable-control-tests: Likewise.
17959         * modules/unictype/property-iso-control-tests: Likewise.
17960         * modules/unictype/property-join-control-tests: Likewise.
17961         * modules/unictype/property-left-of-pair-tests: Likewise.
17962         * modules/unictype/property-line-separator-tests: Likewise.
17963         * modules/unictype/property-logical-order-exception-tests: Likewise.
17964         * modules/unictype/property-lowercase-tests: Likewise.
17965         * modules/unictype/property-math-tests: Likewise.
17966         * modules/unictype/property-non-break-tests: Likewise.
17967         * modules/unictype/property-not-a-character-tests: Likewise.
17968         * modules/unictype/property-numeric-tests: Likewise.
17969         * modules/unictype/property-other-alphabetic-tests: Likewise.
17970         * modules/unictype/property-other-default-ignorable-code-point-tests:
17971         Likewise.
17972         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
17973         * modules/unictype/property-other-id-continue-tests: Likewise.
17974         * modules/unictype/property-other-id-start-tests: Likewise.
17975         * modules/unictype/property-other-lowercase-tests: Likewise.
17976         * modules/unictype/property-other-math-tests: Likewise.
17977         * modules/unictype/property-other-uppercase-tests: Likewise.
17978         * modules/unictype/property-paired-punctuation-tests: Likewise.
17979         * modules/unictype/property-paragraph-separator-tests: Likewise.
17980         * modules/unictype/property-pattern-syntax-tests: Likewise.
17981         * modules/unictype/property-pattern-white-space-tests: Likewise.
17982         * modules/unictype/property-private-use-tests: Likewise.
17983         * modules/unictype/property-punctuation-tests: Likewise.
17984         * modules/unictype/property-quotation-mark-tests: Likewise.
17985         * modules/unictype/property-radical-tests: Likewise.
17986         * modules/unictype/property-sentence-terminal-tests: Likewise.
17987         * modules/unictype/property-soft-dotted-tests: Likewise.
17988         * modules/unictype/property-space-tests: Likewise.
17989         * modules/unictype/property-terminal-punctuation-tests: Likewise.
17990         * modules/unictype/property-test-tests: Likewise.
17991         * modules/unictype/property-titlecase-tests: Likewise.
17992         * modules/unictype/property-unassigned-code-value-tests: Likewise.
17993         * modules/unictype/property-unified-ideograph-tests: Likewise.
17994         * modules/unictype/property-uppercase-tests: Likewise.
17995         * modules/unictype/property-variation-selector-tests: Likewise.
17996         * modules/unictype/property-white-space-tests: Likewise.
17997         * modules/unictype/property-xid-continue-tests: Likewise.
17998         * modules/unictype/property-xid-start-tests: Likewise.
17999         * modules/unictype/property-zero-width-tests: Likewise.
18000         * modules/unictype/scripts-tests: Likewise.
18001         * modules/unictype/syntax-c-ident-tests: Likewise.
18002         * modules/unictype/syntax-c-whitespace-tests: Likewise.
18003         * modules/unictype/syntax-java-ident-tests: Likewise.
18004         * modules/unictype/syntax-java-whitespace-tests: Likewise.
18005         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
18006         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
18007         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
18008         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
18009         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
18010         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
18011         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
18012         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
18013         * modules/uniname/uniname-tests: Likewise.
18014         * modules/uninorm/canonical-decomposition-tests: Likewise.
18015         * modules/uninorm/compat-decomposition-tests: Likewise.
18016         * modules/uninorm/composition-tests: Likewise.
18017         * modules/uninorm/decomposing-form-tests: Likewise.
18018         * modules/uninorm/decomposition-tests: Likewise.
18019         * modules/uninorm/filter-tests: Likewise.
18020         * modules/uninorm/nfc-tests: Likewise.
18021         * modules/uninorm/nfd-tests: Likewise.
18022         * modules/uninorm/nfkc-tests: Likewise.
18023         * modules/uninorm/nfkd-tests: Likewise.
18024         * modules/uninorm/u8-normcmp-tests: Likewise.
18025         * modules/uninorm/u8-normcoll-tests: Likewise.
18026         * modules/uninorm/u16-normcmp-tests: Likewise.
18027         * modules/uninorm/u16-normcoll-tests: Likewise.
18028         * modules/uninorm/u32-normcmp-tests: Likewise.
18029         * modules/uninorm/u32-normcoll-tests: Likewise.
18030         * modules/unistdio/u8-asnprintf-tests: Likewise.
18031         * modules/unistdio/u8-vasnprintf-tests: Likewise.
18032         * modules/unistdio/u8-vasprintf-tests: Likewise.
18033         * modules/unistdio/u8-vsnprintf-tests: Likewise.
18034         * modules/unistdio/u8-vsprintf-tests: Likewise.
18035         * modules/unistdio/u16-asnprintf-tests: Likewise.
18036         * modules/unistdio/u16-vasnprintf-tests: Likewise.
18037         * modules/unistdio/u16-vasprintf-tests: Likewise.
18038         * modules/unistdio/u16-vsnprintf-tests: Likewise.
18039         * modules/unistdio/u16-vsprintf-tests: Likewise.
18040         * modules/unistdio/u32-asnprintf-tests: Likewise.
18041         * modules/unistdio/u32-vasnprintf-tests: Likewise.
18042         * modules/unistdio/u32-vasprintf-tests: Likewise.
18043         * modules/unistdio/u32-vsnprintf-tests: Likewise.
18044         * modules/unistdio/u32-vsprintf-tests: Likewise.
18045         * modules/unistdio/ulc-asnprintf-tests: Likewise.
18046         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
18047         * modules/unistdio/ulc-vasprintf-tests: Likewise.
18048         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
18049         * modules/unistdio/ulc-vsprintf-tests: Likewise.
18050         * modules/unistr/u8-check-tests: Likewise.
18051         * modules/unistr/u8-chr-tests: Likewise.
18052         * modules/unistr/u8-cmp-tests: Likewise.
18053         * modules/unistr/u8-cmp2-tests: Likewise.
18054         * modules/unistr/u8-cpy-alloc-tests: Likewise.
18055         * modules/unistr/u8-cpy-tests: Likewise.
18056         * modules/unistr/u8-mblen-tests: Likewise.
18057         * modules/unistr/u8-mbsnlen-tests: Likewise.
18058         * modules/unistr/u8-mbtouc-tests: Likewise.
18059         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
18060         * modules/unistr/u8-mbtoucr-tests: Likewise.
18061         * modules/unistr/u8-move-tests: Likewise.
18062         * modules/unistr/u8-next-tests: Likewise.
18063         * modules/unistr/u8-prev-tests: Likewise.
18064         * modules/unistr/u8-set-tests: Likewise.
18065         * modules/unistr/u8-stpcpy-tests: Likewise.
18066         * modules/unistr/u8-stpncpy-tests: Likewise.
18067         * modules/unistr/u8-strcat-tests: Likewise.
18068         * modules/unistr/u8-strcmp-tests: Likewise.
18069         * modules/unistr/u8-strcoll-tests: Likewise.
18070         * modules/unistr/u8-strcpy-tests: Likewise.
18071         * modules/unistr/u8-strdup-tests: Likewise.
18072         * modules/unistr/u8-strlen-tests: Likewise.
18073         * modules/unistr/u8-strmblen-tests: Likewise.
18074         * modules/unistr/u8-strmbtouc-tests: Likewise.
18075         * modules/unistr/u8-strncat-tests: Likewise.
18076         * modules/unistr/u8-strncmp-tests: Likewise.
18077         * modules/unistr/u8-strncpy-tests: Likewise.
18078         * modules/unistr/u8-strnlen-tests: Likewise.
18079         * modules/unistr/u8-to-u16-tests: Likewise.
18080         * modules/unistr/u8-to-u32-tests: Likewise.
18081         * modules/unistr/u8-uctomb-tests: Likewise.
18082         * modules/unistr/u16-check-tests: Likewise.
18083         * modules/unistr/u16-chr-tests: Likewise.
18084         * modules/unistr/u16-cmp-tests: Likewise.
18085         * modules/unistr/u16-cmp2-tests: Likewise.
18086         * modules/unistr/u16-cpy-alloc-tests: Likewise.
18087         * modules/unistr/u16-cpy-tests: Likewise.
18088         * modules/unistr/u16-mblen-tests: Likewise.
18089         * modules/unistr/u16-mbsnlen-tests: Likewise.
18090         * modules/unistr/u16-mbtouc-tests: Likewise.
18091         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
18092         * modules/unistr/u16-mbtoucr-tests: Likewise.
18093         * modules/unistr/u16-move-tests: Likewise.
18094         * modules/unistr/u16-next-tests: Likewise.
18095         * modules/unistr/u16-prev-tests: Likewise.
18096         * modules/unistr/u16-set-tests: Likewise.
18097         * modules/unistr/u16-stpcpy-tests: Likewise.
18098         * modules/unistr/u16-stpncpy-tests: Likewise.
18099         * modules/unistr/u16-strcat-tests: Likewise.
18100         * modules/unistr/u16-strcmp-tests: Likewise.
18101         * modules/unistr/u16-strcoll-tests: Likewise.
18102         * modules/unistr/u16-strcpy-tests: Likewise.
18103         * modules/unistr/u16-strdup-tests: Likewise.
18104         * modules/unistr/u16-strlen-tests: Likewise.
18105         * modules/unistr/u16-strmblen-tests: Likewise.
18106         * modules/unistr/u16-strmbtouc-tests: Likewise.
18107         * modules/unistr/u16-strncat-tests: Likewise.
18108         * modules/unistr/u16-strncmp-tests: Likewise.
18109         * modules/unistr/u16-strncpy-tests: Likewise.
18110         * modules/unistr/u16-strnlen-tests: Likewise.
18111         * modules/unistr/u16-to-u32-tests: Likewise.
18112         * modules/unistr/u16-to-u8-tests: Likewise.
18113         * modules/unistr/u16-uctomb-tests: Likewise.
18114         * modules/unistr/u32-check-tests: Likewise.
18115         * modules/unistr/u32-chr-tests: Likewise.
18116         * modules/unistr/u32-cmp-tests: Likewise.
18117         * modules/unistr/u32-cmp2-tests: Likewise.
18118         * modules/unistr/u32-cpy-alloc-tests: Likewise.
18119         * modules/unistr/u32-cpy-tests: Likewise.
18120         * modules/unistr/u32-mblen-tests: Likewise.
18121         * modules/unistr/u32-mbsnlen-tests: Likewise.
18122         * modules/unistr/u32-mbtouc-tests: Likewise.
18123         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
18124         * modules/unistr/u32-mbtoucr-tests: Likewise.
18125         * modules/unistr/u32-move-tests: Likewise.
18126         * modules/unistr/u32-next-tests: Likewise.
18127         * modules/unistr/u32-prev-tests: Likewise.
18128         * modules/unistr/u32-set-tests: Likewise.
18129         * modules/unistr/u32-stpcpy-tests: Likewise.
18130         * modules/unistr/u32-stpncpy-tests: Likewise.
18131         * modules/unistr/u32-strcat-tests: Likewise.
18132         * modules/unistr/u32-strcmp-tests: Likewise.
18133         * modules/unistr/u32-strcoll-tests: Likewise.
18134         * modules/unistr/u32-strcpy-tests: Likewise.
18135         * modules/unistr/u32-strdup-tests: Likewise.
18136         * modules/unistr/u32-strlen-tests: Likewise.
18137         * modules/unistr/u32-strmblen-tests: Likewise.
18138         * modules/unistr/u32-strmbtouc-tests: Likewise.
18139         * modules/unistr/u32-strncat-tests: Likewise.
18140         * modules/unistr/u32-strncmp-tests: Likewise.
18141         * modules/unistr/u32-strncpy-tests: Likewise.
18142         * modules/unistr/u32-strnlen-tests: Likewise.
18143         * modules/unistr/u32-to-u16-tests: Likewise.
18144         * modules/unistr/u32-to-u8-tests: Likewise.
18145         * modules/unistr/u32-uctomb-tests: Likewise.
18146         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
18147         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
18148         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
18149         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
18150         * modules/uniwidth/u8-strwidth-tests: Likewise.
18151         * modules/uniwidth/u8-width-tests: Likewise.
18152         * modules/uniwidth/u16-strwidth-tests: Likewise.
18153         * modules/uniwidth/u16-width-tests: Likewise.
18154         * modules/uniwidth/u32-strwidth-tests: Likewise.
18155         * modules/uniwidth/u32-width-tests: Likewise.
18156         * modules/uniwidth/width-tests: Likewise.
18157
18158 2010-05-18  Richard Jones  <rjones@redhat.com>
18159
18160         doc: users.txt: list hivex
18161         * users.txt: Add hivex.
18162
18163 2010-05-18  Richard Jones  <rjones@redhat.com>
18164
18165         doc: users.txt: list febootstrap
18166         * users.txt: Add febootstrap.
18167
18168 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
18169
18170         bootstrap: fix an error when gnulib is not used as a git submodule
18171         * build-aux/bootstrap (gnulib_path): If its length is zero then
18172         assign "gnulib" to it.
18173         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
18174
18175 2010-05-16  Bruno Haible  <bruno@clisp.org>
18176
18177         Avoid autoconf warnings about AM_ICONV.
18178         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
18179         2.64.
18180
18181 2010-05-16  Bruno Haible  <bruno@clisp.org>
18182
18183         absolute-header: Make the macro usable in more situations.
18184         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
18185         from gl_ABSOLUTE_HEADER.
18186         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
18187
18188 2010-05-16  James Youngman  <jay@gnu.org>
18189
18190         doc: update users.txt
18191         * users.txt: Add CSSC.
18192
18193 2010-05-16  Jim Meyering  <meyering@redhat.com>
18194
18195         init.sh: fix an error in the previous change; add more comments
18196         * tests/init.sh: Compare exit code in loop against 9, not 2.
18197         Patch by Bruno Haible.
18198         Make the two tests more similar by adding an empty "then" clause.
18199         Add comments.
18200
18201         init.sh: avoid unnecessary shell re-exec
18202         * tests/init.sh: Improve the re-exec-required check to first test the
18203         current shell.  If it passes the test, do not search for a shell that
18204         does pass, and do not re-exec.  This test is particularly contorted to
18205         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
18206         of $(...) evokes a syntax error and causes immediate shell exit with
18207         status 2.  Bruno Haible reported that the re-exec made it impossible
18208         to single-step through any init.sh-using script.
18209
18210 2010-05-16  Bruno Haible  <bruno@clisp.org>
18211
18212         Fix collision between gnulib's and libintl's printf replacements.
18213         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
18214         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
18215         (printf): When using GNU C, map the __printf__ function to rpl_printf
18216         via __asm__. When not using GNU C, define rpl_printf instead of
18217         __printf__.
18218         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
18219         commit.
18220         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
18221         commit.
18222         * m4/asm-underscore.m4: New file.
18223         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
18224         * modules/stdio (Files): Add m4/asm-underscore.m4.
18225         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
18226         Reported by Ben Pfaff.
18227
18228 2010-05-16  Bruno Haible  <bruno@clisp.org>
18229
18230         verify: Avoid skipping the test on openSUSE 11.0.
18231         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
18232
18233 2010-05-13  Bruno Haible  <bruno@clisp.org>
18234
18235         Avoid useless warnings from G++.
18236         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
18237         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
18238         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
18239
18240 2010-05-11  Jim Meyering  <meyering@redhat.com>
18241
18242         maint.mk: tweak preceding change
18243         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
18244         regexps tighter by anchoring at EOL, and make the new group "shy"
18245         for slightly decreased overhead.
18246
18247 2010-05-11  Eric Blake  <eblake@redhat.com>
18248
18249         maint.mk: gnulib doesn't guarantee NSIG
18250         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
18251
18252 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
18253
18254         test-pwrite.c: Remove unused variable declaration.
18255         * tests/test-pwrite.c (main): Remove read_buf declaration.
18256
18257         Remove useless test-pwrite.sh file.
18258         * tests/test-pwrite.sh: Delete file.
18259         * modules/pwrite-tests: Remove references.
18260         Reported by Bruno Haible.
18261
18262 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
18263
18264         init.sh: fix a typo
18265         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
18266
18267 2010-05-10  Jim Meyering  <meyering@redhat.com>
18268
18269         maint.mk: avoid using a temporary file in the always-defined-macros check
18270         * top/maint.mk (.re-defmac): Remove rule.
18271         (gl_trap_): Remove definition.
18272         (sc_prohibit_always-defined_macros): Rewrite not to create and
18273         depend on a temporary file.  Instead, depend on GNU grep's ability
18274         to read a list of regular expressions from stdin when given "-f -".
18275
18276 2010-05-09  Bruno Haible  <bruno@clisp.org>
18277
18278         Update to GNU gettext 0.18, part 1.
18279         * m4/gettext.m4: Update to GNU gettext 0.18.
18280         * m4/intl.m4: Likewise.
18281         * m4/po.m4: Likewise.
18282         * modules/gettext (Files): Add m4/fcntl-o.m4.
18283         (configure.ac): Require gettext infrastructure from version 0.18.
18284
18285 2010-05-09  Jim Meyering  <meyering@redhat.com>
18286
18287         init.sh: enable MALLOC_PERTURB_
18288         * tests/init.sh: Enable glibc's malloc-perturbing option.
18289
18290         maint.mk: improve sc_cross_check_PATH_usage_in_tests
18291         With my recent change in init.sh from the two-line form:
18292             -#   : ${srcdir=.}
18293             -#   . "$srcdir/init.sh"; path_prepend_ .
18294             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
18295         I noticed that using the one-line form would cause this test
18296         to fail with a false-positive, or to stop working altogether,
18297         depending on whether help-version changed or all the tests did.
18298         * top/maint.mk (_hv_regex): Remove this definition.
18299         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
18300         (_hv_regex_strong): Use a stronger regex to check for conformance.
18301         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
18302         Give a separate diagnostic for lack of conforming use.
18303
18304         maint.mk: prohibit definition of symbols defined by gnulib
18305         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
18306         definition of symbols defined by gnulib.
18307
18308 2010-05-09  Bruno Haible  <bruno@clisp.org>
18309
18310         acl: Avoid test failure on Cygwin-hosted mingw.
18311         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
18312
18313 2010-05-09  Bruno Haible  <bruno@clisp.org>
18314
18315         error: Use system's fcntl function.
18316         * lib/error.c (fcntl): Undefine.
18317
18318 2010-05-09  Jim Meyering  <meyering@redhat.com>
18319
18320         verify: adjust formatting to be more consistent
18321         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
18322         argument-list '('s, and after one comma.
18323
18324 2010-05-09  Bruno Haible  <bruno@clisp.org>
18325
18326         error: More reliable output on mingw.
18327         * lib/error.c: Include <windows.h>.
18328         (is_open): New function.
18329         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
18330         defined.
18331
18332 2010-05-09  Bruno Haible  <bruno@clisp.org>
18333
18334         vasnprintf: Fix syntax errors in libintl build on mingw.
18335         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
18336         pad_ourselves and prec_ourselves after use.
18337
18338 2010-05-08  Bruno Haible  <bruno@clisp.org>
18339
18340         * lib/config.charset: Update comments for Cygwin 1.7.
18341         * lib/localcharset.c: Likewise.
18342
18343 2010-05-07  Jim Meyering  <meyering@redhat.com>
18344
18345         init.sh: improve comments
18346         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
18347         . "${srcdir=.}/init.sh"; path_prepend_ .
18348         Add a note about path_prepend_ and the alternative of using
18349         TESTS_ENVIRONMENT.
18350
18351 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
18352
18353         exclude: Unescape hashed patterns in wildcard mode.
18354         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
18355         to the hash list.
18356         * tests/test-exclude8.sh: New test case.
18357         * modules/exclude-tests: Add new test.
18358
18359 2010-05-05  Eric Blake  <eblake@redhat.com>
18360
18361         verify: automate tests
18362         * modules/verify-tests: New module.
18363         * tests/test-verify.sh: New file.
18364         * tests/test-verify.c: Guard each negative test with a unique id.
18365         Also avoid warning about unused left hand of comma expressions.
18366
18367 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
18368
18369         Further improvements to verify.h, suggested by Eric Blake.
18370         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
18371         the GL_* versions, to avoid collision with OpenGL.
18372         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
18373         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
18374         than testing merely whether it's defined.
18375
18376         Modify verify.h to pacify gcc -Wredundant_decls.
18377         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
18378         These use the prefix "GL_" since they're likely to be useful elsewhere.
18379         We may need to break them out into a different .h file.
18380         (__COUNTER__): Define to 0 if the compiler doesn't support it.
18381         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
18382         of verify_function__.
18383
18384 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
18385
18386         Tests for module pwrite.
18387         * modules/pwrite-tests: New file.
18388         * tests/test-pwrite.sh: New file.
18389         * tests/test-pwrite.c: New file.
18390
18391         New module pwrite.
18392         * lib/unistd.in.h (pwrite): New declaration.
18393         * lib/pwrite.c: New file, from glibc with modifications.
18394         * m4/pwrite.m4: New file.
18395         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
18396         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
18397         REPLACE_PWRITE.
18398         * modules/pwrite: New file.
18399         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
18400         REPLACE_PWRITE.
18401         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
18402         * doc/posix-functions/pwrite.texi: Mention the new module.
18403
18404 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
18405
18406         pread: Update documentation.
18407         * doc/posix-functions/pread.texi: Mention the 'pread' module.
18408
18409 2010-05-04  Eric Blake  <eblake@redhat.com>
18410
18411         docs: update cygwin progress
18412         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
18413         this bug.
18414         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
18415         Added in cygwin 1.7.2.
18416         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
18417         Likewise.
18418         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
18419         Likewise.
18420         * doc/glibc-functions/dup3.texi (dup3): Likewise.
18421         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
18422         * doc/glibc-functions/accept4.texi (accept4): Likewise.
18423         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
18424         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
18425         Mention nproc module.
18426         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
18427         bug in cygwin 1.7.5 addition.
18428         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
18429         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
18430         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
18431         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
18432         1.7.5.
18433         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
18434         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
18435         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
18436         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
18437         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
18438         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
18439         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
18440         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
18441         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
18442         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
18443         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
18444         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
18445         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
18446         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
18447         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
18448         Likewise.
18449         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
18450         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
18451         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
18452         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
18453         Likewise.
18454         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
18455         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
18456         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
18457         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
18458         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
18459         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
18460         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
18461         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
18462         Likewise.
18463         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
18464         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
18465         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
18466         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
18467         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
18468         Likewise.
18469         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
18470         Likewise.
18471         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
18472         Likewise.
18473         * doc/glibc-functions/xdrrec_endofrecord.texi
18474         (xdrrec_endofrecord): Likewise.
18475         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
18476         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
18477         Likewise.
18478         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
18479         Likewise.
18480
18481 2010-05-04  Jim Meyering  <meyering@redhat.com>
18482
18483         gendocs.sh: make its "-s FILE" option more useful
18484         * build-aux/gendocs.sh: When honoring the -s FILE option, update
18485         $PACKAGE to reflect the probably-different basename of "FILE".
18486
18487 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
18488
18489         bootstrap: don't ignore download_po_files failure
18490         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
18491         failure.
18492
18493 2010-05-03  Jim Meyering  <meyering@redhat.com>
18494
18495         maint.mk: allow to pass options to gendocs.sh
18496         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
18497         (gendocs_options_): New overridable variable.
18498
18499         gnu-web-doc-update: don't ignore configure or build failure
18500         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
18501
18502         announce-gen: backslash-escape '@'s in --help output
18503         * build-aux/announce-gen: Fix syntax errors.
18504
18505         maint.mk, announce-gen: allow project-specific announcement mail headers
18506         * top/maint.mk (translation_project_): Define default.
18507         (announcement_Cc_, announcement_mail_headers_): Likewise.
18508         (announcement): Invoke announce-gen with new --mail-headers option.
18509         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
18510
18511         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
18512         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
18513         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
18514         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
18515         line in the "err2" output file when running "make check" in verbose
18516         mode (i.e., with set -x enabled).
18517
18518 2010-05-03  Bruno Haible  <bruno@clisp.org>
18519
18520         wctob: Fix for weird platforms.
18521         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
18522         argument value.
18523
18524 2010-05-03  Jim Meyering  <meyering@redhat.com>
18525
18526         maint.mk: prohibit unwarranted use of <strings.h>
18527         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
18528         strings.h in a file that does not also use strcasecmp, strncasecmp,
18529         ffs or ffsll.
18530
18531         maint.mk: remove obsolete comments
18532         * top/maint.mk: Remove stale, commented-out rules.
18533
18534 2010-05-02  Bruno Haible  <bruno@clisp.org>
18535
18536         wcwidth: Declare also when it's aliased.
18537         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
18538         macro.
18539
18540 2010-05-02  Bruno Haible  <bruno@clisp.org>
18541
18542         Fix regression from 2010-04-25.
18543         * gnulib-tool (func_modules_transitive_closure): Check the status of
18544         all modules, not only of the tests that are of the form foo-tests where
18545         foo is a module.
18546
18547 2010-05-02  Bruno Haible  <bruno@clisp.org>
18548
18549         wctob: Work around nasty Cygwin 1.7.2 bug.
18550         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
18551         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
18552
18553 2010-05-01  Bruno Haible  <bruno@clisp.org>
18554
18555         fpurge: Sharper test.
18556         * tests/test-fpurge.c (main): Add one more ftell check.
18557         * modules/fpurge-tests (Depends-on): Add ftell.
18558         Suggested by Eric Blake.
18559
18560 2010-05-01  Bruno Haible  <bruno@clisp.org>
18561
18562         ftello: Another test.
18563         * tests/test-ftello3.c: New file.
18564         * modules/ftello-tests (Files): Add it.
18565         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
18566         MOSTLYCLEANFILES.
18567
18568         ftell: Another test.
18569         * tests/test-ftell3.c: New file.
18570         * modules/ftell-tests (Files): Add it.
18571         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
18572         MOSTLYCLEANFILES.
18573
18574 2010-05-01  Bruno Haible  <bruno@clisp.org>
18575
18576         ftell, ftello: Work around Solaris bug.
18577         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
18578         * lib/ftello.c: Include stdio-impl.h.
18579         (ftello): On Solaris, when _IOWRT is set, compute the result without
18580         looking at _IOREAD.
18581         * modules/ftello (Files): Add lib/stdio-impl.h.
18582         * doc/posix-functions/ftell.texi: Mention Solaris bug.
18583         * doc/posix-functions/ftello.texi: Likewise.
18584         Reported by Eric Blake.
18585
18586 2010-05-01  Bruno Haible  <bruno@clisp.org>
18587
18588         freading: Adapt to special meaning of _IOREAD flag on Solaris.
18589         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
18590         the _IOWRT flag is also set.
18591
18592 2010-05-01  Bruno Haible  <bruno@clisp.org>
18593
18594         Fix doc about a HP-UX stdio bug.
18595         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
18596         * doc/posix-functions/ftello.texi: Likewise.
18597
18598 2010-05-01  Bruno Haible  <bruno@clisp.org>
18599
18600         lseek test: Fix failure on Solaris.
18601         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
18602         output.
18603
18604 2010-04-30  Jim Meyering  <meyering@redhat.com>
18605
18606         bootstrap: don't ignore failure to generate po*/Makevars
18607         * build-aux/bootstrap (with_gettext): Don't ignore failure
18608         to create po/Makevars or runtime-po/Makevars.
18609
18610 2010-04-29  Eric Blake  <eblake@redhat.com>
18611
18612         headers: relax license to LGPLv2+
18613         * modules/fcntl-h (License): Relax license.
18614         * modules/getopt-posix (License): Likewise.
18615         * modules/locale (License): Likewise.
18616         * modules/math (License): Likewise.
18617         * modules/pty (License): Likewise.
18618         * modules/sched (License): Likewise.
18619         * modules/search (License): Likewise.
18620         * modules/spawn (License): Likewise.
18621         * modules/stdarg (License): Likewise.
18622         * modules/sysexits (License): Likewise.
18623
18624 2010-04-29  Jim Meyering  <meyering@redhat.com>
18625
18626         inttypes: relax license to LGPLv2+
18627         * modules/inttypes (License): Relax license.
18628
18629 2010-04-29  Simon Josefsson  <simon@josefsson.org>
18630
18631         * top/maint.mk (indent): Run twice to produce idempotent results.
18632
18633 2010-04-28  Bruno Haible  <bruno@clisp.org>
18634
18635         getdate: Generate getdate.c in the source directory.
18636         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
18637         MOSTLYCLEANFILES.
18638         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
18639
18640 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
18641
18642         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
18643         is not declared as a const *; avoid warnings in that case.
18644
18645 2010-04-28  Eric Blake  <eblake@redhat.com>
18646
18647         canonicalize-lgpl: avoid compiler warning
18648         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
18649         declaration' / 'extraneous semicolon' warning with some compilers.
18650         Reported by Andreas Gruenbacher.
18651
18652 2010-04-28  Jim Meyering  <meyering@redhat.com>
18653
18654         init.sh: ensure a more reliable exit status when exiting via trap
18655         * tests/init.sh (setup_): Don't rely on $? in signal handler.
18656         Inspired by patches from Dmitry V. Levin.
18657         Also trap on signal 3 (SIGQUIT).
18658
18659 2010-04-27  Bruno Haible  <bruno@clisp.org>
18660
18661         Update doc about utimes().
18662         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
18663         'utimens' module.
18664         Reported by Andreas Gruenbacher <agruen@suse.de>.
18665
18666 2010-04-27  Eric Blake  <eblake@redhat.com>
18667
18668         full-read, full-write: relax license
18669         * modules/full-read (License): Drop to LGPLv2+.
18670         * modules/full-write (License): Likewise.
18671         * modules/safe-read (License): Likewise.
18672         * modules/safe-write (License): Likewise.
18673
18674         pthread: mention library for linking
18675         * modules/pthread (Link): Mention $(LIB_PTHREAD).
18676
18677 2010-04-27  Jim Meyering  <meyering@redhat.com>
18678
18679         maint.mk: fix a bug introduced in last change
18680         * top/maint.mk (gl_assured_headers_): Now that all names are on
18681         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
18682         is not anchored to end of word, it should be adequate.
18683
18684         maint.mk: avoid side-effect in latest syntax-check
18685         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
18686         to run commands via $(shell...), and hence to incur cost only when
18687         the new rule is actually run.
18688
18689         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
18690         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
18691         and use that to create a regexp used to detect all #if HAVE_..._H uses.
18692         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
18693         (gl_assured_headers_, az_, AZ_): Define.
18694         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
18695
18696 2010-04-26  Jim Meyering  <jim@meyering.net>
18697             Bruno Haible  <bruno@clisp.org>
18698
18699         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
18700         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
18701         Prompted by an exchange with Gilles Espinasse.
18702
18703 2010-04-26  Jim Meyering  <meyering@redhat.com>
18704
18705         git-version-gen: aesthetic tweak
18706         * build-aux/git-version-gen: Use "$nl" rather than a literal,
18707         so that the command remains on a single line.
18708
18709 2010-04-26  Eric Blake  <eblake@redhat.com>
18710
18711         git-version-gen: allow use on EBCDIC hosts
18712         * build-aux/git-version-gen (dirty): Use literal rather than tying
18713         ourselves to ascii.
18714         Reported by Steve Goetze.
18715
18716 2010-04-25  Bruno Haible  <bruno@clisp.org>
18717
18718         netdb: Add support for GNULIB_POSIXCHECK.
18719         * lib/netdb.in.h: Include warn-on-use.h.
18720         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
18721         functions are used when GNULIB_POSIXCHECK is defined and the
18722         getaddrinfo module is not in use.
18723         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
18724         freeaddrinfo, gai_strerror, getnameinfo are declared.
18725         * modules/netdb (Depends-on): Add warn-on-use.
18726         (Makefile.am): Include warn-on-use.h in netdb.h.
18727
18728 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
18729
18730         build: avoid "make check" failure without .git/ directory
18731         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
18732         there is no .git/ directory.
18733
18734 2010-04-25  Bruno Haible  <bruno@clisp.org>
18735
18736         ptsname: Fix misuse of ttyname_r.
18737         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
18738         of errno.
18739
18740 2010-04-25  Bruno Haible  <bruno@clisp.org>
18741
18742         ttyname_r: Make it work on Solaris 10.
18743         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
18744         if the system function has the POSIX declaration. Test whether the
18745         function fails if the buffer is less than 128 bytes large.
18746         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
18747         system's ttyname_r function. Provide a reasonably large buffer.
18748         * modules/ttyname_r (Depends-on): Add extensions.
18749         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
18750
18751 2010-04-25  Bruno Haible  <bruno@clisp.org>
18752
18753         Use the 'extensions' module for some more functions on Solaris.
18754         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
18755         module.
18756         * doc/posix-functions/ctime_r.texi: Likewise.
18757         * doc/posix-functions/getgrgid_r.texi: Likewise.
18758         * doc/posix-functions/getgrnam_r.texi: Likewise.
18759         * doc/posix-functions/getpwnam_r.texi: Likewise.
18760         * doc/posix-functions/getpwuid_r.texi: Likewise.
18761         * doc/posix-functions/readdir_r.texi: Likewise.
18762         * doc/posix-functions/sigwait.texi: Likewise.
18763         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
18764         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
18765
18766 2010-04-25  Bruno Haible  <bruno@clisp.org>
18767
18768         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
18769         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
18770         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
18771         * lib/ttyname_r.c: Include <limits.h>.
18772         (ttyname_r): Define using the system's ttyname_r function, if it exists
18773         and not on Solaris.
18774         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
18775         set.
18776         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
18777         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
18778         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
18779         Reported by Simon Josefsson.
18780
18781 2010-04-25  Bruno Haible  <bruno@clisp.org>
18782
18783         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
18784         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
18785         * doc/posix-functions/ctime_r.texi: Likewise.
18786         * doc/posix-functions/getgrgid_r.texi: Likewise.
18787         * doc/posix-functions/getgrnam_r.texi: Likewise.
18788         * doc/posix-functions/getlogin_r.texi: Likewise.
18789         * doc/posix-functions/getpwnam_r.texi: Likewise.
18790         * doc/posix-functions/getpwuid_r.texi: Likewise.
18791         * doc/posix-functions/readdir_r.texi: Likewise.
18792         * doc/posix-functions/sigwait.texi: Likewise.
18793         * doc/posix-functions/ttyname_r.texi: Likewise.
18794         Reported by Simon Josefsson.
18795
18796 2010-04-25  Bruno Haible  <bruno@clisp.org>
18797
18798         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
18799         * gnulib-tool (func_usage): Document that --with-*-tests options apply
18800         also to --create-testdir.
18801         (func_acceptable): Don't consider the status of *-tests modules here.
18802         (func_modules_transitive_closure): Consider it here, before including a
18803         test module.
18804         (func_import, func_create_testdir): Set inc_all_direct_tests,
18805         inc_all_indirect_tests.
18806         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
18807         --create-testdir and --create-megatestdir.
18808
18809 2010-04-25  Bruno Haible  <bruno@clisp.org>
18810
18811         gnulib-tool: Add --without-*-tests options.
18812         * gnulib-tool (func_usage): Document the --without-*-tests options.
18813         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
18814         excl_unportable_tests): New variables.
18815         Fail if they are specified with --import or --update.
18816         (func_acceptable): Respect the excl_*_tests variables.
18817         (func_import): Set the excl_*_tests variables to empty.
18818
18819 2010-04-25  Simon Josefsson  <simon@josefsson.org>
18820             Bruno Haible  <bruno@clisp.org>
18821
18822         Work around a MacOS X 10.4 bug with openpty.
18823         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
18824         * tests/test-openpty.c (main): Close the master side explicitly.
18825
18826 2010-04-25  Bruno Haible  <bruno@clisp.org>
18827
18828         strnlen: Fix a C++ test error on MacOS X and Solaris.
18829         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
18830         the function is not declared.
18831         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
18832         Simon Josefsson.
18833
18834 2010-04-24  Bruno Haible  <bruno@clisp.org>
18835
18836         Avoid a gcc warning.
18837         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
18838         of correct type for %08lx directive.
18839         Reported by Eric Blake.
18840
18841 2010-04-24  Bruno Haible  <bruno@clisp.org>
18842
18843         vasnprintf: Correct errno value in case of out-of-memory.
18844         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
18845         or sprintf. Use the errno value from SNPRINTF or sprintf.
18846         Reported by Ian Beckwith <ianb@erislabs.net>.
18847
18848 2010-04-24  Bruno Haible  <bruno@clisp.org>
18849
18850         ansi-c++-opt: Find correct compiler when cross-compiling.
18851         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
18852         AC_CHECK_PROGS.
18853         Reported by Simon Josefsson.
18854
18855 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
18856
18857         vc-list-files: Add support for subversion
18858         * build-aux/vc-list-files: Use "svn list" to generate the list of
18859         files controlled by subversion.
18860
18861 2010-04-23  Jim Meyering  <meyering@redhat.com>
18862
18863         vc-list-files tests: convert to use init.sh
18864         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
18865         path_prepend_.
18866         Use Exit, not exit.
18867         Use skip_ rather than open coding it.
18868         Remove trap set-up and compare definitions.
18869         * tests/test-vc-list-files-git.sh: Likewise.
18870         * modules/vc-list-files-tests (Files): Add tests/init.sh.
18871
18872 2010-04-22  Simon Josefsson  <simon@josefsson.org>
18873
18874         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
18875         backup files.
18876
18877 2010-04-21  Simon Josefsson  <simon@josefsson.org>
18878
18879         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
18880
18881 2010-04-20  Eric Blake  <eblake@redhat.com>
18882
18883         tests: be robust to ignored SIGPIPE
18884         * tests/test-select-in.sh: Consume all output.
18885         * tests/test-lseek.sh: Check correct exit status, while avoiding
18886         EPIPE.
18887
18888 2010-04-20  Simon Josefsson  <simon@josefsson.org>
18889             Bruno Haible  <bruno@clisp.org>
18890
18891         visibility: Don't use -fvisibility if it leads to a warning.
18892         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
18893         yes, don't pretend that visibility works if it leads to a warning.
18894         Reported by Mike Gran <spk121@yahoo.com>.
18895
18896 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
18897
18898         * build-aux/bootstrap: Use "git -h" for testing for supported options
18899         instead of "git --help".  The short-form option only shows a summary,
18900         and doesn't layout the full man page.  Grep for the full option name
18901         in the summary, too.
18902
18903 2010-04-19  Bruno Haible  <bruno@clisp.org>
18904
18905         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
18906         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
18907         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
18908         mention of RELOCATABLE_STRIP.
18909         Reported by Sylvain Beucler <beuc@beuc.net>.
18910
18911 2010-04-19  Bruno Haible  <bruno@clisp.org>
18912
18913         * lib/diffseq.h: Fix typo in comment.
18914         Reported by Eric Blake.
18915
18916 2010-04-19  Bruno Haible  <bruno@clisp.org>
18917
18918         ioctl: Move autoconf macro to a .m4 file.
18919         * m4/ioctl.m4: New file, extracted from modules/ioctl.
18920         * modules/ioctl (Files): Add it.
18921         (configure.ac): Simply invoke gl_FUNC_IOCTL.
18922         Reported by Ian Beckwith <ianb@erislabs.net>.
18923
18924 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
18925             Bruno Haible  <bruno@clisp.org>
18926
18927         diffseq: Accommodate use-case with abstract arrays.
18928         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
18929         is not defined.
18930         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
18931         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
18932
18933 2010-04-18  Bruno Haible  <bruno@clisp.org>
18934
18935         * doc/posix-headers/stdbool.texi: More precise wording.
18936
18937 2010-04-17  Jim Meyering  <meyering@redhat.com>
18938
18939         maint.mk: use gnu-style indentation in an embedded perl script
18940         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
18941         Rename variable: s/two/last_two_bytes/
18942
18943 2010-04-16  Eric Blake  <eblake@redhat.com>
18944
18945         test-stdbool: skip test that fails with Solaris CC
18946         * tests/test-stdbool.c (f): Skip test that causes compilation
18947         error under buggy C++ compiler.
18948         * lib/stdbool.in.h: Document the limitation.
18949         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
18950
18951         setenv: allow compilation with C++
18952         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
18953         register keyword.
18954
18955         stdint: allow test to pass with C++
18956         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
18957
18958         getopt: allow compilation with C++
18959         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
18960         struct.
18961         * lib/getopt.c (_getopt_internal_r): Use correct type.
18962         Reported by Dagobert Michelson, via Joel E. Denny.
18963
18964 2010-04-16  Bruno Haible  <bruno@clisp.org>
18965
18966         Override netdb.h always.
18967         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
18968         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
18969         Reported by Ludovic Courtès <ludo@gnu.org>.
18970
18971 2010-04-15  Bruno Haible  <bruno@clisp.org>
18972
18973         openpty: Fix mistake from 2010-03-21.
18974         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
18975         Reported by Simon Josefsson.
18976
18977 2010-04-15  Eric Blake  <eblake@redhat.com>
18978
18979         test-forkpty: fix expected signature
18980         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
18981         Reported by Simon Josefsson.
18982
18983 2010-04-15  Jim Meyering  <meyering@redhat.com>
18984
18985         maint.mk: texinfo_suffix_re_: correct the default regexp
18986         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
18987
18988         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
18989         make it configurable via texinfo_suffix_re_.
18990
18991 2010-04-14  Eric Blake  <eblake@redhat.com>
18992
18993         strtok_r: relax license to LGPLv2+
18994         * modules/strtok_r (License): Relax license.
18995         Reported by Matthias Bolte.
18996
18997 2010-04-14  Simon Josefsson  <simon@josefsson.org>
18998
18999         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
19000         version 1.4.4 by default instead of requiring the libgcrypt
19001         version used during build.  This makes it possible to use the
19002         application with older but still binary compatible libgcrypt
19003         versions.
19004
19005 2010-04-13  Eric Blake  <eblake@redhat.com>
19006
19007         getopt-gnu: match recent glibc fixes and posix ruling
19008         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
19009         '+' handling, when requesting extensions.
19010         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
19011         'W;' handling.
19012         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
19013         * doc/posix-functions/getopt.texi (getopt): Document this.
19014         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
19015         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
19016         Likewise.
19017
19018         getopt: merge bug fixes from glibc
19019         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
19020         diagnostics.  Honor '+:' correctly.  Reject ';'.
19021
19022         getopt-posix: detect MacOS bug
19023         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
19024         optind when missing a required argument.
19025         * doc/posix-functions/getopt.texi (getopt): Document the bug.
19026         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
19027         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
19028         Likewise.
19029
19030         getopt-posix: avoid spurious failure on Solaris
19031         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
19032         an indicator that setting optind=1 is sufficient for reset.
19033
19034         getopt-posix: avoid spurious failure on FreeBSD
19035         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
19036         in POSIX mode, since the m4 test uses it.
19037
19038         gnulib-tool: silence warning on BSD sh
19039         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
19040
19041 2010-04-13  Jim Meyering  <meyering@redhat.com>
19042
19043         doc: users.txt: GNU patch now uses gnulib
19044         * users.txt: Add patch.
19045
19046 2010-04-12  Jim Meyering  <meyering@redhat.com>
19047
19048         maint.mk: generate more concise timing data for syntax-check rules
19049         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
19050         " done" from each line that reports a syntax-check test duration.
19051
19052 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
19053
19054         git-version-gen: use "git update-index..." rather than "git status"
19055         * build-aux/git-version-gen: Use git update-index --refresh, not
19056         "git status".  With some versions of git, "git status" would fail
19057         to update the index and result in an unwarranted "-dirty" suffix.
19058
19059 2010-04-11  Jim Meyering  <meyering@redhat.com>
19060
19061         openat: correct formatting (no semantic change)
19062         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
19063         Suggested by Bruno Haible.
19064
19065 2010-04-11  Bruno Haible  <bruno@clisp.org>
19066
19067         Stricter declaration checking in testdirs.
19068         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
19069         If for_tests is true, augment AM_CPPFLAGS to define
19070         GNULIB_STRICT_CHECKING.
19071         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
19072         GNULIB_STRICT_CHECKING is defined, verify that the function is
19073         declared.
19074
19075 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
19076             Bruno Haible  <bruno@clisp.org>
19077
19078         libunistring: Improve configure output.
19079         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
19080         Don't say "consider installing GNU libunistring" when checking again
19081         with libiconv.
19082
19083 2010-04-11  Bruno Haible  <bruno@clisp.org>
19084
19085         libunistring: Correct value of $LTLIBUNISTRING.
19086         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
19087         correct the value of $LTLIBUNISTRING.
19088
19089 2010-04-11  Bruno Haible  <bruno@clisp.org>
19090
19091         havelib: Add static libraries to LIBS in the right order.
19092         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
19093         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
19094
19095 2010-04-11  Bruno Haible  <bruno@clisp.org>
19096
19097         libunistring: Detect libunistring also when it depends on libiconv.
19098         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
19099         the second AC_LIB_HAVE_LINKFLAGS invocation.
19100
19101 2010-04-11  James Youngman  <jay@gnu.org>
19102
19103         close-stream: declare local scalars to be "const"
19104         * lib/close-stream.c (close_stream): Make boolean variables const
19105         to document the fact that we set but do not change them.
19106
19107 2010-04-11  Bruno Haible  <bruno@clisp.org>
19108
19109         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
19110
19111 2010-04-11  Jim Meyering  <meyering@redhat.com>
19112
19113         maint.mk: don't include dist-check.mk
19114         * top/maint.mk: Remove bogus include directive.
19115
19116         maint.mk: improve empty-line-at-EOF check
19117         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
19118         solution, rather than tail+Perl-based one.  The latter would read
19119         a few kilobytes from the end of each file, and did not handle empty
19120         files properly.
19121
19122         maint.mk: print the elapsed time for each syntax-check rule
19123         * top/maint.mk (sc_m_rules_): Save start time in a file.
19124         (sc_z_rules_): New rules: remove temp file and print elapsed time.
19125         (local-check): Interpose the .z rules
19126
19127 2010-04-11  Jim Meyering  <meyering@redhat.com>
19128
19129         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
19130         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
19131         empty file with one that ends in an empty line.
19132
19133 2010-04-10  Bruno Haible  <bruno@clisp.org>
19134
19135         mkdir: Make it work on mingw64.
19136         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
19137         * lib/mkdir.c: Update comment.
19138         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
19139
19140 2010-04-10  Bruno Haible  <bruno@clisp.org>
19141
19142         Don't override improved macro from newer autoconf.
19143         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
19144         autoconf >= 2.62.
19145         Reported by Joel E. Denny <jdenny@clemson.edu>.
19146
19147 2010-04-10  Jim Meyering  <meyering@redhat.com>
19148
19149         maint.mk: new syntax-check rule: prohibit empty lines at end of file
19150         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
19151
19152         maint.mk: correct a diagnostic
19153         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
19154         in diagnostic; now use $prohibit.
19155
19156 2010-04-10  Bruno Haible  <address@hidden>
19157
19158         fchownat: Fix a C++ test error on Solaris 8.
19159         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
19160         the function does not exist.
19161
19162 2010-04-10  Bruno Haible  <bruno@clisp.org>
19163
19164         vasnprintf: Add more tests.
19165         * tests/test-vasnprintf-posix.c: Include <errno.h>.
19166         (test_function): Test converting an invalid wide string.
19167
19168         vasnprintf: Correct handling of unconvertible wide string arguments.
19169         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
19170         VASNPRINTF.
19171         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
19172         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
19173         smaller than the expected maximum need for the directive. Set errno to
19174         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
19175         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
19176         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
19177         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
19178         * modules/vasnprintf (Files): Add m4/printf.m4.
19179         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
19180
19181 2010-04-10  Bruno Haible  <bruno@clisp.org>
19182
19183         vasnprintf: Fix crash in %ls directive.
19184         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
19185         string is passed as argument to %ls, with no precision and no width.
19186         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
19187
19188 2010-04-10  Bruno Haible  <bruno@clisp.org>
19189
19190         vasnprintf: Fix multiple test failures on mingw.
19191         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
19192         _snprintf, or snwprintf, not _snwprintf.
19193
19194 2010-04-10  Bruno Haible  <bruno@clisp.org>
19195
19196         write: Fix a C++ test error on mingw.
19197         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
19198
19199 2010-04-10  Bruno Haible  <bruno@clisp.org>
19200
19201         vasnprintf test: Reduce code duplication.
19202         * tests/test-vasnprintf.c (test_function): New function, extracted from
19203         test_vasnprintf.
19204         (test_vasnprintf, test_asnprintf): Invoke it.
19205
19206 2010-04-10  Bruno Haible  <bruno@clisp.org>
19207
19208         strnlen: Fix warning in C++ mode on MacOS X.
19209         * lib/string.in.h (strnlen): Use the modern idiom.
19210         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
19211         defining strnlen as a macro already in <config.h>.
19212         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
19213         REPLACE_STRNLEN.
19214         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
19215         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
19216
19217 2010-04-08  James Youngman  <jay@gnu.org>
19218
19219         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
19220         the example.
19221
19222 2010-04-09  Jim Meyering  <meyering@redhat.com>
19223
19224         maint.mk: print better diagnostic when there is no $(_hv_file)
19225         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
19226         announce that when $(_hv_file) (aka help-version) does not exist.
19227
19228         init.sh: run tr in the "C" locale to avoid multibyte interpretation
19229         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
19230         not try to interpret its random input bytes.  Jarno Rajahalme reported
19231         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
19232         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
19233         (mktempd_): Likewise, just in case.
19234
19235         ftruncate: add two years to projected module removal date: 2012
19236         * m4/ftruncate.m4: Adjust comments.
19237
19238         ftruncate: mark module as obsolete; even MinGW provides it, now
19239         * modules/ftruncate (Status): Obsolete.
19240         (Notice): Say that.
19241         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
19242         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
19243
19244 2010-04-08  Bruno Haible  <bruno@clisp.org>
19245
19246         Fix side effects from tests-related modules.
19247         * modules/dprintf-posix (Comment): New section.
19248         * modules/fprintf-posix (Comment): Likewise.
19249         * modules/obstack-printf-posix (Comment): Likewise.
19250         * modules/printf-posix (Comment): Likewise.
19251         * modules/snprintf-posix (Comment): Likewise.
19252         * modules/sprintf-posix (Comment): Likewise.
19253         * modules/vasnprintf-posix (Comment): Likewise.
19254         * modules/vasprintf-posix (Comment): Likewise.
19255         * modules/vdprintf-posix (Comment): Likewise.
19256         * modules/vfprintf-posix (Comment): Likewise.
19257         * modules/vprintf-posix (Comment): Likewise.
19258         * modules/vsnprintf-posix (Comment): Likewise.
19259         * modules/vsprintf-posix (Comment): Likewise.
19260         * modules/xprintf-posix (Comment): Likewise.
19261         * modules/xvasprintf-posix (Comment): Likewise.
19262         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
19263         * modules/floorf-tests (Depends-on): Likewise.
19264         * modules/round-tests (Depends-on): Likewise.
19265         * modules/roundf-tests (Depends-on): Likewise.
19266         * modules/trunc-tests (Depends-on): Likewise.
19267         * modules/truncf-tests (Depends-on): Likewise.
19268         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
19269         'fprintf-posix' module is not present.
19270         * tests/test-floorf2.c (check): Likewise.
19271         * tests/test-trunc2.c (check): Likewise.
19272         * tests/test-truncf2.c (check): Likewise.
19273         * tests/test-round2.c (equal): Likewise.
19274         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
19275
19276 2010-04-07  Karl Berry  <karl@gnu.org>
19277
19278         * config/srclist.txt,
19279         * config/srclistvars.sh,
19280         * config/srclist-update: doc fixes.
19281
19282 2010-04-07  Jim Meyering  <meyering@redhat.com>
19283
19284         maint.mk: add a PATH crosschecking syntax-check rule
19285         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
19286         Useful if you use a test like the one in help-version (coreutils,
19287         diffutils, grep, gzip) that ensures $(VERSION) matches what is
19288         printed by prog --version.
19289
19290 2010-04-06  Bruno Haible  <bruno@clisp.org>
19291
19292         Fix link error on mingw.
19293         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
19294         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
19295
19296 2010-04-06  Bruno Haible  <bruno@clisp.org>
19297
19298         Assume rmdir exists.
19299         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
19300
19301 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
19302
19303         doc: update users.txt
19304         * users.txt: Add gcal.
19305
19306 2010-04-06  Jim Meyering  <meyering@redhat.com>
19307
19308         init.sh: simply unset TMPDIR rather than risking env -i
19309         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
19310         although it probably works fine on all Unix-based systems, some
19311         systems (Cygwin?) cannot tolerate a totally cleared environment.
19312         Suggestion from Eric Blake.
19313
19314 2010-04-06  Jim Meyering  <meyering@redhat.com>
19315
19316         init.sh: portability fix: use env's POSIX-specified -i option not -u
19317         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
19318         than unportable env -u.  Solaris 5.11's env lacks support for -u.
19319
19320 2010-04-05  Bruno Haible  <bruno@clisp.org>
19321
19322         btowc: Work around Cygwin 1.7.2 bug.
19323         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
19324         does not map NUL to 0.
19325         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
19326
19327 2010-04-05  Bruno Haible  <bruno@clisp.org>
19328
19329         Make the multithread modules work on Cygwin 1.7.2.
19330         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
19331         imported symbols can be declared weak, so that it returns "no" on
19332         Cygwin 1.7.2.
19333
19334 2010-04-05  Bruno Haible  <bruno@clisp.org>
19335
19336         Use the module 'strncat'.
19337         * modules/unistr/u8-strncat (Depends-on): Add strncat.
19338
19339         Tests for module 'strncat'.
19340         * modules/strncat-tests: New file.
19341         * tests/test-strncat.c: New file.
19342
19343         New module 'strncat'.
19344         * lib/string.in.h (strncat): New declaration.
19345         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
19346         * m4/strncat.m4: New file, based on m4/memchr.m4.
19347         * modules/strncat: New file.
19348         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
19349         is declared.
19350         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
19351         REPLACE_STRNCAT.
19352         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
19353         REPLACE_STRNCAT.
19354         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
19355         module.
19356         * tests/test-string-c++.cc: Check signature of strncat.
19357
19358 2010-04-05  Jim Meyering  <meyering@redhat.com>
19359
19360         xstrtoumax-tests: convert to use init.sh
19361         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
19362         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
19363         Use Exit, not exit.
19364         Remove uses of $EXEEXT and "./" to run a program in the current dir.
19365
19366         xstrtoimax-tests: convert to use init.sh
19367         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
19368         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
19369         Use Exit, not exit.
19370         Remove uses of $EXEEXT and "./" to run a program in the current dir.
19371
19372 2010-04-05  Bruno Haible  <bruno@clisp.org>
19373
19374         sys_socket: Avoid #define replacements in C++ mode.
19375         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
19376         warning to the function if possible, rather than #defining the symbol
19377         to a dysfunctional alias.
19378
19379 2010-04-05  Bruno Haible  <bruno@clisp.org>
19380
19381         fseeko: Fix C++ test error on mingw.
19382         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
19383         gl_FUNC_FSEEKO.
19384         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
19385         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
19386         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
19387         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
19388
19389 2010-04-05  Bruno Haible  <bruno@clisp.org>
19390
19391         duplocale: Improve test output.
19392         * tests/test-duplocale.c (main): Print reason for skipped test.
19393
19394 2010-04-05  Bruno Haible  <bruno@clisp.org>
19395
19396         Assume rmdir exists.
19397         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
19398         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
19399
19400 2010-04-05  Bruno Haible  <bruno@clisp.org>
19401
19402         Fix link error on Solaris 8 with cc.
19403         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
19404
19405 2010-04-05  Bruno Haible  <bruno@clisp.org>
19406
19407         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
19408         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
19409
19410 2010-04-05  Bruno Haible  <bruno@clisp.org>
19411
19412         vasprintf: Update documentation.
19413         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
19414
19415 2010-04-05  Bruno Haible  <bruno@clisp.org>
19416
19417         ptsname: Improve test.
19418         * tests/test-ptsname.c (main): Also try the various master names of BSD
19419         systems.
19420
19421 2010-04-05  Bruno Haible  <bruno@clisp.org>
19422
19423         memchr: Avoid a possible C++ test error.
19424         * lib/string.in.h (memchr): Provide declaration if function is missing.
19425         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
19426         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
19427         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
19428         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
19429
19430 2010-04-05  Bruno Haible  <bruno@clisp.org>
19431
19432         strtok_r: Improve idiom.
19433         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
19434         AC_LIBOBJ is used.
19435
19436 2010-04-05  Bruno Haible  <bruno@clisp.org>
19437
19438         strdup: Improve idiom.
19439         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
19440         AC_LIBOBJ is used.
19441         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
19442         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
19443         when AC_LIBOBJ is used.
19444
19445 2010-04-05  Bruno Haible  <bruno@clisp.org>
19446
19447         mbsinit, mbrtowc, wcrtomb: Improve idioms.
19448         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
19449         don't set REPLACE_MBSINIT to 1.
19450         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
19451         don't set REPLACE_MBRTOWC to 1.
19452         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
19453         exist, don't set REPLACE_MBSRTOWCS to 1.
19454         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
19455         exist, don't set REPLACE_MBSNRTOWCS to 1.
19456         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
19457         don't set REPLACE_WCRTOMB to 1.
19458         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
19459         exist, don't set REPLACE_WCSRTOMBS to 1.
19460         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
19461         exist, don't set REPLACE_WCSNRTOMBS to 1.
19462
19463 2010-04-05  Bruno Haible  <bruno@clisp.org>
19464
19465         ldexpl: Improve idiom.
19466         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
19467         make sure to set HAVE_DECL_LDEXPL to 0.
19468
19469 2010-04-05  Jim Meyering  <meyering@redhat.com>
19470
19471         xstrtol-tests: convert to use init.sh
19472         * modules/xstrtol-tests (Files): Add tests/init.sh.
19473         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
19474         Use Exit, not exit.
19475         Remove uses of $EXEEXT and "./" to run a program in the current dir.
19476
19477         atexit-tests: convert to use init.sh
19478         * modules/atexit-tests (Files): Add tests/init.sh.
19479         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
19480         Use Exit, not exit.
19481         Remove uses of $EXEEXT and "./" to run a program in the current dir.
19482
19483         init.sh: fix typo
19484         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
19485
19486         init.sh: make it easier for a test script to write to the tty, ...
19487         when using automake's parallel-tests mode.
19488         * tests/init.sh (stderr_fileno_): Define overridable variable.
19489         (warn_): New function, to use it.
19490         (fail_, skip_, framework_failure_): Use warn_.
19491
19492 2010-04-04  Bruno Haible  <bruno@clisp.org>
19493
19494         btowc: Avoid warning.
19495         * lib/btowc.c: Include <stdlib.h>.
19496         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
19497
19498 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
19499             Bruno Haible  <bruno@clisp.org>
19500
19501         wchar: Port to NetBSD 1.5.
19502         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
19503         * lib/wctype.in.h (WEOF): Likewise.
19504
19505 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
19506             Bruno Haible  <bruno@clisp.org>
19507
19508         Port extended stdio to NetBSD 1.5.
19509         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
19510         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
19511         older.
19512
19513 2010-04-04  Bruno Haible  <bruno@clisp.org>
19514
19515         string: Remove unused substitution.
19516         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
19517         HAVE_DECL_STRERROR.
19518         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
19519
19520 2010-04-04  Bruno Haible  <bruno@clisp.org>
19521
19522         strtod: Avoid a possible C++ test error.
19523         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
19524         set REPLACE_STRTOD.
19525
19526 2010-04-04  Bruno Haible  <bruno@clisp.org>
19527
19528         strerror: Update documentation.
19529         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
19530
19531 2010-04-04  Bruno Haible  <bruno@clisp.org>
19532
19533         stdio: Fix some C++ test errors on Solaris 8 with GCC.
19534         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
19535         _GL_CXXALIAS_SYS_CAST.
19536
19537 2010-04-04  Bruno Haible  <bruno@clisp.org>
19538
19539         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
19540         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
19541         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
19542         REPLACE_FREXPL to 1.
19543         * doc/posix-functions/frexpl.texi: Update documentation.
19544
19545 2010-04-04  Bruno Haible  <bruno@clisp.org>
19546
19547         math: Fix some C++ test errors on Solaris 8 and Cygwin.
19548         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
19549
19550 2010-04-04  Bruno Haible  <bruno@clisp.org>
19551
19552         Implement nanosleep for native Windows.
19553         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
19554
19555 2010-04-04  Bruno Haible  <bruno@clisp.org>
19556
19557         math: Fix some C++ test errors on Solaris 8.
19558         * lib/math.in.h (truncf, trunc): Use simpler idiom.
19559
19560 2010-04-04  Bruno Haible  <bruno@clisp.org>
19561
19562         math: Fix some C++ test errors on Cygwin.
19563         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
19564         truncl): Provide declaration if the system does not have it.
19565         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
19566         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
19567         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
19568         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
19569         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
19570         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
19571         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
19572         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
19573         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
19574         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
19575         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
19576         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
19577         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
19578         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
19579         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
19580         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
19581         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
19582         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
19583         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
19584         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
19585         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
19586         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
19587
19588 2010-04-04  Bruno Haible  <bruno@clisp.org>
19589
19590         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
19591         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
19592         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
19593         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
19594         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
19595         * m4/isinf.m4 (gl_ISINF): Likewise.
19596         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
19597
19598 2010-04-04  Bruno Haible  <bruno@clisp.org>
19599
19600         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
19601         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
19602
19603 2010-04-04  Bruno Haible  <bruno@clisp.org>
19604
19605         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
19606         * modules/tmpfile (configure.ac): Update.
19607
19608         tmpfile: Fix C++ test error on mingw.
19609         * lib/stdio.in.h (tmpfile): New declaration.
19610         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
19611         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
19612         * modules/tmpfile (Depends-on): Add stdio.
19613         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
19614         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
19615         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
19616         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
19617         REPLACE_TMPFILE.
19618         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
19619
19620 2010-04-04  Bruno Haible  <bruno@clisp.org>
19621
19622         ioctl: Fix C++ test error on mingw.
19623         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
19624         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
19625         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
19626
19627 2010-04-03  Bruno Haible  <bruno@clisp.org>
19628
19629         wcwidth: Fix C++ test error on mingw.
19630         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
19631         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
19632         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
19633
19634 2010-04-03  Bruno Haible  <bruno@clisp.org>
19635
19636         nanosleep: Fix C++ test error on mingw.
19637         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
19638         * lib/time.in.h (nanosleep): Use modern idiom.
19639         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
19640         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
19641         REPLACE_NANOSLEEP to 1.
19642         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
19643         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
19644
19645 2010-04-03  Bruno Haible  <bruno@clisp.org>
19646
19647         strptime: Fix C++ test error on mingw.
19648         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
19649         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
19650         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
19651         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
19652         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
19653         not REPLACE_STRPTIME.
19654         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
19655         REPLACE_STRPTIME.
19656
19657 2010-04-03  Bruno Haible  <bruno@clisp.org>
19658
19659         timegm: Fix C++ test error on mingw.
19660         * lib/time.in.h (timegm): Use modern idiom.
19661         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
19662         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
19663         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
19664         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
19665
19666 2010-04-03  Bruno Haible  <bruno@clisp.org>
19667
19668         timegm: Assume declaration if function exists.
19669         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
19670         if it exists. Don't clobber ac_cv_func_timegm.
19671
19672 2010-04-03  Bruno Haible  <bruno@clisp.org>
19673
19674         time_r: Fix C++ test error on mingw.
19675         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
19676         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
19677         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
19678         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
19679         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
19680
19681 2010-04-03  Bruno Haible  <bruno@clisp.org>
19682
19683         time_r: Minor updates.
19684         * modules/time_r (Description): Mention the provided functions.
19685         * lib/time_r.c: Don't include <string.h>.
19686         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
19687         * doc/posix-functions/localtime_r.texi: Likewise.
19688
19689 2010-04-03  Bruno Haible  <bruno@clisp.org>
19690
19691         time: Fix regression introduced on 2010-03-08.
19692         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
19693         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
19694
19695 2010-04-03  Jim Meyering  <meyering@redhat.com>
19696
19697         maint.mk: don't silently disable project-specific syntax-check rules
19698         * top/maint.mk (_prohibit_regexp): Define, to help people realize
19699         that they need to convert their project-specific syntax-check rules
19700         to use the new _sc_search_regexp.
19701
19702 2010-04-03  Bruno Haible  <bruno@clisp.org>
19703
19704         fchdir: Fix regression introduced on 2010-03-08.
19705         * lib/unistd.in.h (fchdir): Fix declaration.
19706         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
19707         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
19708         REPLACE_FCHDIR.
19709         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
19710         REPLACE_FCHDIR.
19711
19712 2010-04-03  Bruno Haible  <bruno@clisp.org>
19713
19714         getpagesize: Fix C++ test error on mingw.
19715         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
19716         system does not declare the function.
19717         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
19718         declared.
19719         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
19720         HAVE_DECL_GETPAGESIZE.
19721         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
19722
19723 2010-04-03  Bruno Haible  <bruno@clisp.org>
19724
19725         stdio: Make C++ tests work on mingw.
19726         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
19727         does not declare the function.
19728
19729 2010-04-03  Bruno Haible  <bruno@clisp.org>
19730
19731         ftello: Fix C++ test error on mingw.
19732         * lib/stdio.in.h (ftello): Use modern idiom.
19733         * lib/ftello.c (ftello): Renamed from rpl_ftello.
19734         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
19735         is missing and that it needs to be replaced.
19736         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
19737         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
19738         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
19739
19740 2010-04-03  Bruno Haible  <bruno@clisp.org>
19741
19742         fseeko: Fix C++ test error on mingw.
19743         * lib/stdio.in.h (fseeko): Use modern idiom.
19744         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
19745         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
19746         is missing and that it needs to be replaced.
19747         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
19748         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
19749         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
19750
19751 2010-04-03  Bruno Haible  <bruno@clisp.org>
19752
19753         mkstemp: Fix C++ test error on mingw.
19754         * lib/stdlib.in.h (mkstemp): Use modern idiom.
19755         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
19756         function is missing and that it needs to be replaced.
19757         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
19758         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
19759
19760 2010-04-03  Bruno Haible  <bruno@clisp.org>
19761
19762         stpncpy: Fix C++ test error on mingw.
19763         * lib/string.in.h (stpncpy): Use modern idiom.
19764         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
19765         function is missing and that it needs to be replaced.
19766         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
19767         REPLACE_STPNCPY.
19768         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
19769
19770 2010-04-03  Bruno Haible  <bruno@clisp.org>
19771
19772         sys_stat: Fix C++ test error on mingw.
19773         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
19774         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
19775
19776 2010-04-03  Bruno Haible  <bruno@clisp.org>
19777
19778         pty: Update doc.
19779         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
19780
19781 2010-04-03  Bruno Haible  <bruno@clisp.org>
19782
19783         unistd: Fix C++ test error on mingw.
19784         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
19785
19786 2010-04-03  Bruno Haible  <bruno@clisp.org>
19787
19788         Update doc regarding mingw.
19789         * doc/glibc-functions/openpty.texi: Update regarding mingw.
19790         * doc/glibc-functions/login_tty.texi: Likewise.
19791         * doc/glibc-functions/forkpty.texi: Likewise.
19792
19793 2010-04-03  Bruno Haible  <bruno@clisp.org>
19794
19795         stdlib: Avoid compilation failure of c-strtold on mingw.
19796         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
19797
19798 2010-04-03  Bruno Haible  <bruno@clisp.org>
19799
19800         locale: Make C++ tests work on Cygwin and mingw.
19801         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
19802         cannot provide the function.
19803         Reported by Simon Josefsson.
19804
19805 2010-04-03  Bruno Haible  <bruno@clisp.org>
19806
19807         localename: Port to MacOS X 10.6.
19808         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
19809         memory layout of the locales in MacOS X 10.6 as well.
19810         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
19811
19812 2010-04-02  Bruno Haible  <bruno@clisp.org>
19813
19814         gnulib-tool: Ensure that long-running tests are executed last.
19815         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
19816         running tests after the one for the other tests.
19817
19818 2010-04-02  Bruno Haible  <bruno@clisp.org>
19819
19820         gnulib-tool: Ensure the tests in the main directory are executed first.
19821         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
19822         start with the current directory.
19823
19824 2010-04-02  Bruno Haible  <bruno@clisp.org>
19825
19826         Tests for module 'havelib', moved here from GNU gettext.
19827         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
19828         modifications.
19829         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
19830         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
19831         with modifications.
19832         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
19833         modifications.
19834         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
19835         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
19836         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
19837         with modifications.
19838         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
19839         with modifications.
19840         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
19841         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
19842         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
19843         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
19844         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
19845         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
19846         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
19847         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
19848         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
19849         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
19850         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
19851         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
19852         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
19853         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
19854         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
19855         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
19856         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
19857         with modifications.
19858         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
19859         with modifications.
19860         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
19861         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
19862         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
19863         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
19864         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
19865         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
19866         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
19867         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
19868         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
19869         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
19870         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
19871         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
19872         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
19873         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
19874         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
19875         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
19876         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
19877         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
19878         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
19879         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
19880         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
19881         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
19882         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
19883         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
19884         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
19885         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
19886         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
19887         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
19888         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
19889         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
19890         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
19891         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
19892         * tests/havelib/rpathx/rpathx.c: New file, from
19893         gettext/autoconf-lib-link.
19894         * tests/havelib/rpathx/Makefile.am: New file, from
19895         gettext/autoconf-lib-link.
19896         * tests/havelib/rpathx/configure.ac: New file, from
19897         gettext/autoconf-lib-link with modifications.
19898         * tests/havelib/rpathy/rpathy.c: New file, from
19899         gettext/autoconf-lib-link.
19900         * tests/havelib/rpathy/Makefile.am: New file, from
19901         gettext/autoconf-lib-link.
19902         * tests/havelib/rpathy/configure.ac: New file, from
19903         gettext/autoconf-lib-link with modifications.
19904         * tests/havelib/rpathz/rpathz.c: New file, from
19905         gettext/autoconf-lib-link.
19906         * tests/havelib/rpathz/Makefile.am: New file, from
19907         gettext/autoconf-lib-link.
19908         * tests/havelib/rpathz/configure.ac: New file, from
19909         gettext/autoconf-lib-link with modifications.
19910         * tests/havelib/rpathlx/usex.c: New file, from
19911         gettext/autoconf-lib-link.
19912         * tests/havelib/rpathlx/Makefile.am: New file, from
19913         gettext/autoconf-lib-link.
19914         * tests/havelib/rpathlx/configure.ac: New file, from
19915         gettext/autoconf-lib-link with modifications.
19916         * tests/havelib/rpathly/usey.c: New file, from
19917         gettext/autoconf-lib-link.
19918         * tests/havelib/rpathly/Makefile.am: New file, from
19919         gettext/autoconf-lib-link.
19920         * tests/havelib/rpathly/configure.ac: New file, from
19921         gettext/autoconf-lib-link with modifications.
19922         * tests/havelib/rpathlz/usez.c: New file, from
19923         gettext/autoconf-lib-link.
19924         * tests/havelib/rpathlz/Makefile.am: New file, from
19925         gettext/autoconf-lib-link.
19926         * tests/havelib/rpathlz/configure.ac: New file, from
19927         gettext/autoconf-lib-link with modifications.
19928         * tests/havelib/rpathlyx/usey.c: New file, from
19929         gettext/autoconf-lib-link.
19930         * tests/havelib/rpathlyx/Makefile.am: New file, from
19931         gettext/autoconf-lib-link.
19932         * tests/havelib/rpathlyx/configure.ac: New file, from
19933         gettext/autoconf-lib-link with modifications.
19934         * tests/havelib/rpathlzyx/usez.c: New file, from
19935         gettext/autoconf-lib-link.
19936         * tests/havelib/rpathlzyx/Makefile.am: New file, from
19937         gettext/autoconf-lib-link.
19938         * tests/havelib/rpathlzyx/configure.ac: New file, from
19939         gettext/autoconf-lib-link with modifications.
19940         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
19941         with modifications.
19942
19943 2010-04-02  Bruno Haible  <bruno@clisp.org>
19944
19945         gnulib-tool: Create distributed built sources also for the tests.
19946         * gnulib-tool (func_create_testdir): Also generate distributed built
19947         sources in the tests directory.
19948
19949 2010-04-02  Bruno Haible  <bruno@clisp.org>
19950
19951         gnulib-tool: Obey user's environment variables.
19952         * gnulib-tool (func_create_testdir): When creating built sources,
19953         respect the environment variables for autoconf, automake, etc. given by
19954         the user.
19955
19956 2010-04-02  Bruno Haible  <bruno@clisp.org>
19957
19958         gnulib-tool: Provide the value of --m4-base to modules.
19959         * gnulib-tool (func_import, func_create_testdir): Emit a definition
19960         of gl_m4_base.
19961
19962 2010-04-02  Eric Blake  <eblake@redhat.com>
19963
19964         maint.mk: fix some fallout
19965         * NEWS: Document the incompatible change, and its effect on cfg.mk.
19966         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
19967
19968 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
19969
19970         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
19971         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
19972         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
19973         (sc_cast_of_x_alloc_return_value): Likewise.
19974         (sc_cast_of_alloca_return_value): Likewise.
19975         (sc_space_tab): Likewise.
19976         (sc_prohibit_atoi_atof): Likewise.
19977         (sc_prohibit_magic_number_exit): Likewise.
19978         (sc_error_exit_success): Likewise.
19979         (sc_file_system): Likewise.
19980         (sc_prohibit_have_config_h): Likewise.
19981         (sc_require_config_h): Likewise.
19982         (sc_prohibit_HAVE_MBRTOWC): Likewise.
19983         (sc_obsolete_symbols): Likewise.
19984         (sc_changelog): Likewise.
19985         (sc_program_name): Likewise.
19986         (sc_the_the): Likewise.
19987         (sc_trailing_blank): Likewise.
19988         (sc_two_space_separator_in_usage): Likewise.
19989         (sc_useless_cpp_parens): Likewise.
19990         (sc_GPL_version): Likewise.
19991         (sc_GFDL_version): Likewise.
19992         (sc_texinfo_acronym): Likewise.
19993         (sc_prohibit_cvs_keyword): Likewise.
19994         (sc_prohibit_stat_st_blocks): Likewise.
19995         (sc_prohibit_S_IS_definition): Likewise.
19996         (sc_redundant_const): Likewise.
19997         (sc_makefile_TAB_only_indentation): Likewise.
19998         (sc_m4_quote_check): Likewise.
19999         (sc_makefile_path_separator_check): Likewise.
20000         (sc_copyright_check): Likewise.
20001         (sc_Wundef_boolean): Likewise.
20002         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
20003
20004         maint.mk: match 0 or more whitespace-before-function-call '('
20005         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
20006         that have zero or two-and-more spaces between the function name
20007         and the open parenthesis.
20008         (sc_error_message_warn_fatal): Likewise.
20009         (sc_error_message_uppercase): Likewise.
20010         (sc_error_message_period): Likewise.
20011
20012 2010-03-31  Eric Blake  <eblake@redhat.com>
20013
20014         maint.mk: check for [ as well as test
20015         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
20016         Based on a libvirt report by Matthias Bolte.
20017
20018         gnumakefile: don't squelch _version output
20019         * top/GNUmakefile (_version): Create one-shot dependency rather
20020         than using $(shell) when version must be regenerated.
20021         (_autoreconf): Run verbosely, by default.
20022
20023         sys_time: avoid compiler warnings
20024         * lib/sys_time.in.h (includes): Ensure gcc pragma is
20025         unconditional, fixing regression from 2010-03-29.
20026         Reported by Simon Josefsson.
20027
20028 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
20029
20030         maint.mk: s/_header_without_use/_sc_header_without_use/
20031         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
20032         (sc_prohibit_assert_without_use): Use the new name.
20033         (sc_prohibit_close_stream_without_use): Likewise.
20034         (sc_prohibit_getopt_without_use): Likewise.
20035         (sc_prohibit_quotearg_without_use): Likewise.
20036         (sc_prohibit_quote_without_use): Likewise.
20037         (sc_prohibit_long_options_without_use): Likewise.
20038         (sc_prohibit_inttostr_without_use): Likewise.
20039         (sc_prohibit_ignore_value_without_use): Likewise.
20040         (sc_prohibit_error_without_use): Likewise.
20041         (sc_prohibit_xalloc_without_use): Likewise.
20042         (sc_prohibit_hash_without_use): Likewise.
20043         (sc_prohibit_hash_pjw_without_use): Likewise.
20044         (sc_prohibit_safe_read_without_use): Likewise.
20045         (sc_prohibit_argmatch_without_use): Likewise.
20046         (sc_prohibit_canonicalize_without_use): Likewise.
20047         (sc_prohibit_root_dev_ino_without_use): Likewise.
20048         (sc_prohibit_openat_without_use): Likewise.
20049         (sc_prohibit_c_ctype_without_use): Likewise.
20050         (sc_prohibit_signal_without_use): Likewise.
20051         (sc_prohibit_intprops_without_use): Likewise.
20052
20053 2010-03-30  Eric Blake  <eblake@redhat.com>
20054
20055         maint: improve module indicators
20056         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
20057         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
20058         columns, and avoid extra macro expansion.
20059
20060         fdopendir: work around FreeBSD bug
20061         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
20062         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
20063         * modules/dirent (Makefile.am): Substitute it.
20064         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
20065         declaration.
20066         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
20067         fix.
20068         Reported by Christian Weisgerber <naddy@mips.inka.de>.
20069
20070 2010-03-29  Bruno Haible  <bruno@clisp.org>
20071
20072         Emit #pragma system_header after the inclusion guard, not before.
20073         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
20074         guard that spans the entire file, not before. This enables an
20075         optimization in GCC's preprocessor.
20076         * lib/ctype.in.h: Likewise.
20077         * lib/dirent.in.h: Likewise.
20078         * lib/errno.in.h: Likewise.
20079         * lib/float.in.h: Likewise.
20080         * lib/getopt.in.h: Likewise.
20081         * lib/iconv.in.h: Likewise.
20082         * lib/langinfo.in.h: Likewise.
20083         * lib/locale.in.h: Likewise.
20084         * lib/math.in.h: Likewise.
20085         * lib/netdb.in.h: Likewise.
20086         * lib/netinet_in.in.h: Likewise.
20087         * lib/pty.in.h: Likewise.
20088         * lib/sched.in.h: Likewise.
20089         * lib/se-selinux.in.h: Likewise.
20090         * lib/search.in.h: Likewise.
20091         * lib/spawn.in.h: Likewise.
20092         * lib/stdarg.in.h: Likewise.
20093         * lib/stdint.in.h: Likewise.
20094         * lib/string.in.h: Likewise.
20095         * lib/strings.in.h: Likewise.
20096         * lib/sys_file.in.h: Likewise.
20097         * lib/sys_ioctl.in.h: Likewise.
20098         * lib/sys_time.in.h: Likewise.
20099         * lib/sys_times.in.h: Likewise.
20100         * lib/sys_utsname.in.h: Likewise.
20101         * lib/sys_wait.in.h: Likewise.
20102         * lib/sysexits.in.h: Likewise.
20103         * lib/wctype.in.h: Likewise.
20104
20105 2010-03-28  James Youngman  <jay@gnu.org>
20106
20107         save-cwd: don't leak a file descriptor when the caller execs.
20108         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
20109         saved file descriptor.
20110         * modules/save-cwd (Depends-on): Depend on cloexec.
20111
20112 2010-03-29  Bruno Haible  <bruno@clisp.org>
20113
20114         Remove vestiges of fts-lgpl module.
20115         * lib/fts_.h: Assume GNULIB_FTS is 1.
20116         * lib/fts.c: Likewise.
20117         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
20118
20119 2010-03-28  Bruno Haible  <bruno@clisp.org>
20120
20121         Fix definition of tests witness macro.
20122         * gnulib-tool (func_import): Fix definition of witness macro.
20123
20124 2010-03-28  Bruno Haible  <bruno@clisp.org>
20125
20126         Fix ioctl's protoype on glibc systems.
20127         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
20128         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
20129         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
20130         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
20131         signature. If not, arrange to replace the ioctl function.
20132         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
20133         REPLACE_IOCTL.
20134         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
20135         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
20136         Reported by Ludovic Courtès <ludo@gnu.org>.
20137
20138 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
20139
20140         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
20141         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
20142         made it so grep -r --include=GLOB* ... did not work.
20143
20144 2010-03-26  Jim Meyering  <meyering@redhat.com>
20145             Eric Blake  <eblake@redhat.com>
20146
20147         maint.mk: prohibit use of test's -o and -a operators
20148         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
20149
20150 2010-03-28  Bruno Haible  <bruno@clisp.org>
20151
20152         Remove unused GNULIB_XYZ macro definitions.
20153         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
20154         invocation.
20155
20156 2010-03-28  Bruno Haible  <bruno@clisp.org>
20157
20158         Mark privileged tests modules.
20159         * modules/idpriv-drop-tests (Status): New section.
20160         * modules/idpriv-droptemp-tests (Status): New section.
20161
20162 2010-03-28  Bruno Haible  <bruno@clisp.org>
20163
20164         Split C++ tests into separate tests modules.
20165         * modules/dirent-c++-tests: New file, extracted from
20166         modules/dirent-tests.
20167         * modules/dirent-tests: Depend on it.
20168         * modules/fcntl-h-c++-tests: New file, extracted from
20169         modules/fcntl-h-tests.
20170         * modules/fcntl-h-tests: Depend on it.
20171         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
20172         * modules/glob-tests: Depend on it.
20173         * modules/iconv-h-c++-tests: New file, extracted from
20174         modules/iconv-h-tests.
20175         * modules/iconv-h-tests: Depend on it.
20176         * modules/langinfo-c++-tests: New file, extracted from
20177         modules/langinfo-tests.
20178         * modules/langinfo-tests: Depend on it.
20179         * modules/locale-c++-tests: New file, extracted from
20180         modules/locale-tests.
20181         * modules/locale-tests: Depend on it.
20182         * modules/math-c++-tests: New file, extracted from modules/math-tests.
20183         * modules/math-tests: Depend on it.
20184         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
20185         * modules/pty-tests: Depend on it.
20186         * modules/search-c++-tests: New file, extracted from
20187         modules/search-tests.
20188         * modules/search-tests: Depend on it.
20189         * modules/signal-c++-tests: New file, extracted from
20190         modules/signal-tests.
20191         * modules/signal-tests: Depend on it.
20192         * modules/spawn-c++-tests: New file, extracted from
20193         modules/spawn-tests.
20194         * modules/spawn-tests: Depend on it.
20195         * modules/stdio-c++-tests: New file, extracted from
20196         modules/stdio-tests.
20197         * modules/stdio-tests: Depend on it.
20198         * modules/stdlib-c++-tests: New file, extracted from
20199         modules/stdlib-tests.
20200         * modules/stdlib-tests: Depend on it.
20201         * modules/string-c++-tests: New file, extracted from
20202         modules/string-tests.
20203         * modules/string-tests: Depend on it.
20204         * modules/sys_ioctl-c++-tests: New file, extracted from
20205         modules/sys_ioctl-tests.
20206         * modules/sys_ioctl-tests: Depend on it.
20207         * modules/sys_select-c++-tests: New file, extracted from
20208         modules/sys_select-tests.
20209         * modules/sys_select-tests: Depend on it.
20210         * modules/sys_socket-c++-tests: New file, extracted from
20211         modules/sys_socket-tests.
20212         * modules/sys_socket-tests: Depend on it.
20213         * modules/sys_stat-c++-tests: New file, extracted from
20214         modules/sys_stat-tests.
20215         * modules/sys_stat-tests: Depend on it.
20216         * modules/sys_time-c++-tests: New file, extracted from
20217         modules/sys_time-tests.
20218         * modules/sys_time-tests: Depend on it.
20219         * modules/time-c++-tests: New file, extracted from modules/time-tests.
20220         * modules/time-tests: Depend on it.
20221         * modules/unistd-c++-tests: New file, extracted from
20222         modules/unistd-tests.
20223         * modules/unistd-tests: Depend on it.
20224         * modules/wchar-c++-tests: New file, extracted from
20225         modules/wchar-tests.
20226         * modules/wchar-tests: Depend on it.
20227         * modules/wctype-c++-tests: New file, extracted from
20228         modules/wctype-tests.
20229         * modules/wctype-tests: Depend on it.
20230         Reported by Simon Josefsson.
20231
20232 2010-03-28  Bruno Haible  <bruno@clisp.org>
20233
20234         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
20235         * gnulib-tool (func_exists_module): New function, extracted from
20236         func_verify_module.
20237         (func_verify_module): Use it.
20238         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
20239         'foo' only if 'foo' exists.
20240         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
20241         module.
20242
20243 2010-03-28  Bruno Haible  <bruno@clisp.org>
20244
20245         gnulib-tool: Add support for special categories of tests.
20246         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
20247         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
20248         (func_usage): Document them.
20249         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
20250         inc_unportable_tests, inc_all_tests): New variables.
20251         (func_acceptable): Consider these variables.
20252         (func_modules_transitive_closure): Make it work when the 'Status' field
20253         consists of multiple words.
20254         (func_import): Store and restore the values of inc_cxx_tests,
20255         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
20256         inc_all_tests in gnulib-comp.m4.
20257         (func_create_testdir): Set inc_all_tests to true.
20258         * doc/gnulib.texi (Extra tests modules): New section.
20259         Suggested by Jim Meyering.
20260
20261 2010-03-28  Bruno Haible  <bruno@clisp.org>
20262
20263         ansi-c++-opt: Allow turning off the C++ build by default.
20264         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
20265         gl_CXX_CHOICE_DEFAULT_NO is defined.
20266         Requested by Eric Blake.
20267
20268 2010-03-28  Bruno Haible  <bruno@clisp.org>
20269
20270         unistd: Avoid #define replacements in C++ mode.
20271         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
20272         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
20273         setsockopt, shutdown, select): In C++, attach a warning to the function
20274         if possible, rather than #defining the symbol to a dysfunctional alias.
20275         Reported by John W. Eaton <jwe@gnu.org>.
20276
20277 2010-03-28  Bruno Haible  <bruno@clisp.org>
20278
20279         Fix link errors on mingw.
20280         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
20281         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
20282         $(LIBSOCKET).
20283         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
20284         $(LIBSOCKET).
20285
20286 2010-03-28  Bruno Haible  <bruno@clisp.org>
20287             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20288
20289         lib-ignore: Determine different options for different compilers.
20290         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
20291         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
20292         Add comments.
20293         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
20294         * NEWS: Mention the change.
20295
20296 2010-03-27  Bruno Haible  <bruno@clisp.org>
20297
20298         Remove unused GNULIB_XYZ macro definitions.
20299         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
20300         * modules/fseek (configure.ac): Likewise.
20301         * modules/ioctl (configure.ac): Likewise.
20302         * modules/open (configure.ac): Likewise.
20303         * modules/stdlib-safer (configure.ac): Likewise.
20304
20305 2010-03-27  Bruno Haible  <bruno@clisp.org>
20306
20307         Add a remark about certain modules.
20308         * modules/malloc (Comment): New section.
20309         * modules/realloc (Comment): Likewise.
20310         * modules/sigpipe (Comment): Likewise.
20311
20312 2010-03-27  Bruno Haible  <bruno@clisp.org>
20313
20314         Resolve conflict between the two kinds of module indicators.
20315         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
20316         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
20317         * modules/canonicalize (configure.ac): Invoke
20318         gl_MODULE_INDICATOR_FOR_TESTS.
20319         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
20320         GNULIB_XYZ.
20321         * tests/test-dirent-c++.cc: Likewise.
20322         * tests/test-dirent-safer.c: Likewise.
20323         * tests/test-dup2.c: Likewise.
20324         * tests/test-fchdir.c: Likewise.
20325         * tests/test-fcntl-h-c++.cc: Likewise.
20326         * tests/test-getopt.c: Likewise.
20327         * tests/test-getopt.h: Likewise.
20328         * tests/test-langinfo-c++.cc: Likewise.
20329         * tests/test-locale-c++.cc: Likewise.
20330         * tests/test-math-c++.cc: Likewise.
20331         * tests/test-pty-c++.cc: Likewise.
20332         * tests/test-search-c++.cc: Likewise.
20333         * tests/test-signal-c++.cc: Likewise.
20334         * tests/test-spawn-c++.cc: Likewise.
20335         * tests/test-stdio-c++.cc: Likewise.
20336         * tests/test-stdlib-c++.cc: Likewise.
20337         * tests/test-string-c++.cc: Likewise.
20338         * tests/test-sys_ioctl-c++.cc: Likewise.
20339         * tests/test-sys_select-c++.cc: Likewise.
20340         * tests/test-sys_socket-c++.cc: Likewise.
20341         * tests/test-sys_stat-c++.cc: Likewise.
20342         * tests/test-sys_time-c++.cc: Likewise.
20343         * tests/test-time-c++.cc: Likewise.
20344         * tests/test-unistd-c++.cc: Likewise.
20345         * tests/test-wchar-c++.cc: Likewise.
20346         * tests/uninorm/test-u8-nfc.c: Likewise.
20347         * tests/uninorm/test-u8-nfd.c: Likewise.
20348         * tests/uninorm/test-u8-nfkc.c: Likewise.
20349         * tests/uninorm/test-u8-nfkd.c: Likewise.
20350         * tests/uninorm/test-u16-nfc.c: Likewise.
20351         * tests/uninorm/test-u16-nfd.c: Likewise.
20352         * tests/uninorm/test-u16-nfkc.c: Likewise.
20353         * tests/uninorm/test-u16-nfkd.c: Likewise.
20354         * tests/uninorm/test-u32-nfc.c: Likewise.
20355         * tests/uninorm/test-u32-nfc-big.c: Likewise.
20356         * tests/uninorm/test-u32-nfd.c: Likewise.
20357         * tests/uninorm/test-u32-nfd-big.c: Likewise.
20358         * tests/uninorm/test-u32-nfkc.c: Likewise.
20359         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
20360         * tests/uninorm/test-u32-nfkd.c: Likewise.
20361         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
20362         * tests/uninorm/test-u32-normalize-big.c: Likewise.
20363
20364 2010-03-27  Bruno Haible  <bruno@clisp.org>
20365
20366         Distinguish two kinds of module indicators.
20367         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
20368         gl_MODULE_INDICATOR.
20369         (gl_MODULE_INDICATOR): New macro.
20370         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
20371         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
20372         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
20373         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
20374         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
20375         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
20376         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
20377         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
20378         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
20379         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
20380         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
20381         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
20382         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
20383         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
20384         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
20385         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
20386         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
20387         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
20388         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
20389         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
20390         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
20391         * modules/cloexec (configure.ac): Likewise.
20392         * modules/getopt-gnu (configure.ac): Likewise.
20393         * modules/uninorm/u8-normalize (configure.ac): Likewise.
20394         * modules/uninorm/u16-normalize (configure.ac): Likewise.
20395         * modules/uninorm/u32-normalize (configure.ac): Likewise.
20396         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
20397
20398 2010-03-27  Bruno Haible  <bruno@clisp.org>
20399
20400         New module description field 'Comment'.
20401         * gnulib-tool: New option --extract-comment.
20402         (func_usage): Document it.
20403         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
20404         (func_get_comment): New function.
20405         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
20406
20407 2010-03-27  Bruno Haible  <bruno@clisp.org>
20408
20409         Addendum to 2010-02-07 commit.
20410         * gnulib-tool (func_usage): Document --extract-applicability option.
20411
20412 2010-03-27  Bruno Haible  <bruno@clisp.org>
20413
20414         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
20415         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
20416         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
20417         rather than link errors.
20418
20419 2010-03-27  Bruno Haible  <bruno@clisp.org>
20420
20421         Avoid side effects from tests-related modules on the compilation of lib.
20422         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
20423         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
20424         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
20425         parameter. Emit into AM_CPPFLAGS a definition of the designated C
20426         macro.
20427         (func_import): Define a witness macro. Assign it a value that depends
20428         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
20429         tests-related modules.
20430         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
20431         Reported by Jim Meyering.
20432
20433 2010-03-27  Bruno Haible  <bruno@clisp.org>
20434
20435         Factorize common .m4 code.
20436         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
20437         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
20438         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
20439         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
20440         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
20441         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
20442         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
20443         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
20444         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
20445         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
20446         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
20447         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
20448         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
20449         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
20450         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
20451         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
20452         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
20453         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
20454         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
20455         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
20456         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
20457         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
20458         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
20459         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
20460         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
20461         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
20462         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
20463         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
20464         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
20465         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
20466         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
20467         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
20468
20469 2010-03-27  Bruno Haible  <bruno@clisp.org>
20470
20471         Fix a compilation error on Cygwin with g++ >= 4.3.
20472         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
20473         if it is undefined or if we alias it to chmod.
20474         (lstat): Don't warn about the use of this function if it is undefined
20475         or if we alias it to stat.
20476         Reported by Simon Josefsson.
20477
20478 2010-03-27  Bruno Haible  <bruno@clisp.org>
20479
20480         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
20481         * modules/getlogin (configure.ac): Update.
20482
20483         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
20484         * modules/getlogin_r (configure.ac): Update.
20485
20486         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
20487         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
20488         * modules/inet_ntop (configure.ac): Update.
20489
20490         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
20491         * modules/inet_pton (configure.ac): Update.
20492
20493         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
20494         * modules/mbslen (configure.ac): Update.
20495
20496         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
20497         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
20498         * modules/forkpty (configure.ac): Update.
20499         * modules/openpty (configure.ac): Update.
20500
20501 2010-03-26  Simon Josefsson  <simon@josefsson.org>
20502
20503         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
20504         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
20505
20506 2010-03-25  Eric Blake  <eblake@redhat.com>
20507
20508         maint: use pragma consistently across replacement headers
20509         * lib/ctype.in.h (system_header): Hoist for consistent placement.
20510         * lib/dirent.in.h (system_header): Likewise.
20511         * lib/errno.in.h (system_header): Likewise.
20512         * lib/float.in.h (system_header): Likewise.
20513         * lib/getopt.in.h (system_header): Likewise.
20514         * lib/iconv.in.h (system_header): Likewise.
20515         * lib/inttypes.in.h (system_header): Likewise.
20516         * lib/langinfo.in.h (system_header): Likewise.
20517         * lib/locale.in.h (system_header): Likewise.
20518         * lib/math.in.h (system_header): Likewise.
20519         * lib/netdb.in.h (system_header): Likewise.
20520         * lib/netinet_in.in.h (system_header): Likewise.
20521         * lib/pty.in.h (system_header): Likewise.
20522         * lib/sched.in.h (system_header): Likewise.
20523         * lib/se-selinux.in.h (system_header): Likewise.
20524         * lib/search.in.h (system_header): Likewise.
20525         * lib/spawn.in.h (system_header): Likewise.
20526         * lib/stdarg.in.h (system_header): Likewise.
20527         * lib/stdint.in.h (system_header): Likewise.
20528         * lib/string.in.h (system_header): Likewise.
20529         * lib/strings.in.h (system_header): Likewise.
20530         * lib/sys_file.in.h (system_header): Likewise.
20531         * lib/sys_ioctl.in.h (system_header): Likewise.
20532         * lib/sys_socket.in.h (system_header): Likewise.
20533         * lib/sys_times.in.h (system_header): Likewise.
20534         * lib/sys_utsname.in.h (system_header): Likewise.
20535         * lib/sys_wait.in.h (system_header): Likewise.
20536         * lib/sysexits.in.h (system_header): Likewise.
20537         * lib/unistd.in.h (system_header): Likewise.
20538         * lib/wctype.in.h (system_header): Likewise.
20539
20540         arpa/inet: fix mingw compilation warning
20541         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
20542         Reported by Matthew Bolte.
20543
20544 2010-03-25  Bruno Haible  <bruno@clisp.org>
20545
20546         Avoid collision between gnulib wrapper and libintl wrapper.
20547         * lib/printf.c (printf): Don't define if a printf wrapper is already
20548         defined in intl/printf.c.
20549         Reported by Michel Boaventura <michel@michelboaventura.com>.
20550
20551 2010-03-25  Bruno Haible  <bruno@clisp.org>
20552
20553         Use ANSI C.
20554         * lib/readutmp.h (getutent): Provide ANSI C prototype.
20555
20556 2010-03-25  Bruno Haible  <bruno@clisp.org>
20557
20558         Minor formatting changes.
20559         * lib/acosl.c: Insert space before function argument list.
20560         * lib/argz.c: Likewise.
20561         * lib/asinl.c: Likewise.
20562         * lib/expl.c: Likewise.
20563         * lib/gen-uni-tables.c: Likewise.
20564         * lib/gettext.h: Likewise.
20565         * lib/glthread/lock.h: Likewise.
20566         * lib/tanl.c: Likewise.
20567         * lib/uniname/uniname.c: Likewise.
20568         * tests/test-idpriv-drop.c: Likewise.
20569         * tests/test-idpriv-droptemp.c: Likewise.
20570         * tests/test-lock.c: Likewise.
20571         * tests/test-tls.c: Likewise.
20572         * lib/argp-help.c: Insert space before function-like macro argument
20573         list.
20574         * lib/memcmp.c: Likewise.
20575         * tests/test-base64.c: Likewise.
20576         * lib/localename.c: Insert space before sizeof's argument list.
20577         * lib/safe-alloc.h: Likewise.
20578         * lib/file-set.h: Insert space before macro argument list.
20579         * tests/test-argp.c: Likewise.
20580         * lib/argp-namefrob.h: Insert space before function parameter list.
20581         * lib/getaddrinfo.c: Likewise.
20582         * lib/netdb.in.h: Likewise.
20583         * lib/parse-duration.h: Likewise.
20584         * lib/parse-duration.c: Likewise.
20585         * lib/poll.c: Likewise.
20586         * lib/select.c: Likewise.
20587         * lib/trim.h: Likewise.
20588         * tests/test-usleep.c: Likewise.
20589         * lib/ldexpl.c: Insert space before function parameter list and before
20590         function argument list.
20591         * lib/logl.c: Likewise.
20592         * lib/sqrtl.c: Likewise.
20593         * lib/trim.c: Likewise.
20594         * lib/cosl.c: Use GNU style indentation. Insert space before function
20595         argument list.
20596         * lib/sinl.c: Likewise.
20597         * lib/tsearch.c: Insert space after 'for'.
20598         Reported by Jim Meyering.
20599
20600 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
20601
20602         * maint.mk (sc_Wundef_boolean): Check for the presence of the
20603         config header before grepping, as it's not present before
20604         autoreconf/configure are run.  Reported by Simon Josefsson.
20605
20606 2010-03-23  Bruno Haible  <bruno@clisp.org>
20607
20608         pt_chown: Make it work with automake < 1.11.
20609         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
20610         Reported by Simon Josefsson.
20611
20612 2010-03-23  Bruno Haible  <bruno@clisp.org>
20613
20614         pt_chown: Don't depend on GPLed modules.
20615         * lib/pt_chown.c: Don't include idpriv.h.
20616         (main): Don't drop privileges.
20617         * modules/pt_chown (Depends-on): Remove idpriv-drop.
20618         Reported by Simon Josefsson.
20619
20620 2010-03-24  Simon Josefsson  <simon@josefsson.org>
20621
20622         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
20623         suggestions from karl@freefriends.org (Karl Berry).
20624
20625 2010-03-22  Eric Blake  <eblake@redhat.com>
20626
20627         gethostname: further tweaks
20628         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
20629         are overriding gethostname.
20630         Suggested by Bruno Haible.
20631
20632 2010-03-21  Bruno Haible  <bruno@clisp.org>
20633
20634         Fix comments.
20635         * lib/forkpty.c (rpl_forkpty): Fix comment.
20636         * lib/openpty.c (rpl_openpty): Likewise.
20637         Reported by Eric Blake.
20638
20639 2010-03-22  Eric Blake  <eblake@redhat.com>
20640
20641         gethostname: fix build on mingw
20642         * lib/unistd.in.h (includes): Work around fact that mingw
20643         <winsock2.h> re-includes <unistd.h>, by avoiding any
20644         redeclarations if we are being included by <winsock2.h>.
20645         Reported by Matthias Bolte.
20646
20647 2010-03-21  Bruno Haible  <bruno@clisp.org>
20648
20649         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
20650         * lib/forkpty.c (forkpty): New replacement function, from glibc with
20651         modifications.
20652         * lib/pty.in.h (forkpty): Update declaration. Add comments.
20653         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
20654         provide the replacement.
20655         * modules/forkpty (Depends-on): Add openpty, login_tty.
20656         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
20657         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
20658         * doc/glibc-functions/forkpty.texi: More supported platforms.
20659         * config/srclist.txt: Add forkpty.c (commented).
20660
20661 2010-03-21  Bruno Haible  <bruno@clisp.org>
20662
20663         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
20664         (Makefile.am): Verify that PTY_LIB is defined.
20665
20666         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
20667
20668 2010-03-21  Bruno Haible  <bruno@clisp.org>
20669
20670         Tests for module 'login_tty'.
20671         * modules/login_tty-tests: New file.
20672         * tests/test-login_tty.c: New file.
20673
20674         New module 'login_tty'.
20675         * lib/login_tty.c: New file.
20676         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
20677         * modules/login_tty: New file.
20678         * doc/glibc-functions/login_tty.texi: Mention the new module.
20679
20680 2010-03-21  Bruno Haible  <bruno@clisp.org>
20681
20682         login_tty: Documentation.
20683         * doc/glibc-functions/login_tty.texi: New file.
20684         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
20685
20686 2010-03-21  Bruno Haible  <bruno@clisp.org>
20687
20688         pty: Consistent macro naming.
20689         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
20690         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
20691         * modules/pty (configure.ac): Update.
20692
20693 2010-03-21  Bruno Haible  <bruno@clisp.org>
20694
20695         Tests for openpty: Make stricter.
20696         * tests/test-openpty.c (main): Add test of canonical processing and
20697         erase.
20698         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
20699
20700         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
20701         * lib/openpty.c (openpty): New replacement function.
20702         * lib/pty.in.h: Include <termios.h>.
20703         (openpty): Update declaration. Add comments.
20704         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
20705         is not declared, arrange to provide the replacement. Check for _getpty
20706         and posix_openpt.
20707         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
20708         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
20709         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
20710         * modules/pty-tests (test_pty_c___LDADD): New variable.
20711         * doc/glibc-functions/openpty.texi: More supported platforms.
20712
20713 2010-03-21  Bruno Haible  <bruno@clisp.org>
20714
20715         setenv: Tweaks.
20716         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
20717         the test program.
20718         * doc/posix-functions/setenv.texi: Update platforms list.
20719
20720 2010-03-21  Bruno Haible  <bruno@clisp.org>
20721
20722         New module 'unlockpt'.
20723         * lib/unlockpt.c: New file, from glibc with modifications.
20724         * m4/unlockpt.m4: New file.
20725         * modules/unlockpt: New file.
20726         * lib/stdlib.in.h (unlockpt): New declaration.
20727         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
20728         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
20729         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
20730         HAVE_UNLOCKPT.
20731         * doc/posix-functions/unlockpt.texi: Mention the new module.
20732         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
20733         * config/srclist.txt: Add unlockpt.c (commented).
20734
20735 2010-03-21  Jim Meyering  <meyering@redhat.com>
20736
20737         maint.mk: prohibit inclusion of "intprops.h" without use
20738         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
20739
20740 2010-03-21  Bruno Haible  <bruno@clisp.org>
20741
20742         New module 'grantpt'.
20743         * lib/grantpt.c: New file, from glibc with modifications.
20744         * m4/grantpt.m4: New file.
20745         * modules/grantpt: New file.
20746         * lib/stdlib.in.h (grantpt): New declaration.
20747         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
20748         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
20749         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
20750         HAVE_GRANTPT.
20751         * doc/posix-functions/grantpt.texi: Mention the new module.
20752         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
20753         * config/srclist.txt: Add grantpt.c (commented).
20754
20755 2010-03-21  Bruno Haible  <bruno@clisp.org>
20756
20757         New module 'pt_chown'.
20758         * lib/pt_chown.c: New file, from glibc with modifications.
20759         * lib/pty-private.h: New file, from glibc with modifications.
20760         * modules/pt_chown: New file.
20761         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
20762
20763 2010-03-21  Bruno Haible  <bruno@clisp.org>
20764
20765         Tests for module 'ptsname'.
20766         * modules/ptsname-tests: New file.
20767         * tests/test-ptsname.c: New file.
20768
20769         New module 'ptsname'.
20770         * lib/ptsname.c: New file, from glibc with modifications.
20771         * m4/ptsname.m4: New file.
20772         * modules/ptsname: New file.
20773         * lib/stdlib.in.h (ptsname): New declaration.
20774         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
20775         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
20776         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
20777         HAVE_PTSNAME.
20778         * doc/posix-functions/ptsname.texi: Mention the new module.
20779         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
20780         * config/srclist.txt: Add ptsname.c (commented).
20781
20782 2010-03-21  Bruno Haible  <bruno@clisp.org>
20783
20784         Tests for module 'ttyname_r'.
20785         * modules/ttyname_r-tests: New file.
20786         * tests/test-ttyname_r.c: New file.
20787
20788         New module 'ttyname_r'.
20789         * lib/ttyname_r.c: New file.
20790         * m4/ttyname_r.m4: New file.
20791         * modules/ttyname_r: New file.
20792         * lib/unistd.in.h (ttyname_r): New declaration.
20793         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
20794         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
20795         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
20796         HAVE_TTYNAME_R.
20797         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
20798         * doc/posix-functions/ttyname_r.texi: Mention the new module.
20799
20800 2010-03-20  Bruno Haible  <bruno@clisp.org>
20801
20802         signal: Undefine macro definitions in C++ mode.
20803         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
20804         sigfillset): Undefine macro definitions from the system header in C++
20805         mode.
20806         Reported by John W. Eaton <jwe@gnu.org>.
20807
20808 2010-03-20  Bruno Haible  <bruno@clisp.org>
20809
20810         Ensure no #include statements inside extern "C" { ... }.
20811         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
20812         contain #include statements.
20813         * lib/time.in.h: Likewise.
20814
20815 2010-03-20  Bruno Haible  <bruno@clisp.org>
20816
20817         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
20818         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
20819         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
20820         Reported by John W. Eaton <jwe@gnu.org>.
20821
20822 2010-03-20  Bruno Haible  <bruno@clisp.org>
20823
20824         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
20825         Reported by Jim Meyering.
20826
20827 2010-03-20  Bruno Haible  <bruno@clisp.org>
20828
20829         pipe: Set errno upon failure.
20830         * lib/pipe.h: Specify that when -1 is returned, errno is set.
20831         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
20832         errno value in error message.
20833
20834 2010-03-20  Bruno Haible  <bruno@clisp.org>
20835             Jim Meyering  <meyering@redhat.com>
20836
20837         lchown: Avoid "unused variable" warning.
20838         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
20839
20840 2010-03-20  Bruno Haible  <bruno@clisp.org>
20841
20842         Work around unlink() bug on MacOS X 10.5.6.
20843         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
20844         attempting to unlink a parent directory.
20845         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
20846         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
20847         activate for the replacement function.
20848         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
20849
20850 2010-03-20  Bruno Haible  <bruno@clisp.org>
20851
20852         Fix link errors on Solaris 8.
20853         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
20854         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
20855
20856 2010-03-19  Jim Meyering  <meyering@redhat.com>
20857
20858         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
20859         The _LIBC implementation of build_range_exp correctly honors the
20860         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
20861         However, the non-_LIBC implementation would ignore that syntax-bit
20862         flag and return REG_ERANGE unconditionally.
20863         This change makes it honor that flag.
20864         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
20865         Make two pointer parameters "const".
20866         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
20867         (parse_bracket_exp): Update caller.
20868
20869         regex.m4: correct the reversed range endpoint ([b-a]) test
20870         * m4/regex.m4: When requiring that [b-a] evoke failure,
20871         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
20872         test pass once again for x86-based systems.
20873
20874 2010-03-19  Bruno Haible  <bruno@clisp.org>
20875
20876         scandir: Fix link error on Solaris 8.
20877         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
20878         macros.
20879
20880 2010-03-19  Bruno Haible  <bruno@clisp.org>
20881
20882         getusershell: Fix documentation.
20883         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
20884         module.
20885         * doc/glibc-functions/setusershell.texi: Likewise.
20886
20887         getusershell: Provide declaration, missing on Solaris 9.
20888         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
20889         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
20890         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
20891         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
20892         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
20893         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
20894         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
20895         HAVE_GETUSERSHELL.
20896         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
20897
20898 2010-03-19  Bruno Haible  <bruno@clisp.org>
20899
20900         wctype: Provide iswblank function.
20901         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
20902         exists and is fine.
20903         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
20904         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
20905         * tests/test-wctype.c (main): Re-enable the iswblank tests.
20906         * doc/posix-functions/iswblank.texi: Update.
20907
20908 2010-03-19  Bruno Haible  <bruno@clisp.org>
20909
20910         Tests of module 'pty' in C++ mode.
20911         * modules/pty-tests: New file.
20912         * tests/test-pty-c++.cc: New file.
20913         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
20914
20915 2010-03-19  Eric Blake  <eblake@redhat.com>
20916
20917         logb: fix documentation
20918         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
20919         1.5 declaration bug.
20920
20921         forkpty, openpty: prefer glibc's const-safe prototype
20922         * lib/forkpty.c (rpl_forkpty): New file.
20923         * lib/openpty.c (rpl_openpty): Likewise.
20924         * modules/forkpty (Files): Distribute it.
20925         * modules/openpty (Files): Likewise.
20926         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
20927         check...
20928         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
20929         replacement for for non-const BSD signature.
20930         * modules/pty (Makefile.am): Substitute witnesses.
20931         * lib/pty.in.h (forkpty, openpty): Declare replacements.
20932         * tests/test-forkpty.c: Update signature check.
20933         * tests/test-openpty.c: Likewise.
20934         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
20935         * doc/glibc-functions/openpty.texi (openpty): Likewise.
20936
20937         forkpty, openpty: split functions into new modules
20938         * modules/pty (Makefile.am): Substitute new witnesses.
20939         (Libraries): Move library detection...
20940         * modules/forkpty: ...into new module.
20941         * modules/openpty: Another new module.
20942         * modules/pty-tests: Rename and split...
20943         * modules/forkpty-tests: ...to this...
20944         * modules/openpty-tests: ...and this.
20945         * tests/test-pty.c: Rename and split...
20946         * tests/test-forkpty.c: ...to this...
20947         * tests/test-openpty.c: ...and this.
20948         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
20949         (gl_PTY): Split library searching...
20950         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
20951         (gl_FORKPTY, gl_OPENPTY): New macros.
20952         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
20953         * NEWS: Mention the split.
20954         * MODULES.html.sh (Misc): Document the modules.
20955         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
20956         * doc/glibc-functions/openpty.texi (openpty): Likewise.
20957
20958         pty: improve replacement header
20959         * lib/pty.in.h: New file.
20960         * modules/pty (Files): Ship it.
20961         (Makefile.am): Always build replacement.
20962         * m4/pty.m4: Rename...
20963         * m4/pty_h.m4: ...to this.
20964         (gl_PTY): Modernize setting of witness macros; update check of
20965         forkpty to take proper advantage of cache.
20966         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
20967
20968         getopt: avoid compiler warning
20969         * lib/getopt.c (attribute_hidden): Remove unused macro.
20970
20971 2010-03-18  Bruno Haible  <bruno@clisp.org>
20972
20973         Fix link errors on Solaris 8.
20974         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
20975         * modules/search-tests (test_search_c___LDADD): Likewise.
20976         * modules/signal-tests (test_signal_c___LDADD): Likewise.
20977         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
20978         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
20979         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
20980         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
20981         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
20982         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
20983
20984 2010-03-18  Bruno Haible  <bruno@clisp.org>
20985
20986         Fix bug introduced on 2010-03-14.
20987         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
20988         (gl_SPAWN_H): Require it.
20989         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
20990         Reported by Simon Josefsson.
20991
20992 2010-03-18  Bruno Haible  <bruno@clisp.org>
20993
20994         Fix typo introduced on 2009-12-31.
20995         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
20996         posix_spawn_file_actions_adddup2.
20997
20998 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
20999         and Eric Blake  <eblake@redhat.com>
21000
21001         test-vc-list-files-git: make more robust
21002         * tests/test-vc-list-files-git.sh: Unset problematic environment
21003         variables.  Chain commands together.
21004
21005 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
21006
21007         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
21008         `AC_CHECK_DECL' invocation.
21009
21010 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
21011
21012         * lib/inttostr.c (inttostr): Make sure the invocation of verify
21013         appears before executable statements. Suggested by Petr Sumbera
21014         <Petr.Sumbera@Sun.COM>.
21015
21016 2010-03-14  Bruno Haible  <bruno@clisp.org>
21017
21018         * tests/test-flock.c (test_exclusive): Comment out a test that causes
21019         portability problems. Instead use a simpler test.
21020         (main): Check that invalid arguments are rejected only on Linux.
21021
21022 2010-03-14  Bruno Haible  <bruno@clisp.org>
21023
21024         Fix bug introduced on 2009-12-31.
21025         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
21026         gl_PREREQ_SYS_H_WINSOCK2 always.
21027         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
21028         SYS_SOCKET_H variable.
21029         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
21030         Update comments.
21031         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
21032         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
21033         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
21034         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
21035         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
21036
21037 2010-03-14  Bruno Haible  <bruno@clisp.org>
21038
21039         Fix values returned by sinl, cosl.
21040         * lib/trigl.h: Add specification comments.
21041         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
21042         that combines the values from the precomputed table with the values of
21043         the Chebyshev polynomials.
21044
21045 2010-03-14  Bruno Haible  <bruno@clisp.org>
21046
21047         Fix compilation error when modules 'posix_spawn[p]' are not used.
21048         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
21049         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
21050
21051 2010-03-14  Bruno Haible  <bruno@clisp.org>
21052
21053         Fix compilation error on mingw when module 'time_r' is not used.
21054         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
21055         is 1.
21056         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
21057         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
21058         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
21059         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
21060
21061 2010-03-14  Bruno Haible  <bruno@clisp.org>
21062
21063         Fix compilation error with Sun C.
21064         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
21065         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
21066         instead of GCC specific ULONG_LONG_MAX.
21067         * lib/xstrtoll.c: Likewise.
21068         * lib/xstrtoull.c: Likewise.
21069
21070 2010-03-13  Bruno Haible  <bruno@clisp.org>
21071
21072         Allow the user to disable C++ code and tests.
21073         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
21074         (gl_PROG_ANSI_CXX): Require it.
21075
21076 2010-03-13  Bruno Haible  <bruno@clisp.org>
21077
21078         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
21079         cases.
21080
21081 2010-03-13  Bruno Haible  <bruno@clisp.org>
21082
21083         Test that gnulib does not break the standard C++ headers.
21084         * tests/test-locale-c++2.cc: New file.
21085         * modules/locale-tests (Files): Add it.
21086         (Makefile.am): Compile it for test-locale-c++.
21087         * tests/test-math-c++2.cc: New file.
21088         * modules/math-tests (Files): Add it.
21089         (Makefile.am): Compile it for test-math-c++.
21090         * tests/test-signal-c++2.cc: New file.
21091         * modules/signal-tests (Files): Add it.
21092         (Makefile.am): Compile it for test-signal-c++.
21093         * tests/test-stdio-c++2.cc: New file.
21094         * modules/stdio-tests (Files): Add it.
21095         (Makefile.am): Compile it for test-stdio-c++.
21096         * tests/test-stdlib-c++2.cc: New file.
21097         * modules/stdlib-tests (Files): Add it.
21098         (Makefile.am): Compile it for test-stdlib-c++.
21099         * tests/test-string-c++2.cc: New file.
21100         * modules/string-tests (Files): Add it.
21101         (Makefile.am): Compile it for test-string-c++.
21102         * tests/test-time-c++2.cc: New file.
21103         * modules/time-tests (Files): Add it.
21104         (Makefile.am): Compile it for test-time-c++.
21105         Reported by John W. Eaton <jwe@gnu.org>.
21106
21107 2010-03-13  Bruno Haible  <bruno@clisp.org>
21108
21109         * gnulib-tool (func_usage): Clarify which options are available for
21110         --create-testdir and --create-megatestdir.
21111
21112 2010-03-13  Bruno Haible  <bruno@clisp.org>
21113
21114         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
21115         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
21116         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
21117         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
21118         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
21119         when appropriate.
21120         Reported by Jim Meyering.
21121
21122 2010-03-12  Simon Josefsson  <simon@josefsson.org>
21123
21124         * gnulib-tool (func_import): Explain origin of code.
21125
21126 2010-03-12  Bruno Haible  <bruno@clisp.org>
21127
21128         Fix problem with automake's definition of CXXLINK.
21129         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
21130         Reported by Simon Josefsson and Ludovic Courtès.
21131
21132 2010-03-12  Bruno Haible  <bruno@clisp.org>
21133
21134         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
21135         stable releases.
21136
21137 2010-03-11  Bruno Haible  <bruno@clisp.org>
21138
21139         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
21140         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
21141         whether the system provides one variant or multiple variants of the
21142         function.
21143         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
21144         C++ compilers.
21145         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
21146         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
21147         Reported by Jim Meyering.
21148
21149 2010-03-09  Simon Josefsson  <simon@josefsson.org>
21150
21151         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
21152
21153 2010-03-08  Bruno Haible  <bruno@clisp.org>
21154
21155         gnulib-tool: Add support for --libtool in --create-testdir.
21156         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
21157         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
21158
21159 2010-03-08  Eric Blake  <eblake@redhat.com>
21160
21161         gnulib-tool.texi: mention possibility of git submodule
21162         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
21163         submodules.
21164         * doc/.gitignore: Ignore another generated file.
21165
21166 2010-03-08  Karl Berry  <karl@gnu.org>
21167
21168         * doc/gnulib-tool.texi (VCS Issues): Mention third option
21169         of committing gnulib files while skipping others.
21170
21171 2010-03-07  Bruno Haible  <bruno@clisp.org>
21172
21173         Tests of module 'wctype' in C++ mode.
21174         * tests/test-wctype-c++.cc: New file.
21175         * modules/wctype-tests (Files): Add it and tests/signature.h.
21176         (Depends-on): Add ansi-c++-opt.
21177         (Makefile.am): Arrange to compile and run test-wctype-c++.
21178
21179         Tests of module 'wchar' in C++ mode.
21180         * tests/test-wchar-c++.cc: New file.
21181         * modules/wchar-tests (Files): Add it and tests/signature.h.
21182         (Depends-on): Add ansi-c++-opt.
21183         (Makefile.am): Arrange to compile and run test-wchar-c++.
21184         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
21185         gl_MODULE_INDICATOR.
21186
21187         Tests of module 'unistd' in C++ mode.
21188         * tests/test-unistd-c++.cc: New file.
21189         * modules/unistd-tests (Files): Add it and tests/signature.h.
21190         (Depends-on): Add ansi-c++-opt.
21191         (Makefile.am): Arrange to compile and run test-unistd-c++.
21192         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
21193         gl_MODULE_INDICATOR.
21194
21195         Tests of module 'time' in C++ mode.
21196         * tests/test-time-c++.cc: New file.
21197         * modules/time-tests (Files): Add it and tests/signature.h.
21198         (Depends-on): Add ansi-c++-opt.
21199         (Makefile.am): Arrange to compile and run test-time-c++.
21200         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
21201
21202         Tests of module 'sys_time' in C++ mode.
21203         * tests/test-sys_time-c++.cc: New file.
21204         * modules/sys_time-tests (Files): Add it and tests/signature.h.
21205         (Depends-on): Add ansi-c++-opt.
21206         (Makefile.am): Arrange to compile and run test-sys_time-c++.
21207         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
21208         gl_MODULE_INDICATOR.
21209
21210         Tests of module 'sys_stat' in C++ mode.
21211         * tests/test-sys_stat-c++.cc: New file.
21212         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
21213         (Depends-on): Add ansi-c++-opt.
21214         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
21215         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
21216         gl_MODULE_INDICATOR.
21217
21218         Tests of module 'sys_socket' in C++ mode.
21219         * tests/test-sys_socket-c++.cc: New file.
21220         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
21221         (Depends-on): Add ansi-c++-opt.
21222         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
21223         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
21224         gl_MODULE_INDICATOR.
21225
21226         Tests of module 'sys_select' in C++ mode.
21227         * tests/test-sys_select-c++.cc: New file.
21228         * modules/sys_select-tests (Files): Add it and tests/signature.h.
21229         (Depends-on): Add ansi-c++-opt.
21230         (Makefile.am): Arrange to compile and run test-sys_select-c++.
21231         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
21232         gl_MODULE_INDICATOR.
21233
21234         Tests of module 'sys_ioctl' in C++ mode.
21235         * tests/test-sys_ioctl-c++.cc: New file.
21236         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
21237         (Depends-on): Add ansi-c++-opt.
21238         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
21239         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
21240         gl_MODULE_INDICATOR.
21241
21242         Tests of module 'string' in C++ mode.
21243         * tests/test-string-c++.cc: New file.
21244         * modules/string-tests (Files): Add it and tests/signature.h.
21245         (Depends-on): Add ansi-c++-opt.
21246         (Makefile.am): Arrange to compile and run test-string-c++.
21247         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
21248         gl_MODULE_INDICATOR.
21249
21250         Tests of module 'stdlib' in C++ mode.
21251         * tests/test-stdlib-c++.cc: New file.
21252         * modules/stdlib-tests (Files): Add it and tests/signature.h.
21253         (Depends-on): Add ansi-c++-opt.
21254         (Makefile.am): Arrange to compile and run test-stdlib-c++.
21255         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
21256         gl_MODULE_INDICATOR.
21257
21258         Tests of module 'stdio' in C++ mode.
21259         * tests/test-stdio-c++.cc: New file.
21260         * modules/stdio-tests (Files): Add it and tests/signature.h.
21261         (Depends-on): Add ansi-c++-opt.
21262         (Makefile.am): Arrange to compile and run test-stdio-c++.
21263         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
21264         gl_MODULE_INDICATOR.
21265
21266         Tests of module 'spawn' in C++ mode.
21267         * tests/test-spawn-c++.cc: New file.
21268         * modules/spawn-tests (Files): Add it and tests/signature.h.
21269         (Depends-on): Add ansi-c++-opt.
21270         (Makefile.am): Arrange to compile and run test-spawn-c++.
21271         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
21272         gl_MODULE_INDICATOR.
21273
21274         Tests of module 'signal' in C++ mode.
21275         * tests/test-signal-c++.cc: New file.
21276         * modules/signal-tests (Files): Add it and tests/signature.h.
21277         (Depends-on): Add ansi-c++-opt.
21278         (Makefile.am): Arrange to compile and run test-signal-c++.
21279         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
21280         gl_MODULE_INDICATOR.
21281
21282         Tests of module 'search' in C++ mode.
21283         * tests/test-search-c++.cc: New file.
21284         * modules/search-tests (Files): Add it and tests/signature.h.
21285         (Depends-on): Add ansi-c++-opt.
21286         (Makefile.am): Arrange to compile and run test-search-c++.
21287         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
21288         gl_MODULE_INDICATOR.
21289
21290         Tests of module 'math' in C++ mode.
21291         * tests/test-math-c++.cc: New file.
21292         * modules/math-tests (Files): Add it and tests/signature.h.
21293         (Depends-on): Add ansi-c++-opt.
21294         (Makefile.am): Arrange to compile and run test-math-c++.
21295         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
21296
21297         Tests of module 'locale' in C++ mode.
21298         * tests/test-locale-c++.cc: New file.
21299         * modules/locale-tests (Files): Add it and tests/signature.h.
21300         (Depends-on): Add ansi-c++-opt.
21301         (Makefile.am): Arrange to compile and run test-locale-c++.
21302         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
21303         gl_MODULE_INDICATOR.
21304
21305         Tests of module 'langinfo' in C++ mode.
21306         * tests/test-langinfo-c++.cc: New file.
21307         * modules/langinfo-tests (Files): Add it and tests/signature.h.
21308         (Depends-on): Add ansi-c++-opt.
21309         (Makefile.am): Arrange to compile and run test-langinfo-c++.
21310         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
21311         gl_MODULE_INDICATOR.
21312
21313         Tests of module 'iconv-h' in C++ mode.
21314         * tests/test-iconv-h-c++.cc: New file.
21315         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
21316         (Depends-on): Add ansi-c++-opt.
21317         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
21318
21319         Tests of module 'glob' in C++ mode.
21320         * tests/test-glob-c++.cc: New file.
21321         * modules/glob-tests (Files): Add it.
21322         (Depends-on): Add ansi-c++-opt.
21323         (Makefile.am): Arrange to compile and run test-glob-c++.
21324
21325         Tests of module 'fcntl-h' in C++ mode.
21326         * tests/test-fcntl-h-c++.cc: New file.
21327         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
21328         (Depends-on): Add ansi-c++-opt.
21329         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
21330         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
21331         gl_MODULE_INDICATOR.
21332
21333         Tests of module 'dirent' in C++ mode.
21334         * tests/test-dirent-c++.cc: New file.
21335         * modules/dirent-tests (Files): Add it and tests/signature.h.
21336         (Depends-on): Add ansi-c++-opt.
21337         (Makefile.am): Arrange to compile and run test-dirent-c++.
21338         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
21339         gl_MODULE_INDICATOR.
21340
21341         New module 'ansi-c++-opt'.
21342         * modules/ansi-c++-opt: New file.
21343         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
21344
21345         Document C++ namespace mode.
21346         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
21347
21348         wctype: Avoid #define replacements in C++ mode.
21349         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
21350         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
21351         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
21352         In C++, define a namespaced alias symbol.
21353         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
21354         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
21355         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
21356         rule.
21357
21358         wchar: Avoid #define replacements in C++ mode.
21359         * lib/wchar.in.h: Include c++defs.h.
21360         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
21361         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
21362         symbol.
21363         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
21364         * modules/wchar (Depends-on): Add c++defs.
21365         (Makefile.am): Update wchar.h rule.
21366
21367         unistd: Avoid #define replacements in C++ mode.
21368         * lib/unistd.in.h: Include c++defs.h.
21369         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
21370         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
21371         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
21372         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
21373         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
21374         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
21375         symbol.
21376         (environ): Update.
21377         * modules/unistd (Depends-on): Add c++defs.
21378         (Makefile.am): Update unistd.h rule.
21379
21380         time: Avoid #define replacements in C++ mode.
21381         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
21382         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
21383         define a namespaced alias symbol.
21384         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
21385         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
21386         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
21387         * modules/time (Depends-on): Add c++defs, warn-on-use.
21388         (Makefile.am): Update time.h rule.
21389         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
21390         * modules/nanosleep (configure.ac): Likewise.
21391         * modules/strptime (configure.ac): Likewise.
21392         * modules/timegm (configure.ac): Likewise.
21393
21394         sys_time: Avoid #define replacements in C++ mode.
21395         * lib/sys_time.in.h: Include c++defs.h.
21396         (gettimeofday): In C++, define a namespaced alias symbol.
21397         * modules/sys_time (Depends-on): Add c++defs.
21398         (Makefile.am): Update sys/time.h rule.
21399
21400         sys_stat: Avoid #define replacements in C++ mode.
21401         * lib/sys_stat.in.h: Include c++defs.h.
21402         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
21403         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
21404         namespaced alias symbol.
21405         In C++, define a namespaced alias symbol.
21406         * modules/sys_stat (Depends-on): Add c++defs.
21407         (Makefile.am): Update sys/stat.h rule.
21408
21409         sys_socket: Avoid #define replacements in C++ mode.
21410         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
21411         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
21412         definitions also when the system has a <sys/socket.h>.
21413         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
21414         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
21415         In C++, define a namespaced alias symbol.
21416         * modules/sys_socket (Depends-on): Add c++defs.
21417         (Makefile.am): Update sys/socket.h rule.
21418
21419         sys_select: Avoid #define replacements in C++ mode.
21420         * lib/sys_select.in.h: Include c++defs.h. Enable the function
21421         definitions also when the system has a <sys/select.h>.
21422         (select): In C++, define a namespaced alias symbol.
21423         * modules/sys_select (Depends-on): Add c++defs.
21424         (Makefile.am): Update sys/select.h rule.
21425
21426         sys_ioctl: Avoid #define replacements in C++ mode.
21427         * lib/sys_ioctl.in.h: Include c++defs.h.
21428         (ioctl): In C++, define a namespaced alias symbol.
21429         * modules/sys_ioctl (Depends-on): Add c++defs.
21430         (Makefile.am): Update sys/ioctl.h rule.
21431
21432         string: Avoid #define replacements in C++ mode.
21433         * lib/string.in.h: Include c++defs.h.
21434         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
21435         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
21436         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
21437         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
21438         strsignal, strverscmp): In C++, define a namespaced alias symbol.
21439         * modules/string (Depends-on): Add c++defs.
21440         (Makefile.am): Update string.h rule.
21441
21442         stdlib: Avoid #define replacements in C++ mode.
21443         * lib/stdlib.in.h: Include c++defs.h.
21444         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
21445         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
21446         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
21447         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
21448         symbol.
21449         * modules/stdlib (Depends-on): Add c++defs.
21450         (Makefile.am): Update stdlib.h rule.
21451
21452         stdio: Avoid #define replacements in C++ mode.
21453         * lib/stdio.in.h: Include c++defs.h.
21454         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
21455         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
21456         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
21457         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
21458         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
21459         namespaced alias symbol.
21460         * modules/stdio (Depends-on): Add c++defs.
21461         (Makefile.am): Update stdio.h rule.
21462
21463         spawn: Avoid #define replacements in C++ mode.
21464         * lib/spawn.in.h: Include c++defs.h.
21465         (posix_spawn, posix_spawnp, posix_spawnattr_init,
21466         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
21467         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
21468         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
21469         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
21470         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
21471         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
21472         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
21473         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
21474         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
21475         In C++, define a namespaced alias symbol.
21476         * modules/spawn (Depends-on): Add c++defs.
21477         (Makefile.am): Update spawn.h rule.
21478
21479         signal: Avoid #define replacements in C++ mode.
21480         * lib/signal.in.h: Include c++defs.h.
21481         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
21482         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
21483         namespaced alias symbol.
21484         * modules/signal (Depends-on): Add c++defs.
21485         (Makefile.am): Update signal.h rule.
21486
21487         search: Avoid #define replacements in C++ mode.
21488         * lib/search.in.h: Include c++defs.h.
21489         (_gl_search_compar_fn, _gl_search_action_fn): New types.
21490         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
21491         symbol.
21492         * modules/search (Depends-on): Add c++defs.
21493         (Makefile.am): Update search.h rule.
21494
21495         math: Avoid #define replacements in C++ mode.
21496         * lib/math.in.h: Include c++defs.h.
21497         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
21498         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
21499         trunc, truncl): In C++, define a namespaced alias symbol.
21500         * modules/math (Depends-on): Add c++defs.
21501         (Makefile.am): Update math.h rule.
21502
21503         locale: Avoid #define replacements in C++ mode.
21504         * lib/locale.in.h: Include c++defs.h.
21505         (duplocale): In C++, define a namespaced alias symbol.
21506         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
21507         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
21508         * modules/locale (Depends-on): Add c++defs.
21509         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
21510
21511         langinfo: Avoid #define replacements in C++ mode.
21512         * lib/langinfo.in.h: Include c++defs.h.
21513         (nl_langinfo): In C++, define a namespaced alias symbol.
21514         * modules/langinfo (Depends-on): Add c++defs.
21515         (Makefile.am): Update langinfo.h rule.
21516
21517         iconv-h: Avoid #define replacements in C++ mode.
21518         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
21519         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
21520         symbol.
21521         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
21522         whenever iconv is present.
21523         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
21524         (Makefile.am): Update iconv.h rule.
21525
21526         glob: Avoid #define replacements in C++ mode.
21527         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
21528         (_gl_glob_errfunc_fn): New type.
21529         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
21530         symbol.
21531         * modules/glob (Depends-on): Add c++defs, warn-on-use.
21532         (Makefile.am): Update glob.h rule.
21533
21534         fcntl-h: Avoid #define replacements in C++ mode.
21535         * lib/fcntl.in.h: Include c++defs.h.
21536         (fcntl, open, openat): In C++, define a namespaced alias symbol.
21537         * modules/fcntl-h (Depends-on): Add c++defs.
21538         (Makefile.am): Update fcntl.h rule.
21539
21540         dirent: Avoid #define replacements in C++ mode.
21541         * lib/dirent.in.h: Include c++defs.h.
21542         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
21543         namespaced alias symbol.
21544         (dirfd): Update declaration.
21545         * modules/dirent (Depends-on): Add c++defs.
21546         (Makefile.am): Update dirent.h rule.
21547
21548         ctype: Make it usable in C++ code.
21549         * lib/ctype.in.h: Include c++defs.h.
21550         (isblank): Declare as extern "C".
21551         * modules/ctype (Depends-on): Add c++defs.
21552         (Makefile.am): Update ctype.h rule.
21553
21554         New module 'c++defs'.
21555         * modules/c++defs: New file.
21556         * build-aux/c++defs.h: New file.
21557         Reported by John W. Eaton <jwe@gnu.org>.
21558
21559 2010-03-07  Bruno Haible  <bruno@clisp.org>
21560
21561         logb: Provide missing declaration for Cygwin.
21562         * lib/math.in.h (logb): New declaration.
21563         * m4/logb.m4: New file.
21564         * modules/logb (Files): Add m4/logb.m4.
21565         (Depends-on): Add math.
21566         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
21567         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
21568         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
21569         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
21570         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
21571
21572 2010-03-07  Bruno Haible  <bruno@clisp.org>
21573
21574         Fix test-cond link error.
21575         * tests/test-cond.c: Include <stdio.h>.
21576
21577 2010-03-07  Bruno Haible  <bruno@clisp.org>
21578
21579         Fix test-dirent-safer link error.
21580         * modules/dirent-safer-tests (Makefile.am): Define
21581         test_dirent_safer_LDADD.
21582
21583 2010-03-07  Bruno Haible  <bruno@clisp.org>
21584
21585         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
21586         among default module list.
21587
21588 2010-03-07  Bruno Haible  <bruno@clisp.org>
21589
21590         Fix link error on platforms with GNU libiconv.
21591         * modules/unistr/u8-strcoll-tests (Makefile): Define
21592         test_u8_strcoll_LDADD.
21593         * modules/unistr/u16-strcoll-tests (Makefile): Define
21594         test_u16_strcoll_LDADD.
21595         * modules/unistr/u32-strcoll-tests (Makefile): Define
21596         test_u32_strcoll_LDADD.
21597
21598 2010-03-07  Bruno Haible  <bruno@clisp.org>
21599
21600         Use POSIX declarations for socket functions.
21601         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
21602         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
21603         rpl_sendto): Change declaration to match POSIX.
21604         * lib/connect.c (rpl_connect): Likewise.
21605         * lib/accept.c (rpl_accept): Likewise.
21606         * lib/bind.c (rpl_bind): Likewise.
21607         * lib/getpeername.c (rpl_getpeername): Likewise.
21608         * lib/getsockname.c (rpl_getsockname): Likewise.
21609         * lib/recv.c (rpl_recv): Likewise.
21610         * lib/send.c (rpl_send): Likewise.
21611         * lib/recvfrom.c (rpl_recvfrom): Likewise.
21612         * lib/sendto.c (rpl_sendto): Likewise.
21613
21614 2010-03-06  Bruno Haible  <bruno@clisp.org>
21615
21616         Clarify access, euidaccess, faccessat.
21617         * doc/posix-functions/faccessat.texi: Mention security problem under
21618         "Other problems", not "Portability problems".
21619         * doc/posix-functions/access.texi: Likewise. Mention a related security
21620         problem.
21621         * doc/glibc-functions/euidaccess.texi: Mention security problems.
21622         * lib/euidaccess.c: Add comments about platforms.
21623         * lib/unistd.in.h (access, euidaccess): Add warnings.
21624
21625 2010-03-07  Bruno Haible  <bruno@clisp.org>
21626
21627         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
21628         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
21629         (POSIX_SPAWN_SETSCHEDULER): Likewise.
21630         (POSIX_SPAWN_USEVFORK): Define in a way that works when
21631         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
21632         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
21633         declare when POSIX_SPAWN_SETSCHEDULER is zero.
21634         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
21635         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
21636         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
21637         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
21638         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
21639         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
21640         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
21641         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
21642         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
21643         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
21644         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
21645         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
21646         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
21647         Likewise.
21648         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
21649         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
21650         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
21651         Likewise.
21652         * tests/test-spawn.c (main): Make it work when
21653         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
21654
21655 2010-03-07  Bruno Haible  <bruno@clisp.org>
21656
21657         Fix incorrect Makefile.am generation in German locale.
21658         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
21659         Execute sed command with character range in C locale.
21660
21661 2010-03-06  Bruno Haible  <bruno@clisp.org>
21662
21663         Tests for module 'iconv-h'.
21664         * modules/iconv-h-tests: New file.
21665         * tests/test-iconv-h.c: New file.
21666
21667         New module 'iconv-h'.
21668         * modules/iconv-h: New file.
21669         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
21670         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
21671         (configure.ac): Remove gl_ICONV_H.
21672         (Makefile.am): Remove rule for iconv.h.
21673
21674 2010-03-06  Bruno Haible  <bruno@clisp.org>
21675
21676         More consistent naming of *.m4 files.
21677         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
21678         * modules/wctype (Files): Update.
21679
21680         More consistent naming of *.m4 files.
21681         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
21682         * modules/wchar (Files): Update.
21683
21684 2010-03-06  Jim Meyering  <meyering@redhat.com>
21685
21686         euidaccess: relax license to LGPLv2+
21687         * modules/euidaccess (License): Relax to LGPLv2+.
21688
21689 2010-03-06  Bruno Haible  <bruno@clisp.org>
21690
21691         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
21692         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
21693         (Makefile.am): Augment lib_SOURCES instead.
21694
21695 2010-03-04  Jim Meyering  <meyering@redhat.com>
21696
21697         utime: remove obsolete module
21698         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
21699         unnecessary for years, and has been marked as obsolete for 10 months.
21700         * modules/utime: Remove file.
21701         * lib/utime.c: Remove file.
21702         * m4/utime.m4: Remove file.
21703         * m4/utimes-null.m4: Remove file.
21704         * doc/posix-functions/utime.texi (utime): Remove reference to
21705         the module.  Move the sole "fixed by gnulib" item into the
21706         "problems not fixed by Gnulib" list.
21707         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
21708
21709 2010-03-05  Simon Josefsson  <simon@josefsson.org>
21710
21711         * modules/exit (License): Relax license to LGPLv2+.
21712         (Status): Mark as obsolete.
21713         * NEWS: Mention deprecated 'exit' module.
21714         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
21715         of now obsolete 'exit'.
21716
21717 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21718
21719         fts-lgpl: remove unused module
21720         * modules/fts-lgpl: Remove.
21721         * MODULES.html.sh (func_all_modules): Adjust.
21722         * check-module (find_included_lib_files): Adjust.
21723         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
21724
21725 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
21726
21727         copy-acl: enhance Solaris ACL error handling
21728         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
21729         * lib/set-mode-acl.c (qset_acl): Likewise.
21730
21731 2010-03-02  Bruno Haible  <bruno@clisp.org>
21732
21733         spawn: Don't override the system defined values on FreeBSD 8.
21734         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
21735         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
21736         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
21737         if HAVE_POSIX_SPAWN is 1.
21738         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
21739
21740 2010-03-01  Bruno Haible  <bruno@clisp.org>
21741
21742         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
21743         regarding Automake.
21744
21745 2010-02-25  Bruno Haible  <bruno@clisp.org>
21746
21747         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
21748         * gnulib-tool: Define 'echo' as a function only before the ksh alias
21749         setting, not afterwards.
21750         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
21751
21752 2010-02-24  Eric Blake  <eblake@redhat.com>
21753
21754         bootstrap, git-version-gen: use timestamp
21755         * build-aux/git-version-gen (scriptversion): Force UTC.
21756         * build-aux/bootstrap (scriptversion): New variable.
21757
21758         bootstrap: allow older git
21759         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
21760         older than 1.6.4.  Requested by the libvirt project.
21761
21762 2010-02-23  Eric Blake  <eblake@redhat.com>
21763
21764         warn-on-use: work with old autoconf
21765         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
21766         AS_VAR semantics of autoconf 2.60.
21767         Reported by Bruno Haible.
21768
21769         bootstrap: improve some comments
21770         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
21771         clarification comments.
21772
21773         gettimeofday: provide correct function
21774         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
21775         when replacement is declared, otherwise provide gettimeofday.
21776         Reported by Michael Goffioul.
21777
21778 2010-02-23  Jim Meyering  <meyering@redhat.com>
21779
21780         lib-ignore: relax license to "unlimited", not LGPLv2+
21781         * modules/lib-ignore (License): Relax to "unlimited".
21782
21783 2010-02-23  Jim Meyering  <meyering@redhat.com>
21784
21785         lib-ignore: relax license to LGPLv2+
21786         * modules/lib-ignore (License): Relax to LGPLv2+.
21787
21788 2010-02-22  Eric Blake  <eblake@redhat.com>
21789
21790         lseek: avoid bash 3.2 broken pipe bug
21791         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
21792         warning from bash 3.2.
21793         Reported by Ben Pfaff, with analysis from Bruno Haible.
21794
21795         bootstrap: support non-FSF copyright holder
21796         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
21797         bootstrap.conf override of COPYRIGHT_HOLDER.
21798         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
21799
21800         bootstrap: interoperate with gettext 0.14.1
21801         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
21802
21803         bootstrap: allow for alternate submodule location
21804         * build-aux/bootstrap (gnulib_path): New variable; use instead of
21805         hardcoding submodule location.
21806         (gnulib_mk): Allow direct use of Makefile.am.
21807
21808         bootstrap: use GNULIB_SRCDIR to reduce disk usage
21809         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
21810         rather than reconfiguring where the submodule points.
21811
21812         gettimeofday: restore support for platforms that lack function
21813         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
21814         replacement if function is missing.
21815         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
21816         * modules/sys_time (Makefile.am): Substitute it.
21817         * lib/sys_time.in.h (gettimeofday): Check it.
21818         Reported by Michael Goffioul.
21819
21820 2010-02-21  Bruno Haible  <bruno@clisp.org>
21821
21822         * lib/stdio.in.h (obstack_printf): Fix typo.
21823
21824 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
21825
21826         vc-list-files: use bzr ls's -R option
21827         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
21828         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
21829
21830 2010-02-21  Jim Meyering  <meyering@redhat.com>
21831
21832         init.sh: fix EXEEXT shims to work also for names like test-prog
21833         * tests/init.sh: Re-exec a better shell, when needed.
21834         If the current shell lacks support for posix $(...), an init.sh-using
21835         test will now try to find a shell that supports that.  If EXEEXT is
21836         nonempty, we also require support for hyphen-in-alias-name and shell
21837         substitutions like ${var#glob}.  Failure to find such a shell results
21838         in a skipped test.
21839
21840 2010-02-21  Bruno Haible  <bruno@clisp.org>
21841
21842         Really work around around "broken pipe" error message from bash 3.2.
21843         * gnulib-tool (func_reset_sigpipe): Remove function.
21844         (echo): In bash 3.2, define to a function that uses printf.
21845         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
21846
21847 2010-02-20  Bruno Haible  <bruno@clisp.org>
21848
21849         Restore support for automake 1.9.6 with autoconf 2.61.
21850         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
21851         Reported by James Youngman <jay@gnu.org>.
21852
21853 2010-02-20  Bruno Haible  <bruno@clisp.org>
21854
21855         Improve *printf warning condition.
21856         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
21857         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
21858         and the function is overridden due to SIGPIPE emulation.
21859
21860 2010-02-20  Bruno Haible  <bruno@clisp.org>
21861
21862         * lib/stdio.in.h: Tweak comments.
21863
21864 2010-02-19  Bruno Haible  <bruno@clisp.org>
21865
21866         Make it easier to find modules. New gnulib-tool option '--find'.
21867         * gnulib-tool: New option --find.
21868         (func_usage): Document it.
21869         (func_sanitize_modulelist): New function, extracted from
21870         func_all_modules.
21871         (func_all_modules): Invoke it.
21872         * doc/gnulib-tool.texi (Which modules?): New node.
21873
21874 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
21875
21876         * lib/sys_select.in.h: Provide select replacement even if
21877         sys/select.h exists on a system, for Interix.
21878
21879 2010-02-18  Jim Meyering  <meyering@redhat.com>
21880
21881         init.sh: don't use $(...) just yet
21882         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
21883         to accommodate e.g., Solaris' /bin/sh.
21884
21885 2010-02-17  Bruno Haible  <bruno@clisp.org>
21886
21887         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
21888         Reported by Ludovic Courtès <ludo@gnu.org>.
21889
21890 2010-02-16  Simon Josefsson  <simon@josefsson.org>
21891
21892         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
21893         linking with -lintl.
21894
21895 2010-02-17  Simon Josefsson  <simon@josefsson.org>
21896
21897         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
21898         if not provided by the system's netdb.h.  Reported by
21899         ludo@gnu.org (Ludovic Courtès).
21900
21901 2010-02-15  Jim Meyering  <meyering@redhat.com>
21902
21903         init.sh: improve portability and efficiency
21904         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
21905         "dummy" in a for loop.
21906         Use '!', not '^' to select the complement of a character set used
21907         in a "case" statement.
21908         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
21909         Suggestions from Eric Blake.
21910
21911         init.sh: automatically accommodate programs with the .exe suffix
21912         Automatically arrange for an invocation of "prog" to execute the
21913         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
21914         may use the simpler "prog", yet still work when built on a system
21915         that requires specifying the added suffix.
21916         Do this by constructing a function named "prog" that invokes
21917         "prog.exe" for each .exe file in selected directories.
21918         * tests/init.sh (find_exe_basenames_): New function.
21919         (create_exe_shim_functions_): New function.
21920         (path_prepend_): Use it.
21921
21922         maint.mk: mark syntax-check sc_*.m rules as .PHONY
21923         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
21924         "make -t syntax-check" doesn't create a ton of sc_*.m files.
21925
21926 2010-02-14  Jim Meyering  <meyering@redhat.com>
21927
21928         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
21929         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
21930         (sc_prohibit_hash_pjw_without_use): New rule.
21931
21932         maint.mk: allow the default upload destination dir to be overridden
21933         * top/maint.mk (upload_dest_dir_): Define with a default that
21934         preserves the status quo.
21935         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
21936         Reported by Peter Simons.
21937
21938         maint.mk: prohibit inclusion of "hash.h" without_use
21939         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
21940
21941 2010-02-10  Jim Meyering  <meyering@redhat.com>
21942
21943         maint.mk: prohibit inclusion of "ignore-value.h" without_use
21944         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
21945
21946 2010-02-09  Eric Blake  <ebb9@byu.net>
21947         and Bruno Haible  <bruno@clisp.org>
21948
21949         obstack-printf-posix: ensure declaration
21950         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
21951         extracted from gl_FUNC_OBSTACK_PRINTF.
21952         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
21953         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
21954         Likewise.
21955         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
21956         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
21957         0.
21958
21959 2010-02-08  Bruno Haible  <bruno@clisp.org>
21960
21961         gnulib-tool: Fix typo in 2010-02-07 commit.
21962         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
21963         Reported by Eric Blake.
21964
21965 2010-02-07  Bruno Haible  <bruno@clisp.org>
21966
21967         gnulib-tool: Fix up caching patches.
21968         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
21969         option --no-cache. Use associative arrays when supported by the shell.
21970         (sed_comments): New variable.
21971         (modcache): Renamed from do_cache.
21972         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
21973         abbreviate unnecessarily.
21974         (have_associative): New variable.
21975         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
21976         way also for ksh and zsh.
21977         (func_init_sed_convert_to_cache_statements): New function, extracted
21978         from func_cache_lookup_module. Add support for associative arrays.
21979         Don't set the c_MODULE_cached variable here. Ignore all lines before
21980         the first field header. Remove only the final newline, not all trailing
21981         newlines. Support empty fields correctly. Limit the use of 'eval' to
21982         assignments.
21983         (func_get_description, func_get_status, func_get_notice,
21984         func_get_applicability, func_get_filelist, func_get_dependencies,
21985         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
21986         func_get_automake_snippet, func_get_include_directive,
21987         func_get_link_directive, func_get_license, func_get_maintainer):
21988         Update documentation. List the unoptimized code first. Add support for
21989         associative arrays. Limit the use of 'eval' to assignments.
21990         (func_get_applicability): Undo stylistic pessimisations.
21991         (func_get_automake_snippet, func_get_include_directive): Reduce code
21992         duplication.
21993         (func_modules_transitive_closure, func_modules_add_dummy,
21994         func_modules_notice, func_modules_to_filelist, func_add_file,
21995         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
21996         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
21997         func_create_testdir, func_create_megatestdir): Update documentation.
21998
21999 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22000
22001         * gnulib-tool (func_cache_lookup_module): Store the module name
22002         belonging to the cache variable; error out if two different
22003         module names map to the same cache variable name.
22004
22005 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22006
22007         gnulib-tool: Make caching optional.
22008         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
22009         Update matching short versions of --no-changelog.
22010         (func_usage): Update.
22011         (sed_extract_cache_prog): Renamed from ...
22012         (sed_extract_prog): ... this; revert to old extraction script.
22013         (func_get_description, func_get_status)
22014         (func_get_notice, func_get_applicability, func_get_filelist)
22015         (func_get_dependencies, func_get_autoconf_early_snippet)
22016         (func_get_autoconf_snippet, func_get_automake_snippet)
22017         (func_get_include_directive, func_get_link_directive)
22018         (func_get_license, func_get_maintainer): If $do_cache is false,
22019         use old, non-caching extraction scripts.
22020         Suggestion by Bruno Haible.
22021
22022 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22023
22024         gnulib-tool: cache module metainformation.
22025         * gnulib-tool (sed_extract_prog): Match newline before each
22026         header, and rewrite header to a shell variable suffix.
22027         (func_cache_var, func_cache_lookup_module): New functions,
22028         to turn a module name into a cache variable prefix, and to
22029         look up and cache module metainformation.
22030         (func_get_description, func_get_status)
22031         (func_get_notice, func_get_applicability, func_get_filelist)
22032         (func_get_dependencies, func_get_autoconf_early_snippet)
22033         (func_get_autoconf_snippet, func_get_automake_snippet)
22034         (func_get_include_directive, func_get_link_directive)
22035         (func_get_license, func_get_maintainer): Use
22036         func_cache_lookup_module.
22037
22038 2010-02-07  Bruno Haible  <bruno@clisp.org>
22039
22040         fnctl: Fix missing dependency.
22041         * modules/fcntl (Depends-on): Add getdtablesize.
22042         Reported by John W. Eaton <jwe@gnu.org>.
22043
22044 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
22045
22046         Argp: fix recognition of short alias options.
22047
22048         * lib/argp-parse.c (convert_options): Fix improper use of
22049         `|' between character values.
22050         * tests/test-argp.c (group1_option): New alias option
22051         --read (-r).
22052         (group1_parser): Special handling for 'r'.
22053         (test15): New test case.
22054         (test_fun): Add test15.
22055         * tests/test-argp-2.sh: Update expected --help and --usage
22056         outputs.
22057
22058 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
22059
22060         * tests/test-argp.c: Fix indentation.
22061
22062 2010-02-04  Eric Blake  <ebb9@byu.net>
22063
22064         gettimeofday: expose type of second argument
22065         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
22066         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
22067         * tests/test-gettimeofday.c: Use it to silence warning.
22068         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
22069         the issue.
22070
22071 2010-02-03  Jim Meyering  <meyering@redhat.com>
22072
22073         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
22074         * lib/regcomp.c (TYPE_SIGNED): Define.
22075         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
22076
22077         regcomp.c: avoid a new -Wshadow warning
22078         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
22079
22080 2010-02-01  Jim Meyering  <meyering@redhat.com>
22081
22082         removing useless parentheses in cpp #define directives
22083         For motivation, see commit c0221df4, "define STREQ(a,b)
22084         consistently, removing useless parentheses"
22085         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
22086         * lib/mountlist.c (MNT_IGNORE): Likewise.
22087         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
22088
22089 2010-02-01  Eric Blake  <ebb9@byu.net>
22090
22091         sys_time: use link-warning
22092         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
22093         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
22094         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
22095         * modules/sys_time (Depends-on): Add warn-on-use.
22096         (Makefile.am): Always build replacement.
22097         (configure.ac): Update substitutions.
22098         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
22099         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
22100         bother with SYS_TIME_H.
22101         * modules/gettimeofday (configure.ac): Declare indicator.
22102         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
22103         in use.
22104
22105         closein-tests: silence compiler warning
22106         * tests/test-closein.c (main): Ignore fread result.
22107         * modules/closein-tests (Depends-on): Add ignore-value.
22108
22109         tests: silence warning about system return
22110         * tests/test-areadlink-with-size.c (main): Ignore system result.
22111         * tests/test-areadlink.c (main): Likewise.
22112         * tests/test-areadlinkat-with-size.c (main): Likewise.
22113         * tests/test-areadlinkat.c (main): Likewise.
22114         * tests/test-canonicalize-lgpl.c (main): Likewise.
22115         * tests/test-canonicalize.c (main): Likewise.
22116         * tests/test-chown.c (main): Likewise.
22117         * tests/test-fchownat.c (main): Likewise.
22118         * tests/test-fdutimensat.c (main): Likewise.
22119         * tests/test-fstatat.c (main): Likewise.
22120         * tests/test-futimens.c (main): Likewise.
22121         * tests/test-lchown.c (main): Likewise.
22122         * tests/test-link.c (main): Likewise.
22123         * tests/test-linkat.c (main): Likewise.
22124         * tests/test-lstat.c (main): Likewise.
22125         * tests/test-mkdir.c (main): Likewise.
22126         * tests/test-mkdirat.c (main): Likewise.
22127         * tests/test-mkfifo.c (main): Likewise.
22128         * tests/test-mkfifoat.c (main): Likewise.
22129         * tests/test-mknod.c (main): Likewise.
22130         * tests/test-readlink.c (main): Likewise.
22131         * tests/test-remove.c (main): Likewise.
22132         * tests/test-rename.c (main): Likewise.
22133         * tests/test-renameat.c (main): Likewise.
22134         * tests/test-rmdir.c (main): Likewise.
22135         * tests/test-symlink.c (main): Likewise.
22136         * tests/test-symlinkat.c (main): Likewise.
22137         * tests/test-unlink.c (main): Likewise.
22138         * tests/test-unlinkat.c (main): Likewise.
22139         * tests/test-utimens.c (main): Likewise.
22140         * tests/test-utimensat.c (main): Likewise.
22141         * modules/areadlink-tests (Depends-on): Add ignore-value.
22142         * modules/areadlink-with-size-tests (Depends-on): Likewise.
22143         * modules/areadlinkat-tests (Depends-on): Likewise.
22144         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
22145         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
22146         * modules/canonicalize-tests (Depends-on): Likewise.
22147         * modules/chown-tests (Depends-on): Likewise.
22148         * modules/fdutimensat-tests (Depends-on): Likewise.
22149         * modules/futimens-tests (Depends-on): Likewise.
22150         * modules/lchown-tests (Depends-on): Likewise.
22151         * modules/link-tests (Depends-on): Likewise.
22152         * modules/linkat-tests (Depends-on): Likewise.
22153         * modules/lstat-tests (Depends-on): Likewise.
22154         * modules/mkdir-tests (Depends-on): Likewise.
22155         * modules/mkfifo-tests (Depends-on): Likewise.
22156         * modules/mkfifoat-tests (Depends-on): Likewise.
22157         * modules/mknod-tests (Depends-on): Likewise.
22158         * modules/openat-tests (Depends-on): Likewise.
22159         * modules/readlink-tests (Depends-on): Likewise.
22160         * modules/remove-tests (Depends-on): Likewise.
22161         * modules/rename-tests (Depends-on): Likewise.
22162         * modules/renameat-tests (Depends-on): Likewise.
22163         * modules/rmdir-tests (Depends-on): Likewise.
22164         * modules/symlink-tests (Depends-on): Likewise.
22165         * modules/symlinkat-tests (Depends-on): Likewise.
22166         * modules/unlink-tests (Depends-on): Likewise.
22167         * modules/utimens-tests (Depends-on): Likewise.
22168         * modules/utimensat-tests (Depends-on): Likewise.
22169
22170 2010-01-31  Bruno Haible  <bruno@clisp.org>
22171
22172         Perform the same test for many <math.h> functions.
22173         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
22174         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
22175         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
22176         of gl_MATHFUNC.
22177         * modules/acos (configure.ac): Likewise.
22178         * modules/asin (configure.ac): Likewise.
22179         * modules/atan (configure.ac): Likewise.
22180         * modules/atan2 (configure.ac): Likewise.
22181         * modules/cbrt (configure.ac): Likewise.
22182         * modules/copysign (configure.ac): Likewise.
22183         * modules/cos (configure.ac): Likewise.
22184         * modules/cosh (configure.ac): Likewise.
22185         * modules/erf (configure.ac): Likewise.
22186         * modules/erfc (configure.ac): Likewise.
22187         * modules/exp (configure.ac): Likewise.
22188         * modules/fmod (configure.ac): Likewise.
22189         * modules/hypot (configure.ac): Likewise.
22190         * modules/j0 (configure.ac): Likewise.
22191         * modules/j1 (configure.ac): Likewise.
22192         * modules/jn (configure.ac): Likewise.
22193         * modules/lgamma (configure.ac): Likewise.
22194         * modules/log (configure.ac): Likewise.
22195         * modules/log10 (configure.ac): Likewise.
22196         * modules/log1p (configure.ac): Likewise.
22197         * modules/pow (configure.ac): Likewise.
22198         * modules/remainder (configure.ac): Likewise.
22199         * modules/sin (configure.ac): Likewise.
22200         * modules/sinh (configure.ac): Likewise.
22201         * modules/tan (configure.ac): Likewise.
22202         * modules/tanh (configure.ac): Likewise.
22203         * modules/y0 (configure.ac): Likewise.
22204         * modules/y1 (configure.ac): Likewise.
22205         * modules/yn (configure.ac): Likewise.
22206         Suggested by Paolo Bonzini.
22207
22208 2010-01-31  Bruno Haible  <bruno@clisp.org>
22209
22210         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
22211
22212 2010-01-31  Bruno Haible  <bruno@clisp.org>
22213
22214         Work around getdelim() bug on FreeBSD 8.0.
22215         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
22216         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
22217         not work.
22218         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
22219         is 1.
22220         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
22221         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
22222         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
22223         a non-zero size.
22224         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
22225
22226 2010-01-31  Bruno Haible  <bruno@clisp.org>
22227
22228         Work around getline() bug on FreeBSD 8.0.
22229         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
22230         and a non-zero size.
22231         * tests/test-getline.c (main): Likewise.
22232         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
22233         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
22234
22235 2010-01-28  Eric Blake  <ebb9@byu.net>
22236
22237         regex: fix build failure
22238         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
22239         platforms.
22240
22241 2010-01-28  Jim Meyering  <meyering@redhat.com>
22242
22243         regex: do not ignore memory allocation failure
22244         * lib/regex_internal.c (create_cd_newstate): Detect
22245         re_node_set_init_copy failure.   Extracted from glibc commit
22246         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
22247
22248         regex: sync more white-space changes from libc
22249         * lib/regex_internal.c: White-space only changes.
22250         * lib/regexec.c: Likewise.
22251
22252         regex: add many uses of __attribute_warn_unused_result__
22253         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
22254         * lib/regexec.c: Likewise.
22255         Extracted from a messy glibc commit.
22256
22257         regcomp.c: spelling and merge-artifact from glibc
22258         * lib/regcomp.c: Merge remainder of glibc's
22259         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
22260
22261         regcomp.c: sync white-space changes from glibc
22262         * lib/regcomp.c: Merge to accommodate white space
22263         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
22264
22265         regcomp.c: do not ignore internal return values
22266         * lib/regcomp.c: Do not ignore internal return values.
22267         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
22268         but without its white-space changes and spelling fixes.
22269
22270         regex_internal.h: define __attribute_warn_unused_result__
22271         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
22272
22273         maint: add a syntax-check rule to check for vulnerable Makefile.in
22274         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
22275
22276 2010-01-27  Jim Meyering  <meyering@redhat.com>
22277
22278         ncftpput-ftp: clean up spaces
22279         * build-aux/ncftpput-ftp: Make Copyright line consistent.
22280         Remove trailing blanks.
22281
22282 2010-01-27  Simon Josefsson  <simon@josefsson.org>
22283
22284         * build-aux/git-version-gen: Fix copyright statement.
22285         * build-aux/gnupload: Likewise.
22286         * tests/test-arcfour.c: Likewise.
22287         * tests/test-arctwo.c: Likewise.
22288         * tests/test-count-one-bits.c: Likewise.
22289         * tests/test-crc.c: Likewise.
22290         * tests/test-des.c: Likewise.
22291         * tests/test-gc-arcfour.c: Likewise.
22292         * tests/test-gc-arctwo.c: Likewise.
22293         * tests/test-gc-des.c: Likewise.
22294         * tests/test-gc-hmac-md5.c: Likewise.
22295         * tests/test-gc-hmac-sha1.c: Likewise.
22296         * tests/test-gc-md2.c: Likewise.
22297         * tests/test-gc-md4.c: Likewise.
22298         * tests/test-gc-md5.c: Likewise.
22299         * tests/test-gc-pbkdf2-sha1.c: Likewise.
22300         * tests/test-gc-rijndael.c: Likewise.
22301         * tests/test-gc-sha1.c: Likewise.
22302         * tests/test-gc.c: Likewise.
22303         * tests/test-gethostname.c: Likewise.
22304         * tests/test-gettimeofday.c: Likewise.
22305         * tests/test-hash.c: Likewise.
22306         * tests/test-hmac-md5.c: Likewise.
22307         * tests/test-hmac-sha1.c: Likewise.
22308         * tests/test-md2.c: Likewise.
22309         * tests/test-md4.c: Likewise.
22310         * tests/test-md5.c: Likewise.
22311         * tests/test-memchr.c: Likewise.
22312         * tests/test-memchr2.c: Likewise.
22313         * tests/test-memcmp.c: Likewise.
22314         * tests/test-memmem.c: Likewise.
22315         * tests/test-memrchr.c: Likewise.
22316         * tests/test-rawmemchr.c: Likewise.
22317         * tests/test-read-file.c: Likewise.
22318         * tests/test-rijndael.c: Likewise.
22319         * tests/test-sockets.c: Likewise.
22320         * tests/test-strchrnul.c: Likewise.
22321         * tests/test-strstr.c: Likewise.
22322         * tests/test-strtod.c: Likewise.
22323         * build-aux/ncftpput-ftp: Likewise.
22324
22325 2010-01-26  Eric Blake  <ebb9@byu.net>
22326
22327         ignore-value: update recommended header name
22328         * modules/ignore-value (Include): Only use <> for headers that
22329         exist in glibc.
22330
22331 2010-01-26  Jim Meyering  <meyering@redhat.com>
22332
22333         test-userspec.c: avoid compiler warnings
22334         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
22335         and "initialization discards qualifiers..." warnings.
22336         Put the first "uid" in its own scope, and make char* members "const".
22337
22338 2010-01-25  Bruno Haible  <bruno@clisp.org>
22339
22340         gnulib-tool: Make warning diagnostics consistent.
22341         * gnulib-tool (func_warning): New function.
22342         Use it everywhere where gnulib-tool produces output to stderr and it is
22343         not a fatal error.
22344
22345 2010-01-25  Bruno Haible  <bruno@clisp.org>
22346
22347         Fix test dependencies.
22348         * modules/xstrtol-tests (Depends-on): Add inttypes.
22349         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
22350
22351 2010-01-25 Pádraig Brady <P@draigBrady.com>
22352
22353         syntax-check: detect incorrect boolean macro values in config.h
22354         * modules/maintainer-makefile (configure.ac): Parameterize the location
22355         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
22356         The logic is from Eric Blake and the location indicated by Jim Meyering.
22357         Note the more natural CONFIG_HEADER name is prohibited by automake
22358         for backwards compatibility reasons.
22359         * top/maint.mk (sc_Wundef_boolean): New rule.
22360
22361 2010-01-25  Jim Meyering  <meyering@redhat.com>
22362
22363         bootstrap: detect MacOS 10.6's shasum, too
22364         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
22365         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
22366
22367 2010-01-23  Jim Meyering  <meyering@redhat.com>
22368
22369         xstrtoll: new module
22370         * modules/xstrtoll: New file.
22371         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
22372         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
22373         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
22374         ./configure fails if you use this module and lack "long long".
22375         * modules/xstrtoll-tests: New module.
22376         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
22377         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
22378         new init.sh-based test framework.
22379
22380 2010-01-24  Bruno Haible  <bruno@clisp.org>
22381
22382         Tests for module 'yn'.
22383         * modules/yn-tests: New file.
22384         * tests/test-yn.c: New file.
22385
22386         Tests for module 'y1'.
22387         * modules/y1-tests: New file.
22388         * tests/test-y1.c: New file.
22389
22390         Tests for module 'y0'.
22391         * modules/y0-tests: New file.
22392         * tests/test-y0.c: New file.
22393
22394         Tests for module 'tanh'.
22395         * modules/tanh-tests: New file.
22396         * tests/test-tanh.c: New file.
22397
22398         Tests for module 'tan'.
22399         * modules/tan-tests: New file.
22400         * tests/test-tan.c: New file.
22401
22402         Tests for module 'sqrt'.
22403         * modules/sqrt-tests: New file.
22404         * tests/test-sqrt.c: New file.
22405
22406         Tests for module 'sinh'.
22407         * modules/sinh-tests: New file.
22408         * tests/test-sinh.c: New file.
22409
22410         Tests for module 'sin'.
22411         * modules/sin-tests: New file.
22412         * tests/test-sin.c: New file.
22413
22414         Tests for module 'rint'.
22415         * modules/rint-tests: New file.
22416         * tests/test-rint.c: New file.
22417
22418         Tests for module 'remainder'.
22419         * modules/remainder-tests: New file.
22420         * tests/test-remainder.c: New file.
22421
22422         Tests for module 'pow'.
22423         * modules/pow-tests: New file.
22424         * tests/test-pow.c: New file.
22425
22426         Tests for module 'nextafter'.
22427         * modules/nextafter-tests: New file.
22428         * tests/test-nextafter.c: New file.
22429
22430         Tests for module 'modf'.
22431         * modules/modf-tests: New file.
22432         * tests/test-modf.c: New file.
22433
22434         Tests for module 'logb'.
22435         * modules/logb-tests: New file.
22436         * tests/test-logb.c: New file.
22437
22438         Tests for module 'log1p'.
22439         * modules/log1p-tests: New file.
22440         * tests/test-log1p.c: New file.
22441
22442         Tests for module 'log10'.
22443         * modules/log10-tests: New file.
22444         * tests/test-log10.c: New file.
22445
22446         Tests for module 'log'.
22447         * modules/log-tests: New file.
22448         * tests/test-log.c: New file.
22449
22450         Tests for module 'lgamma'.
22451         * modules/lgamma-tests: New file.
22452         * tests/test-lgamma.c: New file.
22453
22454         Tests for module 'ldexp'.
22455         * modules/ldexp-tests: New file.
22456         * tests/test-ldexp.c: New file.
22457
22458         Tests for module 'jn'.
22459         * modules/jn-tests: New file.
22460         * tests/test-jn.c: New file.
22461
22462         Tests for module 'j1'.
22463         * modules/j1-tests: New file.
22464         * tests/test-j1.c: New file.
22465
22466         Tests for module 'j0'.
22467         * modules/j0-tests: New file.
22468         * tests/test-j0.c: New file.
22469
22470         Tests for module 'hypot'.
22471         * modules/hypot-tests: New file.
22472         * tests/test-hypot.c: New file.
22473
22474         Tests for module 'fmod'.
22475         * modules/fmod-tests: New file.
22476         * tests/test-fmod.c: New file.
22477
22478         Tests for module 'fabs'.
22479         * modules/fabs-tests: New file.
22480         * tests/test-fabs.c: New file.
22481
22482         Tests for module 'exp'.
22483         * modules/exp-tests: New file.
22484         * tests/test-exp.c: New file.
22485
22486         Tests for module 'erfc'.
22487         * modules/erfc-tests: New file.
22488         * tests/test-erfc.c: New file.
22489
22490         Tests for module 'erf'.
22491         * modules/erf-tests: New file.
22492         * tests/test-erf.c: New file.
22493
22494         Tests for module 'cosh'.
22495         * modules/cosh-tests: New file.
22496         * tests/test-cosh.c: New file.
22497
22498         Tests for module 'cos'.
22499         * modules/cos-tests: New file.
22500         * tests/test-cos.c: New file.
22501
22502         Tests for module 'copysign'.
22503         * modules/copysign-tests: New file.
22504         * tests/test-copysign.c: New file.
22505
22506         Tests for module 'cbrt'.
22507         * modules/cbrt-tests: New file.
22508         * tests/test-cbrt.c: New file.
22509
22510         Tests for module 'atan2'.
22511         * modules/atan2-tests: New file.
22512         * tests/test-atan2.c: New file.
22513
22514         Tests for module 'atan'.
22515         * modules/atan-tests: New file.
22516         * tests/test-atan.c: New file.
22517
22518         Tests for module 'asin'.
22519         * modules/asin-tests: New file.
22520         * tests/test-asin.c: New file.
22521
22522         Tests for module 'acos'.
22523         * modules/acos-tests: New file.
22524         * tests/test-acos.c: New file.
22525
22526 2010-01-24  Bruno Haible  <bruno@clisp.org>
22527
22528         Fix tests for common <math.h> functions.
22529         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
22530         code snippet that references the function pointer, rather than merely
22531         calling the function. Substitute the FUNC_LIBM variable.
22532         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
22533         * modules/acos (configure.ac): Likewise.
22534         * modules/asin (configure.ac): Likewise.
22535         * modules/atan (configure.ac): Likewise.
22536         * modules/atan2 (configure.ac): Likewise.
22537         * modules/cbrt (configure.ac): Likewise.
22538         * modules/copysign (configure.ac): Likewise.
22539         * modules/cos (configure.ac): Likewise.
22540         * modules/cosh (configure.ac): Likewise.
22541         * modules/erf (configure.ac): Likewise.
22542         * modules/erfc (configure.ac): Likewise.
22543         * modules/exp (configure.ac): Likewise.
22544         * modules/fabs (configure.ac): Likewise.
22545         * modules/fmod (configure.ac): Likewise.
22546         * modules/hypot (configure.ac): Likewise.
22547         * modules/j0 (configure.ac): Likewise.
22548         * modules/j1 (configure.ac): Likewise.
22549         * modules/jn (configure.ac): Likewise.
22550         * modules/ldexp (configure.ac): Likewise.
22551         * modules/lgamma (configure.ac): Likewise.
22552         * modules/log (configure.ac): Likewise.
22553         * modules/log10 (configure.ac): Likewise.
22554         * modules/log1p (configure.ac): Likewise.
22555         * modules/logb (configure.ac): Likewise.
22556         * modules/modf (configure.ac): Likewise.
22557         * modules/nextafter (configure.ac): Likewise.
22558         * modules/pow (configure.ac): Likewise.
22559         * modules/remainder (configure.ac): Likewise.
22560         * modules/rint (configure.ac): Likewise.
22561         * modules/sin (configure.ac): Likewise.
22562         * modules/sinh (configure.ac): Likewise.
22563         * modules/tan (configure.ac): Likewise.
22564         * modules/tanh (configure.ac): Likewise.
22565         * modules/y0 (configure.ac): Likewise.
22566         * modules/y1 (configure.ac): Likewise.
22567         * modules/yn (configure.ac): Likewise.
22568
22569 2010-01-24  Bruno Haible  <bruno@clisp.org>
22570
22571         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
22572         * tests/test-acosl.c (x): New variable.
22573         (main): Store argument in x and fetch it from x.
22574         * tests/test-asinl.c (x): New variable.
22575         (main): Store argument in x and fetch it from x.
22576         * tests/test-atanl.c (x): New variable.
22577         (main): Store argument in x and fetch it from x.
22578         * tests/test-cosl.c (x): New variable.
22579         (main): Store argument in x and fetch it from x.
22580         * tests/test-expl.c (x): New variable.
22581         (main): Store argument in x and fetch it from x.
22582         * tests/test-logl.c (x): New variable.
22583         (main): Store argument in x and fetch it from x.
22584         * tests/test-sinl.c (x): New variable.
22585         (main): Store argument in x and fetch it from x.
22586         * tests/test-sqrtl.c (x): New variable.
22587         (main): Store argument in x and fetch it from x.
22588         * tests/test-tanl.c (x): New variable.
22589         (main): Store argument in x and fetch it from x.
22590
22591 2010-01-24  Bruno Haible  <bruno@clisp.org>
22592
22593         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
22594         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
22595         assignments to the initial TESTS_ENVIRONMENT.
22596         * doc/gnulib.texi (Unit test modules): Document it.
22597         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
22598         TESTS_ENVIRONMENT.
22599         * modules/btowc-tests (Makefile.am): Likewise.
22600         * modules/c-stack-tests (Makefile.am): Likewise.
22601         * modules/c-strcase-tests (Makefile.am): Likewise.
22602         * modules/copy-file-tests (Makefile.am): Likewise.
22603         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
22604         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
22605         * modules/mbrtowc-tests (Makefile.am): Likewise.
22606         * modules/mbscasecmp-tests (Makefile.am): Likewise.
22607         * modules/mbscasestr-tests (Makefile.am): Likewise.
22608         * modules/mbschr-tests (Makefile.am): Likewise.
22609         * modules/mbscspn-tests (Makefile.am): Likewise.
22610         * modules/mbsinit-tests (Makefile.am): Likewise.
22611         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
22612         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
22613         * modules/mbspbrk-tests (Makefile.am): Likewise.
22614         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
22615         * modules/mbsrchr-tests (Makefile.am): Likewise.
22616         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
22617         * modules/mbsspn-tests (Makefile.am): Likewise.
22618         * modules/mbsstr-tests (Makefile.am): Likewise.
22619         * modules/nl_langinfo-tests (Makefile.am): Likewise.
22620         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
22621         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
22622         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
22623         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
22624         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
22625         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
22626         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
22627         * modules/wcrtomb-tests (Makefile.am): Likewise.
22628         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
22629         * modules/wcsrtombs-tests (Makefile.am): Likewise.
22630         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
22631         assignments from TESTS_ENVIRONMENT.
22632         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
22633         augmentation.
22634         * modules/argp-version-etc-tests (Makefile.am): Likewise.
22635         * modules/atexit-tests (Makefile.am): Likewise.
22636         * modules/binary-io-tests (Makefile.am): Likewise.
22637         * modules/closein-tests (Makefile.am): Likewise.
22638         * modules/dprintf-posix-tests (Makefile.am): Likewise.
22639         * modules/exclude-tests (Makefile.am): Likewise.
22640         * modules/fflush-tests (Makefile.am): Likewise.
22641         * modules/fpending-tests (Makefile.am): Likewise.
22642         * modules/fprintf-posix-tests (Makefile.am): Likewise.
22643         * modules/freadahead-tests (Makefile.am): Likewise.
22644         * modules/freadptr-tests (Makefile.am): Likewise.
22645         * modules/freadseek-tests (Makefile.am): Likewise.
22646         * modules/fseek-tests (Makefile.am): Likewise.
22647         * modules/fseeko-tests (Makefile.am): Likewise.
22648         * modules/ftell-tests (Makefile.am): Likewise.
22649         * modules/ftello-tests (Makefile.am): Likewise.
22650         * modules/idpriv-drop-tests (Makefile.am): Likewise.
22651         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
22652         * modules/lseek-tests (Makefile.am): Likewise.
22653         * modules/parse-duration-tests (Makefile.am): Likewise.
22654         * modules/perror-tests (Makefile.am): Likewise.
22655         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
22656         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
22657         * modules/pipe-tests (Makefile.am): Likewise.
22658         * modules/pread-tests (Makefile.am): Likewise.
22659         * modules/printf-posix-tests (Makefile.am): Likewise.
22660         * modules/select-tests (Makefile.am): Likewise.
22661         * modules/sigpipe-tests (Makefile.am): Likewise.
22662         * modules/tsearch-tests (Makefile.am): Likewise.
22663         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
22664         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
22665         * modules/uniname/uniname-tests (Makefile.am): Likewise.
22666         * modules/uniwidth/width-tests (Makefile.am): Likewise.
22667         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
22668         * modules/version-etc-tests (Makefile.am): Likewise.
22669         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
22670         * modules/vprintf-posix-tests (Makefile.am): Likewise.
22671         * modules/xalloc-die-tests (Makefile.am): Likewise.
22672         * modules/xprintf-posix-tests (Makefile.am): Likewise.
22673         * modules/xstrtoimax-tests (Makefile.am): Likewise.
22674         * modules/xstrtol-tests (Makefile.am): Likewise.
22675         * modules/xstrtoumax-tests (Makefile.am): Likewise.
22676         * modules/yesno-tests (Makefile.am): Likewise.
22677         Suggested by Jim Meyering.
22678
22679 2010-01-24  Bruno Haible  <bruno@clisp.org>
22680
22681         More documentation.
22682         * doc/gnulib.texi (Writing modules): New chapter.
22683         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
22684         the new chapter.
22685
22686 2010-01-24  Jim Meyering  <meyering@redhat.com>
22687
22688         maint.mk: do not prepend "./" after filtering
22689         * top/maint.mk (_prepend_srcdir_prefix): New variable
22690         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
22691         "./" when $(srcdir) is ".".
22692
22693         define STREQ(a,b) consistently, removing useless parentheses
22694         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
22695         since the only risk is that "a" or "b" contains an unparenthesized
22696         comma, but if either did that, STREQ would have 3 or more arguments.
22697         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
22698         * lib/fts.c (STREQ): Remove unnecessary parentheses.
22699         * lib/hash-triple.c (STREQ): Likewise.
22700         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
22701         * lib/getugroups.c (STREQ): Likewise.
22702
22703 2010-01-23  Jim Meyering  <meyering@redhat.com>
22704
22705         maint.mk: fix syntax-check in a non-srcdir build directory
22706         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
22707         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
22708
22709 2010-01-22  Jim Meyering  <meyering@redhat.com>
22710
22711         userspec: add unit tests
22712         * tests/test-userspec.c: New file.
22713         * modules/userspec-tests: Likewise.
22714
22715 2010-01-21  Jim Meyering  <meyering@redhat.com>
22716
22717         maint.mk: handle source file names containing "." robustly
22718         * top/maint.mk (_dot_escaped_srcdir): Define.
22719         (VC_LIST): Use it in LHS of sed substitution.
22720
22721 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
22722
22723         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
22724         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
22725         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
22726         from a non-srcdir build.
22727
22728 2010-01-20  Eric Blake  <ebb9@byu.net>
22729
22730         warn-on-use: use instead of link-warning
22731         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
22732         * modules/unistd (Depends-on, Makefile.am): Likewise.
22733         * modules/arpa_inet (Depends-on): Replace link-warning with
22734         warn-on-use.
22735         (Makefile.am): Update rules accordingly.
22736         * modules/ctype (Depends-on, Makefile.am): Likewise.
22737         * modules/dirent (Depends-on, Makefile.am): Likewise.
22738         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
22739         * modules/inttypes (Depends-on, Makefile.am): Likewise.
22740         * modules/langinfo (Depends-on, Makefile.am): Likewise.
22741         * modules/locale (Depends-on, Makefile.am): Likewise.
22742         * modules/math (Depends-on, Makefile.am): Likewise.
22743         * modules/search (Depends-on, Makefile.am): Likewise.
22744         * modules/signal (Depends-on, Makefile.am): Likewise.
22745         * modules/spawn (Depends-on, Makefile.am): Likewise.
22746         * modules/stdlib (Depends-on, Makefile.am): Likewise.
22747         * modules/string (Depends-on, Makefile.am): Likewise.
22748         * modules/strings (Depends-on, Makefile.am): Likewise.
22749         * modules/sys_file (Depends-on, Makefile.am): Likewise.
22750         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
22751         * modules/sys_select (Depends-on, Makefile.am): Likewise.
22752         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
22753         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
22754         * modules/sys_times (Depends-on, Makefile.am): Likewise.
22755         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
22756         * modules/wchar (Depends-on, Makefile.am): Likewise.
22757         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
22758         should be poisoned.
22759         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
22760         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
22761         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
22762         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
22763         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
22764         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
22765         * m4/math_h.m4 (gl_MATH_H): Likewise.
22766         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
22767         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
22768         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
22769         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
22770         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
22771         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
22772         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
22773         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
22774         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
22775         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
22776         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
22777         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
22778         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
22779         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
22780         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
22781         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
22782         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
22783         GL_LINK_WARNING.
22784         * lib/ctype.in.h: Likewise.
22785         * lib/dirent.in.h: Likewise.
22786         * lib/fcntl.in.h: Likewise.
22787         * lib/inttypes.in.h: Likewise.
22788         * lib/langinfo.in.h: Likewise.
22789         * lib/locale.in.h: Likewise.
22790         * lib/math.in.h: Likewise.
22791         * lib/search.in.h: Likewise.
22792         * lib/signal.in.h: Likewise.
22793         * lib/spawn.in.h: Likewise.
22794         * lib/stdio.in.h: Likewise.
22795         * lib/stdlib.in.h: Likewise.
22796         * lib/string.in.h: Likewise.
22797         * lib/strings.in.h: Likewise.
22798         * lib/sys_file.in.h: Likewise.
22799         * lib/sys_ioctl.in.h: Likewise.
22800         * lib/sys_select.in.h: Likewise.
22801         * lib/sys_socket.in.h: Likewise.
22802         * lib/sys_stat.in.h: Likewise.
22803         * lib/sys_times.in.h: Likewise.
22804         * lib/sys_utsname.in.h: Likewise.
22805         * lib/unistd.in.h: Likewise.
22806         * lib/wchar.in.h: Likewise.
22807
22808 2010-01-20  Bruno Haible  <bruno@clisp.org>
22809
22810         Avoid duplicate -lm.
22811         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
22812         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
22813         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
22814         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
22815         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
22816         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
22817         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
22818         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
22819         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
22820         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
22821         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
22822         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
22823         Reported by Paolo Bonzini.
22824
22825 2010-01-19  Bruno Haible  <bruno@clisp.org>
22826
22827         langinfo, nl_langinfo: Relicense under LGPLv2+.
22828         * modules/langinfo (License): Change to LGPLv2+.
22829         * modules/nl_langinfo (License): Likewise.
22830         Patch by David Lutterkort <lutter@redhat.com>.
22831
22832 2010-01-19  Bruno Haible  <bruno@clisp.org>
22833
22834         Avoid compilation error with cc on OSF/1 5.1.
22835         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
22836         statement, not before.
22837         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
22838
22839 2010-01-18  Bruno Haible  <bruno@clisp.org>
22840
22841         Avoid a link error due to the __printf__ symbol.
22842         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
22843         and 2.6.x.
22844         (__format__, __printf__): Remove definitions.
22845         * lib/argp-fmtstream.h: Likewise.
22846         * lib/argp.h: Likewise.
22847         * lib/error.h: Likewise.
22848         * lib/vasnprintf.h: Likewise.
22849         * lib/xprintf.h: Likewise.
22850         * lib/xvasprintf.h: Likewise.
22851         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
22852
22853 2010-01-18  Bruno Haible  <bruno@clisp.org>
22854
22855         Tests for module 'tanl'.
22856         * modules/tanl-tests: New file.
22857         * tests/test-tanl.c: New file.
22858
22859         Tests for module 'sqrtl'.
22860         * modules/sqrtl-tests: New file.
22861         * tests/test-sqrtl.c: New file.
22862
22863         Tests for module 'sinl'.
22864         * modules/sinl-tests: New file.
22865         * tests/test-sinl.c: New file.
22866
22867         Tests for module 'logl'.
22868         * modules/logl-tests: New file.
22869         * tests/test-logl.c: New file.
22870
22871         Tests for module 'expl'.
22872         * modules/expl-tests: New file.
22873         * tests/test-expl.c: New file.
22874
22875         Tests for module 'cosl'.
22876         * modules/cosl-tests: New file.
22877         * tests/test-cosl.c: New file.
22878
22879         Tests for module 'atanl'.
22880         * modules/atanl-tests: New file.
22881         * tests/test-atanl.c: New file.
22882
22883         Tests for module 'asinl'.
22884         * modules/asinl-tests: New file.
22885         * tests/test-asinl.c: New file.
22886
22887         Tests for module 'acosl'.
22888         * modules/acosl-tests: New file.
22889         * tests/test-acosl.c: New file.
22890
22891         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
22892         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
22893         tanl): Use the standard gnulib idiom.
22894         * lib/cosl.c: Don't include trigl.c and sincosl.c.
22895         * lib/sinl.c: Likewise.
22896         * lib/tanl.c: Don't include trigl.c.
22897         (kernel_tanl): Make static.
22898         * lib/sincosl.c: Include trigl.h first.
22899         * lib/trigl.c: Likewise.
22900         * m4/acosl.m4: New file.
22901         * m4/asinl.m4: New file.
22902         * m4/atanl.m4: New file.
22903         * m4/cosl.m4: New file.
22904         * m4/expl.m4: New file.
22905         * m4/logl.m4: New file.
22906         * m4/sinl.m4: New file.
22907         * m4/sqrtl.m4: New file.
22908         * m4/tanl.m4: New file.
22909         * m4/mathl.m4: Remove file.
22910         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
22911         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
22912         Don't initialize GNULIB_MATHL.
22913         * modules/acosl: New file.
22914         * modules/asinl: New file.
22915         * modules/atanl: New file.
22916         * modules/cosl: New file.
22917         * modules/expl: New file.
22918         * modules/logl: New file.
22919         * modules/sinl: New file.
22920         * modules/sqrtl: New file.
22921         * modules/tanl: New file.
22922         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
22923         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
22924         substitute GNULIB_MATHL.
22925         * modules/mathl: Rewritten.
22926         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
22927         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
22928         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
22929         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
22930         * doc/posix-functions/expl.texi: Mention the 'expl' module.
22931         * doc/posix-functions/logl.texi: Mention the 'logl' module.
22932         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
22933         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
22934         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
22935
22936 2010-01-18  Bruno Haible  <bruno@clisp.org>
22937
22938         sqrt: Make gl_FUNC_SQRT requirable.
22939         * m4/sqrt.m4: New file.
22940         * modules/sqrt (Files): Add it.
22941         (configure.ac): Invoke gl_FUNC_SQRT.
22942
22943 2010-01-18  Bruno Haible  <bruno@clisp.org>
22944
22945         New modules for common <math.h> functions.
22946         * m4/mathfunc.m4: New file.
22947         * modules/acos: New file.
22948         * modules/asin: New file.
22949         * modules/atan: New file.
22950         * modules/atan2: New file.
22951         * modules/cbrt: New file.
22952         * modules/copysign: New file.
22953         * modules/cos: New file.
22954         * modules/cosh: New file.
22955         * modules/erf: New file.
22956         * modules/erfc: New file.
22957         * modules/exp: New file.
22958         * modules/fabs: New file.
22959         * modules/fmod: New file.
22960         * modules/hypot: New file.
22961         * modules/j0: New file.
22962         * modules/j1: New file.
22963         * modules/jn: New file.
22964         * modules/ldexp: New file.
22965         * modules/lgamma: New file.
22966         * modules/log: New file.
22967         * modules/log10: New file.
22968         * modules/log1p: New file.
22969         * modules/logb: New file.
22970         * modules/modf: New file.
22971         * modules/nextafter: New file.
22972         * modules/pow: New file.
22973         * modules/remainder: New file.
22974         * modules/rint: New file.
22975         * modules/sin: New file.
22976         * modules/sinh: New file.
22977         * modules/sqrt: New file.
22978         * modules/tan: New file.
22979         * modules/tanh: New file.
22980         * modules/y0: New file.
22981         * modules/y1: New file.
22982         * modules/yn: New file.
22983         * doc/posix-functions/acos.texi: Mention the 'acos' module.
22984         * doc/posix-functions/asin.texi: Mention the 'asin' module.
22985         * doc/posix-functions/atan.texi: Mention the 'atan' module.
22986         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
22987         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
22988         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
22989         * doc/posix-functions/cos.texi: Mention the 'cos' module.
22990         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
22991         * doc/posix-functions/erf.texi: Mention the 'erf' module.
22992         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
22993         * doc/posix-functions/exp.texi: Mention the 'exp' module.
22994         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
22995         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
22996         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
22997         * doc/posix-functions/j0.texi: Mention the 'j0' module.
22998         * doc/posix-functions/j1.texi: Mention the 'j1' module.
22999         * doc/posix-functions/jn.texi: Mention the 'jn' module.
23000         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
23001         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
23002         * doc/posix-functions/log.texi: Mention the 'log' module.
23003         * doc/posix-functions/log10.texi: Mention the 'log10' module.
23004         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
23005         * doc/posix-functions/logb.texi: Mention the 'logb' module.
23006         * doc/posix-functions/modf.texi: Mention the 'modf' module.
23007         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
23008         * doc/posix-functions/pow.texi: Mention the 'pow' module.
23009         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
23010         * doc/posix-functions/rint.texi: Mention the 'rint' module.
23011         * doc/posix-functions/sin.texi: Mention the 'sin' module.
23012         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
23013         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
23014         * doc/posix-functions/tan.texi: Mention the 'tan' module.
23015         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
23016         * doc/posix-functions/y0.texi: Mention the 'y0' module.
23017         * doc/posix-functions/y1.texi: Mention the 'y1' module.
23018         * doc/posix-functions/yn.texi: Mention the 'yn' module.
23019
23020 2010-01-18  Jim Meyering  <meyering@redhat.com>
23021
23022         ignore-value: relax license to LGPLv2+
23023         * modules/ignore-value (License): Relax to LGPLv2+.
23024
23025         getdate: don't leak when TZ contains two or more '"'s
23026         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
23027         double quote in TZ after the first one.
23028
23029         readtokens: do not leak internal token_lengths buffer
23030         * lib/readtokens.c (readtokens): Free the local, lengths,
23031         when the supplied "token_lengths" parameter is NULL.
23032
23033 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23034
23035         Fix a couple of missing LIBTHREAD link failures on AIX.
23036         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
23037         $(LIBTHREAD).
23038         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
23039
23040         Link test-poll against INET_PTON_LIB.
23041         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
23042         for inet_pton on Solaris 10.
23043
23044 2010-01-17  Bruno Haible  <bruno@clisp.org>
23045
23046         unistdio/*-sprintf: Fix typo in module description.
23047         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
23048         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
23049         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
23050         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
23051         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
23052         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
23053         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
23054         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
23055
23056 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23057
23058         gnulib-tool: fix filelist for AIX, HP-UX ksh.
23059         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
23060         variables in shell case patterns, for AIX and HP-UX ksh.
23061
23062         Split large sed scripts, for HP-UX sed.
23063         * modules/stdio: Split sed scripts around 50 sed commands,
23064         to avoid HP-UX limit of 99 commands, in the near future.
23065         * modules/string: Likewise.
23066         * modules/unistd: Likewise.
23067
23068         gnulib-tool: avoid writing in the current directory.
23069         * gnulib-tool (func_emit_lib_Makefile_am)
23070         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
23071         not in the current directory, so concurrent gnulib-tool
23072         instances do not interfere.
23073
23074 2010-01-16  Jim Meyering  <meyering@redhat.com>
23075
23076         doc: update users.txt
23077         * users.txt: Add grep.
23078         (diffutils, gzip): Update URLs.
23079
23080 2010-01-12  Bruno Haible  <bruno@clisp.org>
23081
23082         posix_spawn: Avoid test failure on Cygwin.
23083         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
23084         characters.
23085         Reported by Simon Josefsson.
23086
23087 2010-01-12  Bruno Haible  <bruno@clisp.org>
23088
23089         * tests/test-cond.c (main): When skipping the test, show the reason.
23090
23091 2010-01-12  Simon Josefsson  <simon@josefsson.org>
23092
23093         * lib/striconv.c (str_cd_iconv): Avoid if before free.
23094
23095 2010-01-12  Simon Josefsson  <simon@josefsson.org>
23096
23097         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
23098         VC_LIST_ALWAYS_EXCLUDE_REGEX.
23099
23100 2010-01-12  Eric Blake  <ebb9@byu.net>
23101
23102         build: guarantee AS_VAR_IF
23103         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
23104         (gl_AS_VAR_IF): Move...
23105         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
23106         Reported by Simon Josefsson.
23107
23108 2010-01-12  Simon Josefsson  <simon@josefsson.org>
23109
23110         * lib/stdio.in.h: Fix typo.
23111
23112 2010-01-12  Simon Josefsson  <simon@josefsson.org>
23113
23114         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
23115         libgpg-error.
23116
23117 2010-01-12  Simon Josefsson  <simon@josefsson.org>
23118
23119         * tests/test-xalloc-die.sh: Use $EXEEXT.
23120
23121 2010-01-12  Simon Josefsson  <simon@josefsson.org>
23122             Bruno Haible  <bruno@clisp.org>
23123
23124         getlogin, getlogin_r: Avoid test failure.
23125         * tests/test-getlogin.c: Include <stdio.h>.
23126         (main): Skip the test when the function fails because stdin is not a
23127         tty.
23128         * tests/test-getlogin_r.c: Include <stdio.h>.
23129         (main): Skip the test when the function fails because stdin is not a
23130         tty.
23131
23132 2010-01-11  Eric Blake  <ebb9@byu.net>
23133
23134         tests: avoid more large file warnings
23135         * tests/test-fflush.c: Avoid warning about ftell use.
23136         * tests/test-fseek.c: Avoid warning about fseek use.
23137
23138 2010-01-10  Bruno Haible  <bruno@clisp.org>
23139
23140         nproc: Work better on Linux when /proc and /sys are not mounted.
23141         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
23142         as lower bound when, on glibc/Linux systems,
23143         sysconf (_SC_NPROCESSORS_CONF) returns 1.
23144         Suggested by Pádraig Brady <P@draigbrady.com>.
23145         Reported by Dmitry V. Levin <ldv@altlinux.org>.
23146
23147         nproc: Refactor.
23148         * lib/nproc.c (num_processors_via_affinity_mask): New function,
23149         extracted from num_processors.
23150         (num_processors): Call it.
23151
23152 2010-01-11  Jim Meyering  <meyering@redhat.com>
23153
23154         utimecmp: avoid new warning from upcoming gcc-4.5.0
23155         * lib/utimecmp.c (BILLION): Define using #define rather than an
23156         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
23157
23158 2010-01-11  Eric Blake  <ebb9@byu.net>
23159
23160         math: add portability warnings for classification macros
23161         * modules/math (Depends-on): Add warn-on-use.
23162         (Makefile.am): Provide new substitutions.
23163         * m4/math_h.m4 (gl_MATH_H): Require inline.
23164         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
23165         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
23166         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
23167         implement warnings.
23168
23169         unistd: warn on use of environ without module
23170         * modules/unistd (Depends-on): Add warn-on-use.
23171         (Makefile.am): Provide new substitutions.
23172         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
23173         * lib/unistd.in.h (environ): Wrap with a warning helper function.
23174
23175         stdio: warn on suspicious uses
23176         * modules/stdio (Depends-on): Add warn-on-use.
23177         (Makefile.am): Provide new substitutions.
23178         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
23179         fseeko.
23180         * lib/stdio.in.h (gets): Always warn on use.
23181         (fseek, ftell): Adjust when warnings are issued, and honor
23182         _GL_NO_LARGE_FILES as a way to silence the warning.
23183         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
23184         any warning about large file offsets.
23185         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
23186         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
23187         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
23188         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
23189         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
23190         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
23191         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
23192         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
23193
23194         warn-on-use: new module
23195         * modules/warn-on-use: New file.
23196         * build-aux/warn-on-use.h: Likewise.
23197         * m4/warn-on-use.m4: Likewise.
23198         * MODULES.html.sh (Support for building): Mention it.
23199
23200 2010-01-10  Bruno Haible  <bruno@clisp.org>
23201
23202         Tests for module 'unistr/u32-strdup'.
23203         * modules/unistr/u32-strdup-tests: New file.
23204         * tests/unistr/test-u32-strdup.c: New file.
23205
23206         Tests for module 'unistr/u16-strdup'.
23207         * modules/unistr/u16-strdup-tests: New file.
23208         * tests/unistr/test-u16-strdup.c: New file.
23209
23210         Tests for module 'unistr/u8-strdup'.
23211         * modules/unistr/u8-strdup-tests: New file.
23212         * tests/unistr/test-u8-strdup.c: New file.
23213         * tests/unistr/test-strdup.h: New file.
23214
23215         Tests for module 'unistr/u32-strncmp'.
23216         * modules/unistr/u32-strncmp-tests: New file.
23217         * tests/unistr/test-u32-strncmp.c: New file.
23218
23219         Tests for module 'unistr/u16-strncmp'.
23220         * modules/unistr/u16-strncmp-tests: New file.
23221         * tests/unistr/test-u16-strncmp.c: New file.
23222
23223         Tests for module 'unistr/u8-strncmp'.
23224         * modules/unistr/u8-strncmp-tests: New file.
23225         * tests/unistr/test-u8-strncmp.c: New file.
23226         * tests/unistr/test-strncmp.h: New file.
23227
23228         Tests for module 'unistr/u32-strcoll'.
23229         * modules/unistr/u32-strcoll-tests: New file.
23230         * tests/unistr/test-u32-strcoll.c: New file.
23231
23232         Tests for module 'unistr/u16-strcoll'.
23233         * modules/unistr/u16-strcoll-tests: New file.
23234         * tests/unistr/test-u16-strcoll.c: New file.
23235
23236         Tests for module 'unistr/u8-strcoll'.
23237         * modules/unistr/u8-strcoll-tests: New file.
23238         * tests/unistr/test-u8-strcoll.c: New file.
23239
23240         Tests for module 'unistr/u32-strcmp'.
23241         * modules/unistr/u32-strcmp-tests: New file.
23242         * tests/unistr/test-u32-strcmp.c: New file.
23243         * tests/unistr/test-u32-strcmp.h: New file.
23244
23245         Tests for module 'unistr/u16-strcmp'.
23246         * modules/unistr/u16-strcmp-tests: New file.
23247         * tests/unistr/test-u16-strcmp.c: New file.
23248         * tests/unistr/test-u16-strcmp.h: New file.
23249
23250         Tests for module 'unistr/u8-strcmp'.
23251         * modules/unistr/u8-strcmp-tests: New file.
23252         * tests/unistr/test-u8-strcmp.c: New file.
23253         * tests/unistr/test-u8-strcmp.h: New file.
23254         * tests/unistr/test-strcmp.h: New file.
23255
23256         Tests for module 'unistr/u32-strncat'.
23257         * modules/unistr/u32-strncat-tests: New file.
23258         * tests/unistr/test-u32-strncat.c: New file.
23259
23260         Tests for module 'unistr/u16-strncat'.
23261         * modules/unistr/u16-strncat-tests: New file.
23262         * tests/unistr/test-u16-strncat.c: New file.
23263
23264         Tests for module 'unistr/u8-strncat'.
23265         * modules/unistr/u8-strncat-tests: New file.
23266         * tests/unistr/test-u8-strncat.c: New file.
23267         * tests/unistr/test-strncat.h: New file.
23268
23269         Tests for module 'unistr/u32-strcat'.
23270         * modules/unistr/u32-strcat-tests: New file.
23271         * tests/unistr/test-u32-strcat.c: New file.
23272
23273         Tests for module 'unistr/u16-strcat'.
23274         * modules/unistr/u16-strcat-tests: New file.
23275         * tests/unistr/test-u16-strcat.c: New file.
23276
23277         Tests for module 'unistr/u8-strcat'.
23278         * modules/unistr/u8-strcat-tests: New file.
23279         * tests/unistr/test-u8-strcat.c: New file.
23280         * tests/unistr/test-strcat.h: New file.
23281
23282         Tests for module 'unistr/u32-stpncpy'.
23283         * modules/unistr/u32-stpncpy-tests: New file.
23284         * tests/unistr/test-u32-stpncpy.c: New file.
23285
23286         Tests for module 'unistr/u16-stpncpy'.
23287         * modules/unistr/u16-stpncpy-tests: New file.
23288         * tests/unistr/test-u16-stpncpy.c: New file.
23289
23290         Tests for module 'unistr/u8-stpncpy'.
23291         * modules/unistr/u8-stpncpy-tests: New file.
23292         * tests/unistr/test-u8-stpncpy.c: New file.
23293         * tests/unistr/test-stpncpy.h: New file.
23294
23295         Tests for module 'unistr/u32-strncpy'.
23296         * modules/unistr/u32-strncpy-tests: New file.
23297         * tests/unistr/test-u32-strncpy.c: New file.
23298
23299         Tests for module 'unistr/u16-strncpy'.
23300         * modules/unistr/u16-strncpy-tests: New file.
23301         * tests/unistr/test-u16-strncpy.c: New file.
23302
23303         Tests for module 'unistr/u8-strncpy'.
23304         * modules/unistr/u8-strncpy-tests: New file.
23305         * tests/unistr/test-u8-strncpy.c: New file.
23306         * tests/unistr/test-strncpy.h: New file.
23307
23308         Tests for module 'unistr/u32-stpcpy'.
23309         * modules/unistr/u32-stpcpy-tests: New file.
23310         * tests/unistr/test-u32-stpcpy.c: New file.
23311
23312         Tests for module 'unistr/u16-stpcpy'.
23313         * modules/unistr/u16-stpcpy-tests: New file.
23314         * tests/unistr/test-u16-stpcpy.c: New file.
23315
23316         Tests for module 'unistr/u8-stpcpy'.
23317         * modules/unistr/u8-stpcpy-tests: New file.
23318         * tests/unistr/test-u8-stpcpy.c: New file.
23319         * tests/unistr/test-stpcpy.h: New file.
23320
23321         Tests for module 'unistr/u32-strcpy'.
23322         * modules/unistr/u32-strcpy-tests: New file.
23323         * tests/unistr/test-u32-strcpy.c: New file.
23324
23325         Tests for module 'unistr/u16-strcpy'.
23326         * modules/unistr/u16-strcpy-tests: New file.
23327         * tests/unistr/test-u16-strcpy.c: New file.
23328
23329         Tests for module 'unistr/u8-strcpy'.
23330         * modules/unistr/u8-strcpy-tests: New file.
23331         * tests/unistr/test-u8-strcpy.c: New file.
23332         * tests/unistr/test-strcpy.h: New file.
23333
23334         Tests for module 'unistr/u32-strnlen'.
23335         * modules/unistr/u32-strnlen-tests: New file.
23336         * tests/unistr/test-u32-strnlen.c: New file.
23337
23338         Tests for module 'unistr/u16-strnlen'.
23339         * modules/unistr/u16-strnlen-tests: New file.
23340         * tests/unistr/test-u16-strnlen.c: New file.
23341
23342         Tests for module 'unistr/u8-strnlen'.
23343         * modules/unistr/u8-strnlen-tests: New file.
23344         * tests/unistr/test-u8-strnlen.c: New file.
23345         * tests/unistr/test-strnlen.h: New file.
23346
23347         Tests for module 'unistr/u32-strlen'.
23348         * modules/unistr/u32-strlen-tests: New file.
23349         * tests/unistr/test-u32-strlen.c: New file.
23350
23351         Tests for module 'unistr/u16-strlen'.
23352         * modules/unistr/u16-strlen-tests: New file.
23353         * tests/unistr/test-u16-strlen.c: New file.
23354
23355         Tests for module 'unistr/u8-strlen'.
23356         * modules/unistr/u8-strlen-tests: New file.
23357         * tests/unistr/test-u8-strlen.c: New file.
23358
23359         Tests for module 'unistr/u32-prev'.
23360         * modules/unistr/u32-prev-tests: New file.
23361         * tests/unistr/test-u32-prev.c: New file.
23362
23363         Tests for module 'unistr/u16-prev'.
23364         * modules/unistr/u16-prev-tests: New file.
23365         * tests/unistr/test-u16-prev.c: New file.
23366
23367         Tests for module 'unistr/u8-prev'.
23368         * modules/unistr/u8-prev-tests: New file.
23369         * tests/unistr/test-u8-prev.c: New file.
23370
23371         Tests for module 'unistr/u32-next'.
23372         * modules/unistr/u32-next-tests: New file.
23373         * tests/unistr/test-u32-next.c: New file.
23374
23375         Tests for module 'unistr/u16-next'.
23376         * modules/unistr/u16-next-tests: New file.
23377         * tests/unistr/test-u16-next.c: New file.
23378
23379         Tests for module 'unistr/u8-next'.
23380         * modules/unistr/u8-next-tests: New file.
23381         * tests/unistr/test-u8-next.c: New file.
23382
23383         Tests for module 'unistr/u32-strmbtouc'.
23384         * modules/unistr/u32-strmbtouc-tests: New file.
23385         * tests/unistr/test-u32-strmbtouc.c: New file.
23386
23387         Tests for module 'unistr/u16-strmbtouc'.
23388         * modules/unistr/u16-strmbtouc-tests: New file.
23389         * tests/unistr/test-u16-strmbtouc.c: New file.
23390
23391         Tests for module 'unistr/u8-strmbtouc'.
23392         * modules/unistr/u8-strmbtouc-tests: New file.
23393         * tests/unistr/test-u8-strmbtouc.c: New file.
23394
23395         Tests for module 'unistr/u32-strmblen'.
23396         * modules/unistr/u32-strmblen-tests: New file.
23397         * tests/unistr/test-u32-strmblen.c: New file.
23398
23399         Tests for module 'unistr/u16-strmblen'.
23400         * modules/unistr/u16-strmblen-tests: New file.
23401         * tests/unistr/test-u16-strmblen.c: New file.
23402
23403         Tests for module 'unistr/u8-strmblen'.
23404         * modules/unistr/u8-strmblen-tests: New file.
23405         * tests/unistr/test-u8-strmblen.c: New file.
23406
23407         Tests for module 'unistr/u32-cpy-alloc'.
23408         * modules/unistr/u32-cpy-alloc-tests: New file.
23409         * tests/unistr/test-u32-cpy-alloc.c: New file.
23410
23411         Tests for module 'unistr/u16-cpy-alloc'.
23412         * modules/unistr/u16-cpy-alloc-tests: New file.
23413         * tests/unistr/test-u16-cpy-alloc.c: New file.
23414
23415         Tests for module 'unistr/u8-cpy-alloc'.
23416         * modules/unistr/u8-cpy-alloc-tests: New file.
23417         * tests/unistr/test-u8-cpy-alloc.c: New file.
23418         * tests/unistr/test-cpy-alloc.h: New file.
23419
23420         Tests for module 'unistr/u32-mbsnlen'.
23421         * modules/unistr/u32-mbsnlen-tests: New file.
23422         * tests/unistr/test-u32-mbsnlen.c: New file.
23423
23424         Tests for module 'unistr/u16-mbsnlen'.
23425         * modules/unistr/u16-mbsnlen-tests: New file.
23426         * tests/unistr/test-u16-mbsnlen.c: New file.
23427
23428         Tests for module 'unistr/u8-mbsnlen'.
23429         * modules/unistr/u8-mbsnlen-tests: New file.
23430         * tests/unistr/test-u8-mbsnlen.c: New file.
23431
23432         Tests for module 'unistr/u32-chr'.
23433         * modules/unistr/u32-chr-tests: New file.
23434         * tests/unistr/test-u32-chr.c: New file.
23435
23436         Tests for module 'unistr/u16-chr'.
23437         * modules/unistr/u16-chr-tests: New file.
23438         * tests/unistr/test-u16-chr.c: New file.
23439
23440         Tests for module 'unistr/u8-chr'.
23441         * modules/unistr/u8-chr-tests: New file.
23442         * tests/unistr/test-u8-chr.c: New file.
23443         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
23444
23445         Tests for module 'unistr/u32-cmp2'.
23446         * modules/unistr/u32-cmp2-tests: New file.
23447         * tests/unistr/test-u32-cmp2.c: New file.
23448
23449         Tests for module 'unistr/u16-cmp2'.
23450         * modules/unistr/u16-cmp2-tests: New file.
23451         * tests/unistr/test-u16-cmp2.c: New file.
23452
23453         Tests for module 'unistr/u8-cmp2'.
23454         * modules/unistr/u8-cmp2-tests: New file.
23455         * tests/unistr/test-u8-cmp2.c: New file.
23456         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
23457
23458         Tests for module 'unistr/u32-cmp'.
23459         * modules/unistr/u32-cmp-tests: New file.
23460         * tests/unistr/test-u32-cmp.c: New file.
23461
23462         Tests for module 'unistr/u16-cmp'.
23463         * modules/unistr/u16-cmp-tests: New file.
23464         * tests/unistr/test-u16-cmp.c: New file.
23465
23466         Tests for module 'unistr/u8-cmp'.
23467         * modules/unistr/u8-cmp-tests: New file.
23468         * tests/unistr/test-u8-cmp.c: New file.
23469         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
23470
23471         Tests for module 'unistr/u32-set'.
23472         * modules/unistr/u32-set-tests: New file.
23473         * tests/unistr/test-u32-set.c: New file.
23474
23475         Tests for module 'unistr/u16-set'.
23476         * modules/unistr/u16-set-tests: New file.
23477         * tests/unistr/test-u16-set.c: New file.
23478
23479         Tests for module 'unistr/u8-set'.
23480         * modules/unistr/u8-set-tests: New file.
23481         * tests/unistr/test-u8-set.c: New file.
23482         * tests/unistr/test-set.h: New file.
23483
23484         Tests for module 'unistr/u32-move'.
23485         * modules/unistr/u32-move-tests: New file.
23486         * tests/unistr/test-u32-move.c: New file.
23487
23488         Tests for module 'unistr/u16-move'.
23489         * modules/unistr/u16-move-tests: New file.
23490         * tests/unistr/test-u16-move.c: New file.
23491
23492         Tests for module 'unistr/u8-move'.
23493         * modules/unistr/u8-move-tests: New file.
23494         * tests/unistr/test-u8-move.c: New file.
23495         * tests/unistr/test-move.h: New file.
23496
23497         Tests for module 'unistr/u32-cpy'.
23498         * modules/unistr/u32-cpy-tests: New file.
23499         * tests/unistr/test-u32-cpy.c: New file.
23500
23501         Tests for module 'unistr/u16-cpy'.
23502         * modules/unistr/u16-cpy-tests: New file.
23503         * tests/unistr/test-u16-cpy.c: New file.
23504
23505         Tests for module 'unistr/u8-cpy'.
23506         * modules/unistr/u8-cpy-tests: New file.
23507         * tests/unistr/test-u8-cpy.c: New file.
23508         * tests/unistr/test-cpy.h: New file.
23509
23510 2010-01-09  Bruno Haible  <bruno@clisp.org>
23511
23512         Tests for module 'unistr/u32-uctomb'.
23513         * modules/unistr/u32-uctomb-tests: New file.
23514         * tests/unistr/test-u32-uctomb.c: New file.
23515
23516         Tests for module 'unistr/u16-uctomb'.
23517         * modules/unistr/u16-uctomb-tests: New file.
23518         * tests/unistr/test-u16-uctomb.c: New file.
23519
23520         Tests for module 'unistr/u8-uctomb'.
23521         * modules/unistr/u8-uctomb-tests: New file.
23522         * tests/unistr/test-u8-uctomb.c: New file.
23523
23524         Tests for module 'unistr/u32-mbtoucr'.
23525         * modules/unistr/u32-mbtoucr-tests: New file.
23526         * tests/unistr/test-u32-mbtoucr.c: New file.
23527
23528         Tests for module 'unistr/u16-mbtoucr'.
23529         * modules/unistr/u16-mbtoucr-tests: New file.
23530         * tests/unistr/test-u16-mbtoucr.c: New file.
23531
23532         Tests for module 'unistr/u8-mbtoucr'.
23533         * modules/unistr/u8-mbtoucr-tests: New file.
23534         * tests/unistr/test-u8-mbtoucr.c: New file.
23535
23536         Tests for module 'unistr/u32-mbtouc'.
23537         * modules/unistr/u32-mbtouc-tests: New file.
23538         * tests/unistr/test-u32-mbtouc.c: New file.
23539
23540         Tests for module 'unistr/u16-mbtouc'.
23541         * modules/unistr/u16-mbtouc-tests: New file.
23542         * tests/unistr/test-u16-mbtouc.c: New file.
23543
23544         Tests for module 'unistr/u8-mbtouc'.
23545         * modules/unistr/u8-mbtouc-tests: New file.
23546         * tests/unistr/test-u8-mbtouc.c: New file.
23547
23548         Tests for module 'unistr/u32-mbtouc-unsafe'.
23549         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
23550         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
23551         * tests/unistr/test-u32-mbtouc.h: New file.
23552
23553         Tests for module 'unistr/u16-mbtouc-unsafe'.
23554         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
23555         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
23556         * tests/unistr/test-u16-mbtouc.h: New file.
23557
23558         Tests for module 'unistr/u8-mbtouc-unsafe'.
23559         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
23560         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
23561         * tests/unistr/test-u8-mbtouc.h: New file.
23562
23563         Tests for module 'unistr/u32-mblen'.
23564         * modules/unistr/u32-mblen-tests: New file.
23565         * tests/unistr/test-u32-mblen.c: New file.
23566
23567         Tests for module 'unistr/u16-mblen'.
23568         * modules/unistr/u16-mblen-tests: New file.
23569         * tests/unistr/test-u16-mblen.c: New file.
23570
23571         Tests for module 'unistr/u8-mblen'.
23572         * modules/unistr/u8-mblen-tests: New file.
23573         * tests/unistr/test-u8-mblen.c: New file.
23574
23575         Tests for module 'unistr/u32-to-u16'.
23576         * modules/unistr/u32-to-u16-tests: New file.
23577         * tests/unistr/test-u32-to-u16.c: New file.
23578
23579         Tests for module 'unistr/u32-to-u8'.
23580         * modules/unistr/u32-to-u8-tests: New file.
23581         * tests/unistr/test-u32-to-u8.c: New file.
23582
23583         Tests for module 'unistr/u16-to-u32'.
23584         * modules/unistr/u16-to-u32-tests: New file.
23585         * tests/unistr/test-u16-to-u32.c: New file.
23586
23587         Tests for module 'unistr/u16-to-u8'.
23588         * modules/unistr/u16-to-u8-tests: New file.
23589         * tests/unistr/test-u16-to-u8.c: New file.
23590
23591         Tests for module 'unistr/u8-to-u32'.
23592         * modules/unistr/u8-to-u32-tests: New file.
23593         * tests/unistr/test-u8-to-u32.c: New file.
23594
23595         Tests for module 'unistr/u8-to-u16'.
23596         * modules/unistr/u8-to-u16-tests: New file.
23597         * tests/unistr/test-u8-to-u16.c: New file.
23598
23599         Tests for module 'unistr/u32-check'.
23600         * modules/unistr/u32-check-tests: New file.
23601         * tests/unistr/test-u32-check.c: New file.
23602
23603         Tests for module 'unistr/u16-check'.
23604         * modules/unistr/u16-check-tests: New file.
23605         * tests/unistr/test-u16-check.c: New file.
23606
23607         Tests for module 'unistr/u8-check'.
23608         * modules/unistr/u8-check-tests: New file.
23609         * tests/unistr/test-u8-check.c: New file.
23610
23611         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
23612         (category_equals): New function.
23613         (main): Add more tests.
23614         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
23615
23616         * tests/unictype/test-bidi_byname.c (main): Add more tests.
23617
23618 2010-01-10  Bruno Haible  <bruno@clisp.org>
23619
23620         unistr/u*-strcoll: Try harder to distinguish different strings.
23621         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
23622         compare s1 and s2 to see if they are different.
23623
23624 2010-01-10  Bruno Haible  <bruno@clisp.org>
23625
23626         unistr/u*-stpncpy: Fix the return value.
23627         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
23628         description of the return value consistent with stpncpy in glibc.
23629         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
23630         written non-NUL unit.
23631
23632 2010-01-10  Bruno Haible  <bruno@clisp.org>
23633
23634         unistr/u*-next: Add missing dependencies.
23635         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
23636         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
23637         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
23638
23639 2010-01-10  Bruno Haible  <bruno@clisp.org>
23640
23641         unistr/u8-mbsnlen: Fix return value for incomplete character.
23642         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
23643         u8_mblen.
23644         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
23645         Remove unistr/u8-mblen.
23646         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
23647         u16_mblen.
23648         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
23649         Remove unistr/u16-mblen.
23650
23651 2010-01-10  Bruno Haible  <bruno@clisp.org>
23652
23653         wchar: Fix compilation error when <wchar.h> is used from coreutils.
23654         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
23655         Reported by Brian Gough <bjg@gnu.org> and
23656         Chris Clayton <chris2553@googlemail.com> via
23657         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
23658
23659 2010-01-09  Bruno Haible  <bruno@clisp.org>
23660
23661         unistr/u16-to-u32: Reject invalid input.
23662         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
23663         u16_mbtouc.
23664         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
23665         Remove unistr/u16-mbtouc.
23666
23667         unistr/u16-to-u8: Reject invalid input.
23668         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
23669         u16_mbtouc.
23670         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
23671         Remove unistr/u16-mbtouc.
23672
23673         unistr/u8-to-u32: Reject invalid input.
23674         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
23675         u8_mbtouc.
23676         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
23677         Remove unistr/u8-mbtouc.
23678
23679         unistr/u8-to-u16: Reject invalid input.
23680         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
23681         u8_mbtouc.
23682         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
23683         Remove unistr/u8-mbtouc.
23684
23685 2010-01-09  Bruno Haible  <bruno@clisp.org>
23686
23687         Tests for module 'getlogin'.
23688         * modules/getlogin-tests: New file.
23689         * tests/test-getlogin.c: New file.
23690
23691         New module 'getlogin'.
23692         * lib/unistd.in.h (getlogin): New declaration.
23693         * lib/getlogin.c: New file.
23694         * m4/getlogin.m4: New file.
23695         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
23696         HAVE_GETLOGIN.
23697         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
23698         HAVE_GETLOGIN.
23699         * modules/getlogin: New file.
23700         * doc/posix-functions/getlogin.texi: Mention the new module.
23701         Reported by John W. Eaton <jwe@gnu.org>.
23702
23703 2010-01-09  Bruno Haible  <bruno@clisp.org>
23704
23705         getlogin_r: Support for native Windows.
23706         * lib/getlogin_r.c: Include <windows.h>
23707         (getlogin_r): Implement for native Windows.
23708         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
23709         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
23710         via John W. Eaton <jwe@gnu.org>.
23711
23712 2010-01-09  Bruno Haible  <bruno@clisp.org>
23713
23714         getlogin_r: Small fixes.
23715         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
23716         succeeds.
23717         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
23718         before testing whether getlogin_r is declared. No need to set
23719         HAVE_DECL_GETLOGIN_R to 1.
23720         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
23721
23722 2010-01-09  Bruno Haible  <bruno@clisp.org>
23723
23724         * lib/unistd.in.h (getlogin_r): Add comment.
23725
23726 2010-01-09  Bruno Haible  <bruno@clisp.org>
23727
23728         Tests for module 'getlogin_r'.
23729         * modules/getlogin_r-tests: New file.
23730         * tests/test-getlogin_r.c: New file.
23731
23732 2010-01-09  Jim Meyering  <meyering@redhat.com>
23733
23734         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
23735         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
23736         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
23737
23738 2010-01-08  Simon Josefsson  <simon@josefsson.org>
23739
23740         * lib/dup2.c (rpl_dup2): Improve comment.
23741
23742 2010-01-08  Eric Blake  <ebb9@byu.net>
23743
23744         maint.mk: allow packages to add makefile @@ exceptions
23745         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
23746         (sc_makefile_check): Rename...
23747         (sc_makefile_at_at_check): ...to this, and use hook.
23748
23749         dup2: work around mingw bug
23750         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
23751         Reported by Simon Josefsson.
23752
23753 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
23754
23755         glob: Fix C++ compilation.
23756         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
23757         C++.
23758
23759 2010-01-07  Bruno Haible  <bruno@clisp.org>
23760
23761         Fix indentation of wctype.in.h, broken since 2007-01-06.
23762         * lib/wctype.in.h: Fix indentation of preprocessor directives.
23763
23764 2010-01-07  Bruno Haible  <bruno@clisp.org>
23765
23766         mbslen: Avoid collision with system function.
23767         * lib/string.in.h [MirBSD]: Include <wchar.h>.
23768         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
23769         * m4/mbslen.m4: New file.
23770         * modules/mbslen (Files): Add it.
23771         (configure.ac): Invoke gl_MBSLEN.
23772         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
23773         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
23774         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
23775         via Ian Beckwith <ianb@erislabs.net>.
23776
23777 2010-01-07  Bruno Haible  <bruno@clisp.org>
23778
23779         dirent: Document the last fix.
23780         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
23781
23782 2010-01-07  Bruno Haible  <bruno@clisp.org>
23783
23784         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
23785         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
23786         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
23787         va_list are defined.
23788         * doc/posix-headers/stdio.texi: Document the bug of missing types.
23789         Reported by Eric Blake.
23790
23791 2010-01-07  Bruno Haible  <bruno@clisp.org>
23792
23793         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
23794         * modules/xlist (Depends-on): Add 'list',
23795         * modules/xoset (Depends-on): Add 'oset'.
23796         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
23797
23798 2010-01-07  Bruno Haible  <bruno@clisp.org>
23799
23800         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
23801         * doc/posix-functions/strncasecmp.texi: Likewise.
23802
23803 2010-01-07  Bruno Haible  <bruno@clisp.org>
23804
23805         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
23806
23807 2010-01-07  John W. Eaton  <jwe@octave.org>
23808
23809         wctype: allow C++ use
23810         * lib/wctype.in.h: Add extern "C" block for C++.
23811
23812 2010-01-06  Eric Blake  <ebb9@byu.net>
23813
23814         maint.mk: detect incorrect GFDL usage
23815         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
23816
23817 2010-01-06  Jim Meyering  <meyering@redhat.com>
23818         and Eric Blake  <ebb9@byu.net>
23819
23820         maint.mk: ignore multi-line copyright in NEWS
23821         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
23822
23823 2010-01-06  Eric Blake  <ebb9@byu.net>
23824
23825         select: add missing dependency
23826         * modules/select-tests (Depends-on): Move sockets dependency...
23827         * modules/select (Depends-on): ...here.
23828         Reported by Ian Beckwith.
23829
23830         doc: regenerate INSTALL
23831         * doc/INSTALL: Reflect recent autoconf update.
23832         * doc/INSTALL.ISO: Likewise.
23833         * doc/INSTALL.UTF-8: Likewise.
23834
23835         pread: fix compilation on glibc
23836         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
23837         Reported by Ralf Wildenhues.
23838
23839         dirent: fix test failure
23840         * lib/dirent.in.h (includes): Guarantee ino_t.
23841         Reported by Ralf Wildenhues.
23842
23843 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
23844
23845         linkat, renameat: avoid bad free
23846         * lib/at-func2.c (at_func2): Fix typo.
23847         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
23848
23849 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23850
23851         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
23852         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
23853         to avoid failure of symlink test later.
23854
23855 2010-01-06  Eric Blake  <ebb9@byu.net>
23856
23857         stdio, unistd: guarantee ssize_t
23858         * lib/unistd.in.h (includes): Ensure that types required by POSIX
23859         2008 are exposed when needed.
23860         * lib/stdio.in.h (includes): Likewise.
23861         Reported by Ralf Wildenhues.
23862
23863 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
23864
23865         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
23866         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
23867         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
23868
23869 2010-01-06  Jim Meyering  <meyering@redhat.com>
23870
23871         readtokens: this module *does* require xalloc.h
23872         It uses only functions that were omitted by the old syntax-check rule.
23873         * lib/readtokens.c: Include "xalloc.h" once again.
23874         * modules/readtokens (Depends-on): Add xalloc.
23875         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
23876
23877 2010-01-05  Eric Blake  <ebb9@byu.net>
23878
23879         maint: support 'make announcement' from a VPATH build
23880         * top/maint.mk (announcement): Look for correct NEWS file.
23881
23882 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
23883
23884         utimens (fdutimens): ignore a negative FD, per contract
23885         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
23886         when we have a valid file descriptor.  Otherwise, using a brand
23887         new glibc (with just-patched futimens that now fails with EBADF)
23888         would cause this function to fail with ENOSYS.
23889         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
23890         See also http://bugzilla.redhat.com/552320.
23891
23892 2010-01-05  Eric Blake  <ebb9@byu.net>
23893
23894         strcase: document what it provides
23895         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
23896         gnulib module.
23897         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
23898         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
23899
23900 2010-01-05  Jim Meyering  <meyering@redhat.com>
23901
23902         maint: remove useless inclusions of "xalloc.h"
23903         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
23904         * lib/readtokens.c: Likewise.
23905         * lib/same.c: Likewise.
23906         * modules/getloadavg (Depends-on): Remove xalloc.
23907         * modules/readtokens: Likewise.
23908         * modules/same: Likewise.
23909
23910         maint.mk: include 4 more function names in alloca.h-checking regexp
23911         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
23912         regexp.  Before, we would give a false-positive (saying alloca.h
23913         is included unnecessarily) when the only uses involved omitted symbols.
23914
23915         xalloc.h: use consistent formatting
23916         * lib/xalloc.h: Move declarations to start in the first column.
23917
23918 2010-01-05  Eric Blake  <ebb9@byu.net>
23919
23920         mkdir: avoid xalloc
23921         * lib/mkdir.c (includes): Drop unused header.
23922         Reported by John W. Eaton.
23923
23924 2010-01-04  Jim Meyering  <meyering@redhat.com>
23925
23926         nl_langinfo: avoid configure-time syntax error
23927         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
23928         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
23929         the empty string.  Don't let that provoke a shell syntax error.
23930
23931         regcomp, regexec, fnmatch: avoid array bounds read error
23932         * lib/regcomp.c (build_equiv_class): From glibc:
23933         Use only the low 24 bits of a findidx return value as an index
23934         into the weights array.  Patch by Ulrich Drepper:
23935         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
23936         * lib/regexec.c (check_node_accept_bytes): Likewise.
23937         * lib/fnmatch_loop.c (FCT): Likewise.
23938
23939         regcomp: skip collseq lookup when there are no rules
23940         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
23941         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
23942
23943         regcomp: recognize ill-formed { } expressions
23944         * lib/regcomp.c (parse_dup_op): From glibc:
23945         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
23946
23947         regcomp: fix typo in comment
23948         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
23949         s/satisfy/satisfies/.
23950
23951         regcomp: sync from glibc: remove dead store
23952         * lib/regcomp.c (duplicate_node_closure): Remove useless
23953         search_duplicated_node call and dead store.
23954
23955         regcomp: sync from glibc; always use nl_langinfo
23956         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
23957         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
23958         * modules/regex (Depends-on): Add nl_langinfo.
23959
23960 2010-01-04  Eric Blake  <ebb9@byu.net>
23961
23962         fdopendir: fix configure test
23963         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
23964
23965 2010-01-01  Bruno Haible  <bruno@clisp.org>
23966
23967         wchar: Remove unused configure check.
23968         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
23969
23970 2010-01-01  Eric Blake  <ebb9@byu.net>
23971
23972         headers: make check of system header explicit
23973         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
23974         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
23975         ourselves.
23976         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
23977         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
23978         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
23979         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
23980         internals.
23981         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
23982         missing.
23983         Suggested by Bruno Haible.
23984
23985 2010-01-01  Jim Meyering  <meyering@redhat.com>
23986
23987         ChangeLog: tweak to eliminate unnecessary copyright line
23988         * ChangeLog: Remove a copyright line that was mistakenly updated
23989         by today's update-copyright run.  Reported by Eric Blake.
23990
23991         test-update-copyright: don't let envvar setting cause test failure
23992         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
23993
23994 2010-01-01  Bruno Haible  <bruno@clisp.org>
23995
23996         localename: Avoid gcc warning.
23997         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
23998         function if it is not used.
23999
24000 2010-01-01  Jim Meyering  <meyering@redhat.com>
24001
24002         update nearly all FSF copyright year lists to include 2010
24003         Use the same procedure as for 2009, outlined in
24004         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
24005
24006         version-etc: set COPYRIGHT_YEAR to 2010
24007         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
24008
24009 2009-12-31  Eric Blake  <ebb9@byu.net>
24010
24011         doc: correct availability of cygwin 1.5.x getopt
24012         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
24013         variables.
24014         * doc/posix-functions/opterr.texi (opterr): Likewise.
24015         * doc/posix-functions/optind.texi (optind): Likewise.
24016         * doc/posix-functions/optopt.texi (optopt): Likewise.
24017         * doc/posix-functions/tzname.texi (tzname): Likewise.
24018
24019         openat: update maintainer
24020         * modules/openat (Maintainer): Add myself.
24021
24022         utimens: avoid shadowing warning
24023         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
24024         buffers into one, to avoid shadowing, as well as avoiding a
24025         redundant stat.
24026         Reported by Jim Meyering.
24027
24028         test-dup2: avoid compiler warning
24029         * tests/test-dup2.c (is_inheritable): Only define if used.
24030
24031 2010-01-01  Bruno Haible  <bruno@clisp.org>
24032
24033         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
24034         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
24035         defined, use wctomb instead of wcrtomb.
24036
24037 2010-01-01  Bruno Haible  <bruno@clisp.org>
24038
24039         iconv: Reject native Solaris iconv.
24040         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
24041         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
24042
24043 2009-12-31  Bruno Haible  <bruno@clisp.org>
24044
24045         * tests/test-signal.c (main): Remove test of 'SIG'.
24046
24047 2009-12-31  Bruno Haible  <bruno@clisp.org>
24048
24049         spawn: Fix incomplete fix.
24050         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
24051         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
24052         warnings for GNULIB_POSIXCHECK again.
24053         Reported by Eric Blake.
24054
24055 2009-12-31  Bruno Haible  <bruno@clisp.org>
24056
24057         Avoid namespace pollution on glibc systems.
24058         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
24059         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
24060         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
24061         glibc systems.
24062
24063 2009-12-31  Bruno Haible  <bruno@clisp.org>
24064
24065         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
24066         (gl_REPLACE_WCHAR_H): Turn into a no-op.
24067         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
24068         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
24069         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
24070         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
24071         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
24072
24073 2009-12-31  Bruno Haible  <bruno@clisp.org>
24074
24075         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
24076         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
24077         afterwards.
24078
24079 2009-12-31  Bruno Haible  <bruno@clisp.org>
24080
24081         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
24082         SYS_UTSNAME_H.
24083
24084 2009-12-31  Bruno Haible  <bruno@clisp.org>
24085
24086         spawn: Fix misapplied patch.
24087         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
24088         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
24089         warnings for GNULIB_POSIXCHECK.
24090
24091 2009-12-31  Bruno Haible  <bruno@clisp.org>
24092
24093         times: Update after sys_times changed.
24094         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
24095         * modules/times (Files): Add it.
24096         (configure.ac): Invoke gl_FUNC_TIMES.
24097
24098 2009-12-31  Bruno Haible  <bruno@clisp.org>
24099
24100         Use AC_C_INLINE where necessary.
24101         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
24102         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
24103         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
24104         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
24105         * m4/mbfile.m4 (gl_MBFILE): Likewise.
24106         * m4/mbiter.m4 (gl_MBITER): Likewise.
24107         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
24108         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
24109         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
24110         * modules/u64 (configure.ac): Likewise.
24111
24112 2009-12-31  Bruno Haible  <bruno@clisp.org>
24113
24114         Use AC_C_INLINE instead of module 'inline' where possible.
24115         * modules/inline (Description): Clarify purpose.
24116         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
24117         * modules/count-one-bits (Depends-on): Remove inline.
24118         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
24119         * modules/openat (Depends-on): Remove inline.
24120         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
24121         instead of depending on module 'inline'.
24122         * modules/filevercmp (Depends-on, configure.ac): Likewise.
24123         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
24124         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
24125         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
24126         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
24127         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
24128         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
24129         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
24130         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
24131         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
24132         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
24133         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
24134         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
24135         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
24136         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
24137         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
24138         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
24139         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
24140         Likewise.
24141         * modules/unictype/property-ascii-hex-digit (Depends-on,
24142         configure.ac): Likewise.
24143         * modules/unictype/property-bidi-arabic-digit (Depends-on,
24144         configure.ac): Likewise.
24145         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
24146         configure.ac): Likewise.
24147         * modules/unictype/property-bidi-block-separator (Depends-on,
24148         configure.ac): Likewise.
24149         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
24150         configure.ac): Likewise.
24151         * modules/unictype/property-bidi-common-separator (Depends-on,
24152         configure.ac): Likewise.
24153         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
24154         Likewise.
24155         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
24156         configure.ac): Likewise.
24157         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
24158         configure.ac): Likewise.
24159         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
24160         configure.ac): Likewise.
24161         * modules/unictype/property-bidi-european-digit (Depends-on,
24162         configure.ac): Likewise.
24163         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
24164         configure.ac): Likewise.
24165         * modules/unictype/property-bidi-left-to-right (Depends-on,
24166         configure.ac): Likewise.
24167         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
24168         configure.ac): Likewise.
24169         * modules/unictype/property-bidi-other-neutral (Depends-on,
24170         configure.ac): Likewise.
24171         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
24172         Likewise.
24173         * modules/unictype/property-bidi-segment-separator (Depends-on,
24174         configure.ac): Likewise.
24175         * modules/unictype/property-bidi-whitespace (Depends-on,
24176         configure.ac): Likewise.
24177         * modules/unictype/property-combining (Depends-on, configure.ac):
24178         Likewise.
24179         * modules/unictype/property-composite (Depends-on, configure.ac):
24180         Likewise.
24181         * modules/unictype/property-currency-symbol (Depends-on,
24182         configure.ac): Likewise.
24183         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
24184         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
24185         Likewise.
24186         * modules/unictype/property-default-ignorable-code-point (Depends-on,
24187         configure.ac): Likewise.
24188         * modules/unictype/property-deprecated (Depends-on, configure.ac):
24189         Likewise.
24190         * modules/unictype/property-diacritic (Depends-on, configure.ac):
24191         Likewise.
24192         * modules/unictype/property-extender (Depends-on, configure.ac):
24193         Likewise.
24194         * modules/unictype/property-format-control (Depends-on, configure.ac):
24195         Likewise.
24196         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
24197         Likewise.
24198         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
24199         Likewise.
24200         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
24201         Likewise.
24202         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
24203         Likewise.
24204         * modules/unictype/property-hyphen (Depends-on, configure.ac):
24205         Likewise.
24206         * modules/unictype/property-id-continue (Depends-on, configure.ac):
24207         Likewise.
24208         * modules/unictype/property-id-start (Depends-on, configure.ac):
24209         Likewise.
24210         * modules/unictype/property-ideographic (Depends-on, configure.ac):
24211         Likewise.
24212         * modules/unictype/property-ids-binary-operator (Depends-on,
24213         configure.ac): Likewise.
24214         * modules/unictype/property-ids-trinary-operator (Depends-on,
24215         configure.ac): Likewise.
24216         * modules/unictype/property-ignorable-control (Depends-on,
24217         configure.ac): Likewise.
24218         * modules/unictype/property-iso-control (Depends-on, configure.ac):
24219         Likewise.
24220         * modules/unictype/property-join-control (Depends-on, configure.ac):
24221         Likewise.
24222         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
24223         Likewise.
24224         * modules/unictype/property-line-separator (Depends-on, configure.ac):
24225         Likewise.
24226         * modules/unictype/property-logical-order-exception (Depends-on,
24227         configure.ac): Likewise.
24228         * modules/unictype/property-lowercase (Depends-on, configure.ac):
24229         Likewise.
24230         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
24231         * modules/unictype/property-non-break (Depends-on, configure.ac):
24232         Likewise.
24233         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
24234         Likewise.
24235         * modules/unictype/property-numeric (Depends-on, configure.ac):
24236         Likewise.
24237         * modules/unictype/property-other-alphabetic (Depends-on,
24238         configure.ac): Likewise.
24239         * modules/unictype/property-other-default-ignorable-code-point
24240         (Depends-on, configure.ac): Likewise.
24241         * modules/unictype/property-other-grapheme-extend (Depends-on,
24242         configure.ac): Likewise.
24243         * modules/unictype/property-other-id-continue (Depends-on,
24244         configure.ac): Likewise.
24245         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
24246         Likewise.
24247         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
24248         Likewise.
24249         * modules/unictype/property-other-math (Depends-on, configure.ac):
24250         Likewise.
24251         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
24252         Likewise.
24253         * modules/unictype/property-paired-punctuation (Depends-on,
24254         configure.ac): Likewise.
24255         * modules/unictype/property-paragraph-separator (Depends-on,
24256         configure.ac): Likewise.
24257         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
24258         Likewise.
24259         * modules/unictype/property-pattern-white-space (Depends-on,
24260         configure.ac): Likewise.
24261         * modules/unictype/property-private-use (Depends-on, configure.ac):
24262         Likewise.
24263         * modules/unictype/property-punctuation (Depends-on, configure.ac):
24264         Likewise.
24265         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
24266         Likewise.
24267         * modules/unictype/property-radical (Depends-on, configure.ac):
24268         Likewise.
24269         * modules/unictype/property-sentence-terminal (Depends-on,
24270         configure.ac): Likewise.
24271         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
24272         Likewise.
24273         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
24274         * modules/unictype/property-terminal-punctuation (Depends-on,
24275         configure.ac): Likewise.
24276         * modules/unictype/property-titlecase (Depends-on, configure.ac):
24277         Likewise.
24278         * modules/unictype/property-unassigned-code-value (Depends-on,
24279         configure.ac): Likewise.
24280         * modules/unictype/property-unified-ideograph (Depends-on,
24281         configure.ac): Likewise.
24282         * modules/unictype/property-uppercase (Depends-on, configure.ac):
24283         Likewise.
24284         * modules/unictype/property-variation-selector (Depends-on,
24285         configure.ac): Likewise.
24286         * modules/unictype/property-white-space (Depends-on, configure.ac):
24287         Likewise.
24288         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
24289         Likewise.
24290         * modules/unictype/property-xid-start (Depends-on, configure.ac):
24291         Likewise.
24292         * modules/unictype/property-zero-width (Depends-on, configure.ac):
24293         Likewise.
24294         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
24295         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
24296         Likewise.
24297
24298 2009-12-31  Bruno Haible  <bruno@clisp.org>
24299
24300         Remove unnecessary AC_C_INLINE invocation.
24301         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
24302         since 2009-08-21.
24303
24304 2009-12-31  Jim Meyering  <meyering@redhat.com>
24305
24306         maint.mk: don't require explicit gpg_key_ID in cfg.mk
24307         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
24308         With this change, we can all remove the gpg_key_ID = ... definition
24309         from our respective cfg.mk files.
24310
24311         maint.mk: create announcement template in ~/, not in /tmp
24312         * top/maint.mk (emit_upload_commands): Adjust.
24313         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
24314         Remove temporary file, .ci-msg.
24315
24316 2009-12-31  Eric Blake  <ebb9@byu.net>
24317
24318         link-warning: always build headers with link warnings
24319         * modules/arpa_inet (Makefile.am): Always build replacement
24320         header.
24321         * modules/ctype (Makefile.am): Likewise.
24322         * modules/dirent (Makefile.am): Likewise.
24323         * modules/inttypes (Makefile.am): Likewise.
24324         * modules/langinfo (Makefile.am): Likewise.
24325         * modules/locale (Makefile.am): Likewise.
24326         * modules/spawn (Makefile.am): Likewise.
24327         * modules/sys_file (Makefile.am): Likewise.
24328         * modules/sys_ioctl (Makefile.am): Likewise.
24329         * modules/sys_select (Makefile.am): Likewise.
24330         * modules/sys_socket (Makefile.am): Likewise.
24331         * modules/sys_times (Makefile.am): Likewise.
24332         * modules/sys_utsname (Makefile.am): Likewise.
24333         * modules/sys_wait (Makefile.am): Likewise.
24334         * modules/wchar (Makefile.am): Likewise.
24335         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
24336         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
24337         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
24338         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
24339         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
24340         Likewise.
24341         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
24342         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
24343         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
24344         Likewise.
24345         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
24346         Likewise.
24347         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
24348         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
24349         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
24350         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
24351         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
24352         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
24353         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
24354         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
24355         (gl_WCHAR_H_DEFAULTS): Likewise.
24356
24357 2009-12-31  Eric Blake  <ebb9@byu.net>
24358
24359         signal, spawn: use link warnings
24360         * lib/signal.in.h (sigset_t): Make unconditional.
24361         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
24362         (sigpending, sigprocmask, sigaction): Add link warnings.
24363         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
24364         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
24365         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
24366         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
24367         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
24368         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
24369         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
24370         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
24371         (posix_spawn_file_actions_destroy)
24372         (posix_spawn_file_actions_addopen)
24373         (posix_spawn_file_actions_addclose)
24374         (posix_spawn_file_actions_adddup2): Likewise.
24375         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
24376         * tests/test-signal.c (main): Enhance test.
24377
24378         spawn: improve wrapper support
24379         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
24380         (gl_SPAWN_H_DEFAULTS): New defaults.
24381         * modules/spawn (Makefile.am): Substitute them.
24382         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
24383         Only declare if missing or broken.
24384
24385         sys_times, sys_utsname: use include_next
24386         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
24387         header.
24388         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
24389         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
24390         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
24391         * modules/sys_times (Depends-on): Add include_next.
24392         (Makefile.am): Substitute additional values.
24393         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
24394         * lib/sys_times.in.h (includes): Include native header, if
24395         available.
24396         * lib/sys_utsname.in.h (includes): Likewise.
24397         * tests/test-sys_times.c (main): Enhance test.
24398
24399         fdutimensat: revert prior patch
24400         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
24401         utimens.h.
24402         Reported by Bruno Haible.
24403
24404 2009-12-30  Eric Blake  <ebb9@byu.net>
24405
24406         sys_wait: drop link-warning dependency
24407         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
24408         link-warning efforts.
24409         * lib/sys_wait.in.h: Likewise.
24410
24411         fdutimensat: remove bogus dependency
24412         * modules/fdutimensat (Depends-on): Drop inline.
24413
24414         unistd: fix typo
24415         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
24416
24417 2009-12-30  Bruno Haible  <bruno@clisp.org>
24418
24419         Fix compilation error with Solaris cc.
24420         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
24421         * lib/unicase/u16-is-invariant.c: Likewise.
24422         * lib/unicase/u32-is-invariant.c: Likewise.
24423         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
24424
24425 2009-12-30  Bruno Haible  <bruno@clisp.org>
24426
24427         Fix test crash.
24428         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
24429         locales.
24430         Reported by Simon Josefsson <simon@josefsson.org>.
24431
24432 2009-12-30  Bruno Haible  <bruno@clisp.org>
24433
24434         Fix compilation error on most platforms.
24435         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
24436         Reported by Simon Josefsson <simon@josefsson.org>
24437         and Nelson H. F. Beebe <beebe@math.utah.edu>.
24438
24439 2009-12-30  Eric Blake  <ebb9@byu.net>
24440
24441         futimens, utimensat: work around ntfs-3g bug
24442         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
24443         a ctime bug is present, and expand workaround to cover ntfs-3g.
24444         * lib/utimens.c (fdutimens, lutimens): Likewise.
24445         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
24446         (validate_timespec): Adjust return value.
24447         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
24448         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
24449         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
24450
24451 2009-12-29  Eric Blake  <ebb9@byu.net>
24452
24453         link-warning: make usage consistent
24454         * modules/ctype (Depends-on): Add link-warning.
24455         (Makefile.am): Update rules accordingly.
24456         * modules/langinfo (Depends-on, Makefile.am): Likewise.
24457         * modules/locale (Depends-on, Makefile.am): Likewise.
24458         * modules/sys_file (Makefile.am): Likewise.
24459         * modules/getopt-posix (Makefile.am): Delete unused link warning
24460         efforts.
24461         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
24462         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
24463         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
24464         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
24465
24466         stdio: remove unused variables
24467         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
24468         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
24469         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
24470
24471         tests: test more substitute headers
24472         * modules/ctype-tests: New file.
24473         * modules/dirent-tests: Likewise.
24474         * modules/spawn-tests: Likewise.
24475         * modules/sys_file-tests: Likewise.
24476         * modules/sys_ioctl-tests: Likewise.
24477         * modules/sys_wait-tests: Likewise.
24478         * tests/test-ctype.c: Likewise.
24479         * tests/test-dirent.c: Likewise.
24480         * tests/test-spawn.c: Likewise.
24481         * tests/test-sys_file.c: Likewise.
24482         * tests/test-sys_ioctl.c: Likewise.
24483         * tests/test-sys_wait.c: Likewise.
24484         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
24485         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
24486         whether or not flock is in use.
24487
24488         tests: remove License section from module
24489         * modules/arpa_inet-tests: Remove unneeded section.
24490         * modules/byteswap-tests: Likewise.
24491         * modules/ceilf-tests: Likewise.
24492         * modules/ceill-tests: Likewise.
24493         * modules/crypto/des-tests: Likewise.
24494         * modules/crypto/gc-arcfour-tests: Likewise.
24495         * modules/crypto/gc-arctwo-tests: Likewise.
24496         * modules/crypto/gc-des-tests: Likewise.
24497         * modules/crypto/gc-hmac-md5-tests: Likewise.
24498         * modules/crypto/gc-hmac-sha1-tests: Likewise.
24499         * modules/crypto/gc-md2-tests: Likewise.
24500         * modules/crypto/gc-md4-tests: Likewise.
24501         * modules/crypto/gc-md5-tests: Likewise.
24502         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
24503         * modules/crypto/gc-rijndael-tests: Likewise.
24504         * modules/crypto/gc-sha1-tests: Likewise.
24505         * modules/crypto/gc-tests: Likewise.
24506         * modules/crypto/md2-tests: Likewise.
24507         * modules/crypto/md4-tests: Likewise.
24508         * modules/fcntl-h-tests: Likewise.
24509         * modules/floorf-tests: Likewise.
24510         * modules/floorl-tests: Likewise.
24511         * modules/frexp-nolibm-tests: Likewise.
24512         * modules/frexp-tests: Likewise.
24513         * modules/frexpl-nolibm-tests: Likewise.
24514         * modules/frexpl-tests: Likewise.
24515         * modules/getaddrinfo-tests: Likewise.
24516         * modules/inttypes-tests: Likewise.
24517         * modules/isfinite-tests: Likewise.
24518         * modules/isinf-tests: Likewise.
24519         * modules/ldexpl-tests: Likewise.
24520         * modules/locale-tests: Likewise.
24521         * modules/math-tests: Likewise.
24522         * modules/netdb-tests: Likewise.
24523         * modules/netinet_in-tests: Likewise.
24524         * modules/printf-frexp-tests: Likewise.
24525         * modules/printf-frexpl-tests: Likewise.
24526         * modules/priv-set-tests: Likewise.
24527         * modules/random_r-tests: Likewise.
24528         * modules/round-tests: Likewise.
24529         * modules/roundf-tests: Likewise.
24530         * modules/roundl-tests: Likewise.
24531         * modules/search-tests: Likewise.
24532         * modules/select-tests: Likewise.
24533         * modules/signal-tests: Likewise.
24534         * modules/stdbool-tests: Likewise.
24535         * modules/stddef-tests: Likewise.
24536         * modules/stdint-tests: Likewise.
24537         * modules/stdio-tests: Likewise.
24538         * modules/stdlib-tests: Likewise.
24539         * modules/string-tests: Likewise.
24540         * modules/strings-tests: Likewise.
24541         * modules/sys_select-tests: Likewise.
24542         * modules/sys_socket-tests: Likewise.
24543         * modules/sys_stat-tests: Likewise.
24544         * modules/sys_time-tests: Likewise.
24545         * modules/sys_utsname-tests: Likewise.
24546         * modules/sysexits-tests: Likewise.
24547         * modules/time-tests: Likewise.
24548         * modules/trunc-tests: Likewise.
24549         * modules/truncf-tests: Likewise.
24550         * modules/truncl-tests: Likewise.
24551         * modules/tsearch-tests: Likewise.
24552         * modules/unistd-tests: Likewise.
24553         * modules/wchar-tests: Likewise.
24554         * modules/wctype-tests: Likewise.
24555
24556         tests: fix license on several tests
24557         * tests/test-des.c: Update to GPLv3+.
24558         * tests/test-flock.c: Likewise.
24559         * tests/test-fsync.c: Likewise.
24560         * tests/test-futimens.h: Likewise.
24561         * tests/test-gc-arcfour.c: Likewise.
24562         * tests/test-gc-arctwo.c: Likewise.
24563         * tests/test-gc-des.c: Likewise.
24564         * tests/test-gc-hmac-md5.c: Likewise.
24565         * tests/test-gc-hmac-sha1.c: Likewise.
24566         * tests/test-gc-md2.c: Likewise.
24567         * tests/test-gc-md4.c: Likewise.
24568         * tests/test-gc-md5.c: Likewise.
24569         * tests/test-gc-pbkdf2-sha1.c: Likewise.
24570         * tests/test-gc-rijndael.c: Likewise.
24571         * tests/test-gc-sha1.c: Likewise.
24572         * tests/test-gc.c: Likewise.
24573         * tests/test-getcwd.c: Likewise.
24574         * tests/test-link.c: Likewise.
24575         * tests/test-link.h: Likewise.
24576         * tests/test-lutimens.h: Likewise.
24577         * tests/test-md2.c: Likewise.
24578         * tests/test-md4.c: Likewise.
24579         * tests/test-mkdir.h: Likewise.
24580         * tests/test-rename.c: Likewise.
24581         * tests/test-rename.h: Likewise.
24582         * tests/test-safe-alloc.c: Likewise.
24583         * tests/test-utimens-common.h: Likewise.
24584         * tests/test-utimens.h: Likewise.
24585
24586         maint: sync license texts
24587         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
24588         * doc/gpl-3.0.texi: Revert copyright year update.
24589         * doc/lgpl-3.0.texi: Likewise.
24590
24591 2009-12-29  Jim Meyering  <meyering@redhat.com>
24592
24593         update nearly all FSF copyright year lists to include 2009
24594         The files named by the following are exempted:
24595             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
24596               test -f "$dst" && { echo "$dst"; continue; }
24597               test -d "$dst" || continue
24598               echo "$dst"/$(basename "$src")
24599             done > exempt
24600             git ls-files tests/unictype >> exempt
24601         In the remaining files, convert to all-interval notation if
24602         - there is already at least one year interval like 2000-2003
24603         - the file is maintained by me
24604         - the file is in lib/uni*/, where that style already prevails
24605         Otherwise, use update-copyright's default.
24606
24607 2009-12-29  Simon Josefsson  <simon@josefsson.org>
24608         and Eric Blake  <ebb9@byu.net>
24609
24610         tests: don't require debug system() to pass
24611         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
24612         * tests/test-rmdir.h (test_rmdir_func): Likewise.
24613         * tests/test-unlink.h (test_unlink_func): Likewise.
24614         * tests/test-fstatat.c (main): ...into callers.
24615         * tests/test-lstat.c (main): Likewise.
24616         * tests/test-rmdir.c (main): Likewise.
24617         * tests/test-unlink.c (main): Likewise.
24618         * tests/test-unlinkat.c (main): Likewise.
24619         * tests/test-areadlink-with-size.c (main): Don't require a
24620         debug-only system call to pass, aiding cross-testing to mingw.
24621         * tests/test-areadlink.c (main): Likewise.
24622         * tests/test-areadlinkat-with-size.c (main): Likewise.
24623         * tests/test-areadlinkat.c (main): Likewise.
24624         * tests/test-canonicalize-lgpl.c (main): Likewise.
24625         * tests/test-canonicalize.c (main): Likewise.
24626         * tests/test-chown.c (main): Likewise.
24627         * tests/test-fchownat.c (main): Likewise.
24628         * tests/test-lchown.c (main): Likewise.
24629         * tests/test-fdutimensat.c (main): Likewise.
24630         * tests/test-futimens.c (main): Likewise.
24631         * tests/test-link.c (main): Likewise.
24632         * tests/test-linkat.c (main): Likewise.
24633         * tests/test-mkdir.c (main): Likewise.
24634         * tests/test-mkdirat.c (main): Likewise.
24635         * tests/test-mkfifo.c (main): Likewise.
24636         * tests/test-mkfifoat.c (main): Likewise.
24637         * tests/test-mknod.c (main): Likewise.
24638         * tests/test-readlink.c (main): Likewise.
24639         * tests/test-remove.c (main): Likewise.
24640         * tests/test-rename.c (main): Likewise.
24641         * tests/test-renameat.c (main): Likewise.
24642         * tests/test-symlink.c (main): Likewise.
24643         * tests/test-symlinkat.c (main): Likewise.
24644         * tests/test-utimens.c (main): Likewise.
24645         * tests/test-utimensat.c (main): Likewise.
24646
24647 2009-12-29  Simon Josefsson  <simon@josefsson.org>
24648
24649         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
24650         on $(UNUSED_PARAMETER_H) to avoid build failure.
24651
24652 2009-12-28  Jim Meyering  <meyering@redhat.com>
24653
24654         update-copyright: you may specify a max. line length other than 72
24655         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
24656
24657         maint: use consistent FSF copyright line syntax
24658         * lib/posixtm.c: Add missing comma in FSF copyright line.
24659         * lib/posixtm.h: Likewise.
24660         * lib/getugroups.c: Add missing ", Inc.".
24661
24662         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
24663         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
24664         FSF copyright line.  Remove trailing blanks.
24665
24666 2009-12-28  Eric Blake  <ebb9@byu.net>
24667
24668         test-dup2: reduce dependencies
24669         * modules/cloexec (Configure.ac): Set witness.
24670         * modules/dup2-tests (Depends-on): Drop cloexec.
24671         * tests/test-dup2.c (main): Skip portion of test if cloexec module
24672         not present.
24673         Suggested by Bruno Haible.
24674
24675 2009-12-26  Bruno Haible  <bruno@clisp.org>
24676
24677         Remove an unneeded dependency.
24678         * modules/fseterr (Depends-on): Remove dup2.
24679
24680 2009-12-26  Eric Blake  <ebb9@byu.net>
24681
24682         tests: use macros.h in more places
24683         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
24684         (ASSERT_STREAM): Provide default of stderr.
24685         * tests/test-dirent-safer.c: Include macros.h, using alternate
24686         stream for assertions.
24687         * tests/test-dup-safer.c: Likewise.
24688         * tests/test-freopen-safer.c: Likewise.
24689         * tests/test-getopt.c: Likewise.
24690         * tests/test-openat-safer.c: Likewise.
24691         * tests/test-pipe.c: Likewise.
24692         * tests/test-popen-safer.c: Likewise.
24693         * modules/dirent-safer-tests (Files): Include macros.h.
24694         * modules/unistd-safer-tests (Files): Likewise.
24695         * modules/freopen-safer-tests (Files): Likewise.
24696         * modules/getopt-posix-tests (Files): Likewise.
24697         * modules/openat-safer-tests (Files): Likewise.
24698         * modules/pipe-tests (Files): Likewise.
24699
24700 2009-12-26  Bruno Haible  <bruno@clisp.org>
24701
24702         javacomp: Portability fix.
24703         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
24704         that it also works on Solaris.
24705
24706 2009-12-26  Bruno Haible  <bruno@clisp.org>
24707
24708         localename: Fix storage allocation of gl_locale_name_thread's result.
24709         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
24710         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
24711         all platforms that have 'uselocale'.
24712         (gl_locale_name_thread_unsafe): New function, extracted from
24713         gl_locale_name_thread.
24714         (gl_locale_name_thread): Call struniq on all platforms that have
24715         'uselocale'.
24716         * tests/test-localename.c (test_locale_name_thread): Check that the
24717         resulting strings are permanently allocated.
24718         * modules/localename-tests (Depends-on): Add strdup.
24719
24720 2009-12-26  Bruno Haible  <bruno@clisp.org>
24721
24722         * tests/test-localename.c (categories): Fill in the strings.
24723
24724 2009-12-26  Jim Meyering  <meyering@redhat.com>
24725
24726         isdir: complete the removal of m4/isdir.m4
24727         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
24728
24729         isdir: clean up, since at least grep still uses it
24730         * lib/isdir.c: Include "isdir.h".
24731         (S_ISDIR): Remove now-unneeded definition.
24732         * modules/isdir (Files): Add lib/isdir.h.
24733         * lib/isdir.h: New file, with declaration.
24734         * m4/isdir.m4: Remove file -- unneeded.
24735
24736 2009-12-25  Bruno Haible  <bruno@clisp.org>
24737
24738         selinux-h: Make generated .h files standalone.
24739         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
24740         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
24741         * lib/se-selinux.in.h: Likewise.
24742         * modules/selinux-h (Depends-on): Add unused-parameter.
24743         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
24744         selinux/selinux.h and selinux/context.h.
24745         Suggested by Eric Blake.
24746
24747 2009-12-25  Bruno Haible  <bruno@clisp.org>
24748
24749         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
24750         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
24751         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
24752         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
24753         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
24754
24755 2009-12-24  Bruno Haible  <bruno@clisp.org>
24756
24757         openat: Fix warning.
24758         * lib/openat-proc.c: Include <unistd.h>.
24759
24760 2009-12-24  Bruno Haible  <bruno@clisp.org>
24761
24762         New module 'unused-parameter'.
24763         * build-aux/unused-parameter.h: New file, extracted from earlier
24764         gnulib-common.m4.
24765         * modules/unused-parameter: New file.
24766         * lib/unistr.h: Include unused-parameter.h.
24767         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
24768         _GL_UNUSED.
24769         * modules/unistr/base (Depends-on): Add unused-parameter.
24770
24771 2009-12-24  Bruno Haible  <bruno@clisp.org>
24772
24773         Add missing dependencies to 'extensions' module.
24774         * m4/extensions.m4: Add comment.
24775         * modules/accept4 (Depends-on): Add extensions.
24776         * modules/dup3 (Depends-on): Likewise.
24777         * modules/fcntl (Depends-on): Likewise.
24778         * modules/futimens (Depends-on): Likewise.
24779         * modules/mknod (Depends-on): Likewise.
24780         * modules/pipe2 (Depends-on): Likewise.
24781         * modules/stat-time (Depends-on): Likewise.
24782         * modules/strcasestr-simple (Depends-on): Likewise.
24783         * modules/strsignal (Depends-on): Likewise.
24784         * modules/utimensat (Depends-on): Likewise.
24785         * modules/localcharset (Depends-on): Likewise. Needed because of
24786         gl_FCNTL_O_FLAGS.
24787         * modules/wcrtomb (Depends-on): Likewise. Needed because of
24788         AC_TYPE_MBSTATE_T.
24789         * modules/wcsnrtombs (Depends-on): Likewise.
24790         * modules/wcsrtombs (Depends-on): Likewise.
24791
24792 2009-12-24  Bruno Haible  <bruno@clisp.org>
24793
24794         binary-io: Avoid gcc warning due to SET_BINARY.
24795         * lib/binary-io.h (SET_BINARY): Cast the result to void.
24796         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
24797
24798 2009-12-24  Bruno Haible  <bruno@clisp.org>
24799
24800         Avoid future namespace pollution on glibc systems.
24801         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
24802         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
24803         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
24804         glibc systems.
24805
24806 2009-12-24  Bruno Haible  <bruno@clisp.org>
24807
24808         Refactor common macros used in tests.
24809         * tests/macros.h: New file.
24810         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
24811         and/or <stdlib.h>, if appropriate.
24812         (ASSERT, SIZEOF): Remove macros.
24813         * tests/test-areadlink-with-size.c: Likewise.
24814         * tests/test-areadlinkat.c: Likewise.
24815         * tests/test-areadlinkat-with-size.c: Likewise.
24816         * tests/test-argmatch.c: Likewise.
24817         * tests/test-argv-iter.c: Likewise.
24818         * tests/test-array-mergesort.c: Likewise.
24819         * tests/test-array_list.c: Likewise.
24820         * tests/test-array_oset.c: Likewise.
24821         * tests/test-avltree_list.c: Likewise.
24822         * tests/test-avltree_oset.c: Likewise.
24823         * tests/test-avltreehash_list.c: Likewise.
24824         * tests/test-base64.c: Likewise.
24825         * tests/test-binary-io.c: Likewise.
24826         * tests/test-bitrotate.c: Likewise.
24827         * tests/test-btowc.c: Likewise.
24828         * tests/test-byteswap.c: Likewise.
24829         * tests/test-c-ctype.c: Likewise.
24830         * tests/test-c-stack.c: Likewise.
24831         * tests/test-c-strcasecmp.c: Likewise.
24832         * tests/test-c-strcasestr.c: Likewise.
24833         * tests/test-c-strncasecmp.c: Likewise.
24834         * tests/test-c-strstr.c: Likewise.
24835         * tests/test-canonicalize-lgpl.c: Likewise.
24836         * tests/test-canonicalize.c: Likewise.
24837         * tests/test-carray_list.c: Likewise.
24838         * tests/test-ceilf1.c: Likewise.
24839         * tests/test-ceilf2.c: Likewise.
24840         * tests/test-ceill.c: Likewise.
24841         * tests/test-chown.c: Likewise.
24842         * tests/test-cloexec.c: Likewise.
24843         * tests/test-copy-acl.c: Likewise.
24844         * tests/test-copy-file.c: Likewise.
24845         * tests/test-count-one-bits.c: Likewise.
24846         * tests/test-dprintf-posix.c: Likewise.
24847         * tests/test-dup2.c: Likewise.
24848         * tests/test-dup3.c: Likewise.
24849         * tests/test-duplocale.c: Likewise.
24850         * tests/test-fbufmode.c: Likewise.
24851         * tests/test-fchdir.c: Likewise.
24852         * tests/test-fchownat.c: Likewise.
24853         * tests/test-fcntl-safer.c: Likewise.
24854         * tests/test-fcntl.c: Likewise.
24855         * tests/test-fdopendir.c: Likewise.
24856         * tests/test-fdutimensat.c: Likewise.
24857         * tests/test-fflush2.c: Likewise.
24858         * tests/test-file-has-acl.c: Likewise.
24859         * tests/test-filevercmp.c: Likewise.
24860         * tests/test-flock.c: Likewise.
24861         * tests/test-floorf1.c: Likewise.
24862         * tests/test-floorf2.c: Likewise.
24863         * tests/test-floorl.c: Likewise.
24864         * tests/test-fnmatch.c: Likewise.
24865         * tests/test-fopen.h: Likewise.
24866         * tests/test-fpending.c: Likewise.
24867         * tests/test-fprintf-posix.c: Likewise.
24868         * tests/test-fpurge.c: Likewise.
24869         * tests/test-freadable.c: Likewise.
24870         * tests/test-freadahead.c: Likewise.
24871         * tests/test-freading.c: Likewise.
24872         * tests/test-freadptr.c: Likewise.
24873         * tests/test-freadptr2.c: Likewise.
24874         * tests/test-freadseek.c: Likewise.
24875         * tests/test-freopen.c: Likewise.
24876         * tests/test-frexp.c: Likewise.
24877         * tests/test-frexpl.c: Likewise.
24878         * tests/test-fseek.c: Likewise.
24879         * tests/test-fseeko.c: Likewise.
24880         * tests/test-fstatat.c: Likewise.
24881         * tests/test-fstrcmp.c: Likewise.
24882         * tests/test-fsync.c: Likewise.
24883         * tests/test-ftell.c: Likewise.
24884         * tests/test-ftello.c: Likewise.
24885         * tests/test-func.c: Likewise.
24886         * tests/test-futimens.c: Likewise.
24887         * tests/test-fwritable.c: Likewise.
24888         * tests/test-fwriting.c: Likewise.
24889         * tests/test-getcwd.c: Likewise.
24890         * tests/test-getdate.c: Likewise.
24891         * tests/test-getdelim.c: Likewise.
24892         * tests/test-getdtablesize.c: Likewise.
24893         * tests/test-getgroups.c: Likewise.
24894         * tests/test-getline.c: Likewise.
24895         * tests/test-getndelim2.c: Likewise.
24896         * tests/test-glob.c: Likewise.
24897         * tests/test-hash.c: Likewise.
24898         * tests/test-i-ring.c: Likewise.
24899         * tests/test-iconv-utf.c: Likewise.
24900         * tests/test-iconv.c: Likewise.
24901         * tests/test-idpriv-drop.c: Likewise.
24902         * tests/test-idpriv-droptemp.c: Likewise.
24903         * tests/test-inet_ntop.c: Likewise.
24904         * tests/test-inet_pton.c: Likewise.
24905         * tests/test-isblank.c: Likewise.
24906         * tests/test-isfinite.c: Likewise.
24907         * tests/test-isinf.c: Likewise.
24908         * tests/test-isnan.c: Likewise.
24909         * tests/test-isnand.h: Likewise.
24910         * tests/test-isnanf.h: Likewise.
24911         * tests/test-isnanl.h: Likewise.
24912         * tests/test-lchown.c: Likewise.
24913         * tests/test-ldexpl.c: Likewise.
24914         * tests/test-link.c: Likewise.
24915         * tests/test-linkat.c: Likewise.
24916         * tests/test-linked_list.c: Likewise.
24917         * tests/test-linkedhash_list.c: Likewise.
24918         * tests/test-localename.c: Likewise.
24919         * tests/test-lseek.c: Likewise.
24920         * tests/test-lstat.c: Likewise.
24921         * tests/test-mbmemcasecmp.c: Likewise.
24922         * tests/test-mbmemcasecoll.c: Likewise.
24923         * tests/test-mbrtowc.c: Likewise.
24924         * tests/test-mbscasecmp.c: Likewise.
24925         * tests/test-mbscasestr1.c: Likewise.
24926         * tests/test-mbscasestr2.c: Likewise.
24927         * tests/test-mbscasestr3.c: Likewise.
24928         * tests/test-mbscasestr4.c: Likewise.
24929         * tests/test-mbschr.c: Likewise.
24930         * tests/test-mbscspn.c: Likewise.
24931         * tests/test-mbsinit.c: Likewise.
24932         * tests/test-mbsncasecmp.c: Likewise.
24933         * tests/test-mbsnrtowcs.c: Likewise.
24934         * tests/test-mbspbrk.c: Likewise.
24935         * tests/test-mbspcasecmp.c: Likewise.
24936         * tests/test-mbsrchr.c: Likewise.
24937         * tests/test-mbsrtowcs.c: Likewise.
24938         * tests/test-mbsspn.c: Likewise.
24939         * tests/test-mbsstr1.c: Likewise.
24940         * tests/test-mbsstr2.c: Likewise.
24941         * tests/test-mbsstr3.c: Likewise.
24942         * tests/test-memchr.c: Likewise.
24943         * tests/test-memchr2.c: Likewise.
24944         * tests/test-memcmp.c: Likewise.
24945         * tests/test-memmem.c: Likewise.
24946         * tests/test-memrchr.c: Likewise.
24947         * tests/test-mkdir.c: Likewise.
24948         * tests/test-mkdirat.c: Likewise.
24949         * tests/test-mkfifo.c: Likewise.
24950         * tests/test-mkfifoat.c: Likewise.
24951         * tests/test-mknod.c: Likewise.
24952         * tests/test-nanosleep.c: Likewise.
24953         * tests/test-nl_langinfo.c: Likewise.
24954         * tests/test-obstack-printf.c: Likewise.
24955         * tests/test-open.c: Likewise.
24956         * tests/test-openat.c: Likewise.
24957         * tests/test-pipe-filter-gi1.c: Likewise.
24958         * tests/test-pipe-filter-gi2-main.c: Likewise.
24959         * tests/test-pipe-filter-ii1.c: Likewise.
24960         * tests/test-pipe-filter-ii2-main.c: Likewise.
24961         * tests/test-pipe2.c: Likewise.
24962         * tests/test-popen.h: Likewise.
24963         * tests/test-posixtm.c: Likewise.
24964         * tests/test-pread.c: Likewise.
24965         * tests/test-printf-frexp.c: Likewise.
24966         * tests/test-printf-frexpl.c: Likewise.
24967         * tests/test-printf-posix.c: Likewise.
24968         * tests/test-priv-set.c: Likewise.
24969         * tests/test-quotearg.c: Likewise.
24970         * tests/test-random_r.c: Likewise.
24971         * tests/test-rawmemchr.c: Likewise.
24972         * tests/test-rbtree_list.c: Likewise.
24973         * tests/test-rbtree_oset.c: Likewise.
24974         * tests/test-rbtreehash_list.c: Likewise.
24975         * tests/test-readlink.c: Likewise.
24976         * tests/test-remove.c: Likewise.
24977         * tests/test-rename.c: Likewise.
24978         * tests/test-renameat.c: Likewise.
24979         * tests/test-rmdir.c: Likewise.
24980         * tests/test-round1.c: Likewise.
24981         * tests/test-roundf1.c: Likewise.
24982         * tests/test-roundl.c: Likewise.
24983         * tests/test-safe-alloc.c: Likewise.
24984         * tests/test-sameacls.c: Likewise.
24985         * tests/test-set-mode-acl.c: Likewise.
24986         * tests/test-setenv.c: Likewise.
24987         * tests/test-sigaction.c: Likewise.
24988         * tests/test-signbit.c: Likewise.
24989         * tests/test-sleep.c: Likewise.
24990         * tests/test-snprintf-posix.c: Likewise.
24991         * tests/test-snprintf.c: Likewise.
24992         * tests/test-sprintf-posix.c: Likewise.
24993         * tests/test-stat-time.c: Likewise.
24994         * tests/test-stat.c: Likewise.
24995         * tests/test-strcasestr.c: Likewise.
24996         * tests/test-strchrnul.c: Likewise.
24997         * tests/test-strerror.c: Likewise.
24998         * tests/test-striconv.c: Likewise.
24999         * tests/test-striconveh.c: Likewise.
25000         * tests/test-striconveha.c: Likewise.
25001         * tests/test-strsignal.c: Likewise.
25002         * tests/test-strstr.c: Likewise.
25003         * tests/test-strtod.c: Likewise.
25004         * tests/test-strverscmp.c: Likewise.
25005         * tests/test-symlink.c: Likewise.
25006         * tests/test-symlinkat.c: Likewise.
25007         * tests/test-trunc1.c: Likewise.
25008         * tests/test-trunc2.c: Likewise.
25009         * tests/test-truncf1.c: Likewise.
25010         * tests/test-truncf2.c: Likewise.
25011         * tests/test-truncl.c: Likewise.
25012         * tests/test-uname.c: Likewise.
25013         * tests/test-unlink.c: Likewise.
25014         * tests/test-unlinkat.c: Likewise.
25015         * tests/test-unsetenv.c: Likewise.
25016         * tests/test-usleep.c: Likewise.
25017         * tests/test-utimens.c: Likewise.
25018         * tests/test-utimensat.c: Likewise.
25019         * tests/test-vasnprintf-posix.c: Likewise.
25020         * tests/test-vasnprintf-posix2.c: Likewise.
25021         * tests/test-vasnprintf.c: Likewise.
25022         * tests/test-vasprintf-posix.c: Likewise.
25023         * tests/test-vasprintf.c: Likewise.
25024         * tests/test-vdprintf-posix.c: Likewise.
25025         * tests/test-vfprintf-posix.c: Likewise.
25026         * tests/test-vprintf-posix.c: Likewise.
25027         * tests/test-vsnprintf-posix.c: Likewise.
25028         * tests/test-vsnprintf.c: Likewise.
25029         * tests/test-vsprintf-posix.c: Likewise.
25030         * tests/test-wcrtomb.c: Likewise.
25031         * tests/test-wcsnrtombs.c: Likewise.
25032         * tests/test-wcsrtombs.c: Likewise.
25033         * tests/test-wctype.c: Likewise.
25034         * tests/test-wcwidth.c: Likewise.
25035         * tests/test-xfprintf-posix.c: Likewise.
25036         * tests/test-xmemdup0.c: Likewise.
25037         * tests/test-xprintf-posix.c: Likewise.
25038         * tests/test-xvasprintf.c: Likewise.
25039         * tests/unicase/test-locale-language.c: Likewise.
25040         * tests/unicase/test-mapping-part1.h: Likewise.
25041         * tests/unicase/test-predicate-part1.h: Likewise.
25042         * tests/unicase/test-u8-casecmp.c: Likewise.
25043         * tests/unicase/test-u8-casecoll.c: Likewise.
25044         * tests/unicase/test-u8-casefold.c: Likewise.
25045         * tests/unicase/test-u8-is-cased.c: Likewise.
25046         * tests/unicase/test-u8-is-casefolded.c: Likewise.
25047         * tests/unicase/test-u8-is-lowercase.c: Likewise.
25048         * tests/unicase/test-u8-is-titlecase.c: Likewise.
25049         * tests/unicase/test-u8-is-uppercase.c: Likewise.
25050         * tests/unicase/test-u8-tolower.c: Likewise.
25051         * tests/unicase/test-u8-totitle.c: Likewise.
25052         * tests/unicase/test-u8-toupper.c: Likewise.
25053         * tests/unicase/test-u16-casecmp.c: Likewise.
25054         * tests/unicase/test-u16-casecoll.c: Likewise.
25055         * tests/unicase/test-u16-casefold.c: Likewise.
25056         * tests/unicase/test-u16-is-cased.c: Likewise.
25057         * tests/unicase/test-u16-is-casefolded.c: Likewise.
25058         * tests/unicase/test-u16-is-lowercase.c: Likewise.
25059         * tests/unicase/test-u16-is-titlecase.c: Likewise.
25060         * tests/unicase/test-u16-is-uppercase.c: Likewise.
25061         * tests/unicase/test-u16-tolower.c: Likewise.
25062         * tests/unicase/test-u16-totitle.c: Likewise.
25063         * tests/unicase/test-u16-toupper.c: Likewise.
25064         * tests/unicase/test-u32-casecmp.c: Likewise.
25065         * tests/unicase/test-u32-casecoll.c: Likewise.
25066         * tests/unicase/test-u32-casefold.c: Likewise.
25067         * tests/unicase/test-u32-is-cased.c: Likewise.
25068         * tests/unicase/test-u32-is-casefolded.c: Likewise.
25069         * tests/unicase/test-u32-is-lowercase.c: Likewise.
25070         * tests/unicase/test-u32-is-titlecase.c: Likewise.
25071         * tests/unicase/test-u32-is-uppercase.c: Likewise.
25072         * tests/unicase/test-u32-tolower.c: Likewise.
25073         * tests/unicase/test-u32-totitle.c: Likewise.
25074         * tests/unicase/test-u32-toupper.c: Likewise.
25075         * tests/unicase/test-ulc-casecmp.c: Likewise.
25076         * tests/unicase/test-ulc-casecoll.c: Likewise.
25077         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
25078         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
25079         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
25080         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
25081         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
25082         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
25083         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
25084         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
25085         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
25086         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
25087         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
25088         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
25089         * tests/unictype/test-bidi_byname.c: Likewise.
25090         * tests/unictype/test-bidi_name.c: Likewise.
25091         * tests/unictype/test-bidi_of.c: Likewise.
25092         * tests/unictype/test-bidi_test.c: Likewise.
25093         * tests/unictype/test-block_list.c: Likewise.
25094         * tests/unictype/test-block_of.c: Likewise.
25095         * tests/unictype/test-block_test.c: Likewise.
25096         * tests/unictype/test-categ_and.c: Likewise.
25097         * tests/unictype/test-categ_and_not.c: Likewise.
25098         * tests/unictype/test-categ_byname.c: Likewise.
25099         * tests/unictype/test-categ_name.c: Likewise.
25100         * tests/unictype/test-categ_none.c: Likewise.
25101         * tests/unictype/test-categ_of.c: Likewise.
25102         * tests/unictype/test-categ_or.c: Likewise.
25103         * tests/unictype/test-categ_test_withtable.c: Likewise.
25104         * tests/unictype/test-combining.c: Likewise.
25105         * tests/unictype/test-decdigit.c: Likewise.
25106         * tests/unictype/test-digit.c: Likewise.
25107         * tests/unictype/test-mirror.c: Likewise.
25108         * tests/unictype/test-numeric.c: Likewise.
25109         * tests/unictype/test-pr_byname.c: Likewise.
25110         * tests/unictype/test-pr_test.c: Likewise.
25111         * tests/unictype/test-predicate-part1.h: Likewise.
25112         * tests/unictype/test-scripts.c: Likewise.
25113         * tests/unictype/test-sy_c_ident.c: Likewise.
25114         * tests/unictype/test-sy_java_ident.c: Likewise.
25115         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
25116         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
25117         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
25118         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
25119         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
25120         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
25121         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
25122         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
25123         * tests/uninorm/test-canonical-decomposition.c: Likewise.
25124         * tests/uninorm/test-compat-decomposition.c: Likewise.
25125         * tests/uninorm/test-composition.c: Likewise.
25126         * tests/uninorm/test-decomposing-form.c: Likewise.
25127         * tests/uninorm/test-decomposition.c: Likewise.
25128         * tests/uninorm/test-u8-nfc.c: Likewise.
25129         * tests/uninorm/test-u8-nfd.c: Likewise.
25130         * tests/uninorm/test-u8-nfkc.c: Likewise.
25131         * tests/uninorm/test-u8-nfkd.c: Likewise.
25132         * tests/uninorm/test-u8-normcmp.c: Likewise.
25133         * tests/uninorm/test-u8-normcoll.c: Likewise.
25134         * tests/uninorm/test-u16-nfc.c: Likewise.
25135         * tests/uninorm/test-u16-nfd.c: Likewise.
25136         * tests/uninorm/test-u16-nfkc.c: Likewise.
25137         * tests/uninorm/test-u16-nfkd.c: Likewise.
25138         * tests/uninorm/test-u16-normcmp.c: Likewise.
25139         * tests/uninorm/test-u16-normcoll.c: Likewise.
25140         * tests/uninorm/test-u32-nfc.c: Likewise.
25141         * tests/uninorm/test-u32-nfd.c: Likewise.
25142         * tests/uninorm/test-u32-nfkc.c: Likewise.
25143         * tests/uninorm/test-u32-nfkd.c: Likewise.
25144         * tests/uninorm/test-u32-normalize-big.c: Likewise.
25145         * tests/uninorm/test-u32-normcmp.c: Likewise.
25146         * tests/uninorm/test-u32-normcoll.c: Likewise.
25147         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
25148         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
25149         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
25150         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
25151         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
25152         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
25153         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
25154         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
25155         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
25156         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
25157         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
25158         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
25159         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
25160         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
25161         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
25162         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
25163         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
25164         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
25165         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
25166         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
25167         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
25168         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
25169         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
25170         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
25171         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
25172         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
25173         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
25174         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
25175         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
25176         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
25177         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
25178         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
25179         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
25180         * tests/uniwidth/test-u8-strwidth.c: Likewise.
25181         * tests/uniwidth/test-u8-width.c: Likewise.
25182         * tests/uniwidth/test-u16-strwidth.c: Likewise.
25183         * tests/uniwidth/test-u16-width.c: Likewise.
25184         * tests/uniwidth/test-u32-strwidth.c: Likewise.
25185         * tests/uniwidth/test-u32-width.c: Likewise.
25186         * tests/uniwidth/test-uc_width.c: Likewise.
25187         * tests/uniwidth/test-uc_width2.c: Likewise.
25188         * modules/acl-tests (Files): Add tests/macros.h.
25189         * modules/areadlink-tests (Files): Likewise.
25190         * modules/areadlink-with-size-tests (Files): Likewise.
25191         * modules/areadlinkat-tests (Files): Likewise.
25192         * modules/areadlinkat-with-size-tests (Files): Likewise.
25193         * modules/argmatch-tests (Files): Likewise.
25194         * modules/argv-iter-tests (Files): Likewise.
25195         * modules/array-list-tests (Files): Likewise.
25196         * modules/array-mergesort-tests (Files): Likewise.
25197         * modules/array-oset-tests (Files): Likewise.
25198         * modules/avltree-list-tests (Files): Likewise.
25199         * modules/avltree-oset-tests (Files): Likewise.
25200         * modules/avltreehash-list-tests (Files): Likewise.
25201         * modules/base64-tests (Files): Likewise.
25202         * modules/binary-io-tests (Files): Likewise.
25203         * modules/bitrotate-tests (Files): Likewise.
25204         * modules/btowc-tests (Files): Likewise.
25205         * modules/byteswap-tests (Files): Likewise.
25206         * modules/c-ctype-tests (Files): Likewise.
25207         * modules/c-stack-tests (Files): Likewise.
25208         * modules/c-strcase-tests (Files): Likewise.
25209         * modules/c-strcasestr-tests (Files): Likewise.
25210         * modules/c-strstr-tests (Files): Likewise.
25211         * modules/canonicalize-lgpl-tests (Files): Likewise.
25212         * modules/canonicalize-tests (Files): Likewise.
25213         * modules/carray-list-tests (Files): Likewise.
25214         * modules/ceilf-tests (Files): Likewise.
25215         * modules/ceill-tests (Files): Likewise.
25216         * modules/chown-tests (Files): Likewise.
25217         * modules/cloexec-tests (Files): Likewise.
25218         * modules/copy-file-tests (Files): Likewise.
25219         * modules/count-one-bits-tests (Files): Likewise.
25220         * modules/dprintf-posix-tests (Files): Likewise.
25221         * modules/dup2-tests (Files): Likewise.
25222         * modules/dup3-tests (Files): Likewise.
25223         * modules/duplocale-tests (Files): Likewise.
25224         * modules/fbufmode-tests (Files): Likewise.
25225         * modules/fchdir-tests (Files): Likewise.
25226         * modules/fcntl-safer-tests (Files): Likewise.
25227         * modules/fcntl-tests (Files): Likewise.
25228         * modules/fdopendir-tests (Files): Likewise.
25229         * modules/fdutimensat-tests (Files): Likewise.
25230         * modules/fflush-tests (Files): Likewise.
25231         * modules/filevercmp-tests (Files): Likewise.
25232         * modules/flock-tests (Files): Likewise.
25233         * modules/floorf-tests (Files): Likewise.
25234         * modules/floorl-tests (Files): Likewise.
25235         * modules/fnmatch-tests (Files): Likewise.
25236         * modules/fopen-safer-tests (Files): Likewise.
25237         * modules/fopen-tests (Files): Likewise.
25238         * modules/fpending-tests (Files): Likewise.
25239         * modules/fprintf-posix-tests (Files): Likewise.
25240         * modules/fpurge-tests (Files): Likewise.
25241         * modules/freadable-tests (Files): Likewise.
25242         * modules/freadahead-tests (Files): Likewise.
25243         * modules/freading-tests (Files): Likewise.
25244         * modules/freadptr-tests (Files): Likewise.
25245         * modules/freadseek-tests (Files): Likewise.
25246         * modules/freopen-tests (Files): Likewise.
25247         * modules/frexp-nolibm-tests (Files): Likewise.
25248         * modules/frexp-tests (Files): Likewise.
25249         * modules/frexpl-nolibm-tests (Files): Likewise.
25250         * modules/frexpl-tests (Files): Likewise.
25251         * modules/fseek-tests (Files): Likewise.
25252         * modules/fseeko-tests (Files): Likewise.
25253         * modules/fstrcmp-tests (Files): Likewise.
25254         * modules/fsync-tests (Files): Likewise.
25255         * modules/ftell-tests (Files): Likewise.
25256         * modules/ftello-tests (Files): Likewise.
25257         * modules/func-tests (Files): Likewise.
25258         * modules/futimens-tests (Files): Likewise.
25259         * modules/fwritable-tests (Files): Likewise.
25260         * modules/fwriting-tests (Files): Likewise.
25261         * modules/getcwd-tests (Files): Likewise.
25262         * modules/getdate-tests (Files): Likewise.
25263         * modules/getdelim-tests (Files): Likewise.
25264         * modules/getdtablesize-tests (Files): Likewise.
25265         * modules/getgroups-tests (Files): Likewise.
25266         * modules/getline-tests (Files): Likewise.
25267         * modules/getndelim2-tests (Files): Likewise.
25268         * modules/glob-tests (Files): Likewise.
25269         * modules/hash-tests (Files): Likewise.
25270         * modules/i-ring-tests (Files): Likewise.
25271         * modules/iconv-tests (Files): Likewise.
25272         * modules/iconv_open-utf-tests (Files): Likewise.
25273         * modules/idpriv-drop-tests (Files): Likewise.
25274         * modules/idpriv-droptemp-tests (Files): Likewise.
25275         * modules/inet_ntop-tests (Files): Likewise.
25276         * modules/inet_pton-tests (Files): Likewise.
25277         * modules/isblank-tests (Files): Likewise.
25278         * modules/isfinite-tests (Files): Likewise.
25279         * modules/isinf-tests (Files): Likewise.
25280         * modules/isnan-tests (Files): Likewise.
25281         * modules/isnand-nolibm-tests (Files): Likewise.
25282         * modules/isnand-tests (Files): Likewise.
25283         * modules/isnanf-nolibm-tests (Files): Likewise.
25284         * modules/isnanf-tests (Files): Likewise.
25285         * modules/isnanl-nolibm-tests (Files): Likewise.
25286         * modules/isnanl-tests (Files): Likewise.
25287         * modules/lchown-tests (Files): Likewise.
25288         * modules/ldexpl-tests (Files): Likewise.
25289         * modules/link-tests (Files): Likewise.
25290         * modules/linkat-tests (Files): Likewise.
25291         * modules/linked-list-tests (Files): Likewise.
25292         * modules/linkedhash-list-tests (Files): Likewise.
25293         * modules/localename-tests (Files): Likewise.
25294         * modules/lseek-tests (Files): Likewise.
25295         * modules/lstat-tests (Files): Likewise.
25296         * modules/mbmemcasecmp-tests (Files): Likewise.
25297         * modules/mbmemcasecoll-tests (Files): Likewise.
25298         * modules/mbrtowc-tests (Files): Likewise.
25299         * modules/mbscasecmp-tests (Files): Likewise.
25300         * modules/mbscasestr-tests (Files): Likewise.
25301         * modules/mbschr-tests (Files): Likewise.
25302         * modules/mbscspn-tests (Files): Likewise.
25303         * modules/mbsinit-tests (Files): Likewise.
25304         * modules/mbsncasecmp-tests (Files): Likewise.
25305         * modules/mbsnrtowcs-tests (Files): Likewise.
25306         * modules/mbspbrk-tests (Files): Likewise.
25307         * modules/mbspcasecmp-tests (Files): Likewise.
25308         * modules/mbsrchr-tests (Files): Likewise.
25309         * modules/mbsrtowcs-tests (Files): Likewise.
25310         * modules/mbsspn-tests (Files): Likewise.
25311         * modules/mbsstr-tests (Files): Likewise.
25312         * modules/memchr-tests (Files): Likewise.
25313         * modules/memchr2-tests (Files): Likewise.
25314         * modules/memcmp-tests (Files): Likewise.
25315         * modules/memmem-tests (Files): Likewise.
25316         * modules/memrchr-tests (Files): Likewise.
25317         * modules/mkdir-tests (Files): Likewise.
25318         * modules/mkfifo-tests (Files): Likewise.
25319         * modules/mkfifoat-tests (Files): Likewise.
25320         * modules/mknod-tests (Files): Likewise.
25321         * modules/nanosleep-tests (Files): Likewise.
25322         * modules/nl_langinfo-tests (Files): Likewise.
25323         * modules/obstack-printf-tests (Files): Likewise.
25324         * modules/open-tests (Files): Likewise.
25325         * modules/openat-tests (Files): Likewise.
25326         * modules/pipe-filter-gi-tests (Files): Likewise.
25327         * modules/pipe-filter-ii-tests (Files): Likewise.
25328         * modules/pipe2-tests (Files): Likewise.
25329         * modules/popen-safer-tests (Files): Likewise.
25330         * modules/popen-tests (Files): Likewise.
25331         * modules/posixtm-tests (Files): Likewise.
25332         * modules/pread-tests (Files): Likewise.
25333         * modules/printf-frexp-tests (Files): Likewise.
25334         * modules/printf-frexpl-tests (Files): Likewise.
25335         * modules/printf-posix-tests (Files): Likewise.
25336         * modules/priv-set-tests (Files): Likewise.
25337         * modules/quotearg-tests (Files): Likewise.
25338         * modules/random_r-tests (Files): Likewise.
25339         * modules/rawmemchr-tests (Files): Likewise.
25340         * modules/rbtree-list-tests (Files): Likewise.
25341         * modules/rbtree-oset-tests (Files): Likewise.
25342         * modules/rbtreehash-list-tests (Files): Likewise.
25343         * modules/readlink-tests (Files): Likewise.
25344         * modules/remove-tests (Files): Likewise.
25345         * modules/rename-tests (Files): Likewise.
25346         * modules/renameat-tests (Files): Likewise.
25347         * modules/rmdir-tests (Files): Likewise.
25348         * modules/round-tests (Files): Likewise.
25349         * modules/roundf-tests (Files): Likewise.
25350         * modules/roundl-tests (Files): Likewise.
25351         * modules/safe-alloc-tests (Files): Likewise.
25352         * modules/setenv-tests (Files): Likewise.
25353         * modules/sigaction-tests (Files): Likewise.
25354         * modules/signbit-tests (Files): Likewise.
25355         * modules/sleep-tests (Files): Likewise.
25356         * modules/snprintf-posix-tests (Files): Likewise.
25357         * modules/snprintf-tests (Files): Likewise.
25358         * modules/sprintf-posix-tests (Files): Likewise.
25359         * modules/stat-tests (Files): Likewise.
25360         * modules/stat-time-tests (Files): Likewise.
25361         * modules/strcasestr-tests (Files): Likewise.
25362         * modules/strchrnul-tests (Files): Likewise.
25363         * modules/strerror-tests (Files): Likewise.
25364         * modules/striconv-tests (Files): Likewise.
25365         * modules/striconveh-tests (Files): Likewise.
25366         * modules/striconveha-tests (Files): Likewise.
25367         * modules/strsignal-tests (Files): Likewise.
25368         * modules/strstr-tests (Files): Likewise.
25369         * modules/strtod-tests (Files): Likewise.
25370         * modules/strverscmp-tests (Files): Likewise.
25371         * modules/symlink-tests (Files): Likewise.
25372         * modules/symlinkat-tests (Files): Likewise.
25373         * modules/trunc-tests (Files): Likewise.
25374         * modules/truncf-tests (Files): Likewise.
25375         * modules/truncl-tests (Files): Likewise.
25376         * modules/uname-tests (Files): Likewise.
25377         * modules/unicase/cased-tests (Files): Likewise.
25378         * modules/unicase/ignorable-tests (Files): Likewise.
25379         * modules/unicase/locale-language-tests (Files): Likewise.
25380         * modules/unicase/tolower-tests (Files): Likewise.
25381         * modules/unicase/totitle-tests (Files): Likewise.
25382         * modules/unicase/toupper-tests (Files): Likewise.
25383         * modules/unicase/u8-casecmp-tests (Files): Likewise.
25384         * modules/unicase/u8-casecoll-tests (Files): Likewise.
25385         * modules/unicase/u8-casefold-tests (Files): Likewise.
25386         * modules/unicase/u8-is-cased-tests (Files): Likewise.
25387         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
25388         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
25389         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
25390         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
25391         * modules/unicase/u8-tolower-tests (Files): Likewise.
25392         * modules/unicase/u8-totitle-tests (Files): Likewise.
25393         * modules/unicase/u8-toupper-tests (Files): Likewise.
25394         * modules/unicase/u16-casecmp-tests (Files): Likewise.
25395         * modules/unicase/u16-casecoll-tests (Files): Likewise.
25396         * modules/unicase/u16-casefold-tests (Files): Likewise.
25397         * modules/unicase/u16-is-cased-tests (Files): Likewise.
25398         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
25399         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
25400         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
25401         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
25402         * modules/unicase/u16-tolower-tests (Files): Likewise.
25403         * modules/unicase/u16-totitle-tests (Files): Likewise.
25404         * modules/unicase/u16-toupper-tests (Files): Likewise.
25405         * modules/unicase/u32-casecmp-tests (Files): Likewise.
25406         * modules/unicase/u32-casecoll-tests (Files): Likewise.
25407         * modules/unicase/u32-casefold-tests (Files): Likewise.
25408         * modules/unicase/u32-is-cased-tests (Files): Likewise.
25409         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
25410         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
25411         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
25412         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
25413         * modules/unicase/u32-tolower-tests (Files): Likewise.
25414         * modules/unicase/u32-totitle-tests (Files): Likewise.
25415         * modules/unicase/u32-toupper-tests (Files): Likewise.
25416         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
25417         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
25418         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
25419         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
25420         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
25421         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
25422         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
25423         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
25424         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
25425         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
25426         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
25427         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
25428         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
25429         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
25430         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
25431         * modules/unictype/bidicategory-name-tests (Files): Likewise.
25432         * modules/unictype/bidicategory-of-tests (Files): Likewise.
25433         * modules/unictype/bidicategory-test-tests (Files): Likewise.
25434         * modules/unictype/block-list-tests (Files): Likewise.
25435         * modules/unictype/block-of-tests (Files): Likewise.
25436         * modules/unictype/block-test-tests (Files): Likewise.
25437         * modules/unictype/category-C-tests (Files): Likewise.
25438         * modules/unictype/category-Cc-tests (Files): Likewise.
25439         * modules/unictype/category-Cf-tests (Files): Likewise.
25440         * modules/unictype/category-Cn-tests (Files): Likewise.
25441         * modules/unictype/category-Co-tests (Files): Likewise.
25442         * modules/unictype/category-Cs-tests (Files): Likewise.
25443         * modules/unictype/category-L-tests (Files): Likewise.
25444         * modules/unictype/category-Ll-tests (Files): Likewise.
25445         * modules/unictype/category-Lm-tests (Files): Likewise.
25446         * modules/unictype/category-Lo-tests (Files): Likewise.
25447         * modules/unictype/category-Lt-tests (Files): Likewise.
25448         * modules/unictype/category-Lu-tests (Files): Likewise.
25449         * modules/unictype/category-M-tests (Files): Likewise.
25450         * modules/unictype/category-Mc-tests (Files): Likewise.
25451         * modules/unictype/category-Me-tests (Files): Likewise.
25452         * modules/unictype/category-Mn-tests (Files): Likewise.
25453         * modules/unictype/category-N-tests (Files): Likewise.
25454         * modules/unictype/category-Nd-tests (Files): Likewise.
25455         * modules/unictype/category-Nl-tests (Files): Likewise.
25456         * modules/unictype/category-No-tests (Files): Likewise.
25457         * modules/unictype/category-P-tests (Files): Likewise.
25458         * modules/unictype/category-Pc-tests (Files): Likewise.
25459         * modules/unictype/category-Pd-tests (Files): Likewise.
25460         * modules/unictype/category-Pe-tests (Files): Likewise.
25461         * modules/unictype/category-Pf-tests (Files): Likewise.
25462         * modules/unictype/category-Pi-tests (Files): Likewise.
25463         * modules/unictype/category-Po-tests (Files): Likewise.
25464         * modules/unictype/category-Ps-tests (Files): Likewise.
25465         * modules/unictype/category-S-tests (Files): Likewise.
25466         * modules/unictype/category-Sc-tests (Files): Likewise.
25467         * modules/unictype/category-Sk-tests (Files): Likewise.
25468         * modules/unictype/category-Sm-tests (Files): Likewise.
25469         * modules/unictype/category-So-tests (Files): Likewise.
25470         * modules/unictype/category-Z-tests (Files): Likewise.
25471         * modules/unictype/category-Zl-tests (Files): Likewise.
25472         * modules/unictype/category-Zp-tests (Files): Likewise.
25473         * modules/unictype/category-Zs-tests (Files): Likewise.
25474         * modules/unictype/category-and-not-tests (Files): Likewise.
25475         * modules/unictype/category-and-tests (Files): Likewise.
25476         * modules/unictype/category-byname-tests (Files): Likewise.
25477         * modules/unictype/category-name-tests (Files): Likewise.
25478         * modules/unictype/category-none-tests (Files): Likewise.
25479         * modules/unictype/category-of-tests (Files): Likewise.
25480         * modules/unictype/category-or-tests (Files): Likewise.
25481         * modules/unictype/category-test-withtable-tests (Files): Likewise.
25482         * modules/unictype/combining-class-tests (Files): Likewise.
25483         * modules/unictype/ctype-alnum-tests (Files): Likewise.
25484         * modules/unictype/ctype-alpha-tests (Files): Likewise.
25485         * modules/unictype/ctype-blank-tests (Files): Likewise.
25486         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
25487         * modules/unictype/ctype-digit-tests (Files): Likewise.
25488         * modules/unictype/ctype-graph-tests (Files): Likewise.
25489         * modules/unictype/ctype-lower-tests (Files): Likewise.
25490         * modules/unictype/ctype-print-tests (Files): Likewise.
25491         * modules/unictype/ctype-punct-tests (Files): Likewise.
25492         * modules/unictype/ctype-space-tests (Files): Likewise.
25493         * modules/unictype/ctype-upper-tests (Files): Likewise.
25494         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
25495         * modules/unictype/decimal-digit-tests (Files): Likewise.
25496         * modules/unictype/digit-tests (Files): Likewise.
25497         * modules/unictype/mirror-tests (Files): Likewise.
25498         * modules/unictype/numeric-tests (Files): Likewise.
25499         * modules/unictype/property-alphabetic-tests (Files): Likewise.
25500         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
25501         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
25502         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
25503         Likewise.
25504         * modules/unictype/property-bidi-block-separator-tests (Files):
25505         Likewise.
25506         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
25507         Likewise.
25508         * modules/unictype/property-bidi-common-separator-tests (Files):
25509         Likewise.
25510         * modules/unictype/property-bidi-control-tests (Files): Likewise.
25511         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
25512         Likewise.
25513         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
25514         Likewise.
25515         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
25516         Likewise.
25517         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
25518         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
25519         Likewise.
25520         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
25521         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
25522         Likewise.
25523         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
25524         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
25525         * modules/unictype/property-bidi-segment-separator-tests (Files):
25526         Likewise.
25527         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
25528         * modules/unictype/property-byname-tests (Files): Likewise.
25529         * modules/unictype/property-combining-tests (Files): Likewise.
25530         * modules/unictype/property-composite-tests (Files): Likewise.
25531         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
25532         * modules/unictype/property-dash-tests (Files): Likewise.
25533         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
25534         * modules/unictype/property-default-ignorable-code-point-tests (Files):
25535         Likewise.
25536         * modules/unictype/property-deprecated-tests (Files): Likewise.
25537         * modules/unictype/property-diacritic-tests (Files): Likewise.
25538         * modules/unictype/property-extender-tests (Files): Likewise.
25539         * modules/unictype/property-format-control-tests (Files): Likewise.
25540         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
25541         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
25542         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
25543         * modules/unictype/property-hex-digit-tests (Files): Likewise.
25544         * modules/unictype/property-hyphen-tests (Files): Likewise.
25545         * modules/unictype/property-id-continue-tests (Files): Likewise.
25546         * modules/unictype/property-id-start-tests (Files): Likewise.
25547         * modules/unictype/property-ideographic-tests (Files): Likewise.
25548         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
25549         * modules/unictype/property-ids-trinary-operator-tests (Files):
25550         Likewise.
25551         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
25552         * modules/unictype/property-iso-control-tests (Files): Likewise.
25553         * modules/unictype/property-join-control-tests (Files): Likewise.
25554         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
25555         * modules/unictype/property-line-separator-tests (Files): Likewise.
25556         * modules/unictype/property-logical-order-exception-tests (Files):
25557         Likewise.
25558         * modules/unictype/property-lowercase-tests (Files): Likewise.
25559         * modules/unictype/property-math-tests (Files): Likewise.
25560         * modules/unictype/property-non-break-tests (Files): Likewise.
25561         * modules/unictype/property-not-a-character-tests (Files): Likewise.
25562         * modules/unictype/property-numeric-tests (Files): Likewise.
25563         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
25564         * modules/unictype/property-other-default-ignorable-code-point-tests
25565         (Files): Likewise.
25566         * modules/unictype/property-other-grapheme-extend-tests (Files):
25567         Likewise.
25568         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
25569         * modules/unictype/property-other-id-start-tests (Files): Likewise.
25570         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
25571         * modules/unictype/property-other-math-tests (Files): Likewise.
25572         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
25573         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
25574         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
25575         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
25576         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
25577         * modules/unictype/property-private-use-tests (Files): Likewise.
25578         * modules/unictype/property-punctuation-tests (Files): Likewise.
25579         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
25580         * modules/unictype/property-radical-tests (Files): Likewise.
25581         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
25582         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
25583         * modules/unictype/property-space-tests (Files): Likewise.
25584         * modules/unictype/property-terminal-punctuation-tests (Files):
25585         Likewise.
25586         * modules/unictype/property-test-tests (Files): Likewise.
25587         * modules/unictype/property-titlecase-tests (Files): Likewise.
25588         * modules/unictype/property-unassigned-code-value-tests (Files):
25589         Likewise.
25590         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
25591         * modules/unictype/property-uppercase-tests (Files): Likewise.
25592         * modules/unictype/property-variation-selector-tests (Files): Likewise.
25593         * modules/unictype/property-white-space-tests (Files): Likewise.
25594         * modules/unictype/property-xid-continue-tests (Files): Likewise.
25595         * modules/unictype/property-xid-start-tests (Files): Likewise.
25596         * modules/unictype/property-zero-width-tests (Files): Likewise.
25597         * modules/unictype/scripts-tests (Files): Likewise.
25598         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
25599         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
25600         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
25601         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
25602         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
25603         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
25604         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
25605         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
25606         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
25607         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
25608         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
25609         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
25610         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
25611         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
25612         * modules/uninorm/composition-tests (Files): Likewise.
25613         * modules/uninorm/decomposing-form-tests (Files): Likewise.
25614         * modules/uninorm/decomposition-tests (Files): Likewise.
25615         * modules/uninorm/filter-tests (Files): Likewise.
25616         * modules/uninorm/nfc-tests (Files): Likewise.
25617         * modules/uninorm/nfd-tests (Files): Likewise.
25618         * modules/uninorm/nfkc-tests (Files): Likewise.
25619         * modules/uninorm/nfkd-tests (Files): Likewise.
25620         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
25621         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
25622         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
25623         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
25624         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
25625         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
25626         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
25627         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
25628         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
25629         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
25630         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
25631         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
25632         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
25633         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
25634         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
25635         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
25636         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
25637         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
25638         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
25639         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
25640         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
25641         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
25642         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
25643         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
25644         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
25645         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
25646         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
25647         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
25648         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
25649         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
25650         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
25651         * modules/uniwidth/u8-width-tests (Files): Likewise.
25652         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
25653         * modules/uniwidth/u16-width-tests (Files): Likewise.
25654         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
25655         * modules/uniwidth/u32-width-tests (Files): Likewise.
25656         * modules/uniwidth/width-tests (Files): Likewise.
25657         * modules/unlink-tests (Files): Likewise.
25658         * modules/unsetenv-tests (Files): Likewise.
25659         * modules/usleep-tests (Files): Likewise.
25660         * modules/utimens-tests (Files): Likewise.
25661         * modules/utimensat-tests (Files): Likewise.
25662         * modules/vasnprintf-posix-tests (Files): Likewise.
25663         * modules/vasnprintf-tests (Files): Likewise.
25664         * modules/vasprintf-posix-tests (Files): Likewise.
25665         * modules/vasprintf-tests (Files): Likewise.
25666         * modules/vdprintf-posix-tests (Files): Likewise.
25667         * modules/vfprintf-posix-tests (Files): Likewise.
25668         * modules/vprintf-posix-tests (Files): Likewise.
25669         * modules/vsnprintf-posix-tests (Files): Likewise.
25670         * modules/vsnprintf-tests (Files): Likewise.
25671         * modules/vsprintf-posix-tests (Files): Likewise.
25672         * modules/wcrtomb-tests (Files): Likewise.
25673         * modules/wcsnrtombs-tests (Files): Likewise.
25674         * modules/wcsrtombs-tests (Files): Likewise.
25675         * modules/wctype-tests (Files): Likewise.
25676         * modules/wcwidth-tests (Files): Likewise.
25677         * modules/xmemdup0-tests (Files): Likewise.
25678         * modules/xprintf-posix-tests (Files): Likewise.
25679         * modules/xvasprintf-tests (Files): Likewise.
25680
25681 2009-12-24  Eric Blake  <ebb9@byu.net>
25682
25683         test-nanosleep: fix typo
25684         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
25685         patch.
25686         Reported by Bruno Haible.
25687
25688 2009-12-24  Bruno Haible  <bruno@clisp.org>
25689
25690         Reduce namespace pollution on glibc systems.
25691         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
25692         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
25693         systems.
25694         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
25695         <getopt.h> on glibc systems.
25696         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
25697         systems.
25698         * lib/fcntl.c: Include <unistd.h> here instead.
25699
25700 2009-12-24  Bruno Haible  <bruno@clisp.org>
25701
25702         * lib/stdlib.in.h (includes): Fix typo in today's commit.
25703
25704 2009-12-24  Eric Blake  <ebb9@byu.net>
25705
25706         tests: add signature checks
25707         * tests/signature.h (SIGNATURE_CHECK): New file.
25708         * modules/atexit-tests (Files): Use it.
25709         * modules/btowc-tests (Files): Likewise.
25710         * modules/canonicalize-lgpl-tests (Files): Likewise.
25711         * modules/ceilf-tests (Files): Likewise.
25712         * modules/ceill-tests (Files): Likewise.
25713         * modules/chown-tests (Files): Likewise.
25714         * modules/dprintf-posix-tests (Files): Likewise.
25715         * modules/dup2-tests (Files): Likewise.
25716         * modules/dup3-tests (Files): Likewise.
25717         * modules/duplocale-tests (Files): Likewise.
25718         * modules/fchdir-tests (Files): Likewise.
25719         * modules/fcntl-tests (Files): Likewise.
25720         * modules/fdopendir-tests (Files): Likewise.
25721         * modules/fflush-tests (Files): Likewise.
25722         * modules/flock-tests (Files): Likewise.
25723         * modules/floorf-tests (Files): Likewise.
25724         * modules/floorl-tests (Files): Likewise.
25725         * modules/fnmatch-tests (Files): Likewise.
25726         * modules/fopen-tests (Files): Likewise.
25727         * modules/fprintf-posix-tests (Files): Likewise.
25728         * modules/freopen-tests (Files): Likewise.
25729         * modules/frexp-nolibm-tests (Files): Likewise.
25730         * modules/frexp-tests (Files): Likewise.
25731         * modules/frexpl-nolibm-tests (Files): Likewise.
25732         * modules/frexpl-tests (Files): Likewise.
25733         * modules/fseek-tests (Files): Likewise.
25734         * modules/fseeko-tests (Files): Likewise.
25735         * modules/fsync-tests (Files): Likewise.
25736         * modules/ftell-tests (Files): Likewise.
25737         * modules/ftello-tests (Files): Likewise.
25738         * modules/futimens-tests (Files): Likewise.
25739         * modules/getaddrinfo-tests (Files): Likewise.
25740         * modules/getcwd-tests (Files): Likewise.
25741         * modules/getdelim-tests (Files): Likewise.
25742         * modules/getdtablesize-tests (Files): Likewise.
25743         * modules/getgroups-tests (Files): Likewise.
25744         * modules/gethostname-tests (Files): Likewise.
25745         * modules/getline-tests (Files): Likewise.
25746         * modules/getopt-posix-tests (Files): Likewise.
25747         * modules/gettimeofday-tests (Files): Likewise.
25748         * modules/glob-tests (Files): Likewise.
25749         * modules/iconv-tests (Files): Likewise.
25750         * modules/inet_ntop-tests (Files): Likewise.
25751         * modules/inet_pton-tests (Files): Likewise.
25752         * modules/isblank-tests (Files): Likewise.
25753         * modules/lchown-tests (Files): Likewise.
25754         * modules/ldexpl-tests (Files): Likewise.
25755         * modules/link-tests (Files): Likewise.
25756         * modules/linkat-tests (Files): Likewise.
25757         * modules/lseek-tests (Files): Likewise.
25758         * modules/lstat-tests (Files): Likewise.
25759         * modules/mbrtowc-tests (Files): Likewise.
25760         * modules/mbsinit-tests (Files): Likewise.
25761         * modules/mbsnrtowcs-tests (Files): Likewise.
25762         * modules/mbsrtowcs-tests (Files): Likewise.
25763         * modules/memchr-tests (Files): Likewise.
25764         * modules/memcmp-tests (Files): Likewise.
25765         * modules/memmem-tests (Files): Likewise.
25766         * modules/memrchr-tests (Files): Likewise.
25767         * modules/mkdir-tests (Files): Likewise.
25768         * modules/mkfifo-tests (Files): Likewise.
25769         * modules/mkfifoat-tests (Files): Likewise.
25770         * modules/mknod-tests (Files): Likewise.
25771         * modules/nanosleep-tests (Files): Likewise.
25772         * modules/nl_langinfo-tests (Files): Likewise.
25773         * modules/obstack-printf-tests (Files): Likewise.
25774         * modules/open-tests (Files): Likewise.
25775         * modules/openat-tests (Files): Likewise.
25776         * modules/perror-tests (Files): Likewise.
25777         * modules/pipe2-tests (Files): Likewise.
25778         * modules/poll-tests (Files): Likewise.
25779         * modules/popen-tests (Files): Likewise.
25780         * modules/posix_spawn-tests (Files): Likewise.
25781         * modules/posix_spawnp-tests (Files): Likewise.
25782         * modules/pread-tests (Files): Likewise.
25783         * modules/printf-posix-tests (Files): Likewise.
25784         * modules/pty-tests (Files): Likewise.
25785         * modules/random_r-tests (Files): Likewise.
25786         * modules/rawmemchr-tests (Files): Likewise.
25787         * modules/readlink-tests (Files): Likewise.
25788         * modules/remove-tests (Files): Likewise.
25789         * modules/rename-tests (Files): Likewise.
25790         * modules/renameat-tests (Files): Likewise.
25791         * modules/rmdir-tests (Files): Likewise.
25792         * modules/round-tests (Files): Likewise.
25793         * modules/roundf-tests (Files): Likewise.
25794         * modules/roundl-tests (Files): Likewise.
25795         * modules/select-tests (Files): Likewise.
25796         * modules/setenv-tests (Files): Likewise.
25797         * modules/sigaction-tests (Files): Likewise.
25798         * modules/sleep-tests (Files): Likewise.
25799         * modules/snprintf-posix-tests (Files): Likewise.
25800         * modules/snprintf-tests (Files): Likewise.
25801         * modules/sprintf-posix-tests (Files): Likewise.
25802         * modules/stat-tests (Files): Likewise.
25803         * modules/strcasestr-tests (Files): Likewise.
25804         * modules/strchrnul-tests (Files): Likewise.
25805         * modules/strerror-tests (Files): Likewise.
25806         * modules/strsignal-tests (Files): Likewise.
25807         * modules/strstr-tests (Files): Likewise.
25808         * modules/strtod-tests (Files): Likewise.
25809         * modules/strverscmp-tests (Files): Likewise.
25810         * modules/symlink-tests (Files): Likewise.
25811         * modules/symlinkat-tests (Files): Likewise.
25812         * modules/times-tests (Files): Likewise.
25813         * modules/trunc-tests (Files): Likewise.
25814         * modules/truncf-tests (Files): Likewise.
25815         * modules/truncl-tests (Files): Likewise.
25816         * modules/tsearch-tests (Files): Likewise.
25817         * modules/uname-tests (Files): Likewise.
25818         * modules/unlink-tests (Files): Likewise.
25819         * modules/unsetenv-tests (Files): Likewise.
25820         * modules/usleep-tests (Files): Likewise.
25821         * modules/utimensat-tests (Files): Likewise.
25822         * modules/vasprintf-tests (Files): Likewise.
25823         * modules/vdprintf-posix-tests (Files): Likewise.
25824         * modules/vfprintf-posix-tests (Files): Likewise.
25825         * modules/vprintf-posix-tests (Files): Likewise.
25826         * modules/vsnprintf-posix-tests (Files): Likewise.
25827         * modules/vsnprintf-tests (Files): Likewise.
25828         * modules/vsprintf-posix-tests (Files): Likewise.
25829         * modules/wcrtomb-tests (Files): Likewise.
25830         * modules/wcsnrtombs-tests (Files): Likewise.
25831         * modules/wcsrtombs-tests (Files): Likewise.
25832         * modules/wcwidth-tests (Files): Likewise.
25833         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
25834         * tests/test-isinf.c (isinf): Likewise.
25835         * tests/test-isnan.c (isnan): Likewise.
25836         * tests/test-signbit.c (signbit): Likewise.
25837         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
25838         declaration, either as macro or with correct signature.
25839         (select): Ensure function under test is declared with correct
25840         signature in correct header.
25841         * tests/test-atexit.c (atexit): Likewise.
25842         * tests/test-btowc.c (btowc): Likewise.
25843         * tests/test-canonicalize-lgpl.c (realpath)
25844         (canonicalize_file_name): Likewise.
25845         * tests/test-ceilf1.c (ceilf): Likewise.
25846         * tests/test-ceill.c (ceill): Likewise.
25847         * tests/test-chown.c (chown): Likewise.
25848         * tests/test-dprintf-posix.c (dprintf): Likewise.
25849         * tests/test-dup2.c (dup2): Likewise.
25850         * tests/test-dup3.c (dup3): Likewise.
25851         * tests/test-duplocale.c (duplocale): Likewise.
25852         * tests/test-fchdir.c (fchdir): Likewise.
25853         * tests/test-fchownat.c (fchownat): Likewise.
25854         * tests/test-fcntl.c (fcntl): Likewise.
25855         * tests/test-fdopendir.c (fdopendir): Likewise.
25856         * tests/test-fflush.c (fflush): Likewise.
25857         * tests/test-flock.c (flock): Likewise.
25858         * tests/test-floorf1.c (floorf): Likewise.
25859         * tests/test-floorl.c (floorl): Likewise.
25860         * tests/test-fnmatch.c (fnmatch): Likewise.
25861         * tests/test-fopen.c (fopen): Likewise.
25862         * tests/test-fprintf-posix.c (fprintf): Likewise.
25863         * tests/test-freopen.c (freopen): Likewise.
25864         * tests/test-frexp.c (frexp): Likewise.
25865         * tests/test-frexpl.c (frexpl): Likewise.
25866         * tests/test-fseek.c (fseek): Likewise.
25867         * tests/test-fseeko.c (fseeko): Likewise.
25868         * tests/test-fstatat.c (fstatat): Likewise.
25869         * tests/test-fsync.c (fsync): Likewise.
25870         * tests/test-ftell.c (ftell): Likewise.
25871         * tests/test-ftello.c (ftello): Likewise.
25872         * tests/test-futimens.c (futimens): Likewise.
25873         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
25874         (gai_strerror): Likewise.
25875         * tests/test-getcwd.c (getcwd): Likewise.
25876         * tests/test-getdelim.c (getdelim): Likewise.
25877         * tests/test-getdtablesize.c (getdtablesize): Likewise.
25878         * tests/test-getgroups.c (getgroups): Likewise.
25879         * tests/test-gethostname.c (gethostname): Likewise.
25880         * tests/test-getline.c (getline): Likewise.
25881         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
25882         Likewise.
25883         * tests/test-gettimeofday.c (gettimeofday): Likewise.
25884         * tests/test-glob.c (glob, globfree): Likewise.
25885         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
25886         * tests/test-inet_ntop.c (inet_ntop): Likewise.
25887         * tests/test-inet_pton.c (inet_pton): Likewise.
25888         * tests/test-isblank.c (isblank): Likewise.
25889         * tests/test-lchown.c (lchown): Likewise.
25890         * tests/test-ldexpl.c (ldexpl): Likewise.
25891         * tests/test-link.c (link): Likewise.
25892         * tests/test-linkat.c (linkat): Likewise.
25893         * tests/test-lseek.c (lseek): Likewise.
25894         * tests/test-lstat.c (lstat): Likewise.
25895         * tests/test-mbrtowc.c (mbrtowc): Likewise.
25896         * tests/test-mbsinit.c (mbsinit): Likewise.
25897         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
25898         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
25899         * tests/test-memchr.c (memchr): Likewise.
25900         * tests/test-memcmp.c (memcmp): Likewise.
25901         * tests/test-memmem.c (memmem): Likewise.
25902         * tests/test-memrchr.c (memrchr): Likewise.
25903         * tests/test-mkdir.c (mkdir): Likewise.
25904         * tests/test-mkdirat.c (mkdirat): Likewise.
25905         * tests/test-mkfifo.c (mkfifo): Likewise.
25906         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
25907         * tests/test-mknod.c (mknod): Likewise.
25908         * tests/test-nanosleep.c (nanosleep): Likewise.
25909         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
25910         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
25911         Likewise.
25912         * tests/test-open.c (open): Likewise.
25913         * tests/test-openat.c (openat): Likewise.
25914         * tests/test-perror.c (perror): Likewise.
25915         * tests/test-pipe2.c (pipe2): Likewise.
25916         * tests/test-poll.c (poll): Likewise.
25917         * tests/test-popen.c (popen, pclose): Likewise.
25918         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
25919         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
25920         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
25921         (posix_spawn_file_actions_destroy)
25922         (posix_spawn_file_actions_addclose)
25923         (posix_spawn_file_actions_addopen)
25924         (posix_spawn_file_actions_adddup2): Likewise.
25925         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
25926         * tests/test-pread.c (pread): Likewise.
25927         * tests/test-printf-posix.c (printf): Likewise.
25928         * tests/test-pty.c (openpty, forkpty): Likewise.
25929         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
25930         (random_r): Likewise.
25931         * tests/test-rawmemchr.c (rawmemchr): Likewise.
25932         * tests/test-readlink.c (readlink): Likewise.
25933         * tests/test-remove.c (remove): Likewise.
25934         * tests/test-rename.c (rename): Likewise.
25935         * tests/test-renameat.c (renameat): Likewise.
25936         * tests/test-rmdir.c (rmdir): Likewise.
25937         * tests/test-round1.c (round): Likewise.
25938         * tests/test-roundf1.c (roundf): Likewise.
25939         * tests/test-roundl.c (roundl): Likewise.
25940         * tests/test-setenv.c (setenv): Likewise.
25941         * tests/test-sigaction.c (sigaction): Likewise.
25942         * tests/test-sleep.c (sleep): Likewise.
25943         * tests/test-snprintf.c (snprintf): Likewise.
25944         * tests/test-sprintf-posix.c (sprintf): Likewise.
25945         * tests/test-stat.c (stat): Likewise.
25946         * tests/test-stpncpy.c (stpncpy): Likewise.
25947         * tests/test-strcasestr.c (strcasestr): Likewise.
25948         * tests/test-strchrnul.c (strchrnul): Likewise.
25949         * tests/test-strerror.c (strerror): Likewise.
25950         * tests/test-strsignal.c (strsignal): Likewise.
25951         * tests/test-strstr.c (strstr): Likewise.
25952         * tests/test-strtod.c (strtod): Likewise.
25953         * tests/test-strverscmp.c (strverscmp): Likewise.
25954         * tests/test-symlink.c (symlink): Likewise.
25955         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
25956         * tests/test-times.c (times): Likewise.
25957         * tests/test-trunc1.c (trunc): Likewise.
25958         * tests/test-truncf1.c (truncf): Likewise.
25959         * tests/test-truncl.c (truncl): Likewise.
25960         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
25961         Likewise.
25962         * tests/test-uname.c (uname): Likewise.
25963         * tests/test-unlink.c (unlink): Likewise.
25964         * tests/test-unlinkat.c (unlinkat): Likewise.
25965         * tests/test-unsetenv.c (unsetenv): Likewise.
25966         * tests/test-usleep.c (usleep): Likewise.
25967         * tests/test-utimensat.c (utimensat): Likewise.
25968         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
25969         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
25970         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
25971         * tests/test-vprintf-posix.c (vprintf): Likewise.
25972         * tests/test-vsnprintf.c (vsnprintf): Likewise.
25973         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
25974         * tests/test-wcrtomb.c (wcrtomb): Likewise.
25975         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
25976         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
25977         * tests/test-wcwidth.c (wcwidth): Likewise.
25978
25979         build: pull in conditional headers during GNULIB_POSIXCHECK
25980         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
25981         definitions from any conditionally-included headers.
25982         * lib/stdlib.in.h (includes): Likewise.
25983         * lib/unistd.in.h (includes): Likewise.
25984
25985 2009-12-24  Bruno Haible  <bruno@clisp.org>
25986
25987         * tests/test-argv-iter.c: Include header file being tested immediately
25988         after config.h.
25989         * tests/test-base64.c: Likewise.
25990         * tests/test-flock.c: Likewise.
25991         * tests/test-fsync.c: Likewise.
25992         * tests/test-getdate.c: Likewise.
25993         * tests/test-getndelim2.c: Likewise.
25994         * tests/test-isfinite.c: Likewise.
25995         * tests/test-isinf.c: Likewise.
25996         * tests/test-strerror.c: Likewise.
25997         * tests/test-strsignal.c: Likewise.
25998
25999 2009-12-23  Eric Blake  <ebb9@byu.net>
26000
26001         unistd: work around cygwin bug
26002         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
26003         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
26004         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
26005
26006 2009-12-23  Bruno Haible  <bruno@clisp.org>
26007
26008         localename: More tests.
26009         * tests/test-localename.c (SIZEOF): New macro.
26010         (categories): New variable.
26011         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
26012         test_locale_name_default): Add test w.r.t. thread locale.
26013         (test_locale_name_thread): New function.
26014         (main): Invoke it.
26015
26016         localename: Make aware of thread locale.
26017         * lib/localename.h (gl_locale_name_thread): New declaration.
26018         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
26019         behaviour with respect to thread locale.
26020         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
26021         <langinfo.h>, glthread/lock.h.
26022         (SIZE_BITS): New macro.
26023         (string_hash): New function.
26024         (struct hash_node): New type.
26025         (HASH_TABLE_SIZE): New macro.
26026         (struniq_hash_table, struniq_lock): New variables.
26027         (struniq): New function.
26028         (gl_locale_name_thread): New function.
26029         (gl_locale_name): Invoke it.
26030         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
26031         * modules/localename (Depends-on): Add lock.
26032         Reported by Mike Gran <spk121@yahoo.com>.
26033
26034 2009-12-23  Eric Blake  <ebb9@byu.net>
26035
26036         va-args: new module
26037         * modules/va-args: New file.
26038         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
26039         * MODULES.html.sh (Core language properties): Mention it.
26040
26041         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
26042         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
26043         named alias for __attribute__((__unused__)).
26044         * lib/chown.c: Update client.
26045         * lib/fchmodat.c: Likewise.
26046         * lib/fts.c: Likewise.
26047         * lib/getdate.y: Likewise.
26048         * lib/getgroups.c: Likewise.
26049         * lib/getopt.c: Likewise.
26050         * lib/getugroups.c: Likewise.
26051         * lib/mkdir.c: Likewise.
26052         * lib/mkfifo.c: Likewise.
26053         * lib/mkfifoat.c: Likewise.
26054         * lib/mknod.c: Likewise.
26055         * lib/mknodat.c: Likewise.
26056         * lib/readlink.c: Likewise.
26057         * lib/se-context.in.h: Likewise.
26058         * lib/se-selinux.in.h: Likewise.
26059         * lib/sockets.c: Likewise.
26060         * lib/symlink.c: Likewise.
26061         * lib/symlinkat.c: Likewise.
26062         * lib/unicodeio.c: Likewise.
26063         * lib/unistr.h: Likewise.
26064         * tests/test-areadlink.c: Likewise.
26065         * tests/test-areadlinkat.c: Likewise.
26066         * tests/test-filenamecat.c: Likewise.
26067         * tests/test-fseeko.c: Likewise.
26068         * tests/test-ftello.c: Likewise.
26069         * tests/test-getdate.c: Likewise.
26070         * tests/test-getgroups.c: Likewise.
26071         * tests/test-gethostname.c: Likewise.
26072         * tests/test-quotearg.c: Likewise.
26073         * tests/test-version-etc.c: Likewise.
26074         * tests/test-xalloc-die.c: Likewise.
26075         * tests/test-xfprintf-posix.c: Likewise.
26076         * tests/test-xprintf-posix.c: Likewise.
26077         * tests/test-xvasprintf.c: Likewise.
26078
26079         tests: avoid compiler warnings
26080         * tests/test-fcntl.c (main): Delete unused parameters.
26081         * tests/test-freopen-safer.c (main): Likewise.
26082         * tests/test-xalloc-die.c (main): Mark unused parameters.
26083         * tests/test-fseeko.c (main): Likewise.
26084         * tests/test-ftello.c (main): Likewise.
26085         * tests/test-nanosleep.c (main): Avoid declaration warning.
26086         * tests/test-sleep.c (main): Likewise.
26087         * tests/test-unsetenv.c (main): Silence warning about string
26088         literal.
26089         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
26090
26091 2009-12-23  Bruno Haible  <bruno@clisp.org>
26092
26093         * tests/test-localename.c (test_locale_name): New function, extracted
26094         from main. Also test mixed situations.
26095         (test_locale_name_posix, test_locale_name_environ,
26096         test_locale_name_default): New functions.
26097         (main): Invoke them all.
26098         * modules/localename-tests (configure.ac): Test for newlocale.
26099
26100 2009-12-23  Bruno Haible  <bruno@clisp.org>
26101
26102         unistd: Ensure getcwd gets declared before being overridden.
26103         * lib/unistd.in.h: Conditionally include <io.h>.
26104
26105 2009-12-22  Bruno Haible  <bruno@clisp.org>
26106
26107         wchar: Diagnose broken combination of glibc and gcc versions and flags.
26108         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
26109         (gl_WCHAR_H): Invoke it.
26110         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
26111         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
26112         Reported by Karl Berry <karl@freefriends.org>.
26113
26114 2009-12-22  Eric Blake  <ebb9@byu.net>
26115
26116         math, unistd: avoid redundant includes
26117         * lib/math.in.h (isnan): No need to re-include <math.h>.
26118         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
26119
26120         getsubopt: work around cygwin bug
26121         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
26122         avoid conflicting with system getsubopt.
26123         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
26124         bug.
26125
26126         getopt: synchronize from glibc
26127         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
26128         parameter order.  Adjust all callers.
26129         (_getopt_internal_r, main): Adjust quoting in error messages.
26130         Drop considerations for outdated POSIX 1003.2 error message.
26131         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
26132         callers.
26133         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
26134
26135         test-getopt: test stderr behavior
26136         * modules/getopt-posix-tests (Depends-on): Add dup2.
26137         * tests/test-getopt.c (ASSERT): Avoid stderr.
26138         (main): Move stderr to a temporary file.
26139         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
26140         Instead, add parameter to inform caller if output occurred.
26141         (test_getopt): Adjust all existing tests to expect silence, and
26142         add new tests of leading ":".
26143         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
26144         glibc shortcomings with leading "-:" or "+:" in optstring.
26145         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
26146         Likewise.
26147         * doc/posix-functions/getopt.texi (getopt): Likewise.
26148
26149         test-getopt: enhance test
26150         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
26151         supports optind=0.
26152         * tests/test-getopt.c (OPTIND_MIN): Move...
26153         * tests/test-getopt.h (OPTIND_MIN): ...here.
26154         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
26155         Require that optind=0 works, since modern BSD supports it in
26156         addition to optreset, and since coreutils expects it.
26157         (test_getopt_long_only): New test.
26158         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
26159         glibc shortcomings with 'W;', and enforcement of optind=0.
26160         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
26161         Likewise.
26162
26163 2009-12-21  Bruno Haible  <bruno@clisp.org>
26164
26165         localename: Improvements for MacOS X and Cygwin.
26166         * lib/localename.h (gl_locale_name_environ): New declaration.
26167         * lib/localename.c (gl_locale_name_environ): New function, extracted from
26168         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
26169         (gl_locale_name_posix): Invoke it.
26170         (gl_locale_name_default): Add comments. Use Windows native API also on
26171         Cygwin.
26172
26173 2009-12-21  Bruno Haible  <bruno@clisp.org>
26174
26175         Update list of Win32 locale ids.
26176         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
26177         (LANG_SAMI): Renamed from LANG_SAAMI.
26178         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
26179         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
26180         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
26181         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
26182         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
26183         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
26184         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
26185         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
26186         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
26187         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
26188         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
26189         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
26190         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
26191         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
26192         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
26193         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
26194         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
26195         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
26196         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
26197         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
26198         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
26199         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
26200         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
26201         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
26202         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
26203         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
26204         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
26205         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
26206         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
26207         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
26208         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
26209         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
26210         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
26211         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
26212         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
26213         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
26214         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
26215         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
26216         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
26217         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
26218         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
26219         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
26220         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
26221         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
26222         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
26223         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
26224         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
26225         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
26226         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
26227         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
26228         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
26229         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
26230         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
26231         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
26232         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
26233         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
26234         Add more languages and countries for Sami, Sorbian. Add more countries
26235         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
26236         for Pashto. Change country for Syriac, Tswana.
26237
26238 2009-12-21  Eric Blake  <ebb9@byu.net>
26239
26240         test-utimens: avoid spurious failure
26241         * tests/test-chown.h (nap): Factor...
26242         * tests/nap.h: ...into new file.
26243         * tests/test-lchown.h (nap): Avoid duplication.
26244         * tests/test-utimens-common.h (nap): Use shared implementation,
26245         necessary on file systems with 1-second resolution.
26246         * modules/chown-tests (Files): Include new file.
26247         * modules/fdutimensat-tests (Files): Likewise.
26248         * modules/futimens-tests (Files): Likewise.
26249         * modules/lchown-tests (Files): Likewise.
26250         * modules/openat-tests (Files): Likewise.
26251         * modules/utimens-tests (Files): Likewise.
26252         * modules/utimensat-tests (Files): Likewise.
26253
26254 2009-12-19  Eric Blake  <ebb9@byu.net>
26255
26256         futimens, utimensat: work around Linux bug
26257         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
26258         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
26259         * lib/utimensat.c (rpl_utimensat): Work around it.
26260         * lib/futimens.c (rpl_futimens): Adjust comment.
26261
26262         utimens: work around Linux ctime bug
26263         * lib/utimens.c (detect_ctime_bug): New helper function.
26264         (update_timespec): Differentiate between workaround needed for
26265         this bug vs. what is needed for systems that lack utimensat.
26266         (fdutimens, lutimens): Work around bug.
26267
26268         utimens: check for ctime update
26269         * tests/test-utimens-common.h (check_ctime): Define.
26270         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
26271         * tests/test-futimens.h (test_futimens): Likewise.
26272         * tests/test-lutimens.h (test_lutimens): Likewise.
26273         * doc/posix-functions/futimens.texi (futimens): Document the bug.
26274         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
26275
26276 2009-12-19  Bruno Haible  <bruno@clisp.org>
26277
26278         dprintf-posix: Check against memory leak fixed on 2009-12-15.
26279         * tests/test-dprintf-posix2.sh: New file.
26280         * tests/test-dprintf-posix2.c: New file.
26281         * modules/dprintf-posix-tests (Files): Add them.
26282         (configure.ac): Check for getrlimit and setrlimit.
26283         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
26284
26285 2009-12-19  Bruno Haible  <bruno@clisp.org>
26286
26287         fprintf-posix: Check against memory leak fixed on 2009-12-15.
26288         * tests/test-fprintf-posix3.sh: New file.
26289         * tests/test-fprintf-posix3.c: New file.
26290         * modules/fprintf-posix-tests (Files): Add them.
26291         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
26292
26293 2009-12-19  Eric Blake  <ebb9@byu.net>
26294
26295         dirfd: fix prototype
26296         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
26297         * lib/dirfd.c (dirfd): Likewise.
26298
26299         canonicalize: reduce memory usage
26300         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
26301         allocation to size.
26302         Reported by Solar Designer <solar@openwall.com>.
26303
26304 2009-12-19  Bruno Haible  <bruno@clisp.org>
26305
26306         New module attribute 'Applicability'.
26307         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
26308         * gnulib-tool: New option --extract-applicability.
26309         (func_usage): Document it.
26310         (sed_extract_prog): Recognize it.
26311         (func_get_applicability): New function.
26312         (func_import): Generalize handling of 'link-warning' module.
26313         * modules/link-warning (Applicability): New section.
26314         * modules/arg-nonnull (Applicability): New section.
26315         Repoted by Simon Josefsson <simon@josefsson.org>.
26316
26317 2009-12-19  Bruno Haible  <bruno@clisp.org>
26318
26319         fflush: tweak
26320         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
26321         * lib/fseeko.c (rpl_fseeko): Likewise.
26322
26323 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
26324
26325         * lib/gl_list.h: Fix typo in comment.
26326
26327 2009-12-16  Eric Blake  <ebb9@byu.net>
26328
26329         fcntl: use to simplify other modules
26330         * modules/cloexec (Depends-on): Add fcntl.
26331         * modules/fchdir (Depends-on): Likewise.
26332         * modules/fd-safer-flag (Depends-on): Likewise.
26333         * modules/unistd-safer (Depends-on): Likewise.
26334         * modules/dup3 (configure.ac): Set module indicator.
26335         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
26336         missing.
26337         * lib/fchdir.c (_gl_register_dup): Fix comment.
26338         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
26339         * lib/dup-safer.c (dup_safer): Likewise.
26340         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
26341         * lib/dup3.c (dup3): Likewise.
26342         * tests/test-fchdir.c (main): Enhance test.
26343         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
26344
26345         fcntl: port portions of fcntl to mingw
26346         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
26347         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
26348         replacement for mingw.
26349         * modules/fcntl (Description): Update.
26350         (Depends-on): Add dup2.
26351         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
26352         * modules/fcntl-h (Makefile.am): Substitute it.
26353         * lib/fcntl.in.h (fcntl): Update declaration.
26354         (F_DUPFD, F_GETFD): New macros, when needed.
26355         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
26356         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
26357         * tests/test-fcntl.c (check_flags, main): Enhance test for items
26358         we now guarantee.
26359
26360         fcntl: work around cygwin bug in F_DUPFD
26361         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
26362         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
26363         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
26364         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
26365         * doc/posix-functions/fcntl.texi (fcntl): Document it.
26366
26367         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
26368         * modules/fcntl (Files): List new files.
26369         (configure.ac): Run a test.
26370         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
26371         * lib/fcntl.c (rpl_fcntl): Likewise.
26372         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
26373         (gl_FCNTL_H): Always replace fcntl.h.
26374         * modules/fcntl-h (Makefile.am): Substitute witnesses.
26375         * lib/fcntl.in.h (fcntl): Declare replacement.
26376         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
26377         needed, plus a witness.
26378         * doc/posix-functions/fcntl.texi (fcntl): Document this.
26379         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
26380         * tests/test-fcntl.c: New file.
26381         * modules/fcntl-tests: Likewise.
26382
26383         binary-io: avoid potential compilation warning
26384         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
26385         directives.
26386
26387         fflush: avoid compilation error on NetBSD
26388         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
26389         between off_t and fpos_t, since the latter is sometimes a struct.
26390         * lib/fseeko.c (rpl_fseeko): Likewise.
26391         Reported by Alexander Nasonov <alnsn@yandex.ru>.
26392
26393 2009-12-15  Eric Blake  <ebb9@byu.net>
26394
26395         fcntl-h, stdio, sys_ioctl: fix declarations
26396         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
26397         function must not take arguments.
26398         * lib/sys_ioctl.in.h (ioctl): Likewise.
26399         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
26400         (open): Add a link warning.
26401
26402 2009-12-15  Jim Meyering  <meyering@redhat.com>
26403
26404         areadlink, areadlink-with-size: relax license to LGPLv2+
26405         * modules/areadlink (License): Relax to LGPLv2+.
26406         * modules/areadlink-with-size (License): Likewise.
26407
26408 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
26409             Bruno Haible  <bruno@clisp.org>
26410
26411         *printf: Fix memory leak.
26412         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
26413         * lib/vfprintf.c (vfprintf): Likewise.
26414         * lib/dprintf.c (dprintf): Likewise.
26415         * lib/vdprintf.c (vdprintf): Likewise.
26416
26417 2009-12-14  Eric Blake  <ebb9@byu.net>
26418
26419         accept4: adjust module dependencies
26420         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
26421
26422         utimens: one more try at avoiding compiler warning
26423         * lib/utimens.c (lutimens): Lower scope of result.
26424
26425 2009-12-13  Bruno Haible  <bruno@clisp.org>
26426
26427         Move the malloc checking from module 'list' to new module 'xlist'.
26428         * modules/xlist: New file.
26429         * lib/gl_xlist.h: New file.
26430         * lib/gl_xlist.c: New file.
26431         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
26432         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
26433         gl_list_add_last, gl_list_add_before, gl_list_add_after,
26434         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
26435         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
26436         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
26437         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
26438         gl_sortedlist_nx_add): New declarations.
26439         (struct gl_list_implementation): Rename and change methods accordingly.
26440         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
26441         (gl_list_nx_create): Renamed from gl_list_create.
26442         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
26443         (gl_list_nx_set_at): Renamed from gl_list_set_at.
26444         (gl_list_nx_add_first): Renamed from gl_list_add_first.
26445         (gl_list_nx_add_last): Renamed from gl_list_add_last.
26446         (gl_list_nx_add_before): Renamed from gl_list_add_before.
26447         (gl_list_nx_add_after): Renamed from gl_list_add_after.
26448         (gl_list_nx_add_at): Renamed from gl_list_add_at.
26449         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
26450         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
26451         gl_list_create_empty.
26452         (gl_list_nx_create): Renamed from gl_list_create.
26453         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
26454         (gl_list_nx_set_at): Renamed from gl_list_set_at.
26455         (gl_list_nx_add_first): Renamed from gl_list_add_first.
26456         (gl_list_nx_add_last): Renamed from gl_list_add_last.
26457         (gl_list_nx_add_before): Renamed from gl_list_add_before.
26458         (gl_list_nx_add_after): Renamed from gl_list_add_after.
26459         (gl_list_nx_add_at): Renamed from gl_list_add_at.
26460         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
26461         * lib/gl_array_list.c: Don't include xalloc.h.
26462         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
26463         NULL upon out-of-memory.
26464         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
26465         out-of-memory.
26466         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
26467         Change return type to 'int'.
26468         (gl_array_nx_set_at): Renamed from gl_array_set_at.
26469         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
26470         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
26471         upon out-of-memory.
26472         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
26473         upon out-of-memory.
26474         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
26475         upon out-of-memory.
26476         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
26477         upon out-of-memory.
26478         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
26479         out-of-memory.
26480         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
26481         Update.
26482         (gl_array_list_implementation): Update.
26483         * lib/gl_carray_list.c: Don't include xalloc.h.
26484         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
26485         Return NULL upon out-of-memory.
26486         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
26487         out-of-memory.
26488         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
26489         Change return type to 'int'.
26490         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
26491         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
26492         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
26493         upon out-of-memory.
26494         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
26495         upon out-of-memory.
26496         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
26497         out-of-memory.
26498         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
26499         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
26500         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
26501         Update.
26502         (gl_carray_list_implementation): Update.
26503         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
26504         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
26505         gl_linked_create_empty. Return NULL upon out-of-memory.
26506         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
26507         out-of-memory.
26508         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
26509         Change return type to 'int'. Return -1 upon out-of-memory.
26510         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
26511         out-of-memory.
26512         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
26513         upon out-of-memory.
26514         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
26515         upon out-of-memory.
26516         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
26517         NULL upon out-of-memory.
26518         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
26519         upon out-of-memory.
26520         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
26521         out-of-memory.
26522         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
26523         Update.
26524         * lib/gl_linked_list.c: Don't include xalloc.h.
26525         (gl_linked_list_implementation): Update.
26526         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
26527         (add_to_bucket): Change return type to 'int'.
26528         (gl_linkedhash_list_implementation): Update.
26529         * lib/gl_anytree_list1.h (free_subtree): New function.
26530         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
26531         gl_tree_create_empty. Return NULL upon out-of-memory.
26532         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
26533         Change return type to 'int'. Return -1 upon out-of-memory.
26534         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
26535         out-of-memory.
26536         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
26537         (gl_tree_remove_node): New function, moved here from
26538         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
26539         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
26540         Update.
26541         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
26542         malloc, not xmalloc. Return NULL upon out-of-memory.
26543         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
26544         out-of-memory.
26545         (gl_tree_remove_node_from_tree): New function, extracted from
26546         gl_tree_remove_node.
26547         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
26548         upon out-of-memory.
26549         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
26550         out-of-memory.
26551         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
26552         upon out-of-memory.
26553         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
26554         upon out-of-memory.
26555         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
26556         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
26557         not xmalloc. Return NULL upon out-of-memory.
26558         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
26559         out-of-memory.
26560         (gl_tree_remove_node_from_tree): New function, extracted from
26561         gl_tree_remove_node.
26562         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
26563         upon out-of-memory.
26564         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
26565         out-of-memory.
26566         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
26567         upon out-of-memory.
26568         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
26569         upon out-of-memory.
26570         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
26571         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
26572         gl_anytree_list1.h before gl_anyavltree_list2.h.
26573         (gl_avltree_list_implementation): Update.
26574         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
26575         gl_anytree_list1.h before gl_anyavltree_list2.h.
26576         (gl_rbtree_list_implementation): Update.
26577         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
26578         Change return type to 'int'. Return -1 upon out-of-memory. Use
26579         __builtin_expect.
26580         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
26581         (gl_avltreehash_list_implementation): Update.
26582         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
26583         (gl_rbtreehash_list_implementation): Update.
26584         * modules/array-list (Depends-on): Remove xalloc.
26585         * modules/carray-list (Depends-on): Likewise.
26586         * modules/linked-list (Depends-on): Likewise.
26587         * modules/linkedhash-list (Depends-on): Likewise.
26588         * modules/avltree-list (Depends-on): Likewise.
26589         * modules/rbtree-list (Depends-on): Likewise.
26590         * modules/avltreehash-list (Depends-on): Likewise.
26591         * modules/rbtreehash-list (Depends-on): Likewise.
26592
26593         * modules/xsublist: New file.
26594         * lib/gl_xsublist.h: New file.
26595         * lib/gl_xsublist.c: New file.
26596         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
26597         (gl_sublist_nx_create): New declaration.
26598         * lib/gl_sublist.c: Don't include xalloc.h.
26599         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
26600         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
26601         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
26602         Change return type to 'int'. Return -1 upon out-of-memory.
26603         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
26604         upon out-of-memory.
26605         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
26606         NULL upon out-of-memory.
26607         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
26608         upon out-of-memory.
26609         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
26610         NULL upon out-of-memory.
26611         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
26612         NULL upon out-of-memory.
26613         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
26614         upon out-of-memory.
26615         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
26616         (gl_sublist_list_implementation): Update.
26617         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
26618         upon out-of-memory.
26619         * modules/sublist (Depends-on): Remove xalloc.
26620
26621         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
26622         * tests/test-carray_list.c: Likewise.
26623         * tests/test-linked_list.c: Likewise.
26624         * tests/test-linkedhash_list.c: Likewise.
26625         * tests/test-avltree_list.c: Likewise.
26626         * tests/test-rbtree_list.c: Likewise.
26627         * tests/test-avltreehash_list.c: Likewise.
26628         * tests/test-rbtreehash_list.c: Likewise.
26629         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
26630         * modules/carray-list-tests (Makefile.am): Likewise.
26631         * modules/linked-list-tests (Makefile.am): Likewise.
26632         * modules/linkedhash-list-tests (Makefile.am): Likewise.
26633         * modules/avltree-list-tests (Makefile.am): Likewise.
26634         * modules/rbtree-list-tests (Makefile.am): Likewise.
26635         * modules/avltreehash-list-tests (Makefile.am): Likewise.
26636         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
26637
26638         * NEWS: Mention the changes.
26639
26640         * lib/clean-temp.c: Include gl_xlist.h.
26641         * modules/clean-temp (Depends-on): Add xlist.
26642
26643         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
26644         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
26645
26646         * tests/test-array_oset.c: Include gl_xlist.h.
26647         * modules/array-oset-tests (Depends-on): Add xlist.
26648
26649         Reported by José E. Marchesi <jemarch@gnu.org>.
26650
26651 2009-12-13  Bruno Haible  <bruno@clisp.org>
26652
26653         Move the malloc checking from module 'oset' to new module 'xoset'.
26654         * modules/xoset: New file.
26655         * lib/gl_xoset.h: New file.
26656         * lib/gl_xoset.c: New file.
26657         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
26658         declarations.
26659         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
26660         (struct gl_oset_implementation): Rename and change methods accordingly.
26661         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
26662         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
26663         'int'. Mark as __warn_unused_result__.
26664         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
26665         gl_oset_create_empty.
26666         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
26667         'int'.
26668         * lib/gl_array_oset.c: Don't include xalloc.h.
26669         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
26670         malloc, not xmalloc.
26671         (grow): Change return type to 'int'. Don't call xalloc_die.
26672         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
26673         to 'int'.
26674         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
26675         'int'.
26676         (gl_array_oset_implementation): Update.
26677         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
26678         gl_tree_create_empty.
26679         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
26680         'int'.
26681         * lib/gl_avltree_oset.c: Don't include xalloc.h.
26682         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
26683         xmalloc.
26684         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
26685         not xmalloc.
26686         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
26687         xmalloc.
26688         (gl_avltree_oset_implementation): Update.
26689         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
26690         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
26691         xmalloc.
26692         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
26693         not xmalloc.
26694         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
26695         xmalloc.
26696         (gl_rbtree_oset_implementation): Update.
26697         * modules/array-oset (Depends-on): Remove xalloc.
26698         * modules/avltree-oset (Depends-on): Likewise.
26699         * modules/rbtree-oset (Depends-on): Likewise.
26700         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
26701         * tests/test-avltree_oset.c: Likewise.
26702         * tests/test-rbtree_oset.c: Likewise.
26703         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
26704         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
26705         * modules/rbtree-oset-tests (Makefile.am): Likewise.
26706         * NEWS: Mention the change.
26707
26708 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
26709
26710         maint.mk: allow a project to override release-prep commands
26711         * top/maint.mk (alpha, beta, stable): Move release-preparatory
26712         commands into a new rule.
26713         (release-prep): New rule.
26714         (release-prep-hook): New overridable variable.
26715
26716 2009-12-13  Bruno Haible  <bruno@clisp.org>
26717
26718         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
26719
26720 2009-12-13  Jim Meyering  <meyering@redhat.com>
26721
26722         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
26723         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
26724
26725 2009-12-12  Bruno Haible  <bruno@clisp.org>
26726
26727         duplocale: Tweak.
26728         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
26729
26730 2009-12-12  Karl Berry  <karl@gnu.org>
26731
26732         * config/srclist.txt (strtoll.c): tab changes, no more sync.
26733
26734 2009-12-12  Bruno Haible  <bruno@clisp.org>
26735
26736         * m4/po.m4: Undo incorrect untabification.
26737
26738 2009-12-12  Bruno Haible  <bruno@clisp.org>
26739
26740         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
26741         * modules/c-strtod (Depends-on): Add locale.
26742         * modules/c-strtold (Depends-on): Likewise.
26743
26744 2009-12-12  Bruno Haible  <bruno@clisp.org>
26745
26746         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
26747
26748 2009-12-11  Eric Blake  <ebb9@byu.net>
26749
26750         setenv: relax requirement in light of POSIX ruling
26751         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
26752         not NULL.
26753         * tests/test-setenv.c (main): Relax test.
26754         * tests/test-unsetenv.c (main): Likewise.
26755         * doc/posix-functions/setenv.texi (setenv): Document this.
26756         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
26757
26758 2009-12-11  Bruno Haible  <bruno@clisp.org>
26759
26760         New module 'fd-safer-flag'.
26761         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
26762         * lib/dup-safer.c (dup_safer_flag): Remove function.
26763         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
26764         * lib/fd-safer.c (fd_safer_flag): Remove function.
26765         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
26766         * modules/cloexec (configure.ac): Drop indicator macro.
26767         * modules/fd-safer-flag: New file.
26768         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
26769         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
26770         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
26771
26772 2009-12-11  Bruno Haible  <bruno@clisp.org>
26773
26774         Tests for module 'nl_langinfo'.
26775         * modules/nl_langinfo-tests: New file.
26776         * tests/test-nl_langinfo.sh: New file.
26777         * tests/test-nl_langinfo.c: New file.
26778
26779         New module 'nl_langinfo'.
26780         * lib/nl_langinfo.c: New file.
26781         * m4/nl_langinfo.m4: New file.
26782         * modules/nl_langinfo: New file.
26783         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
26784
26785 2009-12-11  Bruno Haible  <bruno@clisp.org>
26786
26787         Tests for module 'langinfo'.
26788         * modules/langinfo-tests: New file.
26789         * tests/test-langinfo.c: New file.
26790
26791         New module 'langinfo'.
26792         * lib/langinfo.in.h: New file.
26793         * m4/langinfo_h.m4: New file.
26794         * modules/langinfo: New file.
26795         * doc/posix-headers/langinfo.texi: Mention the new module.
26796
26797 2009-12-11  Bruno Haible  <bruno@clisp.org>
26798
26799         * lib/config.charset: Untabify.
26800
26801 2009-12-11  Bruno Haible  <bruno@clisp.org>
26802
26803         * modules/unistd-safer (configure.ac): Drop indicator macro.
26804
26805 2009-12-11  Bruno Haible  <bruno@clisp.org>
26806
26807         Move pipe2-safer code to its own file.
26808         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
26809         * lib/pipe-safer.c (pipe2_safer): Remove function.
26810         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
26811         (Makefile.am): Add it to lib_SOURCES.
26812
26813 2009-12-10  Bruno Haible  <bruno@clisp.org>
26814
26815         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
26816
26817 2009-12-10  Bruno Haible  <bruno@clisp.org>
26818
26819         Declare which arguments expect non-NULL values, for GCC and clang.
26820         * build-aux/arg-nonnull.h: New file.
26821         * modules/arg-nonnull: New file.
26822         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
26823         (inet_ntop, inet_pton): Use it.
26824         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
26825         (closedir, dirfd, opendir, scandir, alphasort): Use it.
26826         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
26827         (open, openat): Use it.
26828         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
26829         (fnmatch): Use it.
26830         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
26831         (getopt, getopt_long, getopt_long_only): Use it.
26832         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
26833         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
26834         Use it.
26835         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
26836         (iconv_open): Use it.
26837         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
26838         (strtoimax, strtoumax): Use it.
26839         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
26840         (duplocale): Use it.
26841         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
26842         (frexp, frexpl): Use it.
26843         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
26844         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
26845         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
26846         (tsearch, tfind, tdelete, twalk): Use it.
26847         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
26848         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
26849         sigpending): Use it.
26850         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
26851         (posix_spawn, posix_spawnp, posix_spawnattr_init,
26852         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
26853         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
26854         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
26855         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
26856         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
26857         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
26858         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
26859         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
26860         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
26861         Use it.
26862         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
26863         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
26864         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
26865         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
26866         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
26867         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
26868         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
26869         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
26870         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
26871         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
26872         strtoull, unsetenv): Use it.
26873         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
26874         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
26875         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
26876         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
26877         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
26878         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
26879         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
26880         (strcasecmp, strncasecmp): Use it.
26881         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
26882         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
26883         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
26884         rpl_setsockopt): Use it.
26885         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
26886         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
26887         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
26888         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
26889         (gettimeofday): Use it.
26890         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
26891         (times): Use it.
26892         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
26893         (uname): Use it.
26894         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
26895         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
26896         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
26897         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
26898         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
26899         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
26900         unlinkat, write): Use it.
26901         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
26902         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
26903         * lib/argv-iter.h: Include arg-nonnull.h.
26904         (_ATTRIBUTE_NONNULL_): Remove macro.
26905         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
26906         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
26907         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
26908         optimization.
26909         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
26910         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
26911         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
26912         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
26913         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
26914         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
26915         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
26916         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
26917         * modules/arpa_inet (Depends-on): Add arg-nonnull.
26918         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
26919         * modules/dirent (Depends-on): Add arg-nonnull.
26920         (Makefile.am): Insert arg-nonnull.h into dirent.h.
26921         * modules/fcntl-h (Depends-on): Add arg-nonnull.
26922         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
26923         * modules/fnmatch (Depends-on): Add arg-nonnull.
26924         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
26925         * modules/getopt-posix (Depends-on): Add arg-nonnull.
26926         (Makefile.am): Insert arg-nonnull.h into getopt.h.
26927         * modules/glob (Depends-on): Add arg-nonnull.
26928         (Makefile.am): Insert arg-nonnull.h into glob.h.
26929         * modules/iconv_open (Depends-on): Add arg-nonnull.
26930         (Makefile.am): Insert arg-nonnull.h into iconv.h.
26931         * modules/inttypes (Depends-on): Add arg-nonnull.
26932         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
26933         * modules/locale (Depends-on): Add arg-nonnull.
26934         (Makefile.am): Insert arg-nonnull.h into locale.h.
26935         * modules/math (Depends-on): Add arg-nonnull.
26936         (Makefile.am): Insert arg-nonnull.h into math.h.
26937         * modules/netdb (Depends-on): Add arg-nonnull.
26938         (Makefile.am): Insert arg-nonnull.h into netdb.h.
26939         * modules/search (Depends-on): Add arg-nonnull.
26940         (Makefile.am): Insert arg-nonnull.h into search.h.
26941         * modules/signal (Depends-on): Add arg-nonnull.
26942         (Makefile.am): Insert arg-nonnull.h into signal.h.
26943         * modules/spawn (Depends-on): Add arg-nonnull.
26944         (Makefile.am): Insert arg-nonnull.h into spawn.h.
26945         * modules/stdio (Depends-on): Add arg-nonnull.
26946         (Makefile.am): Insert arg-nonnull.h into stdio.h.
26947         * modules/stdlib (Depends-on): Add arg-nonnull.
26948         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
26949         * modules/string (Depends-on): Add arg-nonnull.
26950         (Makefile.am): Insert arg-nonnull.h into string.h.
26951         * modules/strings (Depends-on): Add arg-nonnull.
26952         (Makefile.am): Insert arg-nonnull.h into strings.h.
26953         * modules/sys_socket (Depends-on): Add arg-nonnull.
26954         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
26955         * modules/sys_stat (Depends-on): Add arg-nonnull.
26956         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
26957         * modules/sys_time (Depends-on): Add arg-nonnull.
26958         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
26959         * modules/sys_times (Depends-on): Add arg-nonnull.
26960         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
26961         * modules/sys_utsname (Depends-on): Add arg-nonnull.
26962         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
26963         * modules/time (Depends-on): Add arg-nonnull.
26964         (Makefile.am): Insert arg-nonnull.h into time.h.
26965         * modules/unistd (Depends-on): Add arg-nonnull.
26966         (Makefile.am): Insert arg-nonnull.h into unistd.h.
26967         * modules/wchar (Depends-on): Add arg-nonnull.
26968         (Makefile.am): Insert arg-nonnull.h into wchar.h.
26969         * modules/argv-iter (Depends-on): Add arg-nonnull.
26970         * tests/test-canonicalize.c (null_ptr): New function.
26971         (main): Use it.
26972         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
26973         (main): Use it.
26974         * tests/test-memmem.c (null_ptr): New function.
26975         (main): Use it.
26976         Reported by Jim Meyering.
26977
26978 2009-12-10  Bruno Haible  <bruno@clisp.org>
26979
26980         Use spaces for indentation, not tabs.
26981         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
26982         * m4/*.m4: Untabify.
26983         * build-aux/*.h: Untabify.
26984         * tests/**/*.[hc]: Untabify.
26985         * README: New section "Indent with spaces, not TABs", based on
26986         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
26987         * NEWS: Mention the change.
26988
26989 2009-12-10  Bruno Haible  <bruno@clisp.org>
26990
26991         pty test: Fix link error.
26992         * modules/pty-tests (Makefile.am): Add the default LDADD value to
26993         test_pty_LDADD.
26994
26995 2009-12-07  Simon Josefsson  <simon@josefsson.org>
26996
26997         * modules/pty: New file.
26998         * modules/pty-tests: New file.
26999         * m4/pty.m4: New file.
27000         * tests/test-pty.c: New file.
27001         * doc/glibc-headers/pty.texi: Modified.
27002         * doc/glibc-functions/forkpty.texi: Modified.
27003         * doc/glibc-functions/openpty.texi: Modified.
27004
27005 2009-12-10  Bruno Haible  <bruno@clisp.org>
27006
27007         Avoid syntax error in C++ mode.
27008         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
27009
27010 2009-12-10  Bruno Haible  <bruno@clisp.org>
27011
27012         Use sed with option -e.
27013         * gnulib-tool (func_version, func_emit_copyright_notice,
27014         func_emit_initmacro_end, func_import, func_create_testdir): Pass
27015         option -e to sed.
27016         * modules/link-warning (Makefile.am): Likewise.
27017
27018 2009-12-10  Jim Meyering  <meyering@redhat.com>
27019
27020         mgetgroups: do not write bytes beyond end of malloc'd buffer
27021         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
27022         username, we call getgroups with a one-element-shorter buffer,
27023         but still told it the length was original, max_n_groups.
27024
27025 2009-12-09  Eric Blake  <ebb9@byu.net>
27026
27027         cloexec: relax license
27028         * modules/cloexec (Maintainer): Add myself.
27029         (License): Use LGPL, not GPL.
27030
27031         link-warning: optimize generation
27032         * modules/link-warning (Makefile.am): Reduce process usage.
27033
27034 2009-12-09  Bruno Haible  <bruno@clisp.org>
27035
27036         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
27037         workaround was added on 2009-11-17.
27038
27039 2009-12-09  Jim Meyering  <meyering@redhat.com>
27040             Bruno Haible  <bruno@clisp.org>
27041
27042         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
27043         * modules/link-warning (Makefile.am): Make the comment-removing sed
27044         command more robust in the face of bootstrap-prepended comment lines.
27045
27046 2009-12-09  Bruno Haible  <bruno@clisp.org>
27047
27048         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
27049         most one group.
27050
27051 2009-12-09  Simon Josefsson <simon@josefsson.org>
27052             Bruno Haible  <bruno@clisp.org>
27053
27054         * build-aux/link-warning.h: Add copyright notice.
27055         * modules/link-warning (Makefile.am): Generate link-warning.h from
27056         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
27057         * NEWS: Mention change in link-warning module.
27058         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
27059         * modules/dirent (Makefile.am): Add dependency to dirent.h.
27060         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
27061         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
27062         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
27063         * modules/math (Makefile.am): Add dependency to math.h.
27064         * modules/search (Makefile.am): Add dependency to search.h.
27065         * modules/signal (Makefile.am): Add dependency to signal.h.
27066         * modules/spawn (Makefile.am): Add dependency to spawn.h.
27067         * modules/stdio (Makefile.am): Add dependency to stdio.h.
27068         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
27069         * modules/string (Makefile.am): Add dependency to string.h.
27070         * modules/strings (Makefile.am): Add dependency to strings.h.
27071         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
27072         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
27073         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
27074         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
27075         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
27076         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
27077         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
27078         * modules/unistd (Makefile.am): Add dependency to unistd.h.
27079         * modules/wchar (Makefile.am): Add dependency to wchar.h.
27080
27081 2009-12-09  Bruno Haible  <bruno@clisp.org>
27082
27083         fchdir: Optimize away rpl_fstat when possible.
27084         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
27085         REPLACE_OPEN_DIRECTORY.
27086         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
27087
27088 2009-12-09  Bruno Haible  <bruno@clisp.org>
27089
27090         * lib/fchdir.c: Update comment.
27091
27092 2009-12-09  Bruno Haible  <bruno@clisp.org>
27093
27094         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
27095
27096 2009-12-08  Eric Blake  <ebb9@byu.net>
27097
27098         fchdir: avoid memory leak on re-registration.
27099         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
27100
27101 2009-12-08  Jim Meyering  <meyering@redhat.com>
27102
27103         init.sh: avoid Solaris 10 /bin/sh portability problem
27104         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
27105         sourced script:
27106           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
27107           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
27108           bar
27109         tests/init.sh relied on that, accepting a --set-path=DIR argument,
27110         and two tests used that idiom.
27111         * tests/init.sh: Update suggested usage comments.
27112         (path_prepend_): New function, to be used in place
27113         of the --src-path=DIR option.
27114         (setup_): Move PATH-prepending code into path_prepend_.
27115         * tests/test-pread.sh: Adapt to new usage.
27116         * tests/test-xalloc-die.sh: Likewise.
27117
27118 2009-12-08  Simon Josefsson  <simon@josefsson.org>
27119
27120         * doc/gnulib.texi (Glibc pty.h): Add.
27121         * doc/glibc-functions/forkpty.texi: Add.
27122         * doc/glibc-functions/openpty.texi: Add.
27123         Suggested by Bruno Haible.
27124
27125 2009-12-08  Eric Blake  <ebb9@byu.net>
27126
27127         fchdir: fix logic bugs
27128         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
27129         * tests/test-fchdir.c (main): Enhance test.
27130         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
27131         is in use.
27132
27133         dup2: fix logic bugs
27134         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
27135         REPLACE_DUP2 to decide when rpl_dup2 is needed.
27136         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
27137         exists.
27138         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
27139
27140 2009-12-07  Eric Blake  <ebb9@byu.net>
27141
27142         unlink: fix m4 detection
27143         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
27144
27145         unistd-safer: add unit test
27146         * modules/unistd-safer-tests: New file.
27147         * tests/test-dup-safer.c: Likewise.
27148         * tests/test-cloexec.c (setmode): Avoid compiler warning.
27149         * tests/test-dup2.c (setmode): Likewise.
27150         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
27151
27152         cloexec: preserve text vs. binary across dup_cloexec
27153         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
27154         mode.
27155         * modules/dup2-tests (Depends-on): Add binary-io.
27156         * modules/cloexec-tests (Depends-on): Likewise.
27157         * tests/test-dup2.c (setmode, is_mode): New helpers.
27158         (main): Add tests that translation mode is preserved.
27159         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
27160         Reported by Bruno Haible.
27161
27162         mgetgroups: reduce duplicate listings
27163         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
27164         resulting array.
27165         * tests/test-chown.h (test_chown): Simplify client.
27166         * tests/test-lchown.h (test_lchown): Likewise.
27167
27168 2009-12-06  Bruno Haible  <bruno@clisp.org>
27169
27170         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
27171         value.
27172
27173 2009-12-06  Bruno Haible  <bruno@clisp.org>
27174
27175         * lib/progname.c: Include stdio.h, stdlib.h.
27176         (set_program_name): Reject a NULL argument.
27177
27178 2009-12-05  Eric Blake  <ebb9@byu.net>
27179
27180         pipe2-safer: new module
27181         * modules/pipe2-safer: New file.
27182         * lib/unistd-safer.h (pipe2_safer): New prototype.
27183         * lib/unistd--.h (pipe2): New wrapper.
27184         * lib/pipe-safer.c (pipe2_safer): New function.
27185         * modules/pipe (Depends-on): Add pipe2-safer.
27186         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
27187
27188         stdlib-safer: preserve cloexec flag for mkostemp[s]
27189         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
27190         fd_safer_flag.
27191
27192         unistd-safer: allow preservation of cloexec status via flag
27193         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
27194         prototypes.
27195         * lib/dup-safer.c (dup_safer_flag): New function.
27196         * lib/fd-safer.c (fd_safer_flag): Likewise.
27197         * modules/cloexec (configure.ac): Set witness.
27198
27199         test-dup2: enhance test
27200         * modules/dup2-tests (Depends-on): Add cloexec.
27201         * tests/test-dup2.c (main): Enhance test.
27202
27203         cloexec: add dup_cloexec
27204         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
27205         header and comments.
27206         * lib/cloexec.c (set_cloexec_flag): Add comments.
27207         (dup_cloexec): New function, with mingw implementation borrowed
27208         from...
27209         * lib/w32spawn.h (dup_noinherit): ...here.
27210         * modules/execute (Depends-on): Add cloexec.
27211         * modules/pipe (Depends-on): Likewise.
27212         * modules/cloexec (Depends-on): Add dup2.
27213         * modules/cloexec-tests (Files): New file.
27214         * tests/test-cloexec.c: Likewise.
27215
27216         test-xalloc-die: fix test for mingw
27217         * modules/xalloc-die-tests (Files): Add tests/init.sh.
27218         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
27219         directory and .exe suffix off argv[0] output.
27220
27221         test-fseeko: fix test for mingw
27222         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
27223         than undefining fseek, so test will pass on mingw.
27224
27225 2009-12-05  Bruno Haible  <bruno@clisp.org>
27226
27227         * lib/progname.h (set_program_name): Clarify specification.
27228         * lib/progname.c (set_program_name): Likewise.
27229         Reported by Jim Meyering.
27230
27231 2009-12-05  Jim Meyering  <meyering@redhat.com>
27232
27233         maint.mk: backslash-escape parens in default regexp
27234         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
27235         backslash-escape the literal parentheses.
27236
27237         maint.mk: news-date-check: use grep -E
27238         * top/maint.mk (today): Define a Make variable, not a...
27239         (news-date-check): ...shell variable.
27240         (news-date-regexp): Use the Make variable.
27241         Use grep's -E option.  Change the failing diagnostic to mention
27242         the variable, $(news-date-regexp).
27243
27244 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
27245
27246         maintainer-makefile: allow customization of NEWS entry format
27247         * top/maint.mk (news-date-regexp): New overridable variable.
27248         (news-date-check): Use it.
27249
27250 2009-12-04  Eric Blake  <ebb9@byu.net>
27251
27252         mgetgroups: add xgetgroups, and avoid ENOSYS failures
27253         * lib/mgetgroups.h (xgetgroups): New prototype.
27254         * lib/mgetgroups.c (xgetgroups): New wrapper.
27255         (mgetgroups): Handle ENOSYS.
27256         * modules/mgetgroups (Depends-on): Add realloc.
27257         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
27258
27259         mgetgroups: avoid argument promotion issues with -1
27260         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
27261         for invalid gid_t.
27262         * tests/test-chown.h (getegid, test_chown): Likewise.
27263         * tests/test-lchown.h (getegid, test_lchown): Likewise.
27264
27265 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
27266
27267         exclude: Fix header file problems.
27268         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
27269
27270 2009-12-01  Jim Meyering  <meyering@redhat.com>
27271
27272         fts: fts_open: do not let an empty string cause immediate failure
27273         This is required in support of GNU rm, for which the command
27274         "rm A '' B" must process and remove both A and B, in spite of
27275         the empty string argument.
27276         * lib/fts.c (fts_open): Do not let the presence of an empty string
27277         cause fts_open to fail immediately.  Most fts-using tools must be
27278         able to process all arguments, in order, and can be expected to
27279         diagnose such arguments themselves.
27280
27281 2009-11-30  Eric Blake  <ebb9@byu.net>
27282
27283         utimens: fix compilation error
27284         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
27285         Declare variable at right scope.
27286
27287 2009-11-29  Jim Meyering  <meyering@redhat.com>
27288
27289         bootstrap: handle perl-5.11's changed --version output
27290         * build-aux/bootstrap (get_version): Handle perl separately,
27291         since perl-5.11's --version output is different.
27292
27293 2009-11-28  Jim Meyering  <meyering@redhat.com>
27294
27295         userspec: depend on the inttostr module, too
27296         * modules/userspec (Depends-on): Add inttostr.
27297
27298         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
27299         * lib/userspec.c (parse_with_separator): Do not accept a user ID
27300         number of MAXUID when it evaluates to (uid_t) -1.
27301         Likewise for group ID.  Reported by Matt McCutchen in
27302         <http://savannah.gnu.org/bugs/?28113>
27303
27304         userspec: reformat to use spaces, not TABs
27305         * lib/userspec.c: Expand TABs to spaces.
27306         Add Emacs' "indent-tabs-mode: nil" hint.
27307
27308 2009-11-27  Eric Blake  <ebb9@byu.net>
27309
27310         getopt-gnu: flush out another BSD bug
27311         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
27312         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
27313         flush out BSD bug.
27314         * tests/test-getopt.h (test_getopt): End lists with NULL.
27315         * tests/test-getopt_long.h (test_getopt_long): Likewise.
27316         (test_getopt_long_posix): Enhance test.
27317         * modules/getopt-posix-tests (Depends-on): Add stdbool.
27318         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
27319         getopt-gnu.
27320         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
27321         Likewise.
27322
27323 2009-11-27  Simon Josefsson  <simon@josefsson.org>
27324
27325         * modules/idpriv-droptemp-tests (Notice): Fix text.
27326
27327 2009-11-27  Jim Meyering  <meyering@redhat.com>
27328
27329         test-xalloc-die: avoid spurious failure due to libtool argv difference
27330         In a libtool-enabled project, this test would fail due to a difference
27331         in the emitted program name, e.g.,
27332         -test-xalloc-die: memory exhausted
27333         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
27334         Use program to avoid that.
27335         * modules/xalloc-die-tests (Depends-on): Add progname.
27336         * tests/test-xalloc-die.c: Include progname.h".
27337         (program_name): Remove decl.
27338         (main): Call set_program_name.
27339         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
27340
27341 2009-11-26  Richard Jones  <rjones@redhat.com>
27342
27343         w32sock: leave win32 error in place.
27344         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
27345
27346 2009-11-26  Eric Blake  <ebb9@byu.net>
27347
27348         init.sh: suggest to use skip_ and fail_ functions in comments
27349         * tests/init.sh: Add a sentence.
27350
27351 2009-11-25  Bruno Haible  <bruno@clisp.org>
27352
27353         init.sh: add documentation in comments
27354         * tests/init.sh: Add some developer and user documentation.
27355
27356 2009-11-26  Jim Meyering  <meyering@redhat.com>
27357
27358         init.sh: accommodate even those who specify bogus srcdir manually
27359         * tests/init.sh: Normally, srcdir is guaranteed by automake and
27360         configure-time tests to be sanitized, so that there is no need to
27361         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
27362         (with no double quotes) suffices.  However, since tests may be
27363         invoked manually, and since you may explicitly set srcdir to the
27364         name of a directory containing spaces, do quote its uses here.
27365         * tests/test-pread.sh: Likewise.
27366         Suggested by Bruno Haible.
27367
27368         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
27369         * tests/test-pread.sh: Write no data into the pipe, because
27370         test-pread actually reads none.  This avoids a diagnostic,
27371         "bash: echo: write error: Broken pipe", that arises in the unusual
27372         event something is ignoring SIGPIPE, and might be interpreted
27373         as some sort of failure.  Reported by Bruno Haible.
27374
27375 2009-11-25  Jim Meyering  <meyering@redhat.com>
27376
27377         test-pread: cover failure with ESPIPE and EINVAL
27378         * tests/test-pread.c (main): Test for failure, too.
27379         * tests/test-pread.sh: Invoke with stdin on a pipe.
27380         Suggested by Eric Blake.
27381
27382         pread: improvement and fix
27383         * modules/pread (Depends-on): Depend on lseek, for portability to
27384         e.g., mingw.  Suggested by Eric Blake.
27385         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
27386
27387         unistd.in.h: correct declaration of pread
27388         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
27389         Reported by Richard W.M. Jones.
27390
27391         test-pread.sh: distribute the test script
27392         * modules/pread-tests (Files): Include test-pread.sh.
27393
27394         test-pread.sh: clean up
27395         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
27396         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
27397         That is unnecessary, since it's always ".".
27398         Suggestion from Eric Blake.
27399
27400         test-pread.sh: make executable
27401         * tests/test-pread.sh: Set executable bit.
27402         Reported by Eric Blake.
27403
27404         correct typo in test-pread.sh
27405         * tests/test-pread.sh: Add #! line.
27406
27407         test pread
27408         * tests/test-pread.c: New file.
27409         * tests/test-pread.sh: Likewise.
27410         * modules/pread-tests: Likewise.
27411
27412         pread: new module
27413         * modules/pread: New file.
27414         * lib/unistd.in.h (pread): Define/declare.
27415         * lib/pread.c (pread): New file.
27416         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
27417         * modules/unistd (Makefile.am): Substitute witnesses.
27418         * doc/posix-functions/pread.texi (pread): Update.
27419         * MODULES.html.sh: Add pread.
27420
27421 2009-11-25  Jim Meyering  <meyering@redhat.com>
27422
27423         tests/init.sh: new file to be used via most *.sh tests
27424         * tests/init.sh: New file.
27425
27426 2009-11-25  Eric Blake  <ebb9@byu.net>
27427
27428         utimens: work around older Linux failure with symlinks
27429         * lib/utimens.c (lutimensat_works_really): New variable.
27430         (fdutimens, lutimens): Use it to manage kernels that support
27431         nanosecond times on files, but not on symlinks.
27432         Reported by OndÅ™ej Vašík.
27433
27434         utimes: fix configure grammar
27435         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
27436
27437 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
27438
27439         regex: Fix fastmap for multibyte character ranges.
27440         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
27441         characters when a multibyte character range is included.
27442
27443 2009-11-22  Andy Wingo  <wingo@pobox.com>
27444
27445         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
27446         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
27447
27448 2009-11-24  Bruno Haible  <bruno@clisp.org>
27449
27450         doc: Most *_l functions exist in MacOS X 10.5.
27451         * doc/posix-functions/duplocale.texi: Update platforms list.
27452         * doc/posix-functions/freelocale.texi: Likewise.
27453         * doc/posix-functions/newlocale.texi: Likewise.
27454         * doc/posix-functions/uselocale.texi: Likewise.
27455         * doc/posix-functions/isalnum_l.texi: Likewise.
27456         * doc/posix-functions/isalpha_l.texi: Likewise.
27457         * doc/posix-functions/isblank_l.texi: Likewise.
27458         * doc/posix-functions/iscntrl_l.texi: Likewise.
27459         * doc/posix-functions/isdigit_l.texi: Likewise.
27460         * doc/posix-functions/isgraph_l.texi: Likewise.
27461         * doc/posix-functions/islower_l.texi: Likewise.
27462         * doc/posix-functions/isprint_l.texi: Likewise.
27463         * doc/posix-functions/ispunct_l.texi: Likewise.
27464         * doc/posix-functions/isspace_l.texi: Likewise.
27465         * doc/posix-functions/isupper_l.texi: Likewise.
27466         * doc/posix-functions/iswalnum_l.texi: Likewise.
27467         * doc/posix-functions/iswalpha_l.texi: Likewise.
27468         * doc/posix-functions/iswblank_l.texi: Likewise.
27469         * doc/posix-functions/iswcntrl_l.texi: Likewise.
27470         * doc/posix-functions/iswctype_l.texi: Likewise.
27471         * doc/posix-functions/iswdigit_l.texi: Likewise.
27472         * doc/posix-functions/iswgraph_l.texi: Likewise.
27473         * doc/posix-functions/iswlower_l.texi: Likewise.
27474         * doc/posix-functions/iswprint_l.texi: Likewise.
27475         * doc/posix-functions/iswpunct_l.texi: Likewise.
27476         * doc/posix-functions/iswspace_l.texi: Likewise.
27477         * doc/posix-functions/iswupper_l.texi: Likewise.
27478         * doc/posix-functions/iswxdigit_l.texi: Likewise.
27479         * doc/posix-functions/isxdigit_l.texi: Likewise.
27480         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
27481         * doc/posix-functions/strcasecmp_l.texi: Likewise.
27482         * doc/posix-functions/strcoll_l.texi: Likewise.
27483         * doc/posix-functions/strfmon_l.texi: Likewise.
27484         * doc/posix-functions/strftime_l.texi: Likewise.
27485         * doc/posix-functions/strncasecmp_l.texi: Likewise.
27486         * doc/posix-functions/strxfrm_l.texi: Likewise.
27487         * doc/posix-functions/tolower_l.texi: Likewise.
27488         * doc/posix-functions/toupper_l.texi: Likewise.
27489         * doc/posix-functions/towctrans_l.texi: Likewise.
27490         * doc/posix-functions/towlower_l.texi: Likewise.
27491         * doc/posix-functions/towupper_l.texi: Likewise.
27492         * doc/posix-functions/wcscoll_l.texi: Likewise.
27493         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
27494         * doc/posix-functions/wctrans_l.texi: Likewise.
27495         * doc/posix-functions/wctype_l.texi: Likewise.
27496         * doc/glibc-functions/strptime_l.texi: Likewise.
27497         * doc/glibc-functions/strtod_l.texi: Likewise.
27498         * doc/glibc-functions/strtof_l.texi: Likewise.
27499         * doc/glibc-functions/strtol_l.texi: Likewise.
27500         * doc/glibc-functions/strtold_l.texi: Likewise.
27501         * doc/glibc-functions/strtoll_l.texi: Likewise.
27502         * doc/glibc-functions/strtoul_l.texi: Likewise.
27503         * doc/glibc-functions/strtoull_l.texi: Likewise.
27504         * doc/glibc-functions/wcsftime_l.texi: Likewise.
27505         * doc/glibc-functions/wcstod_l.texi: Likewise.
27506         * doc/glibc-functions/wcstof_l.texi: Likewise.
27507         * doc/glibc-functions/wcstol_l.texi: Likewise.
27508         * doc/glibc-functions/wcstold_l.texi: Likewise.
27509         * doc/glibc-functions/wcstoll_l.texi: Likewise.
27510         * doc/glibc-functions/wcstoul_l.texi: Likewise.
27511         * doc/glibc-functions/wcstoull_l.texi: Likewise.
27512
27513 2009-11-24  Bruno Haible  <bruno@clisp.org>
27514
27515         duplocale: Fix logic bug.
27516         * lib/duplocale.c: Don't include <langinfo.h>.
27517         (_NL_LOCALE_NAME): Remove macro.
27518         (rpl_duplocale): Use setlocale instead of nl_langinfo.
27519         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
27520
27521 2009-11-23  Jim Meyering  <meyering@redhat.com>
27522
27523         test-update-copyright: don't hard-code /usr/bin/perl
27524         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
27525         perl to print the current year.  Gilles Espinasse reported that
27526         the replaced use of perl was hard-coded as /usr/bin/perl.
27527
27528 2009-11-23  Bruno Haible  <bruno@clisp.org>
27529
27530         duplocale: Add support for glibc 2.3.x.
27531         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
27532
27533 2009-11-22  Bruno Haible  <bruno@clisp.org>
27534
27535         vasnprintf: Tiny optimization.
27536         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
27537         MacOS X.
27538
27539 2009-11-22  Bruno Haible  <bruno@clisp.org>
27540
27541         Tests for module 'duplocale'.
27542         * modules/duplocale-tests: New file.
27543         * tests/test-duplocale.c: New file.
27544
27545         New module 'duplocale'.
27546         * m4/duplocale.m4: New file.
27547         * lib/locale.in.h (duplocale): New declaration.
27548         * lib/duplocale.c: New file.
27549         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
27550         gl_LOCALE_H_DEFAULTS): New macros.
27551         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
27552         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
27553         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
27554         REPLACE_DUPLOCALE.
27555         * modules/duplocale: New file.
27556         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
27557
27558 2009-11-22  Bruno Haible  <bruno@clisp.org>
27559
27560         * modules/locale-tests (configure.ac): Test for newlocale function.
27561         * tests/test-locale.c: When the system has extended locale functions,
27562         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
27563
27564         locale: Make locale_t available when possible.
27565         * lib/locale.in.h: Include <xlocale.h> when it exists.
27566         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
27567         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
27568         * modules/locale (Depends-on): Add extensions.
27569         (Makefile.am): Also substitute HAVE_XLOCALE_H.
27570         * doc/posix-headers/locale.texi: Document the problem with locale_t.
27571
27572 2009-11-22  Bruno Haible  <bruno@clisp.org>
27573
27574         Add comments.
27575         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
27576         invocation.
27577         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
27578         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
27579         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
27580
27581 2009-11-22  Bruno Haible  <bruno@clisp.org>
27582
27583         error: account for the possibility of freopen (stdout).
27584         * lib/error.c: Include <unistd.h>.
27585         (flush_stdout): New function, extracted from error and error_at_line.
27586         Determine stdout's fd dynamically.
27587         (error, error_at_line): Invoke flush_stdout.
27588         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
27589         * modules/error (Depends-on): Add unistd.
27590
27591 2009-11-22  Bruno Haible  <bruno@clisp.org>
27592
27593         diffseq: Add comment.
27594         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
27595
27596 2009-11-22  Jim Meyering  <meyering@redhat.com>
27597
27598         c-stack: avoid defining an unused static function
27599         * lib/c-stack.c (find_stack_direction): Do not define this function
27600         when it will not be used.
27601
27602         diffseq: avoid spurious gcc warnings
27603         * lib/diffseq.h (IF_LINT2): Define.
27604         (compareseq): Use it to initialize two members of "part".
27605         This avoids two used-uninitialized warnings.
27606
27607 2009-11-21  Jim Meyering  <meyering@redhat.com>
27608
27609         c-stack: avoid "ignoring return value of `write'" warning
27610         * lib/c-stack.c: Include "ignore-value.h".
27611         (die): Explicitly ignore each write return value.
27612         * modules/c-stack (Depends-on): Add ignore-value.
27613
27614 2009-11-21  Bruno Haible  <bruno@clisp.org>
27615
27616         diffseq: reduce scope of variable 'best'.
27617         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
27618         variable, earlier used for two different purposes.
27619
27620 2009-11-21  Jim Meyering  <meyering@redhat.com>
27621
27622         diffseq: remove useless assignment to "best"
27623         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
27624         assignment.  At that point "best" is already guaranteed to be zero.
27625
27626 2009-11-20  Eric Blake  <ebb9@byu.net>
27627
27628         build: mention ftp redirector in release announcements
27629         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
27630         values that used to come from cfg.mk; mention FTP redirect URL.
27631         * build-aux/announce-gen: Mention the mirror list.
27632         Suggested by Karl Berry.
27633
27634         nanosleep: improve port to mingw
27635         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
27636         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
27637         LIB_NANOSLEEP, but only when needed.
27638         * modules/select (Link): Document LIBSOCKET.
27639         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
27640         enough.
27641
27642         nanosleep: work around cygwin bug
27643         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
27644         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
27645         bug.
27646         (getnow): Delete, not needed.
27647         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
27648         LIB_CLOCK_GETTIME.
27649         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
27650         clock-time, gettime.
27651         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
27652         bug.
27653         * modules/nanosleep-tests: New test.
27654         * tests/test-nanosleep.c: New file.
27655
27656         sleep: work around cygwin bug
27657         * lib/sleep.c (rpl_sleep): Work around the bug.
27658         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
27659         (gl_PREREQ_SLEEP): Delete unused macro.
27660         * modules/sleep (Depends-on): Add verify.
27661         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
27662         * modules/unistd (Makefile.am): Substitute witness.
27663         * lib/unistd.in.h (sleep): Update prototype.
27664         * doc/posix-functions/sleep.texi (sleep): Document the bug.
27665         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
27666         * modules/sleep-tests (Depends-on): Check for alarm.
27667
27668 2009-11-20  Jim Meyering  <meyering@redhat.com>
27669
27670         maint.mk: improve sc_prohibit_magic_number_exit
27671         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
27672         so it does not match uses like System.exit(1).
27673         Add comments showing how to correct all offenders.
27674
27675 2009-11-19  Eric Blake  <ebb9@byu.net>
27676
27677         xalloc-die-tests: add missing library
27678         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
27679
27680         test-xvasprintf: silence compiler warnings
27681         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
27682         empty string from gcc.
27683
27684 2009-11-19  Jim Meyering  <meyering@redhat.com>
27685
27686         xfreopen: new module, from coreutils
27687         * modules/xfreopen: New module.
27688         * lib/xfreopen.c: New file.
27689         * lib/xfreopen.h: New file.
27690         * MODULES.html.sh (File stream based Input/Output"): Add it.
27691
27692 2009-11-19  Eric Blake  <ebb9@byu.net>
27693
27694         manywarnings: depend on warnings
27695         * modules/manywarnings (Depends-on): Add warnings.
27696
27697         build: avoid compiler warnings
27698         * lib/select.c (rpl_select): Delete unused variable.
27699         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
27700
27701 2009-11-18  Eric Blake  <ebb9@byu.net>
27702
27703         tests: avoid false negative with --with-packager
27704         * tests/test-version-etc.sh: Discard packager information.
27705         * tests/test-argp-version-etc-1.sh: Likewise.
27706         Reported by Mike Frysinger.
27707
27708         utimens: fix regression on Solaris
27709         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
27710         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
27711         can only change fd timestamps via futimesat.  Instead, use an
27712         additional witness macro to avoid BSD bug.
27713         Reported by Jim Meyering.
27714
27715 2009-11-17  Eric Blake  <ebb9@byu.net>
27716
27717         usleep: use it to simplify tests
27718         * modules/stat-time-tests (Depends-on): Add usleep.
27719         (configure.ac): Drop usleep check.
27720         * modules/chown-tests (Depends-on, configure.ac): Likewise.
27721         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
27722         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
27723         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
27724         * modules/openat-tests (Depends-on, configure.ac): Likewise.
27725         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
27726         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
27727         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
27728         Likewise.
27729         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
27730         * tests/test-lchown.h (nap): Likewise.
27731         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
27732         * tests/test-stat-time.c (nap): Likewise.
27733         * tests/test-utimens-common.h (nap): Update comments.
27734
27735         usleep: new module
27736         * modules/usleep: New file.
27737         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
27738         * lib/usleep.c (usleep): Likewise.
27739         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
27740         * modules/unistd (Makefile.am): Substitute witnesses.
27741         * lib/unistd.in.h (usleep): Add declaration.
27742         * doc/pastposix-functions/usleep.texi (usleep): Document this.
27743         * MODULES.html.sh (Date and time): Likewise.
27744         * modules/usleep-tests (Depends-on): New test.
27745         * tests/test-usleep.c: New file.
27746
27747         chown: work around OpenBSD bug
27748         * lib/chown.c (rpl_chown): Work around the bug.
27749         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
27750         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
27751         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
27752         * modules/chown (Depends-on): Add stdbool.
27753         * modules/lchown (Depends-on): Likewise.
27754         * doc/posix-functions/chown.texi (chown): Document the bug.
27755         * doc/posix-functions/lchown.texi (lchown): Likewise.
27756         * tests/test-lchown.h (test_chown): Relax test.
27757
27758         mkstemp: avoid conflict with C++ keyword template
27759         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
27760         * lib/mkostemp.c (mkostemp): Likewise.
27761         * lib/mkostemps.c (mkostemps): Likewise.
27762         * lib/mkstemp.c (mkstemp): Likewise.
27763         * lib/mkstemps.c (mkstemps): Likewise.
27764
27765         xalloc-die-tests: optimize
27766         * tests/test-xalloc-die.sh: Reduce number of processes.
27767
27768 2009-11-17  Simon Josefsson  <simon@josefsson.org>
27769
27770         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
27771         patch from ludo@gnu.org (Ludovic Courtès).
27772
27773 2009-11-17  Jim Meyering  <meyering@redhat.com>
27774
27775         version-etc: use proper license string
27776         * modules/version-etc (License): Use LGPL, not LGPLv3+.
27777         * modules/version-etc-fsf: Likewise.
27778
27779 2009-11-17  Simon Josefsson  <simon@josefsson.org>
27780
27781         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
27782         printed to stdout.  Deal with EOL differences.
27783
27784 2009-11-17  Eric Blake  <ebb9@byu.net>
27785
27786         unsetenv: work around Solaris bug
27787         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
27788         * lib/unsetenv.c (rpl_unsetenv): Work around it.
27789         Reported by Jim Meyering.
27790
27791         vasnprintf: avoid compiler warnings
27792         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
27793         variables.
27794         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
27795
27796 2009-11-17  Simon Josefsson  <simon@josefsson.org>
27797
27798         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
27799         settings since xalloc-die is no longer the self test,
27800         xalloc-die.sh is.
27801
27802 2009-11-17  Jim Meyering  <meyering@redhat.com>
27803
27804         test-xalloc-die.sh: make the code agree with the commit log
27805         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
27806         at the end, just in case you happen to have a test-xalloc-die
27807         program in some other PATH directory.
27808
27809         test-xalloc-die.sh: fix a portability bug
27810         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
27811         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
27812         Otherwise, argv[0] (as often seen in diagnostics) would be too
27813         system-dependent, sometimes with, and sometimes without the leading "./".
27814
27815         version-etc-fsf: relax license to LGPLv3+
27816         * modules/version-etc-fsf (License): Relax license.
27817
27818 2009-11-16  Eric Blake  <ebb9@byu.net>
27819
27820         xalloc-die-tests: avoid printing null pointer
27821         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
27822         shell script.
27823         * tests/test-xalloc-die.c (program_name): Declare.
27824         * tests/test-xalloc-die.sh (tmpfiles): New file.
27825
27826         setenv, unsetenv: work around various bugs
27827         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
27828         (setenv) [HAVE_SETENV]: Work around bugs.
27829         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
27830         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
27831         for bugs.
27832         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
27833         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
27834         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
27835         * modules/stdlib (Makefile.am): Update substitutions.
27836         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
27837         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
27838         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
27839         * modules/setenv-tests: New test.
27840         * modules/unsetenv-tests: Likewise.
27841         * tests/test-setenv.c: New file.
27842         * tests/test-unsetenv.c: Likewise.
27843
27844 2009-11-16  Jim Meyering  <meyering@redhat.com>
27845
27846         version-etc: relax license to LGPLv3+
27847         * modules/version-etc (License): Relax license.
27848
27849         better AC_REQUIRE expanded-before-required-warning avoidance
27850         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
27851         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
27852         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
27853         which is no longer needed.
27854
27855 2009-11-16  Eric Blake  <ebb9@byu.net>
27856
27857         test-freading: clean up temporary file
27858         * tests/test-freading.c (main): Remove file on success, and use
27859         ASSERT more liberally.
27860         Reported by Jim Meyering.
27861
27862 2009-11-16  Jim Meyering  <meyering@redhat.com>
27863
27864         avoid new AC_REQUIRE expanded-before-required warnings
27865         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
27866         merely using it.
27867         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
27868         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
27869
27870 2009-11-15  Simon Josefsson  <simon@josefsson.org>
27871
27872         * tests/test-xalloc-die.c: New file.
27873         * modules/xalloc-die-tests: New file.
27874         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
27875         XFAIL_TESTS so it can be appended by modules.
27876
27877 2009-11-15  Simon Josefsson  <simon@josefsson.org>
27878
27879         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
27880         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
27881
27882 2009-11-14  Eric Blake  <ebb9@byu.net>
27883
27884         fnmatch: avoid compiler warning
27885         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
27886         to silence compiler warning about mismatch signedness in ?:.
27887         Reported by Robert Millan.
27888
27889         intprops: add double-inclusion guard
27890         * lib/intprops.h: Allow idempotent includes.
27891         Suggested by Bruce Korb.
27892
27893         openat: detect Solaris fchownat bug
27894         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
27895         penalizing glibc chownat when only lchownat is broken.
27896         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
27897         trailing slash bugs.
27898         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
27899         * modules/openat-tests (Files): Include more files.
27900         (Depends-on): Add mgetgroups, sleep, stat-time.
27901         (configure.ac): Add additional checks.
27902         (Makefile.am): Build new test.
27903         * tests/test-fchownat.c: New file.
27904
27905         lchown: detect Solaris and FreeBSD bug
27906         * lib/lchown.c (rpl_lchown): Work around bug.
27907         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
27908         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
27909         * modules/unistd (Makefile.am): Populate it.
27910         * lib/unistd.in.h (lchown): Update declaration.
27911         * doc/posix-functions/lchown.texi (lchown): Document the bug.
27912         * modules/lchown-tests: New file.
27913         * tests/test-lchown.h (test_lchown): Likewise.
27914         * tests/test-lchown.c (main): Likewise.
27915
27916         chown: detect Solaris and FreeBSD bug
27917         * lib/chown.c (rpl_chown): Work around bug.
27918         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
27919         (gl_PREREQ_CHOWN): Delete.
27920         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
27921         * modules/unistd (Makefile.am): Populate it.
27922         * lib/unistd.in.h (chown): Update declaration.
27923         * lib/lchown.c (chown): Update client.
27924         * modules/lchown (Depends-on): Add lstat.
27925         * doc/posix-functions/chown.texi (chown): Document the bug.
27926         * doc/posix-functions/getgroups.texi (getgroups): Document
27927         getgroups pitfall.
27928         * modules/chown-tests: New file.
27929         * tests/test-chown.h (test_chown): Likewise.
27930         * tests/test-chown.c (main): Likewise.
27931
27932 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
27933
27934         gnulib-tool: correctly detect absence of m4 directories
27935         * gnulib-tool: Avoid extra newline on data passed to wc -l.
27936
27937 2009-11-14  Jim Meyering  <meyering@redhat.com>
27938
27939         maint.mk: Prohibit inclusion of "xalloc.h" without use.
27940         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
27941
27942 2009-11-14  John W. Eaton  <jwe@gnu.org>
27943
27944         strftime.h: wrap funtion declaration in extern "C" block
27945         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
27946
27947 2009-11-13  Eric Blake  <ebb9@byu.net>
27948
27949         getgroups: avoid compiler warning
27950         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
27951
27952         getgroups: work around FreeBSD bug
27953         * lib/getgroups.c (rpl_getgroups): Work around the bug.
27954         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
27955         * doc/posix-functions/getgroups.texi (getgroups): Document it.
27956         * tests/test-getgroups.c (main): Fix buffer overrun.
27957
27958         getgroups: avoid compilation failure
27959         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
27960         * modules/getgroups (Depends-on): Add stdint.
27961
27962 2009-11-13  Jim Meyering  <meyering@redhat.com>
27963
27964         test-getgroups: avoid compilation failure
27965         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
27966
27967 2009-11-13  Eric Blake  <ebb9@byu.net>
27968
27969         mgetgroups: new module, taken from coreutils
27970         * modules/mgetgroups: New file.
27971         * lib/mgetgroups.h: Likewise.
27972         * lib/mgetgroups.c (mgetgroups): Likewise.
27973         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
27974         * MODULES.html.sh (Users and groups): Mention it.
27975
27976         getgroups: don't expose GETGROUPS_T to user
27977         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
27978         an element at a time if GETGROUPS_T is wrong size.
27979         * lib/getugroups.h (getugroups): Change signature.
27980         * lib/unistd.in.h (getgroups): Likewise.
27981         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
27982         signature needs fixing.
27983         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
27984         AC_TYPE_GETGROUPS.
27985         * modules/group-member (Depends-on): Add getgroups.
27986         * lib/group-member.c (group_info, get_group_info): Use gid_t.
27987         (group_member): Rely on getgroups replacement.
27988         * lib/getugroups.c (getugroups): Use gid_t.
27989         * tests/test-getgroups.c (main): Likewise.
27990         * NEWS: Mention the signature change.
27991         * doc/posix-functions/getgroups.texi (getgroups): Mention the
27992         problem with signature.
27993         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
27994         GETGROUPS_T is still useful for setgroups.
27995
27996         getgroups, getugroups: provide stubs for mingw
27997         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
27998         * lib/getugroups.c (getugroups): Likewise.
27999         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
28000         function.  Modernize replacement scheme.
28001         (gl_PREREQ_GETGROUPS): Delete.
28002         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
28003         * modules/getgroups (configure.ac): Declare witness.
28004         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
28005         * modules/unistd (Depends-on): Substitute witness.
28006         * lib/unistd.in.h (getgroups): Declare replacement.
28007
28008         getgroups: avoid calling exit
28009         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
28010         drop xalloc.
28011         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
28012         dependencies.
28013         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
28014         exiting, in the rare case of malloc failure.
28015
28016         getgroups: fix logic error
28017         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
28018         has more than 20 groups.
28019         * modules/getgroups-tests: New test.
28020         * tests/test-getgroups.c: New file.
28021
28022 2009-11-13  Simon Josefsson  <simon@josefsson.org>
28023
28024         * tests/test-base64.c: Improve.
28025
28026 2009-11-13  Simon Josefsson  <simon@josefsson.org>
28027
28028         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
28029         Blake <ebb9@byu.net>.
28030
28031 2009-11-13  Simon Josefsson  <simon@josefsson.org>
28032
28033         * tests/test-xvasprintf.c: Add %s%s related checks.
28034
28035 2009-11-12  Eric Blake  <ebb9@byu.net>
28036
28037         version-etc: match standards.texi style
28038         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
28039         and use <> only for URLs.
28040
28041 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
28042
28043         fts: do not fail on a submount during traversal
28044         * lib/fts.c (fts_build): Read the stat info again after opening
28045         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
28046         Original report at http://bugzilla.redhat.com/501848.
28047
28048 2009-11-12  Jim Meyering  <meyering@redhat.com>
28049
28050         bootstrap: sync from coreutils
28051         * build-aux/bootstrap (bootstrap_epilogue): New function.
28052         Use git_modules_config in one more place.  This make bootstrap's
28053         --gnulib-srcdir option more useful for testing.
28054
28055         bootstrap: generalize autoheader check
28056         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
28057         AC_CONFIG_HEADERS.
28058
28059 2009-11-11  Eric Blake  <ebb9@byu.net>
28060
28061         mkfifoat: use new modules for Solaris and BSD bugs
28062         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
28063         * lib/mkfifoat.c (mknodat): Split...
28064         * lib/mknodat.c (mknodat): ...into new file.
28065         * modules/mkfifoat (Files): Ship new file.
28066         (Depends-on): Add mkfifo, mknod.
28067         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
28068         (Depends-on): Add symlink.
28069         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
28070         redundant with test_mkfifo.h.
28071         (do_mkfifoat, do_mknodat): New helpers.
28072
28073         mknod: new module
28074         * modules/mknod: New file.
28075         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
28076         * lib/mknod.c (mknod): Likewise.
28077         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
28078         defaults.
28079         * modules/sys_stat (Makefile.am): Substitute them.
28080         * lib/sys_stat.in.h (mknod): Declare replacement.
28081         * MODULES.html.sh (Support for systems lacking POSIX:2008):
28082         Document it.
28083         * doc/posix-functions/mknod.texi (mknod): Likewise.
28084         * modules/mknod-tests: New test.
28085         * tests/test-mknod.c: Likewise.
28086
28087         mkfifo: new module
28088         * modules/mkfifo: New file.
28089         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
28090         * lib/mkfifo.c (mkfifo): Likewise.
28091         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
28092         defaults.
28093         * modules/sys_stat (Makefile.am): Substitute them.
28094         * lib/sys_stat.in.h (mkfifo): Declare replacement.
28095         * MODULES.html.sh (Support for systems lacking POSIX:2008):
28096         Document it.
28097         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
28098         * modules/mkfifo-tests: New test.
28099         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
28100         from test-mkfifoat.c.
28101         * tests/test-mkfifo.c: New file.
28102
28103         readlink: detect FreeBSD bug
28104         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
28105         slash on symlink.
28106         * doc/posix-functions/readlink.texi (readlink): Document the bug.
28107         * tests/test-readlink.h (test_readlink): Enhance test.
28108
28109         symlink: detect FreeBSD bug
28110         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
28111         slash on symlink.
28112         * doc/posix-functions/symlink.texi (symlink): Document the bug.
28113         * tests/test-symlink.h (test_symlink): Enhance test.
28114
28115 2009-11-10  Eric Blake  <ebb9@byu.net>
28116
28117         link: detect FreeBSD bug
28118         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
28119         symlink.
28120         * doc/posix-functions/link.texi (link): Document the bug.
28121         * tests/test-link.h (test_link): Enhance test.
28122         * tests/test-linkat.c (main): Update caller.
28123
28124         unlink, remove: detect FreeBSD bug
28125         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
28126         slash on symlink.
28127         * doc/posix-functions/unlink.texi (unlink): Document the bug.
28128         * doc/posix-functions/remove.texi (remove): Likewise.
28129         * tests/test-unlink.h (test_unlink): Enhance test.
28130         * tests/test-remove.c (main): Likewise.
28131
28132 2009-11-09  Eric Blake  <ebb9@byu.net>
28133
28134         rename: detect FreeBSD bug
28135         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
28136         slash on symlink.
28137         * modules/renameat-tests (Depends-on): Add filenamecat.
28138         * tests/test-rename.h (test_rename): Allow one more errno.
28139         * tests/test-renameat.c (main): Likewise.
28140         * doc/posix-functions/rename.texi (rename): Document the bug.
28141
28142         open: detect FreeBSD bug
28143         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
28144         symlink.
28145         * doc/posix-functions/open.texi (open): Document the bug.
28146         * doc/posix-functions/utimes.texi (utimes): Likewise.
28147         * tests/test-open.h (test_open): Add parameters, and test symlink
28148         handling.
28149         * tests/test-open.c (main): Adjust caller.
28150         * tests/test-fcntl-safer.c (main): Likewise.
28151         * modules/open-tests (Depends-on): Add stdbool, symlink.
28152         * modules/fcntl-safer-tests (Depends-on): Likewise.
28153         * tests/test-openat.c (main): Add test-open tests.
28154
28155         stat: detect FreeBSD bug
28156         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
28157         symlink.
28158         * doc/posix-functions/stat.texi (stat): Document the bug.
28159         * tests/test-stat.h (test_stat_func): Add argument.
28160         * tests/test-stat.c (main): Adjust caller.
28161         * tests/test-fstatat.c (main): Likewise.
28162         * modules/stat-tests (Depends-on): Add stdbool, symlink.
28163         Reported by Jim Meyering.
28164
28165 2009-11-09  James Youngman  <jay@gnu.org>
28166
28167         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
28168         * lib/strftime.c: Correct placement of #include "ignore-value.h".
28169
28170 2009-11-08  Jim Meyering  <meyering@redhat.com>
28171
28172         utimens: remove invalid futimesat call
28173         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
28174         It used the file descriptor of the target file as the DIR_FD
28175         parameter and NULL as the file name.  That caused failure with
28176         errno == EFAULT on FreeBSD-8.0-rc2
28177
28178 2009-11-07  Eric Blake  <ebb9@byu.net>
28179
28180         fflush, freadseek: use fseeko, not fseek
28181         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
28182         (clear_ungetc_buffer): Avoid potential problems on large files.
28183         * lib/freadseek.c (freadseek): Likewise.
28184         * modules/freadseek (Depends-on): Add fseeko.
28185         * modules/fseek (configure.ac): Set a witness.
28186         * tests/test-fflush.c (main): Use fseeko.
28187         * tests/test-fpurge.c (fseek): Disable link warning.
28188         * tests/test-freadable.c (fseek): Likewise.
28189         * tests/test-freading.c (fseek): Likewise.
28190         * tests/test-fseeko.c (fseek): Likewise.
28191         * tests/test-ftell.c (fseek): Likewise.
28192         * tests/test-ftello.c (fseek): Likewise.
28193         * tests/test-fwritable.c (fseek): Likewise.
28194         * tests/test-fwriting.c (fseek): Likewise.
28195
28196 2009-11-06  Simon Josefsson  <simon@josefsson.org>
28197
28198         * modules/memchr (Depends-on): Drop getpagesize dependency.
28199
28200 2009-11-06  Simon Josefsson  <simon@josefsson.org>
28201
28202         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
28203         Reported by Ludovic Courtès.
28204         * build-aux/pmccabe2html: Improve example usage.
28205         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
28206
28207 2009-11-06  Jim Meyering  <meyering@redhat.com>
28208
28209         do-release-commit-and-tag: New module.
28210         Automate the release-commit and tag process.
28211         * build-aux/do-release-commit-and-tag: New script, from coreutils.
28212         * modules/do-release-commit-and-tag: New file.
28213         * MODULES.html.sh (Support for maintaining and releasing): Add it.
28214
28215 2009-11-06  Simon Josefsson  <simon@josefsson.org>
28216
28217         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
28218         because test-select.c uses inet_pton.
28219
28220 2009-11-06  Simon Josefsson  <simon@josefsson.org>
28221
28222         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
28223         GETADDRINFO_LIB.  Bump serial number.
28224         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
28225         Suggested by Eric Blake <ebb9@byu.net>.
28226
28227 2009-11-05  Eric Blake  <ebb9@byu.net>
28228
28229         strtod: detect darwin bug
28230         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
28231         Reported by Leo Davis.
28232
28233         freopen-safer: new module
28234         * modules/freopen-safer: New module.
28235         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
28236         * lib/freopen-safer.c (freopen_safer): New file.
28237         * lib/stdio-safer.h (freopen_safer): New declaration.
28238         * lib/stdio--.h (freopen): New override.
28239         * MODULES.html.sh (File stream based Input/Output): Mention it.
28240         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
28241         freopen-safer module.
28242         * doc/posix-functions/stderr.texi (stderr): Likewise.
28243         * doc/posix-functions/stdin.texi (stdin): Likewise.
28244         * doc/posix-functions/stdout.texi (stdout): Likewise.
28245         * modules/freopen-safer-tests: New test.
28246         * tests/test-reopen-safer.c: New file.
28247
28248 2009-11-05  Jim Meyering  <meyering@redhat.com>
28249
28250         maint.mk: Prohibit inclusion of "close-stream.h" without use.
28251         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
28252
28253 2009-11-05  Simon Josefsson  <simon@josefsson.org>
28254
28255         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
28256
28257 2009-11-05  Simon Josefsson  <simon@josefsson.org>
28258
28259         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
28260
28261 2009-11-05  Simon Josefsson  <simon@josefsson.org>
28262
28263         Fix link error.
28264         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
28265         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
28266
28267 2009-11-05  Simon Josefsson  <simon@josefsson.org>
28268
28269         * tests/test-func.c: Also test value of __func__.
28270
28271 2009-11-05  Simon Josefsson  <simon@josefsson.org>
28272
28273         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
28274         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
28275
28276 2009-11-05  Bruno Haible  <bruno@clisp.org>
28277
28278         Fix link error.
28279         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
28280         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
28281         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
28282
28283 2009-11-05  Bruno Haible  <bruno@clisp.org>
28284
28285         Tests for module 'inet_pton'.
28286         * modules/inet_pton-tests: New file.
28287         * tests/test-inet_pton.c: New file.
28288
28289 2009-11-05  Bruno Haible  <bruno@clisp.org>
28290
28291         Tests for module 'inet_ntop'.
28292         * modules/inet_ntop-tests: New file.
28293         * tests/test-inet_ntop.c: New file.
28294
28295 2009-11-04  Eric Blake  <ebb9@byu.net>
28296
28297         stdlib-safer: wrap all mkstemp variants
28298         * modules/mkostemp (configure.ac): Set witness.
28299         * modules/mkostemps (configure.ac): Likewise.
28300         * modules/mkstemps (configure.ac): Likewise.
28301         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
28302         (mkstemps_safer): Wrap more functions.
28303         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
28304         wrapping.
28305         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
28306         (mkstemps_safer): Implement the wrappers.
28307
28308         mkstemps, mkostemps: new modules
28309         * modules/mkostemps: New module.
28310         * modules/mkstemps: Likewise.
28311         * lib/mkostemps.c (mkostemps): New file.
28312         * lib/mkstemps.c (mkstemps): Likewise.
28313         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
28314         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
28315         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
28316         * modules/stdlib (Makefile.am): Substitute them.
28317         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
28318         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
28319         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
28320         * doc/gnulib.texi (Glibc stdlib.h): Include them.
28321         * MODULES.html.sh (File system functions): Mention them.
28322
28323         tempname: resync from glibc
28324         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
28325         same values for __GT_FILE as glibc.  Abort even when assertions
28326         are disabled.
28327         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
28328         match its value otherwise.  Allow idempotent inclusion.
28329         * lib/mkdtemp.c (mkdtemp): Adjust caller.
28330         * lib/mkostemp.c (mkostemp): Likewise.
28331         * lib/mkstemp.c (mkstemp): Likewise.
28332         * lib/tmpfile.c (tmpfile): Likewise.
28333         * NEWS: Document this.
28334
28335         utimens: fix use of futimens on older Linux
28336         * lib/utimens.c (fdutimens): Use updated, rather than original,
28337         timespec to avoid bug in older Linux kernel.
28338         Reported by Simon Josefsson.
28339
28340 2009-11-04  Bruno Haible  <bruno@clisp.org>
28341
28342         Make num_processors more flexible and consistent.
28343         * lib/nproc.h (enum nproc_query): New type.
28344         (num_processors): Add a 'query' argument.
28345         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
28346         (num_processors): Add a 'query' argument. Test the value of the
28347         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
28348         mingw, count the number of CPUs available for the current process.
28349         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
28350         Check for sched_getaffinity and sched_getaffinity_np.
28351         * modules/nproc (Depends-on): Add c-ctype, extensions.
28352         * NEWS: Mention the change.
28353
28354 2009-11-03  Bruno Haible  <bruno@clisp.org>
28355
28356         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
28357
28358 2009-11-03  Jim Meyering  <meyering@redhat.com>
28359
28360         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
28361         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
28362         if it is defined.
28363
28364 2009-11-02  Eric Blake  <ebb9@byu.net>
28365
28366         mktime, timegm: share common declaration
28367         * lib/mktime-internal.h: New file.
28368         * lib/mktime.c: Use it rather than open-coding a declaration.
28369         * lib/timegm.c: Likewise.
28370         * modules/mktime (Files): Ship it.
28371         * modules/timegm (Files): Likewise.
28372         Suggested by Bruno Haible.
28373
28374         test-update-copyright: update test to match script changes
28375         * tests/test-update-copyright.sh: Avoid hard-coding perl
28376         location.  Don't update *.bak created by earlier runs.
28377
28378 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
28379             Simon Josefsson  <simon@josefsson.org>
28380             Bruno Haible  <bruno@clisp.org>
28381
28382         Fix link error on Solaris 8.
28383         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
28384         also in libnsl. Define also INET_PTON_LIB.
28385         * modules/inet_pton (Link): New section.
28386
28387 2009-11-02  Simon Josefsson  <simon@josefsson.org>
28388             Bruno Haible  <bruno@clisp.org>
28389
28390         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
28391         * modules/inet_ntop (Link): New section.
28392         Reported by Boyan Kasarov <bkasarov@gmail.com>.
28393
28394 2009-11-02  Eric Blake  <ebb9@byu.net>
28395
28396         maint: avoid compiler warnings in m4 macros
28397         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
28398         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
28399
28400 2009-11-02  Simon Josefsson  <simon@josefsson.org>
28401
28402         * m4/pmccabe2html.m4: Remove file.
28403         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
28404         function.  Change maintainer.
28405         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
28406         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
28407         Courtès).
28408
28409 2009-10-31  Eric Blake  <ebb9@byu.net>
28410
28411         fseeko: fix m4 regression
28412         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
28413         regression from 2009-10-27.
28414         Reported by Ralf Wildenhues.
28415
28416 2009-10-31  Jim Meyering  <meyering@redhat.com>
28417
28418         inttostr: aesthetics and improved (compile-time) safety
28419         Define inttype_is_signed rather than inttype_is_unsigned,
28420         since the sole use is via "#if inttype_is_signed".
28421         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
28422         inttype_is_unsigned.
28423         * lib/offtostr.c (inttype_is_signed): Likewise.
28424         * lib/uinttostr.c (inttype_is_signed): Likewise.
28425         * lib/umaxtostr.c (inttype_is_signed): Likewise.
28426         * lib/inttostr.c (inttostr): Use verify to cross-check the
28427         inttype_is_signed value and the signedness of the actual type.
28428         * modules/inttostr (Depends-on): Add verify.
28429
28430 2009-10-30  Eric Blake  <ebb9@byu.net>
28431
28432         build: avoid compiler warnings
28433         * lib/fchmodat.c (lchmod): Mark unused variables.
28434         * lib/getopt.c (_getopt_initialize): Likewise.
28435         * lib/mktime.c (__mktime_internal): Provide prototype.
28436         * lib/inttostr.c (inttostr): Avoid compiler warning even with
28437         older gcc that do not understand #pragma GCC diagnostic.
28438         * lib/uinttostr.c (inttype_is_unsigned): Define.
28439         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
28440
28441 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
28442
28443         stat: fix compilation on AIX
28444         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
28445         only see struct stat64.
28446
28447 2009-10-30  Eric Blake  <ebb9@byu.net>
28448
28449         exclude: make more robust
28450         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
28451         rather than masking a coding bug.
28452         Suggested by Bruno Haible.
28453
28454 2009-10-30  Jim Meyering  <meyering@redhat.com>
28455
28456         perl scripts: remove #!/usr/bin/perl in favor of more portable...
28457         Rather than putting #!/usr/bin/perl on the first line,
28458         start with a variant of what's recommended by "man perlrun" that
28459         invokes the first "perl" program from your shell's search path.
28460         * build-aux/gitlog-to-changelog: Replace #!... as above.
28461         Add a "Local Variables" perl mode setting.
28462         Prompted by a patch from Ludovic Courtès.
28463         Improved by Eric Blake.
28464         * build-aux/useless-if-before-free: Likewise.
28465         * build-aux/announce-gen: Likewise.
28466         * build-aux/update-copyright: Likewise.
28467
28468 2009-10-29  Eric Blake  <ebb9@byu.net>
28469
28470         filenamecat-lgpl: adjust clients
28471         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
28472         filenamecat.
28473         * modules/renameat (Depends-on): Likewise.
28474
28475         filenamecat: split into filenamecat-lgpl
28476         * modules/filenamecat-lgpl: New module.
28477         * modules/filenamecat (Files): Move library-safe files into
28478         filenamecat-lgpl.
28479         (Depends-on): Add filenamecat-lgpl.
28480         (configure.ac): Declare witness.
28481         * lib/filenamecat.h (file_name_concat): Only declare when using
28482         GPL module.
28483         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
28484         Move...
28485         * lib/filenamecat-lgpl.c: ...into new file.
28486         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
28487         (gl_FILE_NAME_CONCAT): Use it.
28488         * MODULES.html.sh (File system functions): Mention new module.
28489
28490         argp: avoid memory leak
28491         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
28492         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
28493         base_name, since the latter malloc()s and can call exit().
28494         Leak introduced 2006-07-03.
28495
28496         dirname-lgpl: adjust clients that don't need full dirname
28497         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
28498         * modules/filenamecat (Depends-on): Likewise.
28499         * modules/linkat (Depends-on): Likewise.
28500         * modules/mkancesdirs (Depends-on): Likewise.
28501         * modules/mkdir (Depends-on): Likewise.
28502         * modules/openat (Depends-on): Likewise.
28503         * modules/savewd (Depends-on): Likewise.
28504         * modules/rename (Depends-on): Likewise.
28505         (License): Relax license.
28506         * modules/mkdir-tests (Depends-on): Drop progname.
28507         (Makefile.am): Delete unneeded LDADD.
28508         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
28509
28510         dirname: split into dirname-lgpl
28511         * modules/dirname-lgpl: New module.
28512         * modules/dirname (Files): Move library-safe files into
28513         dirname-lgpl.
28514         (Depends-on): Add dirname-lgpl.
28515         (configure.ac): Declare witness.
28516         * modules/double-slash-root (License): Relax license.
28517         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
28518         module.
28519         * lib/dirname.c (dir_len, mdir_name): Move...
28520         * lib/dirname-lgpl.c: ...into new file.
28521         * lib/basename.c (last_component, base_len): Move...
28522         * lib/basename-lgpl.c: ...into new file.
28523         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
28524         (gl_DIRNAME): Use it.
28525         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
28526         Mention new module.
28527         * modules/dirname-tests (Depends-on): Add progname.
28528         * tests/test-dirname.c (program_name): Delete.
28529
28530         mkdir: make safe for libraries
28531         * modules/mkdir (Depends-on): Drop xalloc.
28532         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
28533         exit.
28534
28535         tests: avoid some compiler warnings
28536         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
28537         literals.
28538         * tests/test-memchr.c (main): Avoid type mismatch.
28539         * tests/test-arpa_inet.c (main): Avoid unused parameters.
28540         * tests/test-base64.c (main): Likewise.
28541         * tests/test-getdelim.c (main): Likewise.
28542         * tests/test-gethostname.c (main): Likewise.
28543         * tests/test-getline.c (main): Likewise.
28544         * tests/test-netinet_in.c (main): Likewise.
28545         * tests/test-select.c (open_server_socket, main): Likewise.
28546         * tests/test-select-stdin.c (main): Likewise.
28547         * tests/test-sockets.c (main): Likewise.
28548         * tests/test-strsignal.c (main): Likewise.
28549         * tests/test-sys_select.c (main): Likewise.
28550         * tests/test-sys_socket.c (main): Likewise.
28551         * tests/test-u64.c (main): Likewise.
28552         * tests/test-xfprintf-posix.c (main): Likewise.
28553         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
28554
28555         sockets: avoid compiler warning
28556         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
28557
28558         maint: detect usage(1) and other suspicious exits
28559         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
28560
28561 2009-10-29  Jim Meyering  <meyering@redhat.com>
28562
28563         timespec: long-to-int truncation could make timespec_cmp malfunction
28564         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
28565         a multiple of 2^32 nanoseconds as no difference.
28566
28567 2009-10-28  Jim Meyering  <meyering@redhat.com>
28568
28569         fprintftime: wrap macro code argument in "do {...} while(0)"
28570         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
28571         cpy macro must be a statement that can be followed by a semicolon.
28572         Now that the else clause contains a comment and is hence longer
28573         than one line, I require curly braces.  That in turn requires
28574         that we wrap this code block in the standard do...while(0).
28575
28576         fprintftime: remove stray semicolon from previous change
28577         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
28578
28579         fprintftime: avoid a warning about ignored fwrite return value
28580         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
28581         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
28582         that is unsafe.
28583         * modules/fprintftime (Depends-on): Add ignore-value.
28584
28585         exclude: avoid an unwarranted warning
28586         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
28587
28588 2009-10-27  Eric Blake  <ebb9@byu.net>
28589
28590         fseek: avoid compilation failure when fflush is replaced
28591         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
28592         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
28593         module is in use.
28594         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
28595         module is not in use; since REPLACE_FSEEK worked otherwise.
28596         (GNULIB_FTELLO): Likewise for ftell.
28597         Reported by Ian Beckwith and others.
28598
28599 2009-10-27  Bruno Haible  <bruno@clisp.org>
28600
28601         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
28602         Reported by Jim Meyering.
28603
28604 2009-10-27  Jim Meyering  <jim@meyering.net>
28605             Bruno Haible  <bruno@clisp.org>
28606
28607         Avoid warning despite dropping the return value of fwrite.
28608         * lib/unicodeio.c: Include ignore-value.h.
28609         (fwrite_success_callback): Explicitly ignore fwrite's return value.
28610         * modules/unicodeio (Depends-on): Add ignore-value.
28611
28612 2009-10-26  Eric Blake  <ebb9@byu.net>
28613
28614         areadlinkat: fix fallback path
28615         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
28616         pointer and zero.
28617
28618 2009-10-22  Pádraig Brady  <P@draigBrady.com>
28619
28620         Use a better IO block size for modern systems
28621         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
28622         * lib/md2.c: Likewise.
28623         * lib/md4.c: Likewise.
28624         * lib/md5.c: Likewise.
28625         * lib/sha1.c: Likewise.
28626         * lib/sha256.c: Likewise.
28627         * lib/sha512.c: Likewise.
28628
28629 2009-10-22  Eric Blake  <ebb9@byu.net>
28630
28631         tests: avoid several compiler warnings
28632         * tests/test-getcwd.c (main): Avoid buffer underflow.
28633         * tests/test-getdate.c (main): String literals are not safe with
28634         putenv, so use setenv.  Declare unused argument.
28635         * modules/getdate-tests (Depends-on): Add setenv.
28636         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
28637         problems with string literals in char *.
28638         * tests/test-hash.c (main): Avoid shadowing declaration.
28639         (insert_new): Treat string literals as char const *.
28640         * tests/test-getopt.h (test_getopt): Likewise.
28641         (getopt_loop): Alter types to minimize casting elsewhere.
28642         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
28643         (test_getopt_long_posix): Likewise.
28644         (do_getopt_long): Add wrapper to minimize casting.
28645         * tests/test-atexit.c (clear_temp_file): Use void.
28646         * tests/test-areadlink-with-size.c (main): Declare unused
28647         arguments.
28648         * tests/test-areadlink.c (main): Likewise.
28649         * tests/test-areadlinkat-with-size.c (main): Likewise.
28650         * tests/test-areadlinkat.c (main): Likewise.
28651         * tests/test-canonicalize-lgpl.c (main): Likewise.
28652         * tests/test-canonicalize.c (main): Likewise.
28653         * tests/test-dirent-safer.c (main): Likewise.
28654         * tests/test-dirname.c (main): Likewise.
28655         * tests/test-dup2.c (main): Likewise.
28656         * tests/test-fchdir.c (main): Likewise.
28657         * tests/test-fcntl-h.c (main): Likewise.
28658         * tests/test-fcntl-safer.c (main): Likewise.
28659         * tests/test-fdopendir.c (main): Likewise.
28660         * tests/test-fdutimensat.c (main): Likewise.
28661         * tests/test-fflush.c (main): Likewise.
28662         * tests/test-filenamecat.c (main): Likewise.
28663         * tests/test-filevercmp.c (main): Likewise.
28664         * tests/test-fopen-safer.c (main): Likewise.
28665         * tests/test-fopen.c (main): Likewise.
28666         * tests/test-fpending.c (main): Likewise.
28667         * tests/test-fpurge.c (main): Likewise.
28668         * tests/test-freading.c (main): Likewise.
28669         * tests/test-fstatat.c (main): Likewise.
28670         * tests/test-fsync.c (main): Likewise.
28671         * tests/test-futimens.c (main): Likewise.
28672         * tests/test-getndelim2.c (main): Likewise.
28673         * tests/test-gettimeofday.c (main): Likewise.
28674         * tests/test-getopt.c (main): Likewise.
28675         * tests/test-i-ring.c (main): Likewise.
28676         * tests/test-inttypes.c (main): Likewise.
28677         * tests/test-link.c (main): Likewise.
28678         * tests/test-lstat.c (main): Likewise.
28679         * tests/test-math.c (main): Likewise.
28680         * tests/test-md5.c (main): Likewise.
28681         * tests/test-memchr2.c (main): Likewise.
28682         * tests/test-memrchr.c (main): Likewise.
28683         * tests/test-mkdir.c (main): Likewise.
28684         * tests/test-mkdirat.c (main): Likewise.
28685         * tests/test-mkfifoat.c (main): Likewise.
28686         * tests/test-open.c (main): Likewise.
28687         * tests/test-openat-safer.c (main): Likewise.
28688         * tests/test-openat.c (main): Likewise.
28689         * tests/test-quotearg.c (main): Likewise.
28690         * tests/test-rawmemchr.c (main): Likewise.
28691         * tests/test-readlink.c (main): Likewise.
28692         * tests/test-remove.c (main): Likewise.
28693         * tests/test-rename.c (main): Likewise.
28694         * tests/test-renameat.c (main): Likewise.
28695         * tests/test-rmdir.c (main): Likewise.
28696         * tests/test-sha1.c (main): Likewise.
28697         * tests/test-signal.c (main): Likewise.
28698         * tests/test-sigaction.c (main): Likewise.
28699         * tests/test-stat.c (main): Likewise.
28700         * tests/test-stat-time.c (main): Likewise.
28701         * tests/test-stddef.c (main): Likewise.
28702         * tests/test-stdint.c (main): Likewise.
28703         * tests/test-stdio.c (main): Likewise.
28704         * tests/test-stdlib.c (main): Likewise.
28705         * tests/test-strchrnul.c (main): Likewise.
28706         * tests/test-strerror.c (main): Likewise.
28707         * tests/test-string.c (main): Likewise.
28708         * tests/test-strtod.c (main): Likewise.
28709         * tests/test-strverscmp.c (main): Likewise.
28710         * tests/test-symlink.c (main): Likewise.
28711         * tests/test-symlinkat.c (main): Likewise.
28712         * tests/test-sys_stat.c (main): Likewise.
28713         * tests/test-sys_time.c (main): Likewise.
28714         * tests/test-time.c (main): Likewise.
28715         * tests/test-unistd.c (main): Likewise.
28716         * tests/test-unlink.c (main): Likewise.
28717         * tests/test-unlinkat.c (main): Likewise.
28718         * tests/test-utimens.c (main): Likewise.
28719         * tests/test-utimensat.c (main): Likewise.
28720         * tests/test-version-etc.c (main): Likewise.
28721         * tests/test-wchar.c (main): Likewise.
28722         * tests/test-wctype.c (main): Likewise.
28723         * tests/test-xprintf-posix.c (main): Likewise.
28724         * tests/test-posixtm.c (main): Likewise.
28725         (STREQ): Delete unused macro.
28726         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
28727         shadowed variables.
28728         * tests/test-memchr.c (main): Likewise.
28729
28730 2009-10-21  Eric Blake  <ebb9@byu.net>
28731
28732         areadlinkat: avoid failure on older glibc
28733         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
28734         rather than mis-comparing 0 against FUNC_RESULT of char*.
28735
28736 2009-10-21  Bruno Haible  <bruno@clisp.org>
28737
28738         * modules/stpncpy (License): Relicense under LGPLv2+.
28739         Reported by David Lutterkort <lutter@redhat.com>.
28740
28741 2009-10-20  Eric Blake  <ebb9@byu.net>
28742
28743         utimensat: work around Solaris 9 bug
28744         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
28745         has trailing slash bugs.
28746         * tests/test-lutimens.h (test_lutimens): Enhance test.
28747         * tests/test-utimens.h (test_utimens): Likewise.
28748         * doc/posix-functions/utime.texi (utime): Enhance documentation.
28749         * doc/posix-functions/utimes.texi (utimes): Likewise.
28750         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
28751         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
28752         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
28753         * doc/posix-functions/futimens.texi (futimens): Likewise.
28754
28755         fdutimensat: new module
28756         * modules/fdutimensat: New file.
28757         * lib/fdutimensat.c (fdutimensat): Likewise.
28758         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
28759         * MODULES.html.sh (File system functions): Mention module.
28760         * modules/fdutimensat-tests: New test.
28761         * tests/test-fdutimensat.c: Likewise.
28762
28763         doc: regenerate INSTALL
28764         * doc/INSTALL: Reflect recent autoconf update.
28765         * doc/INSTALL.ISO: Likewise.
28766         * doc/INSTALL.UTF-8: Likewise.
28767
28768 2009-10-20  Pádraig Brady  <P@draigBrady.com>
28769
28770         acl: warn if ACL support is not detected
28771         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
28772
28773 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
28774
28775         * lib/nproc.h: Add extern "C" block for C++.
28776
28777 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
28778             Bruno Haible  <bruno@clisp.org>
28779
28780         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
28781         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
28782         * doc/posix-functions/isalpha.texi: Likewise.
28783         * doc/posix-functions/isblank.texi: Likewise.
28784         * doc/posix-functions/iscntrl.texi: Likewise.
28785         * doc/posix-functions/isdigit.texi: Likewise.
28786         * doc/posix-functions/isgraph.texi: Likewise.
28787         * doc/posix-functions/islower.texi: Likewise.
28788         * doc/posix-functions/isprint.texi: Likewise.
28789         * doc/posix-functions/ispunct.texi: Likewise.
28790         * doc/posix-functions/isspace.texi: Likewise.
28791         * doc/posix-functions/isupper.texi: Likewise.
28792         * doc/posix-functions/isxdigit.texi: Likewise.
28793
28794 2009-10-18  Bruno Haible  <bruno@clisp.org>
28795
28796         Tests for module 'isblank'.
28797         * modules/isblank-tests: New file.
28798         * tests/test-isblank.c: New file.
28799
28800         New module 'isblank'.
28801         * lib/isblank.c: New file.
28802         * m4/isblank.m4: New file.
28803         * modules/isblank: New file.
28804         * doc/posix-functions/isblank.texi: Mention the new module.
28805
28806 2009-10-18  Bruno Haible  <bruno@clisp.org>
28807
28808         New module 'ctype'.
28809         * lib/ctype.in.h: New file.
28810         * m4/ctype.m4: New file.
28811         * modules/ctype: New file.
28812         * doc/posix-headers/ctype.texi: Mention the new module.
28813
28814 2009-10-18  Jim Meyering  <meyering@redhat.com>
28815
28816         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
28817         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
28818         right after its initialization, rather than farther down.
28819         Keeping these in close proximity makes it easier to ensure
28820         that each such variable is initialized.  E.g.,
28821
28822             LIB_CLOCK_GETTIME=
28823             AC_SUBST([LIB_CLOCK_GETTIME])
28824
28825         This change also increments these serial numbers.
28826         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
28827         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
28828         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
28829
28830 2009-10-18  Bruno Haible  <bruno@clisp.org>
28831
28832         Don't let environment variables perturb build.
28833         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
28834         (gl_PREREQ_GETHRXTIME): ... not here.
28835
28836 2009-10-18  Bruno Haible  <bruno@clisp.org>
28837
28838         Avoid symlink attack in localcharset module.
28839         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
28840         (O_NOFOLLOW): Define fallback.
28841         (get_charset_aliases): Don't open the file if it is a symbolic link.
28842         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
28843         gl_FCNTL_H.
28844         (gl_FCNTL_H): Require it.
28845         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
28846         * modules/localcharset (Files): Add m4/fcntl_h.m4.
28847         Reported by Fergal Glynn <fglynn@veracode.com>.
28848
28849 2009-10-18  Bruno Haible  <bruno@clisp.org>
28850
28851         Implement nproc for mingw.
28852         * lib/nproc.c: Include <windows.h>
28853         (num_processors): On native Windows platforms, try GetSystemInfo.
28854
28855 2009-10-18  Bruno Haible  <bruno@clisp.org>
28856
28857         Implement nproc for IRIX.
28858         * lib/nproc.c: Include <sys/sysmp.h>.
28859         (num_processors): On IRIX systems, try sysmp.
28860         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
28861
28862 2009-10-18  Bruno Haible  <bruno@clisp.org>
28863
28864         Implement nproc for HP-UX.
28865         * lib/nproc.c: Include <sys/pstat.h>
28866         (num_processors): On HP-UX systems, try pstat_getdynamic.
28867         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
28868         pstat_getdynamic.
28869
28870 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
28871             Bruno Haible  <bruno@clisp.org>
28872
28873         Implement nproc for NetBSD, OpenBSD.
28874         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
28875         (ARRAY_SIZE): New macro.
28876         (num_processors): On BSD systems, try sysctl of HW_NCPU.
28877         * m4/nproc.m4: New file.
28878         * modules/nproc (Files): Add m4/nproc.m4.
28879         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
28880         (Makefile.am): Instead, augment lib_SOURCES.
28881
28882 2009-10-18  Bruno Haible  <bruno@clisp.org>
28883
28884         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
28885         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
28886         sys/param.h.
28887
28888 2009-10-16  Eric Blake  <ebb9@byu.net>
28889
28890         utimensat: new module
28891         * modules/utimensat: New file.
28892         * lib/utimensat.c (utimensat): Likewise.
28893         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
28894         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
28895         so we can work around Linux bugs.
28896         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
28897         * modules/sys_stat (Makefile.am): Substitute them.
28898         * lib/sys_stat.in.h (utimensat): Declare it.
28899         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
28900         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
28901         * modules/utimensat-tests: New test.
28902         * tests/test-utimensat.c: Likewise.
28903
28904         utimens: let lutimens work on non-symlinks
28905         * lib/utimens.c (lutimens): Fall back to utimens rather than
28906         failing with ENOSYS, when file is not a symlink.
28907         (utimens): Reduce redirection.
28908         * tests/test-lutimens.h (test_lutimens): Update test to cover
28909         non-symlinks.
28910         * tests/test-utimens.h (test_utimens): Update test to cover
28911         symlinks.
28912         * tests/test-utimens.c (main): Update caller.
28913
28914         utimens: cache whether utimensat syscall works
28915         * lib/utimens.c (utimensat_works_really): New cache variable.
28916         (fdutimens, lutimens): Use it to avoid failing syscall.
28917
28918         test-stat-time, test-utimens: improve portability
28919         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
28920         ext4 on alpha, and for cygwin.
28921         * tests/test-utimens-common.h: New file.
28922         (nap): Factor delays into single function.
28923         * tests/test-lutimens.h (test_lutimens): Use new header.
28924         * tests/test-futimens.h (test_futimens): Likewise.
28925         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
28926         timestamps to occur from same machine, as was done previously for
28927         test_utimens.
28928         * modules/utimens-tests (Files): Ship new file.
28929         * modules/futimens-tests (Files): Likewise.
28930         Reported in part by Jim Meyering.
28931
28932         sys_stat: sort replacement declarations
28933         * lib/sys_stat.in.h: Sort declarations.
28934         * lib/futimens.c (futimens): Fix typo.
28935
28936 2009-10-15  Jim Meyering  <meyering@redhat.com>
28937
28938         don't let environment settings perturb build
28939         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
28940         could cause a configure-time and/or build-time malfunction.
28941         Typically, a configure-time function-in-library test is performed
28942         via code like this:
28943
28944           LIB_VAR=
28945           AC_SUBST([LIB_VAR])
28946           prefix_saved_LIBS=$LIBS
28947             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
28948                        [test "$ac_cv_search_FUNC" = "none required" ||
28949                         LIB_VAR=$ac_cv_search_FUNC])
28950           LIBS=$prefix_saved_LIBS
28951
28952         However, in each of the files affected by this change, the LIB_VAR=
28953         initialization was omitted.  Thus, when set in the environment, its
28954         value would propagate into generated Makefiles when FUNC is not found
28955         in LIB_NAME.
28956         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
28957         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
28958         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
28959
28960 2009-10-14  Eric Blake  <ebb9@byu.net>
28961
28962         fchdir: avoid infinite recursion in mingw
28963         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
28964         recursing.
28965
28966         test-stat-time: port to mingw
28967         * tests/test-stat-time.c (force_unlink): Return a value.
28968         (test_ctime) [W32]: Fix compilation error.
28969         (nap): Don't call usleep with too large an argument.  Use
28970         force_unlink.
28971         * doc/pastposix-functions/usleep.texi (usleep): Document the
28972         portability issue.
28973
28974 2009-10-13  Jim Meyering  <meyering@redhat.com>
28975
28976         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
28977         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
28978         * modules/pipe-filter-ii: Likewise.
28979         * modules/sys_socket-tests: Likewise.
28980         * modules/tsearch-tests: Likewise.
28981         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
28982         (check): Depend on it.
28983
28984 2009-10-12  Eric Blake  <ebb9@byu.net>
28985
28986         utimens-tests: port to NFS file systems
28987         * tests/test-utimens.h (test_utimens): Refactor utimecmp
28988         comparisons to avoid spurious failures from timestamp drift
28989         between NFS machines.
28990
28991 2009-10-12  Eric Blake  <ebb9@byu.net>
28992
28993         stat-time-tests: minor cleanups
28994         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
28995         * tests/test-stat-time.c (nap): Separate assignment from call.
28996         Suggested by Paolo Bonzini and Bruno Haible.
28997
28998         sys_stat: guarantee struct timespec
28999         * lib/sys_stat.in.h (includes): Always include <time.h>
29000         * modules/sys_stat (Depends-on): Add time.
29001         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
29002         mode_t permission values.
29003         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
29004         get at subsecond timestamps.
29005
29006 2009-10-10  Eric Blake  <ebb9@byu.net>
29007
29008         futimens: new module
29009         * modules/futimens: New file.
29010         * lib/futimens.c (futimens): Likewise.
29011         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
29012         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
29013         we can work around Linux bugs.
29014         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
29015         * modules/sys_stat (Makefile.am): Substitute them.
29016         * lib/sys_stat.in.h (futimens): Declare it.
29017         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
29018         * doc/posix-functions/futimens.texi (futimens): Likewise.
29019         * modules/futimens-tests: New test.
29020         * tests/test-futimens.c: Likewise.
29021
29022         utimens: introduce fdutimens
29023         * lib/utimens.h (fdutimens): New prototype.
29024         * lib/utimens.c (gl_futimens): Move guts...
29025         (fdutimens): ...to new interface.
29026         * tests/test-utimens.c (do_fdutimens): Use it.
29027
29028         utimens: add UTIME_NOW and UTIME_OMIT support
29029         * lib/utimens.c (validate_timespec, update_timespec): New helper
29030         functions.
29031         (gl_futimens, lutimens): Use them.
29032         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
29033         stdbool, sys_stat.
29034         (Link): Mention resulting library dependency.
29035         * modules/utimecmp (Link): Likewise.
29036         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
29037         (Makefile.am): Pick up library dependency.
29038         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
29039         definition.
29040         * tests/test-sys_stat.c: Test the definitions.
29041         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
29042         * NEWS: Document library dependency.
29043
29044         utimecmp: support symlink timestamps
29045         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
29046         hashing when possible.  Use pathconf when available.
29047         (SYSCALL_RESOLUTION): Recognize tighter resolution.
29048         * modules/utimecmp (Depends-on): Add lstat.
29049
29050         utimens: add lutimens interface
29051         * lib/utimens.c (lutimens): New function.
29052         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
29053         * lib/utimens.h (lutimens): Declare new interface.
29054         * tests/test-utimens.c (main): Enhance test.
29055         * tests/test-lutimens.h (test_lutimens): New file.
29056         * modules/utimens-tests (Files): Distribute it.
29057         (Depends-on): Add symlink.
29058         (configure.ac): Check for usleep.
29059
29060         utimens: validate futimens usage
29061         * lib/utimens.c (gl_futimens): Require valid fd up front, using
29062         fewer syscalls on failure later on.  Avoid compiler warning on
29063         mingw.
29064         * modules/utimens (Depends-on): Add dup2.
29065
29066         utimens: add test
29067         * modules/utimens-tests: New test.
29068         * tests/test-utimens.h: New file.
29069         * tests/test-futimens.h: Likewise.
29070         * tests/test-utimens.c: Likewise.
29071
29072         doc: mention timestamp portability issues
29073         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
29074         instead.
29075         * doc/posix-functions/utime.texi (utime): Likewise.
29076         * doc/posix-functions/utimes.texi (utimes): Likewise.
29077         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
29078         instead.
29079         * doc/posix-functions/futimens.texi (futimens): Mention utimens
29080         module.
29081         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
29082         Mention weakness with symlink timestamps.
29083         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
29084         to utimensat/futimens instead.
29085         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
29086
29087         test-dup2: enhance test
29088         * tests/test-dup2.c (main): Also check AT_FDCWD.
29089
29090         test-stat-time: avoid more spurious failures
29091         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
29092         xfs; and avoid race if the two timestamps cross quantization edge.
29093
29094         relocatable: prefer 'file system' over 'filesystem'
29095         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
29096         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
29097         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
29098         * doc/relocatable.texi (Enabling Relocatability): Likewise.
29099         * lib/relocatable.c (compute_curr_prefix): Likewise.
29100
29101 2009-10-10  Jim Meyering  <meyering@redhat.com>
29102
29103         stat-time-tests: check for the usleep function
29104         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
29105
29106 2009-10-10  Bruno Haible  <bruno@clisp.org>
29107
29108         * modules/xnanosleep: Put the Link section after the Include section.
29109
29110 2009-10-09  Eric Blake  <ebb9@byu.net>
29111
29112         dup2: work around FreeBSD 6.1 bug
29113         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
29114         * doc/posix-functions/dup2.texi (dup2): Document it.
29115         Reported by Nelson H. F. Beebe and Jim Meyering.
29116
29117         test-stat-time: port to buggy NFS clients
29118         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
29119         (test_ctime): Also skip test if mtime and ctime are skewed.
29120
29121         maint: prefer 'file system' over 'filesystem'
29122         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
29123         * doc/posix-functions/lstat.texi (lstat): Likewise.
29124         * lib/file-has-acl.c (file_has_acl): Likewise.
29125         * lib/fwriteerror.c [TEST]: Likewise.
29126         * tests/test-areadlink.h (test_areadlink): Likewise.
29127         * tests/test-areadlinkat-with-size.c (main): Likewise.
29128         * tests/test-areadlinkat.c (main): Likewise.
29129         * tests/test-canonicalize-lgpl.c (main): Likewise.
29130         * tests/test-canonicalize.c (main): Likewise.
29131         * tests/test-fstatat.c (main): Likewise.
29132         * tests/test-linkat.c (main): Likewise.
29133         * tests/test-lstat.h (test_lstat_func): Likewise.
29134         * tests/test-mkdir.h (test_mkdir): Likewise.
29135         * tests/test-readlink.h (test_readlink): Likewise.
29136         * tests/test-remove.c (main): Likewise.
29137         * tests/test-rename.h (test_rename): Likewise.
29138         * tests/test-renameat.c (main): Likewise.
29139         * tests/test-rmdir.h (test_rmdir_func): Likewise.
29140         * tests/test-symlink.h (test_symlink): Likewise.
29141         * tests/test-symlinkat.c (main): Likewise.
29142         * tests/test-unlink.h (test_unlink_func): Likewise.
29143         * tests/test-unlinkat.c (main): Likewise.
29144
29145         maint: make realtime library usage explicit
29146         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
29147         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
29148         * modules/settime (Link): Likewise.
29149         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
29150
29151         test-stat-time: speed up execution
29152         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
29153         warning on mingw.
29154         (nap): New helper function.
29155         (prepare_test): Use it to reduce sleep time.
29156         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
29157         execution.
29158         * modules/stat-time-tests (configure.ac): Check for usleep.
29159
29160 2009-10-09  Jim Meyering  <meyering@redhat.com>
29161
29162         selinux-h: always use getfilecon wrappers
29163         * lib/getfilecon.c: New file.
29164         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
29165         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
29166         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
29167         (fgetfilecon): Provide a stub.
29168         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
29169         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
29170         file unconditionally.
29171         When <selinux/selinux.h> is found, arrange to use wrappers.
29172         * modules/selinux-h (Files): Add getfilecon.c.
29173         (Makefile.am): Substitute include-next-related bits
29174         into the now-always-generated selinux/selinux.h file.
29175         * doc/glibc-functions/lgetfilecon.texi: New file.
29176         * doc/glibc-functions/fgetfilecon.texi: New file.
29177         * doc/glibc-functions/getfilecon.texi: New file.
29178         * doc/glibc-functions/getfilecon-desc.texi: New file.
29179         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
29180         which to pull in the new files.
29181         * MODULES.html.sh (Misc): Add selinux-h.
29182
29183 2009-10-08  Jim Meyering  <meyering@redhat.com>
29184
29185         unistd: fix comment typo
29186         * lib/unistd.in.h (euidaccess): Fix a comment typo.
29187
29188 2009-10-08  Eric Blake  <ebb9@byu.net>
29189
29190         areadlink: use SIZE_MAX consistently
29191         * modules/areadlink (Depends-on): Add stdint.
29192         * modules/areadlink-with-size (Depends-on): Likewise.
29193         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
29194         gives NULL; drop sys/types, since unistd gives size_t; and add
29195         stdint for SIZE_MAX.
29196         (SIZE_MAX): Rely on headers.
29197         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
29198         and add stdint.
29199         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
29200         (SIZE_MAX): Likewise.
29201         (INITIAL_BUF_SIZE): Turn into enum.
29202         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
29203
29204 2009-10-08  Jim Meyering  <meyering@redhat.com>
29205
29206         areadlinkat: avoid compilation failure
29207         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
29208         Fix typo in comment.
29209
29210 2009-10-07  Eric Blake  <ebb9@byu.net>
29211
29212         areadlinkat-with-size: new module
29213         * modules/areadlinkat-with-size: New module.
29214         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
29215         * lib/areadlink.h (areadlinkat): Declare it.
29216         * MODULES.html.sh (File system functions): Mention it.
29217         * modules/areadlinkat-with-size-tests: New test.
29218         * tests/test-areadlinkat-with-size.c: New file.
29219
29220         xreadlinkat: new module
29221         * modules/xreadlinkat: New module.
29222         * lib/xreadlinkat.c (xreadlinkat): New file.
29223         * lib/xreadlink.h (xreadlinkat): Declare it.
29224         * MODULES.html.sh (File system functions): Mention it.
29225
29226         areadlinkat: new module
29227         * lib/at-func.c (FUNC_FAIL): New define.
29228         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
29229         * modules/areadlinkat: New module.
29230         * lib/linkat.c (areadlinkat): Move...
29231         * lib/areadlinkat.c (areadlinkat): ...to new file.
29232         * lib/areadlink.h (areadlinkat): Declare it.
29233         * modules/linkat (Depends-on): Add areadlinkat.
29234         * MODULES.html.sh (File system functions): Mention it.
29235         * modules/areadlinkat-tests: New test.
29236         * tests/test-areadlinkat.c: New file.
29237
29238         areadlink, areadlink-with-size: add tests
29239         * modules/areadlink-tests: New test.
29240         * modules/areadlink-with-size-tests: Likewise.
29241         * tests/test-areadlink.h: New file.
29242         * tests/test-areadlink.c: Likewise.
29243         * tests/test-areadlink-with-size.c: Likewise.
29244
29245         maint: minor cleanups
29246         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
29247         _UNUSED_PARAMETER_ instead.
29248         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
29249         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
29250         * modules/linkat-tests (Files): Distribute test-link.h.
29251
29252         openat, utimens: whitespace cleanup
29253         * lib/openat.c: Prefer space throughout, rather than mix of 8
29254         spaces vs. tabs.
29255         * lib/at-func.c: Likewise.
29256         * lib/utimens.c: Likewise.
29257
29258         openat: avoid using wrong fd
29259         * lib/openat.c (openat_permissive): Reject user's fd if saving the
29260         working directory chooses same fd.
29261         * lib/at-func.c (AT_FUNC_NAME): Likewise.
29262
29263         mkdir, mkdirat: fix cygwin 1.5.x bug
29264         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
29265         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
29266         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
29267         bug.
29268         (gl_PREREQ_MKDIR): Delete unused macro.
29269         * modules/mkdir (Files): Track file rename.
29270         (configure.ac): Update macro name.
29271         * modules/openat (Depends-on): Add mkdir.
29272         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
29273
29274         mkdir, mkdirat: add tests
29275         * modules/mkdir-tests: New test.
29276         * tests/test-mkdir.h: New file.
29277         * tests/test-mkdir.c: Likewise.
29278         * tests/test-mkdirat.c: Likewise.
29279         * modules/openat-tests (Files): Add new files.
29280         (Makefile.am): Run new test.
29281
29282 2009-10-06  Eric Blake  <ebb9@byu.net>
29283
29284         doc: tweak *at function documentation
29285         * doc/posix-functions/faccessat.texi (faccessat): Mention
29286         known issue with replacement.
29287         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
29288         * doc/posix-functions/linkat.texi (linkat): Likewise.
29289         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
29290         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
29291         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
29292         * doc/posix-functions/renameat.texi (renameat): Likewise.
29293         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
29294
29295         openat: fix GNU/Hurd bug in unlinkat
29296         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
29297         broken.
29298         * doc/posix-functions/unlink.texi (unlink): Document this.
29299         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
29300
29301         fdopendir: fix GNU/Hurd bug
29302         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
29303         allowing non-directory fds.
29304         * lib/fdopendir.c (rpl_fdopendir): Work around it.
29305         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
29306         * modules/dirent (Makefile.am): Substitute it.
29307         * lib/dirent.in.h (fdopendir): Declare replacement.
29308         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
29309         * tests/test-fdopendir.c (main): Test something other than
29310         /dev/null, since on Hurd that behaves like a directory.
29311
29312         test-symlink: port to GNU/Hurd
29313         * tests/test-symlink.h (test_symlink): Relax expected errno.
29314
29315         doc: tweak more cygwin information
29316         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
29317         now compatible with glibc.
29318         * doc/posix-functions/getopt.texi (getopt): Likewise.
29319
29320         getopt-gnu: add another test
29321         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
29322         guarantee behavior relied on by m4.
29323         * tests/test-getopt.c (main): Use it.
29324         * modules/getopt-posix-tests (Depends-on): Add setenv.
29325         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
29326
29327         getopt: fix compilation on darwin
29328         * lib/getopt.in.h (includes): Leave breadcrumbs during system
29329         include.
29330         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
29331         Reported by Ludovic Courtès.
29332
29333 2009-10-06  Bruno Haible  <bruno@clisp.org>
29334
29335         * modules/size_max (Description): Discourage its use.
29336         Reported by Simon Josefsson.
29337
29338 2009-10-06  Jim Meyering  <meyering@redhat.com>
29339
29340         linkat: avoid compilation failure
29341         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
29342
29343 2009-10-05  Eric Blake  <ebb9@byu.net>
29344
29345         linkat: support Linux 2.6.17
29346         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
29347         linkat on Linux, but allow cache variable override.
29348         * lib/linkat.c (rpl_linkat): Define override.
29349         * modules/linkat (Depends-on): Add symlinkat.
29350         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
29351         * modules/unistd (Makefile.am): Substitute it.
29352         * lib/unistd.in.h (linkat): Declare replacement.
29353         Reported by Pádraig Brady.
29354
29355         quotearg: port test to systems with C.UTF-8 locale
29356         * tests/test-quotearg.c (struct result_strings): Add another
29357         member, differentiating between C.ASCII and C.UTF-8 handling.
29358         (compare_strings): Add parameter.
29359         (main): Adjust all callers.
29360
29361         getopt: avoid clash with FreeBSD _getopt_internal
29362         * lib/getopt.in.h (_getopt_internal): Override the name.
29363         * lib/getopt_int.h (includes): Pick up any overrides.
29364         Reported by Reuben Thomas.
29365
29366         hash: allow C89 compilation
29367         * lib/hash.c (check_tuning): Move declaration before statement.
29368         Reported by Reuben Thomas.
29369
29370 2009-10-05  Karl Berry  <karl@gnu.org>
29371
29372         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
29373
29374 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
29375             Bruno Haible  <bruno@clisp.org>
29376
29377         * lib/uname.c (uname): Use a table-driven algorithm to compute
29378         Windows NT versions.
29379
29380 2009-10-04  Bruno Haible  <bruno@clisp.org>
29381
29382         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
29383         program_invocation_short_name.
29384         * modules/progname (configure.ac): Test for presence of
29385         program_invocation_short_name.
29386         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
29387
29388 2009-10-04  Bruno Haible  <bruno@clisp.org>
29389
29390         * lib/progname.c (set_program_name): Fix comment.
29391         Reported by Jim Meyering.
29392
29393 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
29394             Bruno Haible  <bruno@clisp.org>
29395
29396         * lib/uname.c: Include <string.h>.
29397         (uname): Do only one call to GetVersionEx in the common case.
29398
29399 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
29400             Bruno Haible  <bruno@clisp.org>
29401
29402         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
29403         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
29404         (uname): Add support for Windows CE and various non-x86 CPU types.
29405
29406 2009-10-03  Bruno Haible  <bruno@clisp.org>
29407
29408         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
29409         invocation to tests/configure.ac.
29410         Reported by Ian Beckwith <ianb@erislabs.net>.
29411
29412 2009-10-02  Eric Blake  <ebb9@byu.net>
29413
29414         fchdir: avoid compiler warning
29415         * lib/fchdir.c (canonicalize_file_name)
29416         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
29417
29418         test-open: support mingw errno values
29419         * tests/test-open.h (test_open): Relax test.
29420         * tests/test-fopen.h (test_fopen): Likewise.
29421         * tests/test-openat-safer.c (main): Likewise.
29422
29423         open: fix opening directory on mingw
29424         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
29425
29426         test-open: on GNU/Hurd, /dev/null is a directory
29427         * tests/test-fopen.h (main): Rename...
29428         (test_fopen): ...to this.  Use a guaranteed non-directory when
29429         confirming open behavior on trailing slash.
29430         * tests/test-openat-safer.c (main): Likewise.
29431         * tests/test-open.h (main): Likewise....
29432         (test_open): ...to this.
29433         * tests/test-fopen.c (main): Adjust caller.
29434         * tests/test-fopen-safer.c (main): Likewise.
29435         * tests/test-open.c (main): Likewise.
29436         * tests/test-fcntl-safer.c (main): Likewise.
29437         Reported by Samuel Thibault.
29438
29439         rename, fchdir: don't ignore chdir failure
29440         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
29441         * lib/rename.c (rpl_rename) [W32]: Likewise.
29442         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
29443         an empty destination directory if source cannot be renamed,
29444         although there is still possibility for failure.
29445         * doc/posix-functions/rename.texi (rename): Document the race.
29446         Reported by Jim Meyering.
29447
29448         maint: cleanup whitespace in recent commits
29449         * lib/rename.c (rpl_rename): Remove tabs.
29450         * tests/test-link.h (test_link): Likewise.
29451         * lib/fchdir.c (get_name): Likewise.
29452         Reported by Jim Meyering.
29453
29454 2009-10-02  Ben Pfaff  <blp@gnu.org>
29455
29456         relocatable-prog-wrapper: Add missing dependency on
29457         double-slash-root.
29458         * modules/relocatable-prog-wrapper: Add dependency.
29459         Reported by Ian Beckwith <ianb@erislabs.net>.
29460
29461 2009-10-02  Eric Blake  <ebb9@byu.net>
29462
29463         renameat: fix Solaris bugs
29464         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
29465         needed fixing.
29466         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
29467         * modules/stdio (Makefile.am): Substitute it.
29468         * lib/stdio.in.h (renameat): Declare replacement.
29469         * lib/renameat.c (rpl_renameat): Implement fix.
29470
29471         renameat: new module
29472         * modules/renameat: New file.
29473         * lib/renameat.c (renameat): Likewise.
29474         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
29475         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
29476         * modules/stdio (Makefile.am): Substitute them.
29477         * lib/stdio.in.h (renameat): Declare it.
29478         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
29479         * doc/posix-functions/renameat.texi (renameat): Likewise.
29480         * modules/renameat-tests: New test.
29481         * tests/test-renameat.c: Likewise.
29482
29483         rename: fix mingw bugs
29484         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
29485         directory overwrite bugs.
29486
29487         rename: fix another cygwin 1.5 bug
29488         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
29489         checks.
29490         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
29491         unnecessary cygwin workarounds.  Also work around bug with moving
29492         full directory onto an empty one.
29493         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
29494
29495         rename-dest-slash: merge into rename module
29496         * modules/rename-dest-slash (Status): Mark obsolete.
29497         (Depends-on): Add rename.
29498         (Files): Let rename do it all.
29499         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
29500         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
29501         * m4/rename-dest-slash.m4: ...so this file can be deleted.
29502         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
29503         * lib/rename.c (rpl_rename): Update comments.
29504
29505         rename: fix cygwin 1.5.x bugs
29506         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
29507         * lib/rename.c (rpl_rename): Work around them.
29508         * modules/rename (Depends-on): Add same-inode.
29509
29510         rename: fix Solaris 10 bug
29511         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
29512         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
29513         was the only bug.
29514
29515         rename: fix Solaris 9 bug
29516         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
29517         on non-directory.  Avoid calling exit.
29518         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
29519         strdup.
29520         * modules/rename-tests (Depends-on): Drop lstat.
29521         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
29522         (gl_PREREQ_RENAME): Delete unused macro.
29523
29524         rename-dest-slash: fix NetBSD bug
29525         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
29526         links.
29527         * modules/rename-dest-slash (Depends-on): Add same-inode.
29528
29529         rename-tests: new test, exposes several platform bugs
29530         * modules/rename-tests: New file.
29531         * tests/test-rename.h: Likewise.
29532         * tests/test-rename.c: Likewise.
29533         * doc/posix-functions/rename.texi (rename): Improve documentation,
29534         including bugs that will eventually be fixed in gnulib.
29535
29536 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
29537
29538         * lib/uname.c: Include <stdlib.h>
29539         (uname): Assume version info is available.
29540
29541 2009-10-02  Jim Meyering  <meyering@redhat.com>
29542
29543         gnu-web-doc-update: correct --help output
29544         * build-aux/gnu-web-doc-update: Make --help output relevant.
29545
29546         gnu-web-doc-update: add standard options
29547         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
29548
29549         gnu-web-doc-update: New module.
29550         Use this script to automatically update the on-line web documentation
29551         for your GNU project at http://www.gnu.org/software/$pkg/manual/
29552         * modules/gnu-web-doc-update: New file, from coreutils.
29553         * build-aux/gnu-web-doc-update: New script.
29554
29555 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
29556
29557         link: LoadLibrary is not needed.
29558         * lib/link.c: Use GetModuleHandle.
29559
29560 2009-10-01  Eric Blake  <ebb9@byu.net>
29561
29562         getopt: bump serial number
29563         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
29564         change.
29565
29566         tests: tighten link, rmdir, and remove tests
29567         * tests/test-link.h (includes): No need to use <config.h> here.
29568         Clean up if directory hard link was created, otherwise test for
29569         trailing '.'.
29570         * tests/test-linkat.c (main): Simplify.
29571         * tests/test-remove.c (main): Enhance test for trailing '.'.
29572         * tests/test-rmdir.h (test_rmdir_func): Likewise.
29573
29574 2009-10-01  Jim Meyering  <meyering@redhat.com>
29575
29576         maint.mk: requiring "make major" was annoying, for a "minor" release.
29577         What is intended is "stable", to contrast with alpha and beta,
29578         so require "make stable", not "make major".
29579         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
29580         (get_tool_versions): Likewise.
29581         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
29582
29583 2009-09-30  Ben Pfaff  <blp@gnu.org>
29584
29585         Fix broken build of replacement for Windows tmpfile().
29586         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
29587         flags argument added along with the 'mkostemp' module.
29588
29589 2009-09-28  Bruno Haible  <bruno@clisp.org>
29590
29591         Avoid identifier clash with POSIX function 'remove' defined as a macro.
29592         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
29593         to 'remove_elt'.
29594         (gl_list_remove): Update.
29595         * lib/gl_list.c (gl_list_remove): Update.
29596         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
29597         to 'remove_elt'.
29598         (gl_oset_remove): Update.
29599         * lib/gl_list.c (gl_oset_remove): Update.
29600         Reported by Eric Blake.
29601
29602 2009-09-28  Eric Blake  <ebb9@byu.net>
29603
29604         doc: mention yet more cygwin 1.7 status
29605         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
29606         cygwin.
29607         * doc/glibc-functions/execvpe.texi (execvpe): New file.
29608         * doc/gnulib.texi (Glibc unistd.h): Mention it.
29609
29610         argp: fix test failure
29611         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
29612         that are not upper-case.  Pass correct range to tolower.
29613
29614 2009-09-27  Jim Meyering  <meyering@redhat.com>
29615
29616         test-yesno: work around sparc-dash here-document infelicity
29617         Without this change, the literal \177 byte in a here document
29618         would make dash 0.5.5.1-3 access uninitialized memory.
29619         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
29620         Instead, use a marker, "@", and filter through tr to create the desired
29621         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
29622
29623 2009-09-27  Bruno Haible  <bruno@clisp.org>
29624
29625         Disable untested support for new flavours of ACLs on AIX.
29626         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
29627         progress.
29628         * lib/set-mode-acl.c (qset_acl): Likewise.
29629
29630 2008-12-07  Bruno Haible  <bruno@clisp.org>
29631
29632         Add support for new flavours of ACLs on AIX. (Untested.)
29633         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
29634         (file_has_acl): Add support for newer AIX.
29635         * lib/set-mode-acl.c (qset_acl): Likewise.
29636         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
29637         Rainer Tammer <tammer@tammer.net>.
29638
29639 2009-09-26  Eric Blake  <ebb9@byu.net>
29640
29641         argp: fix compilation of getopt
29642         * lib/getopt.in.h (includes): Use different guard than glibc.
29643         Reported by Sergey Poznyakoff.
29644
29645         doc: mention more cygwin 1.7 status
29646         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
29647         bug.
29648         * doc/posix-functions/execl.texi (execl): Likewise.
29649         * doc/posix-functions/execle.texi (execle): Likewise.
29650         * doc/posix-functions/execlp.texi (execlp): Likewise.
29651         * doc/posix-functions/execv.texi (execv): Likewise.
29652         * doc/posix-functions/execve.texi (execve): Likewise.
29653         * doc/posix-functions/execvp.texi (execvp): Likewise.
29654         * doc/glibc-functions/canonicalize_file_name.texi
29655         (canonicalize_file_name): Cygwin 1.7 now provides this.
29656         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
29657         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
29658         on AT_SYMLINK_NOFOLLOW.
29659
29660 2009-09-24  Eric Blake  <ebb9@byu.net>
29661
29662         test-linkat: make test more robust
29663         * tests/test-linkat.c (main): Avoid collision with EEXIST.
29664
29665         getopt: fix inclusion guards for cygwin
29666         * modules/getopt-posix (Depends-on): Add include-next.
29667         (Makefile.am): Substitute more items in replacement header.
29668         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
29669         <getopt.h>.
29670         * lib/getopt.in.h (includes): Use split inclusion guard, and
29671         prefer <getopt.h> over include <unistd.h> when one is present.
29672         (option): Also override name of 'struct option'.
29673
29674         same-inode: revert prior change; it is not yet ready
29675         * NEWS: Undo mention of this change.
29676         * lib/same-inode.h (same-inode.h): Undo tri-state change.
29677         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
29678         * lib/cycle-check.c (cycle_check): Likewise.
29679         * lib/same.c (same_name): Likewise.
29680         * lib/at-func2.c (at_func2): Likewise.
29681
29682 2009-09-23  Eric Blake  <ebb9@byu.net>
29683
29684         linkat: new module
29685         * modules/linkat: New file.
29686         * lib/at-func2.c (at_func2): Likewise.
29687         * lib/linkat.c (linkat): Likewise.
29688         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
29689         * lib/openat-priv.h (at_func2): Add declaration.
29690         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
29691         * modules/unistd (Makefile.am): Substitute them.
29692         * lib/unistd.in.h (linkat): Declare it.
29693         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
29694         * doc/posix-functions/linkat.texi (linkat): Likewise.
29695         * doc/posix-functions/link.texi (link): Tweak wording.
29696         * tests/test-link.c (main): Move guts...
29697         * tests/test-link.h (test_link): ...into new file.
29698         * modules/linkat-tests: New test.
29699         * tests/test-linkat.c: Likewise.
29700         * modules/link-tests (Files): Ship new file.
29701         (Depends-on): Add stdbool.
29702
29703         dirname: add library-safe mdir_name
29704         * lib/dirname.h (mdir_name): New prototype.
29705         * lib/dirname.c (dir_name): Move guts...
29706         (mdir_name): ...to new function that avoids xalloc_die.
29707
29708         fchdir: another mingw fix
29709         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
29710         * lib/fchdir.c (get_name): New helper method; skips canonicalize
29711         on mingw (where it has not yet been ported), and make it optional
29712         elsewhere.
29713         (_gl_register_fd): Use it.
29714
29715         same-inode: make SAME_INODE tri-state, to port to mingw
29716         * NEWS: Mention this change.
29717         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
29718         st_ino always being 0.
29719         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
29720         * lib/cycle-check.c (cycle_check): Likewise.
29721         * lib/same.c (same_name): Likewise.
29722
29723         lstat: avoid mingw compilation error
29724         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
29725         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
29726         lstat ourselves.
29727         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
29728         was adequate.
29729         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
29730         the checks for lstat.
29731         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
29732
29733         link: fix test failure on Solaris 9
29734         * lib/link.c (rpl_link): Don't assume link will catch bogus
29735         trailing slash on source.
29736
29737         test-symlinkat: enhance test
29738         * tests/test-readlink.c (main): Move guts...
29739         * tests/test-readlink.h (test_readlink): ...into new file.
29740         * tests/test-symlink.c (main): Move guts...
29741         * tests/test-symlink.h (test_symlink): ...into new file.
29742         * tests/test-symlinkat.c (main): Use new files for further
29743         coverage.
29744         (do_symlink, do_readlink): New helper functions.
29745         * modules/symlink-tests (Files): Ship new file.
29746         (Depends-on): Add stdbool.
29747         * modules/readlink-tests (Files): Ship new file.
29748         (Depends-on): Add stdbool.
29749         * modules/symlinkat-tests (Files): Use new files.
29750
29751 2009-09-23  Eric Blake  <ebb9@byu.net>
29752
29753         readlink: document portability issue with symlink length
29754         * doc/posix-functions/lstat.texi (lstat): Mention that some file
29755         systems have bogus st_size on symlinks, and mention the
29756         areadlink-with-size module.
29757         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
29758         * doc/posix-functions/readlink.texi (readlink): Mention the
29759         areadlink module, and ERANGE failure.
29760         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
29761         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
29762
29763         readlink: fix Solaris 9 bug with trailing slash
29764         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
29765         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
29766         * doc/posix-functions/readlink.texi (readlink): Document this.
29767         * modules/readlink-tests: New test.
29768         * tests/test-readlink.c: Likewise.
29769
29770         readlink: fix cygwin 1.5.x bug with return type
29771         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
29772         * lib/unistd.in.h (readlink): Use ssize_t.
29773         * lib/readlink.c (readlink): Likewise.
29774         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
29775         * modules/unistd (Makefile.am): Substitute it.
29776         * lib/unistd.in.h (readlink): Declare replacement.
29777         * doc/posix-functions/readlink.texi (readlink): Document this.
29778
29779         symlink: use throughout gnulib
29780         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
29781         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
29782         symlink is not used.
29783         * modules/symlinkat (Depends-on): Add symlink.
29784         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
29785         * modules/canonicalize-tests (Depends-on): Likewise.
29786         * modules/lstat-tests (Depends-on): Likewise.
29787         * modules/openat-tests (Depends-on): Likewise.
29788         * modules/remove-tests (Depends-on): Likewise.
29789         * modules/rmdir-tests (Depends-on): Likewise.
29790         * modules/unlink-tests (Depends-on): Likewise.
29791         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
29792         * tests/test-canonicalize.c (symlink): Likewise.
29793         * tests/test-fstatat.c (symlink): Likewise.
29794         * tests/test-lstat.c (symlink): Likewise.
29795         * tests/test-remove.c (symlink): Likewise.
29796         * tests/test-rmdir.c (symlink): Likewise.
29797         * tests/test-unlink.c (symlink): Likewise.
29798         * tests/test-unlinkat.c (symlink): Likewise.
29799
29800         symlink: new module, for Solaris 9 bug
29801         * modules/symlink: New file.
29802         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
29803         * lib/symlink.c: Likewise.
29804         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
29805         * modules/unistd (Makefile.am): Substitute them.
29806         * lib/unistd.in.h (symlink): Declare replacement.
29807         * MODULES.html.sh (File system functions): Mention it.
29808         * doc/posix-functions/symlink.texi (symlink): Likewise.
29809         * modules/symlink-tests: New test.
29810         * tests/test-symlink.c: Likewise.
29811
29812 2009-09-23  Bruno Haible  <bruno@clisp.org>
29813
29814         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
29815         when needed.
29816         Test case: gnulib-tool --import --with-tests atexit inttypes.
29817         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
29818
29819 2009-09-23  Bruno Haible  <bruno@clisp.org>
29820
29821         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
29822         subcommand, not in a subshell.
29823
29824 2009-09-22  Eric Blake  <ebb9@byu.net>
29825
29826         unistd: sort replacement declarations
29827         * lib/unistd.in.h: Sort declarations.
29828
29829         open, openat: minor optimization
29830         * lib/open.c (open): If open succeeded, len is non-zero.
29831         * lib/openat.c (rpl_openat): Likewise.
29832
29833         link-follow: ensure correct result
29834         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
29835         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
29836         distinguish between possible failures.
29837
29838 2009-09-21  Eric Blake  <ebb9@byu.net>
29839
29840         fts: avoid compiler warning
29841         * lib/fts.c (dirent_inode_sort_may_be_useful)
29842         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
29843
29844 2009-09-19  Bruno Haible  <bruno@clisp.org>
29845
29846         * lib/progreloc.c (canonicalize_file_name): New declaration.
29847
29848 2009-09-19  Eric Blake  <ebb9@byu.net>
29849
29850         link: fix quoting
29851         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
29852
29853         openat: fix openat bugs on Solaris 9
29854         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
29855         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
29856         * modules/openat (Depends-on): Add open.
29857         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
29858         * modules/fcntl-h (Makefile.am): Substitute it.
29859         * lib/fcntl.in.h (openat): Declare replacement.
29860         * doc/posix-functions/openat.texi (openat): Document this.
29861
29862         openat: move fstatat and unlinkat into correct files
29863         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
29864         compiled.
29865         * lib/openat.c (fstatat, unlinkat): Move...
29866         * lib/fstatat.c (fstatat): ...into correct files.
29867         * lib/unlinkat.c (unlinkat): Likewise.
29868
29869         openat: fix unlinkat bugs on Solaris 9
29870         * lib/unlinkat.c (unlinkat): New file.
29871         * modules/openat (Depends-on): Add unlink.
29872         (Files): Distribute it.
29873         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
29874         trailing slash behavior is broken.
29875         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
29876         * modules/unistd (Makefile.am): Substitute it.
29877         * lib/unistd.in.h (unlinkat): Declare replacement.
29878         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
29879
29880         openat: fix fstatat bugs on Solaris 9
29881         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
29882         stat.
29883         * doc/posix-functions/fstatat.texi (fstatat): Document this.
29884
29885         test-unlinkat: enhance test, to expose Solaris 9 bug
29886         * tests/test-unlink.c (main): Factor guts...
29887         * tests/test-unlink.h (test_rmdir_func): ...into new file.
29888         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
29889         * tests/test-rmdir.c (main): Adjust caller.
29890         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
29891         (unlinker): New helper function.
29892         (rmdirat): Enhance check.
29893         * modules/rmdir-tests (Depends-on): Add stdbool.
29894         * modules/unlink-tests (Depends-on): Likewise.
29895         (Files): Add test-unlink.h.
29896         * modules/openat-tests (Files): Likewise.
29897         (Depends-on): Add unlinkdir.
29898
29899         test-fstatat: new test, to expose Solaris 9 bugs
29900         * tests/test-stat.c (main): Factor guts...
29901         * tests/test-stat.h (test_stat_func): ...into new file.
29902         * tests/test-lstat.c (main): Factor guts...
29903         * tests/test-lstat.h (test_lstat_func): ...into new file.
29904         * tests/test-fstatat.c: New file.
29905         * modules/stat-tests (Files): Add test-stat.h.
29906         * modules/lstat-tests (Files): Add test-lstat.h.
29907         (Depends-on): Add stdbool.
29908         * modules/openat-tests (Depends-on): Add pathmax.
29909         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
29910         (Makefile.am): Run new test.
29911
29912         remove: new module, for mingw and Solaris 9 bugs
29913         * modules/remove: New file.
29914         * lib/remove.c: Likewise.
29915         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
29916         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
29917         * modules/stdio (Makefile.am): Use them.
29918         * lib/stdio.in.h (remove): Declare replacement.
29919         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
29920         * doc/posix-functions/remove.texi (remove): Likewise.
29921         * modules/remove-tests: New test.
29922         * tests/test-remove.c: Likewise.
29923
29924         unlink: new module, for Solaris 9 bug
29925         * modules/unlink: New file.
29926         * lib/unlink.c: Likewise.
29927         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
29928         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
29929         * modules/unistd (Makefile.am): Use them.
29930         * lib/unistd.in.h (stat): Declare replacement.
29931         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
29932         * doc/posix-functions/unlink.texi (unlink): Likewise.
29933         * modules/unlink-tests: New test.
29934         * tests/test-unlink.c: Likewise.
29935
29936         lstat: fix Solaris 9 bug
29937         * lib/lstat.c (lstat): Also check for trailing slash on
29938         non-symlink, non-directories.  Use stat module to simplify logic.
29939         * doc/posix-functions/lstat.texi (lstat): Document it.
29940         * modules/lstat-tests (Depends-on): Add errno, same-inode.
29941         (configure.ac): Check for symlink.
29942         * tests/test-lstat.c (main): Add more tests.
29943
29944         stat: add as dependency to other modules
29945         * modules/chown (Depends-on): Add stat.
29946         * modules/euidaccess (Depends-on): Likewise.
29947         * modules/fchdir (Depends-on): Likewise.
29948         * modules/isdir (Depends-on): Likewise.
29949         * modules/link (Depends-on): Likewise.
29950         * modules/lstat (Depends-on): Likewise.
29951         * modules/mkdir-p (Depends-on): Likewise.
29952         * modules/modechange (Depends-on): Likewise.
29953         * modules/open (Depends-on): Likewise.
29954         * modules/readlink (Depends-on): Likewise.
29955         * modules/same (Depends-on): Likewise.
29956
29957         stat: fix Solaris 9 bug
29958         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
29959         slash.
29960         * lib/stat.c (rpl_stat): Work around it.
29961         * doc/posix-functions/stat.texi (stat): Update documentation.
29962
29963         stat: new module, for mingw bug
29964         * modules/stat: New file.
29965         * lib/stat.c: Likewise.
29966         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
29967         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
29968         * modules/sys_stat (Makefile.am): Use them.
29969         * lib/sys_stat.in.h (stat): Declare replacement.
29970         * lib/openat.c (fstatat): Deal with lstat and stat being function
29971         macros.
29972         * modules/openat (Depends-on): Add inline.
29973         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
29974         * doc/posix-functions/stat.texi (stat): Likewise.
29975         * modules/stat-tests: New test.
29976         * tests/test-stat.c: Likewise.
29977
29978 2009-09-19  Jim Meyering  <meyering@redhat.com>
29979
29980         syntax-check: detect unnecessary inclusion of canonicalize.h
29981         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
29982
29983 2009-09-19  Eric Blake  <ebb9@byu.net>
29984
29985         canonicalize-lgpl: adjust clients to use correct header
29986         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
29987         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
29988         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
29989         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
29990         * lib/progreloc.c (includes): Likewise.
29991
29992 2009-09-19  Jim Meyering  <meyering@redhat.com>
29993
29994         test-posixtm.c: correct a comment
29995         * tests/test-posixtm.c: Correct first-line comment.
29996         Spotted by Eric Blake.
29997
29998 2009-09-16  Jim Meyering  <meyering@redhat.com>
29999
30000         posixtm-tests: make T const-correct; add a test case
30001         * tests/test-posixtm.c (T): Declare const.
30002         Add a test for -(2^31+1).
30003         Remove useless can-succeed-only-in-2002 test.
30004
30005         posixtm-tests: adjust the sole failing test
30006         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
30007         expected output matches what mktime now produces.  Cross-checked via
30008         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
30009
30010         posixtm: move #ifdef'd tests into a new module
30011         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
30012         * tests/test-posixtm.c: ... this new file.
30013         * modules/posixtm-tests: New module.
30014
30015 2009-09-19  Eric Blake  <ebb9@byu.net>
30016
30017         openat: simplify use of at-func.c
30018         * lib/at-func.c (includes): Include prerequisites here, to
30019         simplify requirements on client files.
30020         * lib/openat-priv.h: Add double-inclusion guard.
30021         * lib/faccessat.c (includes): Simplify.
30022         * lib/fchmodat.c (includes): Likewise.
30023         * lib/fchownat.c (includes): Likewise.
30024         * lib/mkdirat.c (includes): Likewise.
30025         * lib/mkfifoat.c (includes): Likewise.
30026         * lib/symlinkat.c (includes): Likewise.
30027
30028         openat: allow return of fd 0
30029         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
30030         * modules/save-cwd (Depends-on): Replace fcntl-safer with
30031         unistd-safer.
30032         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
30033         <fcntl.h>; this module does not leak fds.
30034         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
30035         must be allowed to return 0, leaving openat_safer to add the
30036         safety.
30037         (openat_permissive): Avoid writing to just-opened fd 2 if
30038         restoring the current directory fails.
30039         * lib/openat-die.c (openat_restore_fail): Add comment.
30040         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
30041         (save_cwd): Guarantee safe fd, but without use of open_safer.
30042         * tests/test-openat.c: New test.
30043         * modules/openat-tests (Files, Makefile.am): Distribute and build
30044         new file.
30045
30046         relocatable-prog-wrapper: fix build
30047         * modules/relocatable-prog-wrapper (Files): Update name of
30048         canonicalize m4 file, broken on 2009-09-17.
30049         Reported by emad hajjar <aleppos@hotmail.com>.
30050
30051 2009-09-19  Bruno Haible  <bruno@clisp.org>
30052
30053         * lib/safe-alloc.h: Use the standard header with GPL copyright.
30054         * lib/safe-alloc.c: Likewise.
30055         Reported by Ian Beckwith <ianb@erislabs.net>.
30056
30057 2009-09-18  Bruno Haible  <bruno@clisp.org>
30058
30059         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
30060         Reported by <erobles@sensacd.com.mx>.
30061
30062 2009-09-17  Eric Blake  <ebb9@byu.net>
30063
30064         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
30065         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
30066         slashes when checking if last component is missing.
30067         * tests/test-canonicalize.c (main): Test this.
30068
30069         canonicalize, canonicalize-lgpl: honor // if distinct from /
30070         * modules/canonicalize (Files): Add double-slash-root.m4.
30071         * modules/canonicalize-lgpl (Files): Likewise.
30072         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
30073         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
30074         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
30075         fallback definition.
30076         (canonicalize_filename_mode): Use it to protect //.
30077         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
30078         (__realpath): Likewise.
30079         * tests/test-canonicalize.c (main): Test this.
30080         * tests/test-canonicalize-lgpl.c (main): Likewise.
30081         * modules/canonicalize-tests (Depends-on): Add same-inode.
30082         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
30083
30084         canonicalize-lgpl: fix glibc bug with trailing slash
30085         * m4/canonicalize-lgpl.m4: Move contents...
30086         * m4/canonicalize.m4: ...here.
30087         (gl_CANONICALIZE_LGPL): Factor realpath check...
30088         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
30089         glibc 2.3.5 bug, fixed 2005-04-27.
30090         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
30091         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
30092         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
30093         * modules/canonicalize-lgpl (Files): Manage file rename.
30094         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
30095         * modules/stdlib (Makefile.am): Substitute witness.
30096         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
30097         is needed.
30098         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
30099         replacement is required.
30100         * lib/canonicalize.c (canonicalize_file_name): Likewise.
30101         * doc/glibc-functions/canonicalize_file_name.texi
30102         (canonicalize_file_name): Document this.
30103         * doc/posix-functions/realpath.texi (realpath): Likewise.
30104
30105         canonicalize-lgpl: reject non-directory with trailing slash
30106         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
30107         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
30108         catches failures in glibc 2.3.5.
30109         * tests/test-canonicalize.c (main): Likewise.
30110
30111         canonicalize-lgpl: use native realpath if it works
30112         * lib/canonicalize-lgpl.c (realpath): Guard with
30113         FUNC_REALPATH_WORKS.
30114         * lib/stdlib.in.h (realpath): Make declaration optional based on
30115         HAVE_REALPATH.
30116         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
30117         native realpath works.
30118         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
30119         * modules/stdlib (Makefile.am): Substitute witness.
30120
30121         canonicalize, canonicalize-lgpl: use <stdlib.h>
30122         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
30123         (Include): Mention <stdlib.h>.
30124         (configure.ac): Mention functions we provide.
30125         * modules/canonicalize (configure.ac): Likewise.
30126         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
30127         realpath if canonicalize_file_name is missing.
30128         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
30129         * modules/stdlib (Makefile.am): Substitute witnesses.
30130         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
30131         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
30132         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
30133         * NEWS: Document this.
30134         * doc/glibc-functions/canonicalize_file_name.texi
30135         (canonicalize_file_name): Likewise.
30136         * doc/posix-functions/realpath.texi (realpath): Likewise.
30137         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
30138
30139         test-canonicalize: consolidate into single C program
30140         * tests/test-canonicalize.sh: Delete; move setup into...
30141         * tests/test-canonicalize.c (main): ...the program, making it
30142         easier to run in debugger.  Add some tests.
30143         * modules/canonicalize-tests (Files): Remove unused file.
30144         (Depends-on): Add progname.
30145         (configure.ac, Makefile.am): Simplify.
30146
30147         test-canonicalize-lgpl: consolidate into single C program
30148         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
30149         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
30150         easier to run in debugger.  Add some tests.
30151         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
30152         (configure.ac, Makefile.am): Simplify.
30153
30154         canonicalize: avoid resolvepath
30155         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
30156         unnecessary checks.
30157         * lib/canonicalize.c (includes): Simplify.
30158         (canonicalize_file_name): Drop resolvepath implementation.
30159         * modules/canonicalize (Depends-on): Drop filenamecat.
30160
30161         canonicalize: don't lose errno
30162         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
30163         over calls to free.
30164
30165         canonicalize: simplify errno handling
30166         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
30167         assignment.
30168
30169         canonicalize, canonicalize-lgpl: update module dependencies
30170         * modules/canonicalize (Depends-on): Add extensions, lstat,
30171         pathmax, stdlib.
30172         (Files): Drop pathmax.h.
30173         (configure.ac): Adjust macro name.
30174         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
30175         lstat, stdlib, sys_stat.
30176         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
30177         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
30178         extensions.
30179         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
30180         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
30181         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
30182         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
30183         declaration, if available.
30184         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
30185         we can rely on the readlink module.
30186         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
30187         (includes): Use <unistd.h> unconditionally.
30188
30189 2009-09-17  Eric Blake  <ebb9@byu.net>
30190
30191         maint: make Include sections of modules consistent
30192         * modules/alloca: Use only header name; no need to list #include.
30193         * modules/alloca-opt: Likewise.
30194         * modules/arpa_inet: Likewise.
30195         * modules/canon-host: Likewise.
30196         * modules/configmake: Likewise.
30197         * modules/dirent: Likewise.
30198         * modules/eealloc: Likewise.
30199         * modules/environ: Likewise.
30200         * modules/fchdir: Likewise.
30201         * modules/fcntl: Likewise.
30202         * modules/fcntl-h: Likewise.
30203         * modules/gethrxtime: Likewise.
30204         * modules/gettime: Likewise.
30205         * modules/ignore-value: Likewise.
30206         * modules/inet_ntop: Likewise.
30207         * modules/inet_pton: Likewise.
30208         * modules/inttypes: Likewise.
30209         * modules/isnand-nolibm: Likewise.
30210         * modules/isnanf-nolibm: Likewise.
30211         * modules/mbchar: Likewise.
30212         * modules/mbfile: Likewise.
30213         * modules/mbiter: Likewise.
30214         * modules/mbuiter: Likewise.
30215         * modules/netdb: Likewise.
30216         * modules/netinet_in: Likewise.
30217         * modules/nproc: Likewise.
30218         * modules/pagealign_alloc: Likewise.
30219         * modules/poll: Likewise.
30220         * modules/printf-frexp: Likewise.
30221         * modules/pthread: Likewise.
30222         * modules/putenv: Likewise.
30223         * modules/random_r: Likewise.
30224         * modules/relocatable-prog: Likewise.
30225         * modules/search: Likewise.
30226         * modules/select: Likewise.
30227         * modules/selinux-h: Likewise.
30228         * modules/settime: Likewise.
30229         * modules/signal: Likewise.
30230         * modules/size_max: Likewise.
30231         * modules/socklen: Likewise.
30232         * modules/ssize_t: Likewise.
30233         * modules/stdarg: Likewise.
30234         * modules/stdbool: Likewise.
30235         * modules/stddef: Likewise.
30236         * modules/stdint: Likewise.
30237         * modules/stdio: Likewise.
30238         * modules/stdlib: Likewise.
30239         * modules/string: Likewise.
30240         * modules/strings: Likewise.
30241         * modules/sys_file: Likewise.
30242         * modules/sys_ioctl: Likewise.
30243         * modules/sys_select: Likewise.
30244         * modules/sys_socket: Likewise.
30245         * modules/sys_stat: Likewise.
30246         * modules/sys_time: Likewise.
30247         * modules/sys_times: Likewise.
30248         * modules/sys_utsname: Likewise.
30249         * modules/sys_wait: Likewise.
30250         * modules/sysexits: Likewise.
30251         * modules/time: Likewise.
30252         * modules/times: Likewise.
30253         * modules/tmpfile: Likewise.
30254         * modules/trim: Likewise.
30255         * modules/unistd: Likewise.
30256         * modules/wchar: Likewise.
30257         * modules/wctype: Likewise.
30258
30259 2009-09-17  Bruno Haible  <bruno@clisp.org>
30260
30261         Make getdate.y compile on QNX and NetBSD 5 / i386.
30262         * m4/getdate.m4 (gl_GETDATE): Conditionally define
30263         TIME_T_FITS_IN_LONG_INT.
30264         * lib/getdate.y (long_time_t): New type.
30265         (relative_time): Change type of 'seconds' field to long_time_t.
30266         (get_date): Update types of local variables. Check against overflow
30267         during conversion from long_time_t to time_t.
30268         Reported by Matt Kraai <kraai@ftbfs.org>
30269         and Hasso Tepper <hasso@netbsd.org>.
30270
30271 2009-09-17  Bruno Haible  <bruno@clisp.org>
30272
30273         * modules/COPYING: Update copyright years.
30274         * modules/README: Likeiwse.
30275         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
30276         Reported by Ian Beckwith <ianb@erislabs.net>.
30277
30278 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
30279
30280         * users.txt: Update references for gnuit package.
30281
30282 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
30283
30284         * m4/getdelim.m4: Fix typo in copyright line.
30285
30286 2009-09-17  Bruno Haible  <bruno@clisp.org>
30287
30288         * lib/atoll.c: Use the standard header with GPL copyright.
30289         * lib/argz.in.h: Likewise.
30290         * lib/glob.c: Likewise.
30291         * lib/glob-libc.h: Likewise.
30292         * lib/random_r.c: Likewise.
30293         * lib/siglist.h: Likewise.
30294         * lib/strsignal.c: Likewise.
30295         Reported by Ian Beckwith <ianb@erislabs.net>.
30296
30297 2009-09-17  Eric Blake  <ebb9@byu.net>
30298
30299         rmdir: ensure correct dependency order
30300         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
30301
30302 2009-09-17  Bruno Haible  <bruno@clisp.org>
30303
30304         Disable assertion that fails on NetBSD 5 / i386.
30305         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
30306         Reported by Sam Steingold <sds@gnu.org>
30307         and Hasso Tepper <hasso@netbsd.org>.
30308
30309 2009-09-16  Eric Blake  <ebb9@byu.net>
30310
30311         unlinkdir: port to mingw
30312         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
30313         on which no one can unlink a directory.
30314
30315         stdlib: sort witness names
30316         * modules/stdlib (Makefile.am): Sort replacements.
30317         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
30318         * lib/stdlib.in.h: Likewise.
30319
30320         parse-duration-tests: avoid link failure
30321         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
30322         LIBINTL.
30323         Reported by Tom G. Christensen.
30324
30325         openat-tests: ensure unlinkat behaves like rmdir
30326         * tests/test-rmdir.c (main): Factor guts...
30327         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
30328         * modules/rmdir-tests (Files): Ship new file.
30329         * modules/openat-tests: New test.
30330         * tests/test-unlinkat.c: Likewise.
30331
30332         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
30333         * modules/rmdir-errno (Status, Notice): Now obsolete.
30334
30335         rmdir: work around cygwin 1.5.x and mingw bugs
30336         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
30337         * lib/rmdir.c (rmdir): Work around it.
30338         * modules/rmdir (Status, Notice): No longer obsolete.
30339         (Files): Add dos.m4.
30340         (Depends-on): Add unistd.
30341         (configure.ac): Set witnesses.
30342         (License): Relax to LGPLv2+.
30343         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
30344         * modules/unistd (Makefile.am): Substitute witnesses.
30345         * lib/unistd.in.h (rmdir): Declare replacement.
30346         * doc/posix-functions/rmdir.texi (rmdir): Document this.
30347         * modules/rmdir-tests: New tests.
30348         * tests/test-rmdir.c: Likewise.
30349
30350 2009-09-15  Eric Blake  <ebb9@byu.net>
30351
30352         fchdir: improve use of replacement functions
30353         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
30354         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
30355         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
30356         REPLACE_CLOSEDIR.
30357         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
30358         * modules/sys_stat (Makefile.am): Substitute correct witness.
30359         * modules/dirent (Makefile.am): Likewise.
30360         * modules/unistd (Makefile.am): Likewise.
30361         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
30362         * lib/unistd.in.h (dup): Likewise.
30363         * lib/sys_stat.in.h (fstat): Likewise.
30364
30365         maint: ignore gnulib-tool temp files
30366         * .gitignore: Ignore files created during gnulib-tool --test.
30367
30368 2009-09-13  Jim Meyering  <meyering@redhat.com>
30369
30370         posixtm: don't reject a time that specify "60" as the number of seconds
30371         * lib/posixtm.c (posixtime): The code to reject invalid dates
30372         would also reject a time specified with the .60 suffix.
30373         But POSIX allows that, in order to accommodate leap seconds.
30374         So don't reject it.
30375         (main): Adjust tests accordingly.
30376         * modules/posixtm (Depends-on): Add stpcpy.
30377
30378 2009-09-11  Jim Meyering  <meyering@redhat.com>
30379
30380         announce-gen: include [$release_type] in emitted Subject:
30381         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
30382         e.g., [stable] in the emitted Subject: line.
30383
30384 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30385
30386         Remove obsolete macros from several modules.
30387         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
30388         obsolete Autoconf macros with their modern counterparts.
30389         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
30390         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
30391         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
30392         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
30393         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
30394         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
30395         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
30396         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
30397         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
30398         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
30399         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
30400         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
30401         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
30402         * m4/sockets.m4 (gl_SOCKETS): Likewise.
30403         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
30404         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
30405         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
30406         * m4/time_r.m4 (gl_TIME_R): Likewise.
30407         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
30408         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
30409         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
30410
30411         Fix copyright header in build-aux scripts.
30412         * build-aux/git-version-gen: Fix copyright header to match GPLv3
30413         recommendation.
30414         * build-aux/ncftpput-ftp: Likewise.
30415         * build-aux/update-copyright: Likewise.
30416
30417 2009-09-09  Eric Blake  <ebb9@byu.net>
30418
30419         test-link: allow Linux choice of errno
30420         * tests/test-link.c (main): Relax test for alternate error.
30421
30422         strndup: fix improper m4 caching
30423         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
30424         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
30425         (gl_PREREQ_STRNDUP): Delete.
30426         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
30427         * modules/string (Makefile.am): Substitute it.
30428         * lib/string.in.h (strndup): Modernize prototype.
30429
30430         getcwd: port to mingw
30431         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
30432         different from the POSIX assumptions made throughout the getcwd
30433         module; fortunately, the mingw getcwd does not need replacement.
30434         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
30435         * modules/getcwd-tests: New test.
30436         * tests/test-getcwd.c: Likewise.
30437
30438         link: fix platform bugs
30439         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
30440         * lib/link.c (link): Work around them.  Fix related mingw bug.
30441         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
30442         * modules/unistd (Makefile.am): Substitute it.
30443         * lib/unistd.in.h (link): Declare replacement.
30444         * doc/posix-functions/link.texi (link): Document this.
30445         * modules/link (Depends-on): Add strdup-posix, sys_stat.
30446
30447         test-link: consolidate into single C program, test more cases
30448         * tests/test-link.sh: Delete.
30449         * tests/test-link.c: Test more error conditions.  Exposes bugs on
30450         at least Cygwin and Solaris.
30451         * modules/link-tests (Files): Remove unused file.
30452         (Depends-on): Add errno, sys_stat.
30453         (Makefile.am): Simplify.
30454
30455 2009-09-08  Bruno Haible  <bruno@clisp.org>
30456
30457         Work around towlower, towupper bug on mingw.
30458         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
30459         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
30460         * doc/posix-functions/towlower.texi: Mention the mingw bug.
30461         * doc/posix-functions/towupper.texi: Likewise.
30462         Reported by Eric Blake.
30463
30464 2009-09-08  Jim Meyering  <meyering@redhat.com>
30465
30466         build: don't try to run autoheader if we don't use it
30467         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
30468         is not used in configure.ac.
30469
30470 2009-09-08  Eric Blake  <ebb9@byu.net>
30471
30472         euidaccess: fix compilation error
30473         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
30474
30475         rawmemchr: relax license
30476         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
30477         okay.
30478         Reported by Jim Meyering.
30479
30480         mkfifoat: new module
30481         * modules/mkfifoat: New file.
30482         * lib/mkfifoat.c: Likewise.
30483         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
30484         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
30485         * modules/sys_stat (Makefile.am): Use them.
30486         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
30487         * MODULES.html.sh (File system functions): Mention module.
30488         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
30489         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
30490         * modules/mkfifoat-tests: New test.
30491         * tests/test-mkfifoat.c: Likewise.
30492
30493         strchrnul: relax license
30494         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
30495         okay.
30496         Reported by Jim Meyering.
30497
30498 2009-09-08  Eric Blake  <ebb9@byu.net>
30499
30500         fstatat: fix compilation on Solaris
30501         * lib/fstatat.c (includes): Add fcntl.h.
30502         Reported by Pádraig Brady.
30503
30504 2009-09-07  Eric Blake  <ebb9@byu.net>
30505
30506         rename: modernize replacement
30507         * modules/rename (Depends-on): Add stdio.
30508         (configure.ac): Declare witness.
30509         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
30510         stdio take care of replacement.
30511         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
30512         * modules/stdio (Makefile.am): Substitute them.
30513         * lib/stdio.in.h (rename): Declare replacement.
30514         * lib/rename.c (includes): Allow cross-compilation to non-windows
30515         machines.
30516         * doc/posix-functions/rename.texi (rename): Improve
30517         documentation.
30518
30519         stdio: sort witness names
30520         * modules/stdio (Makefile.am): Sort replacements.
30521         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
30522         * lib/stdio.in.h: Likewise.
30523
30524         getcwd: minor cleanups
30525         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
30526         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
30527
30528         openat: provide more convenience names
30529         * modules/faccessat (configure.ac): Add C witness.
30530         * lib/unistd.in.h (readlinkat): Fix typo.
30531         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
30532         convenience wrappers.
30533         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
30534         wrappers in syntax checks.
30535
30536 2009-09-06  Eric Blake  <ebb9@byu.net>
30537
30538         doc: fix comments in recent patches
30539         * lib/faccessat.c: Mention correct function.
30540         * lib/fchmodat.c: Likewise.
30541         * lib/fchownat.c: Likewise.
30542         * lib/symlinkat.c: Likewise.
30543         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
30544         constants.
30545
30546         faccessat, symlinkat: continue cleanup of previous patch
30547         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
30548         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
30549         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
30550         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
30551         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
30552         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
30553         set.
30554
30555 2009-09-06  Bruno Haible  <bruno@clisp.org>
30556
30557         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
30558         (fstatat): Declare if GNULIB_FSTATAT is set.
30559         (mkdirat): Declare if GNULIB_MKDIRAT is set.
30560         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
30561         (unlinkat): Declare if GNULIB_UNLINKAT is set.
30562         * modules/fcntl-h (Files): Remove m4/openat.m4.
30563         * modules/sys_stat (Files): Remove m4/openat.m4.
30564         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
30565         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
30566         * modules/unistd (Files): Remove m4/openat.m4.
30567         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
30568         GNULIB_OPENAT.
30569         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
30570         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
30571         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
30572         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
30573         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
30574         gl_OPENAT_DEFAULTS.
30575         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
30576         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
30577         Don't require gl_OPENAT_DEFAULTS.
30578         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
30579         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
30580         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
30581         (gl_OPENAT_DEFAULTS): Remove macro.
30582
30583 2009-09-06  Bruno Haible  <bruno@clisp.org>
30584
30585         * modules/openat (configure.ac): Remove unneeded witness.
30586
30587 2009-09-06  Bruno Haible  <bruno@clisp.org>
30588
30589         Set errno to ENOSYS when a function is entirely unsupported.
30590         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
30591         EOPNOTSUPP.
30592         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
30593         * modules/chown (Depends-on): Remove errno.
30594
30595 2009-09-06  Bruno Haible  <bruno@clisp.org>
30596
30597         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
30598
30599 2009-09-06  Bruno Haible  <bruno@clisp.org>
30600
30601         * lib/sys_stat.in.h: Fix preprocessor command indentation.
30602
30603 2009-09-06  Ben Pfaff  <blp@gnu.org>
30604             Bruno Haible  <bruno@clisp.org>
30605
30606         Work around a glibc bug in strtok_r.
30607         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
30608         Undefine if UNDEFINE_STRTOK_R is set.
30609         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
30610         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
30611         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
30612         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
30613         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
30614         UNDEFINE_STRTOK_R.
30615         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
30616
30617 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
30618
30619         exclude: minor fix
30620         * lib/exclude.c: Include wctype.h
30621
30622 2009-09-06  Akim Demaille  <demaille@gostai.com>
30623
30624         bootstrap: improve error message
30625         * build-aux/bootstrap (find_tool): Upon failure, report the list
30626         of candidates.
30627         Honor the initial value of the envvar.
30628
30629 2009-09-05  Eric Blake  <ebb9@byu.net>
30630
30631         symlinkat: new module
30632         * modules/symlinkat: New file.
30633         * lib/symlinkat.c: Likewise.
30634         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
30635         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
30636         * modules/unistd (Makefile.am): Use them.
30637         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
30638         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
30639         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
30640         * MODULES.html.sh (File system functions): Mention module.
30641         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
30642         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
30643         * modules/symlinkat-tests: New test.
30644         * tests/test-symlinkat.c: Likewise.
30645
30646         test-openat-safer: add more checks
30647         * tests/test-openat-safer.c (main): Check more code paths.
30648
30649 2009-09-05  Jim Meyering  <meyering@redhat.com>
30650
30651         syntax-check: detect unnecessary inclusion of openat.h
30652         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
30653
30654 2009-09-05  Bruno Haible  <bruno@clisp.org>
30655
30656         Support towlower, towupper.
30657         * doc/posix-functions/towlower.texi: Mention module wctype.
30658         * doc/posix-functions/towupper.texi: Likewise.
30659         * lib/wctype.in.h (towlower, towupper): New functions.
30660         * tests/test-wctype.c: Include stdio.h, stdlib.h.
30661         (ASSERT): New macro.
30662         (e): New variable.
30663         (main): Test also towlower, towupper. Test WEOF argument.
30664         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
30665
30666 2009-09-05  Bruno Haible  <bruno@clisp.org>
30667
30668         Fix conversion behaviour when the input is invalid.
30669         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
30670         mark occurring in first pass of indirect conversion.
30671         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
30672         input.
30673         Found by clang's static analyzer.
30674
30675 2009-09-05  Bruno Haible  <bruno@clisp.org>
30676
30677         * tests/test-striconveh.c (main): Test indirect conversion on platforms
30678         where direct conversion is possible.
30679
30680 2009-09-04  Eric Blake  <ebb9@byu.net>
30681
30682         openat: fail with ENOENT on empty name
30683         * lib/openat-proc.c (openat_proc_name): Special-case the empty
30684         buffer.
30685
30686         link-follow: fix logic bug in prior patch
30687         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
30688         reversed sense of yes and no in prior patch.  Avoid confusing
30689         compilation failure with desired semantics.
30690
30691         link-follow: accomodate mingw and cross-compilation
30692         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
30693         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
30694         cross-compilation results to -1, to make linkat easier to
30695         implement when cross-compiling.  Trivially support mingw.
30696         * modules/link-follow (configure.ac): Call new name.
30697         * NEWS: Mention this.
30698
30699 2009-09-03  Eric Blake  <ebb9@byu.net>
30700
30701         faccessat: compile replacement
30702         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
30703         needed.
30704
30705         fts: fix compilation error
30706         * lib/fts.c (includes): Re-add "openat.h", for
30707         openat_needs_fchdir.
30708
30709         faccessat: new module
30710         * modules/faccessat: New file.
30711         * lib/faccessat.c: Likewise.
30712         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
30713         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
30714         * modules/unistd (Makefile.am): Use it.
30715         * lib/unistd.in.h (faccessat): Declare it.
30716         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
30717         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
30718         * MODULES.html.sh (File system functions): Mention it.
30719         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
30720         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
30721
30722         euidaccess: prefer POSIX over non-standard implementation
30723         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
30724         * lib/euidaccess.c (euidaccess): Use it if available.
30725
30726         openat: make template easier to use
30727         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
30728         AT_FUNC_F2 to be undefined.
30729         (VALIDATE_FLAG): New macro; use it to reject bad flags.
30730         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
30731         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
30732         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
30733         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
30734         Likewise.
30735         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
30736         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
30737         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
30738         Likewise.
30739
30740         openat: declare in POSIX headers
30741         * NEWS: Mention this.
30742         * modules/openat (configure.ac): Declare witnesses.
30743         (Depends-on): Add fcntl-h, sys_stat, unistd.
30744         (Include): Mention correct headers.
30745         * modules/fcntl-h (Depends-on): Add link-warning.
30746         (Files): Add openat.m4.
30747         (Makefile.am): Substitute witnesses.
30748         * modules/sys_stat (Files, Makefile.am): Likewise.
30749         * modules/unistd (Files, Makefile.am): Likewise.
30750         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
30751         (gl_OPENAT_DEFAULTS): New macro.
30752         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
30753         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
30754         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
30755         (SYS_STAT_H): Remove unused variable.
30756         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
30757         * lib/fcntl--.h (includes): Remove unneeded header.
30758         * lib/openat-safer.c (includes): Likewise.
30759         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
30760         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
30761         appropriate headers.
30762         (__OPENAT_PREFIX): Delete.
30763         * lib/fcntl.in.h (openat): Provide declaration.
30764         (AT_FDCWD): Fix Solaris bug.
30765         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
30766         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
30767         * lib/fchmodat.c (includes):  Adjust to find declaration.
30768         * lib/fchownat.c (includes): Likewise.
30769         * lib/mkdirat.c (includes): Likewise.
30770         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
30771         still visible.
30772
30773 2009-09-02  Eric Blake  <ebb9@byu.net>
30774
30775         errno: use consistently
30776         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
30777         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
30778         * lib/canonicalize.c (ELOOP): Likewise.
30779         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
30780         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
30781         * lib/lchown.c (EOPNOTSUPP): Likewise.
30782         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
30783         * lib/savewd.c (ESTALE): Likewise.
30784         * lib/settime.c (ENOSYS): Likewise.
30785         * lib/utimens.c (ENOSYS): Likewise.
30786         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
30787         * lib/chdir-safer.c (ELOOP): Likewise.
30788         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
30789         * modules/c-stack (Depends-on): Add errno.
30790         * modules/canonicalize (Depends-on): Likewise.
30791         * modules/chdir-safer (Depends-on): Likewise.
30792         * modules/fdopendir (Depends-on): Likewise.
30793         * modules/inet_ntop (Depends-on): Likewise.
30794         * modules/inet_pton (Depends-on): Likewise.
30795         * modules/lchown (Depends-on): Likewise.
30796         * modules/openat (Depends-on): Likewise.
30797         * modules/savewd (Depends-on): Likewise.
30798         * modules/settime (Depends-on): Likewise.
30799         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
30800
30801         fts: avoid leaking fds
30802         * modules/fts (Depends-on): Add cloexec.
30803         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
30804         flag.
30805
30806         fts: make directory fds more robust
30807         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
30808         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
30809
30810         backupfile, chdir-long, fts, savedir: make safer
30811         * lib/backupfile.c (includes): Use "dirent--.h", since
30812         numbered_backup can write to stderr during readdir.
30813         * lib/savedir.c (includes): Likewise.
30814         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
30815         emulation can write to stderr on failure.
30816         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
30817         * lib/getcwd.c: Document why opendir_safer is unused.
30818         * lib/glob.c: Likewise.
30819         * lib/scandir.c: Likewise.
30820         * lib/openat-proc.c: Likewise, for open_safer.
30821         * modules/backupfile (Depends-on): Add dirent-safer.
30822         * modules/savedir (Depends-on): Likewise.
30823         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
30824         * modules/chdir-long (Depends-on): Add openat-safer.
30825
30826         openat-safer: new module
30827         * modules/openat-safer: New file.
30828         * lib/openat-safer.c: Likewise.
30829         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
30830         * lib/fcntl-safer.h (openat_safer): Declare.
30831         * lib/fcntl--.h (openat): Override.
30832         * MODULES.html.sh (File descriptor based I/O): Mention it.
30833         * lib/openat.h: Add double-inclusion guards.
30834         * lib/openat.c (includes): Only include "fcntl-safer.h", not
30835         "fcntl--.h", so we can implement openat.
30836         * modules/openat-safer-tests: New test.
30837         * tests/test-openat-safer.c: New file.
30838
30839         dirent-safer: new module
30840         * modules/dirent-safer: New file.
30841         * lib/dirent--.h: Likewise.
30842         * lib/dirent-safer.h: Likewise.
30843         * lib/opendir-safer.c: Likewise.
30844         * m4/dirent-safer.m4: Likewise.
30845         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
30846         * modules/dirent-safer-tests: New test.
30847         * tests/test-dirent-safer.c: New file.
30848         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
30849
30850         fdopendir: optimize on mingw
30851         * lib/unistd.in.h (_gl_directory_name): New prototype.
30852         * lib/fchdir.c (_gl_directory_name): Implement it.
30853         (fchdir): Use it to simplify implementation.
30854         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
30855         fchdir, when available, to avoid calling [f]chdir().
30856
30857         fdopendir: split into its own module
30858         * lib/openat.c (fdopendir): Move...
30859         * lib/fdopendir.c: ...into new file.
30860         * modules/fdopendir: New module.
30861         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
30862         * modules/openat (Depends-on): Add fdopendir.
30863         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
30864         fdopendir here.
30865         * modules/savedir (Depends-on): Only need fdopendir, not full
30866         openat.
30867         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
30868         * lib/openat.h (fdopendir): Drop prototype.
30869         * lib/dirent.in.h (fdopendir): Provide prototype.
30870         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
30871         * modules/dirent (Makefile.am): Substitute them.
30872         * MODULES.html.sh (File system functions): Mention it.
30873         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
30874         * modules/fdopendir-tests: New file.
30875         * tests/test-fdopendir.c: Likewise.
30876
30877         fchdir: use more consistent macro convention
30878         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
30879         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
30880         REPLACE_FCHDIR, rather than relying on config.h macros.
30881         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
30882         inside a single make-time REPLACE_FCHDIR block, rather than using
30883         the config.h FCHDIR_REPLACEMENT.
30884         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
30885         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
30886         Manage fstat replacement.
30887         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
30888         REPLACE_FCHDIR.
30889         * modules/sys_stat (Files): Add m4/unistd_h.m4.
30890         (Makefile.am): Substitute REPLACE_FCHDIR.
30891         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
30892         FCHDIR_REPLACEMENT.
30893         * lib/dup-safer.c (dup_safer): Likewise.
30894         * lib/dup2.c (rpl_dup2): Likewise.
30895         * lib/dup3.c (rpl_dup3): Likewise.
30896         * lib/open.c (rpl_open): Likewise.
30897
30898         fchdir: simplify error handling, and support dup3
30899         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
30900         stdbool, malloc-posix, realloc-posix.
30901         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
30902         (ensure_dirs_slot): Return false on allocation failure.
30903         (rpl_dup2): Delete.
30904         (_gl_register_dup): New function.
30905         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
30906         (_gl_register_fd): Close fd on allocation failure.
30907         * lib/fcntl.in.h (_gl_register_fd): Update signature.
30908         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
30909         prototype.
30910         (rpl_dup2_fchdir): Delete prototype.
30911         * lib/open.c (open): Update caller.
30912         * lib/dup2.c (dup2): Track fchdir metadata.
30913         * lib/dup3.c (dup3): Likewise.
30914         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
30915         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
30916
30917 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30918
30919         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
30920         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
30921         don't pass arguments to AC_OUTPUT.
30922
30923 2009-09-02  Bruno Haible  <bruno@clisp.org>
30924
30925         * modules/mkdtemp (License): Relicense under LGPLv2+.
30926         Reported by Paolo Bonzini.
30927
30928 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30929
30930         Replace uses of obsolete autoconf macros in Jim's modules.
30931         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
30932         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
30933         can evoke a warning from autoconf when run with -Wobsolete
30934         enabled.  They were declared obsolete for good reasons (see
30935         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
30936         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
30937         should not continue using the deprecated macros.
30938         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
30939         obsolete Autoconf macros with modern counterparts.
30940         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
30941         * m4/dos.m4 (gl_AC_DOS): Likewise.
30942         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
30943         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
30944         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
30945         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
30946         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
30947         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
30948         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
30949         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
30950         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
30951         Likewise.
30952         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
30953         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
30954         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
30955         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
30956         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
30957         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
30958
30959 2009-09-01  Eric Blake  <ebb9@byu.net>
30960
30961         fchdir: fix off-by-one bug in previous patch
30962         * lib/fchdir.c (rpl_fstat): Use correct bounds.
30963         (_gl_unregister_fd): Delete useless if.
30964
30965 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
30966
30967         maint.mk: sort the list of syntax-check rules
30968         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
30969         easier to get a sense of progress when the rules are run sequentially
30970         and take a long time.
30971
30972 2009-09-01  Simon Josefsson  <simon@josefsson.org>
30973
30974         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
30975         * modules/netinet_in: Likewise.
30976         * modules/sys_file: Likewise.
30977         * modules/sys_ioctl: Likewise.
30978         * modules/sys_select: Likewise.
30979         * modules/sys_socket: Likewise.
30980         * modules/sys_stat: Likewise.
30981         * modules/sys_time: Likewise.
30982         * modules/sys_times: Likewise.
30983         * modules/sys_utsname: Likewise.
30984         * modules/sys_wait: Likewise.
30985
30986 2009-09-01  Jim Meyering  <meyering@redhat.com>
30987
30988         fts: help ensure that return values are not ignored
30989         * lib/fts_.h (__GNUC_PREREQ): Define.
30990         (__attribute_warn_unused_result__): Define.
30991         (fts_children, fts_close, fts_open, fts_read): Declare with
30992         __attribute_warn_unused_result__.
30993
30994         fts: fts_close now fails also when closing a dir file descriptor fails
30995         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
30996         and propagate to caller, along with errno.
30997
30998         announce-gen: correct formatting in --help output
30999         * build-aux/announce-gen (usage): Move the one-line description in
31000         --help output "up", to where it belongs, just after Usage:.
31001
31002 2009-08-31  Eric Blake  <ebb9@byu.net>
31003
31004         fchdir: port to mingw
31005         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
31006         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
31007         opened, then use a substitute.
31008         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
31009         replacement.
31010         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
31011         (_gl_register_fd): No need to check stat if open already filters
31012         all directories.
31013         (fchdir): Fix error condition to match POSIX.
31014         * modules/fchdir (Depends-on): Add sys_stat.
31015         * doc/posix-functions/open.texi (open): Document the limitation.
31016         * modules/fchdir-tests: New file.
31017         * tests/test-fchdir.c: Likewise.
31018
31019         canonicalize: allow cross-testing from cygwin to mingw
31020         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
31021         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
31022         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
31023         Likewise.
31024         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
31025         target does not support symlinks.
31026         * tests/test-canonicalize-lgpl.sh: Likewise.
31027
31028         chown: avoid compilation warning on mingw
31029         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
31030         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
31031         mingw.
31032         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
31033         * modules/chown (Depends-on): Add errno.
31034
31035 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
31036
31037         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
31038         command.
31039
31040 2009-08-31  Jim Meyering  <meyering@redhat.com>
31041
31042         canonicalize: remove useless initialization
31043         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
31044         initialization of local, "end".
31045
31046 2009-08-30  Bruno Haible  <bruno@clisp.org>
31047
31048         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
31049         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
31050         ENOSYS.
31051
31052 2009-08-30  Bruno Haible  <bruno@clisp.org>
31053
31054         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
31055         /usr/xpg4/bin/tr when it exists.
31056         * tests/test-pipe-filter-gi1.sh: Likewise.
31057
31058 2009-08-30  Bruno Haible  <bruno@clisp.org>
31059
31060         Work around deficient /usr/bin/id program on Solaris.
31061         * tests/test-file-has-acl.sh (ID): New variable.
31062         * tests/test-set-mode-acl.sh (ID): Likewise.
31063         * tests/test-copy-acl.sh (ID): Likewise.
31064         * tests/test-copy-file.sh (ID): Likewise.
31065
31066 2009-08-30  Bruno Haible  <bruno@clisp.org>
31067
31068         New module 'xstriconveh'.
31069         * lib/xstriconveh.h: New file.
31070         * lib/xstriconveh.c: New file.
31071         * modules/xstriconveh: New file.
31072
31073 2009-08-30  Bruno Haible  <bruno@clisp.org>
31074
31075         Make it easier to use mem_cd_iconveh.
31076         * lib/striconveh.h (iconveh_t): New type.
31077         (iconveh_open, iconveh_close): New declarations.
31078         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
31079         with a single 'const iconveh_t *' argument.
31080         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
31081         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
31082         with a single 'const iconveh_t *' argument.
31083         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
31084         * tests/test-striconveh.c (main): Update.
31085         * NEWS: Mention the change.
31086
31087 2009-08-30  Bruno Haible  <bruno@clisp.org>
31088
31089         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
31090         problem.
31091
31092 2009-08-30  Bruno Haible  <bruno@clisp.org>
31093
31094         Work around iconv_open problem on Solaris.
31095         * lib/iconv_open-solaris.gperf: New file.
31096         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
31097         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
31098         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
31099         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
31100         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
31101         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
31102
31103 2009-08-29  Jim Meyering  <meyering@redhat.com>
31104
31105         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
31106         * top/maint.mk (cvs-check): Remove target; it was just an alias
31107         to the better-named vc-diff-check.
31108         (maintainer-distcheck): Remove rule.  It was used only from
31109         the (alpha/beta/major) target, and all of its commands but one
31110         were coreutils-specific.
31111         (vc-dist): Remove rule.
31112         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
31113         Run vc-diff-check, not vc-dist.
31114         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
31115
31116 2009-08-27  Bruno Haible  <bruno@clisp.org>
31117
31118         * tests/test-bitrotate.c (main): Remove test that uses a shift count
31119         of 0.
31120
31121 2009-08-27  Bruno Haible  <bruno@clisp.org>
31122
31123         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
31124         compilers.
31125         * doc/func.texi: Document the SunPRO C bug.
31126
31127 2009-08-27  Bruno Haible  <bruno@clisp.org>
31128
31129         Fix link error on Solaris.
31130         * tests/test-parse-duration.c (xstrdup): Remove function.
31131
31132 2009-08-26  Pádraig Brady  <P@draigbrady.com>
31133
31134         ignore-value: handle pointer types, too
31135         * lib/ignore-value.h (__attribute__): Remove definition.
31136         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
31137         of a more concise and more-often effective "(void) i" statement.
31138         (ignore_ptr): New function to suppress warnings from functions that
31139         return pointers, and to make it explicit that one function doesn't
31140         handle all cases.
31141
31142 2009-08-25  Bruno Haible  <bruno@clisp.org>
31143
31144         dup2: work around a Linux bug.
31145         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
31146         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
31147         * doc/posix-functions/dup2.texi: Mention the Linux bug.
31148         Reported by Simon Josefsson.
31149
31150 2009-08-25  Jim Meyering  <meyering@redhat.com>
31151
31152         libguestfs uses gnulib
31153         * users.txt: Add libguestfs.
31154
31155 2009-08-24  Eric Blake  <ebb9@byu.net>
31156
31157         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
31158         * lib/pipe2.c (includes): Add binary-io.h.
31159         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
31160
31161 2009-08-24  Bruno Haible  <bruno@clisp.org>
31162
31163         Tolerate declared but missing accept4 syscall.
31164         * lib/accept4.c (accept4): Invoke original accept4 function first, if
31165         available.
31166         * lib/sys_socket.in.h (accept4): If the function is already present,
31167         override it.
31168         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
31169         * modules/accept4 (Makefile.am): Compile accept4.c always.
31170         Reported by Paolo Bonzini and Eric Blake.
31171
31172 2009-08-23  Bruno Haible  <bruno@clisp.org>
31173
31174         New module 'accept4'.
31175         * lib/sys_socket.in.h (accept4): New declaration.
31176         * lib/accept4.c: New file.
31177         * m4/accept4.m4: New file.
31178         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
31179         GNULIB_ACCEPT4, HAVE_ACCEPT4.
31180         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
31181         HAVE_ACCEPT4.
31182         * modules/accept4: New file.
31183         * doc/glibc-functions/accept4.texi: Mention the new module.
31184
31185 2009-08-24  Jim Meyering  <meyering@redhat.com>
31186
31187         progname: also set global program_invocation_name, when possible
31188         Before this change, a libtool-enabled program that calls glibc's
31189         error function would report the program name as
31190         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
31191         * modules/progname (configure.ac): Check for a declaration of
31192         program_invocation_name.
31193         * lib/progname.c:  Include <errno.h>.
31194         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
31195         Set program_invocation_name.
31196
31197 2009-08-23  Bruno Haible  <bruno@clisp.org>
31198
31199         * lib/dup3.c: Include <string.h>.
31200
31201 2009-08-23  Bruno Haible  <bruno@clisp.org>
31202
31203         * lib/dup3.c (dup3): Test only once whether the system actually exists.
31204         * lib/pipe2.c (pipe2): Likewise.
31205         Suggested by Eric Blake.
31206
31207 2009-08-23  Bruno Haible  <bruno@clisp.org>
31208
31209         Tolerate declared but missing dup3 syscall.
31210         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
31211         * lib/unistd.in.h (dup3): If the function is already present,
31212         override it.
31213         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
31214         * modules/dup3 (Makefile.am): Compile dup3.c always.
31215         Reported by Paolo Bonzini.
31216
31217 2009-08-23  Bruno Haible  <bruno@clisp.org>
31218
31219         Tolerate declared but missing pipe2 syscall.
31220         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
31221         available.
31222         * lib/unistd.in.h (pipe2): If the function is already present,
31223         override it.
31224         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
31225         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
31226         Reported by Paolo Bonzini.
31227
31228 2009-08-23  Bruno Haible  <bruno@clisp.org>
31229
31230         * lib/pipe2.c (pipe2): Move #ifs inside function.
31231
31232 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
31233
31234         quotearg: document limitations of quote_these_too
31235         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
31236         those limitations are created.
31237         * lib/quotearg.h (set_char_quoting): Document that digits and
31238         letters that are special after backslash are not permitted.
31239         (quotearg_char): Cross-reference set_char_quoting documentation.
31240
31241 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
31242
31243         quotearg: implement custom_quoting_style
31244         * lib/quotearg.c: (struct quoting_options): Add left_quote and
31245         right_quote fields.
31246         (set_custom_quoting): New public function.
31247         (quotearg_buffer_restyled): Add left_quote and right_quote
31248         arguments, handle them very much like locale quoting, and update
31249         all uses.
31250         (quotearg_n_custom): New public function.
31251         (quotearg_n_custom_mem): New public function.
31252         (quotearg_custom): New public function.
31253         (quotearg_custom_mem): New public function.
31254         * lib/quotearg.h: Prototype and document new public functions.
31255         (enum quoting_style): For escape_quoting_style and
31256         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
31257         ignored even though they're otherwise like c_quoting_style.
31258         Add custom_quoting_style member and document with comparison to
31259         clocale_quoting_style.
31260         * tests/test-quotearg.c (custom_quotes): New array.
31261         (custom_results): New array.
31262         (main): Extend to test custom quoting.
31263
31264 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
31265
31266         quotearg: fix right quote escaping when it's in quote_these_too
31267         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
31268         quote, be sure to prepend only one backslash.
31269         * tests/test-quotearg.c (use_quote_double_quotes): New function.
31270         (main): Test it.
31271
31272 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
31273
31274         quotearg-tests: test escaping of embedded locale quotes
31275         * tests/test-quotearg.c (struct result_strings): Add member for
31276         new input.
31277         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
31278         (inputs): Add new input.
31279         (results_g): Add expected results.
31280         (flag_results): Likewise.
31281         (locale_results): Likewise.
31282         (compare_strings): Check those.
31283
31284 2009-08-23  Bruno Haible  <bruno@clisp.org>
31285
31286         Tests for module 'dup3'.
31287         * modules/dup3-tests: New file.
31288         * tests/test-dup3.c: New file.
31289
31290         New module 'dup3'.
31291         * lib/unistd.in.h (dup3): New declaration.
31292         * lib/dup3.c: New file.
31293         * m4/dup3.m4: New file.
31294         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
31295         HAVE_DUP3.
31296         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
31297         * modules/dup3: New file.
31298         * doc/glibc-functions/dup3.texi: Mention the new module.
31299
31300 2009-08-23  Bruno Haible  <bruno@clisp.org>
31301
31302         Tweak the dup2 test.
31303         * tests/test-dup2.c (main): Create the test file empty. Verify that an
31304         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
31305         the test file is still empty. Fix argument order of lseek.
31306
31307 2009-08-23  Bruno Haible  <bruno@clisp.org>
31308
31309         Avoid test link errors when the modules getopt-gnu, gettext are used.
31310         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
31311         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
31312
31313 2009-08-23  Bruno Haible  <bruno@clisp.org>
31314
31315         Fix getdtablesize() on mingw.
31316         * lib/getdtablesize.c (getdtablesize): Implement differently.
31317         * lib/unistd.in.h (getdtablesize): Improve comment.
31318
31319 2009-08-23  Bruno Haible  <bruno@clisp.org>
31320
31321         New module 'mkostemp'.
31322         Based on Ulrich Drepper's 2007-08-10 change in glibc.
31323         * lib/stdlib.in.h (mksotemp): New declaration.
31324         * lib/mkostemp.c: New file, from glibc with modifications.
31325         * lib/tempname.h (GT_FILE): Remove outdated comment.
31326         (gen_tempname): Add flags argument.
31327         * lib/tempname.c (__GT_BIGFILE): Remove macro.
31328         (__GT_FILE): Map to 1.
31329         (small_open, large_open): Remove macros.
31330         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
31331         * lib/mkstemp.c (mkstemp): Update.
31332         * lib/mkdtemp.c (mkdtemp): Likewise.
31333         * m4/mkostemp.m4: New file.
31334         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
31335         HAVE_MKOSTEMP.
31336         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
31337         HAVE_MKOSTEMP.
31338         * modules/mkostemp: New file, based on modules/mkstemp.
31339         * doc/glibc-functions/mkostemp.texi: Mention the new module.
31340         * NEWS: Mention the change.
31341
31342 2009-08-23  Bruno Haible  <bruno@clisp.org>
31343
31344         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
31345         Reported by Eric Blake.
31346
31347 2009-08-23  Bruno Haible  <bruno@clisp.org>
31348
31349         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
31350         Reported by Eric Blake.
31351
31352 2009-08-23  Bruno Haible  <bruno@clisp.org>
31353
31354         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
31355         * modules/pipe2 (Depends-on): Likewise.
31356
31357 2009-08-23  Eric Blake  <ebb9@byu.net>
31358
31359         fcntl-h: add O_TTY_INIT support
31360         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
31361         * tests/test-fcntl-h.c (o): Test it.
31362         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
31363
31364         fcntl-h: rename from fcntl, in preparation for fcntl(2)
31365         * modules/fcntl: Move <fcntl.h> header replacement...
31366         * modules/fcntl-h: ...to new name, so as not to collide with
31367         like-named function.
31368         * tests/test-fcntl.c: Rename...
31369         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
31370         * modules/fcntl-tests: Rename...
31371         * modules/fcntl-h-tests: ...to this.  Update test file name.
31372         * modules/chdir-long (Depends-on): Update clients.
31373         * modules/chdir-safer (Depends-on): Likewise.
31374         * modules/fcntl-safer (Depends-on): Likewise.
31375         * modules/fts (Depends-on): Likewise.
31376         * modules/mkancesdirs (Depends-on): Likewise.
31377         * modules/mkdir-p (Depends-on): Likewise.
31378         * modules/open (Depends-on): Likewise.
31379         * modules/savewd (Depends-on): Likewise.
31380         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
31381         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
31382
31383 2009-08-22  Bruno Haible  <bruno@clisp.org>
31384
31385         * modules/binary-io (License): Relicense under LGPL.
31386         * modules/pipe2 (License): Likewise.
31387
31388 2009-08-22  Bruno Haible  <bruno@clisp.org>
31389
31390         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
31391         return value.
31392         * lib/pipe-filter-gi.c (filter_init): Likewise.
31393         Reported by Eric Blake.
31394
31395 2009-08-22  Bruno Haible  <bruno@clisp.org>
31396
31397         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
31398         * modules/pipe (Depends-on): Add pipe2.
31399
31400 2009-08-22  Bruno Haible  <bruno@clisp.org>
31401
31402         Tests for module 'pipe2'.
31403         * modules/pipe2-tests: New file.
31404         * tests/test-pipe2.c: New file.
31405
31406         New module 'pipe2'.
31407         * lib/unistd.in.h (pipe2): New declaration.
31408         * lib/pipe2.c: New file.
31409         * m4/pipe2.m4: New file.
31410         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
31411         HAVE_PIPE2.
31412         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
31413         * modules/pipe2: New file.
31414         * doc/glibc-functions/pipe2.texi: Mention the new module.
31415
31416 2009-08-22  Bruno Haible  <bruno@clisp.org>
31417
31418         Reference some new glibc functions.
31419         * doc/glibc-functions/accept4.texi: New file.
31420         * doc/glibc-functions/dup3.texi: New file.
31421         * doc/glibc-functions/mkostemp.texi: New file.
31422         * doc/glibc-functions/pipe2.texi: New file.
31423         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
31424         (Glibc sys/socket.h): Refer to accept4.
31425         (Glibc unistd.h): Refer to dup3, pipe2.
31426         Reported by Eric Blake.
31427
31428 2009-08-22  Jim Meyering  <meyering@redhat.com>
31429             Bruno Haible  <bruno@clisp.org>
31430
31431         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
31432         This makes it so packages using automake-1.11's silent-rules option
31433         can print e.g., a single "GEN    configmake.h" line, rather than
31434         the 30+ statements that perform the job.  If you want to see the
31435         actual commands, you can still run "make V=1".
31436         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
31437         so that make output is abbreviated when those variables are defined
31438         appropriately.
31439         * modules/argz: Likewise.
31440         * modules/arpa_inet: Likewise.
31441         * modules/byteswap: Likewise.
31442         * modules/configmake: Likewise.
31443         * modules/dirent: Likewise.
31444         * modules/errno: Likewise.
31445         * modules/fcntl: Likewise.
31446         * modules/float: Likewise.
31447         * modules/fnmatch: Likewise.
31448         * modules/getopt-posix: Likewise.
31449         * modules/glob: Likewise.
31450         * modules/iconv_open: Likewise.
31451         * modules/inttypes: Likewise.
31452         * modules/localcharset: Likewise.
31453         * modules/locale: Likewise.
31454         * modules/math: Likewise.
31455         * modules/netdb: Likewise.
31456         * modules/netinet_in: Likewise.
31457         * modules/poll: Likewise.
31458         * modules/posix_spawnp-tests: Likewise.
31459         * modules/sched: Likewise.
31460         * modules/search: Likewise.
31461         * modules/selinux-h: Likewise.
31462         * modules/signal: Likewise.
31463         * modules/spawn: Likewise.
31464         * modules/stdarg: Likewise.
31465         * modules/stdbool: Likewise.
31466         * modules/stddef: Likewise.
31467         * modules/stdint: Likewise.
31468         * modules/stdio: Likewise.
31469         * modules/stdlib: Likewise.
31470         * modules/string: Likewise.
31471         * modules/strings: Likewise.
31472         * modules/sys_file: Likewise.
31473         * modules/sys_ioctl: Likewise.
31474         * modules/sys_select: Likewise.
31475         * modules/sys_socket: Likewise.
31476         * modules/sys_stat: Likewise.
31477         * modules/sys_time: Likewise.
31478         * modules/sys_times: Likewise.
31479         * modules/sys_utsname: Likewise.
31480         * modules/sys_wait: Likewise.
31481         * modules/sysexits: Likewise.
31482         * modules/time: Likewise.
31483         * modules/unistd: Likewise.
31484         * modules/wchar: Likewise.
31485         * modules/wctype: Likewise.
31486
31487 2009-08-22  Jim Meyering  <meyering@redhat.com>
31488
31489         announce-gen: detect write failure
31490         * build-aux/announce-gen: Add Coda at end.
31491         Remove equivalent-but-more-verbose block at top.
31492
31493 2009-08-19  Akim Demaille  <demaille@gostai.com>
31494
31495         bootstrap: --help to stdout.
31496         * bootstrap (usage): Don't send --help to stderr.
31497         Use a here doc instead of a long string.
31498
31499 2009-08-21  Eric Blake  <ebb9@byu.net>
31500
31501         test-popen-safer: split from test-popen
31502         * tests/test-popen.c (main): Move...
31503         * tests/test-popen.h: ...into new file.
31504         * tests/test-popen-safer2.c: New file.
31505         * modules/popen-tests (Files): Add test-popen.h.
31506         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
31507         Suggested by Bruno Haible.
31508
31509         test-fcntl-safer: split from test-open
31510         * tests/test-open.c (main): Move...
31511         * tests/test-open.h: ...into new file.
31512         * tests/test-fcntl-safer.c: New file.
31513         * modules/open-tests (Files): Add test-open.h.
31514         * modules/fcntl-safer-tests: New file.
31515         Suggested by Bruno Haible.
31516
31517         test-fopen-safer: split from test-fopen
31518         * tests/test-fopen.c (main): Move...
31519         * tests/test-fopen.h: ...into new file.
31520         * tests/test-fopen-safer.c: New file.
31521         * modules/fopen-tests (Files): Add test-fopen.h.
31522         * modules/fopen-safer-tests: New file.
31523         Suggested by Bruno Haible.
31524
31525 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
31526
31527         popen-safer: test O_CLOEXEC at run-time.
31528         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
31529
31530 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
31531
31532         fcntl: move more flags to the header
31533         * lib/cloexec.c: Do not define FD_CLOEXEC here.
31534         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
31535         * lib/fcntl.in.h: Do both things here.
31536
31537 2009-08-21  Jim Meyering  <meyering@redhat.com>
31538
31539         consistently remove $@-t before redirecting to it
31540         * modules/argz: Remove $@-t and $@ before redirecting to the former.
31541         * modules/alloca-opt: Likewise.
31542         * modules/byteswap: Likewise.
31543         * modules/fnmatch: Likewise.
31544         * modules/getopt-posix: Likewise.
31545         * modules/glob: Likewise.
31546         * modules/poll: Likewise.
31547         * modules/posix_spawnp-tests: Likewise.
31548         * modules/sys_socket: Likewise.
31549         * modules/sysexits: Likewise.
31550
31551 2009-08-21  Eric Blake  <ebb9@byu.net>
31552
31553         popen: simplify access to original popen
31554         * lib/popen.c (rpl_popen): No need to worry about popen being a
31555         macro.
31556         Reported by Bruno Haible.
31557
31558 2009-08-20  Eric Blake  <ebb9@byu.net>
31559
31560         build: avoid some compiler warnings
31561         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
31562         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
31563         type.
31564         (new_exclude_segment, excluded_file_pattern_p)
31565         (excluded_file_name_p): Reduce scope.
31566         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
31567         old-style declaration.
31568
31569 2009-08-20  Simon Josefsson  <simon@josefsson.org>
31570
31571         * tests/test-exclude1.sh: Handle Windows EOL.
31572         * tests/test-exclude2.sh: Likewise.
31573         * tests/test-exclude3.sh: Likewise.
31574         * tests/test-exclude4.sh: Likewise.
31575         * tests/test-exclude5.sh: Likewise.
31576         * tests/test-exclude6.sh: Likewise.
31577         * tests/test-exclude7.sh: Likewise.
31578
31579 2009-08-19  Akim Demaille  <demaille@gostai.com>
31580
31581         bootstrap: find sha1sum when named gsha1sum.
31582         * bootstrap (find_tool): New.
31583         ($SHA1SUM): New.
31584         Use it.
31585
31586 2009-08-20  Jim Meyering  <meyering@redhat.com>
31587
31588         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
31589         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
31590         expression that converts "." in a file name to "\." in the resulting
31591         regexp.  Start with a dummy statement, so that prior shell variable
31592         definitions are expanded portably.  Reported by Simon Josefsson.
31593
31594 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
31595
31596         Fix polling for writeability of a screen buffer.
31597         * lib/poll.c: Distinguish input and screen buffers for the
31598         Win32 implementation.
31599         * lib/select.c: Likewise.
31600
31601 2009-08-19  Eric Blake  <ebb9@byu.net>
31602
31603         popen-safer: prevent popen from clobbering std descriptors
31604         * modules/popen-safer: New file.
31605         * lib/popen-safer.c: Likewise.
31606         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
31607         * lib/stdio--.h (popen): Provide override.
31608         * lib/stdio-safer.h (popen_safer): Provide declaration.
31609         * tests/test-popen.c (includes): Partially test this.
31610         * modules/popen-safer-tests: New file, for more tests.
31611         * tests/test-popen-safer.c: Likewise.
31612         * MODULES.html.sh (file stream based Input/Output): Mention it.
31613
31614         tests: test some of the *-safer modules
31615         * modules/fopen-safer (Depends-on): Add fopen.
31616         * modules/fcntl-safer (Depends-on): Add fcntl.
31617         * modules/stdlib-safer (Depends-on): Add stdlib.
31618         (configure.ac): Set indicator.
31619         * modules/unistd-safer (configure.ac): Likewise.
31620         * modules/tmpfile-safer (configure.ac): Likewise.
31621         (Depends-on): Add tmpfile.
31622         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
31623         active.
31624         * tests/test-fopen.c (includes): Test safer versions when they are
31625         in use.
31626         * tests/test-open.c (includes): Likewise.
31627
31628         popen: fix cygwin 1.5 bug when stdin closed
31629         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
31630         * modules/popen: New file.
31631         * modules/popen-tests: Likewise.
31632         * tests/test-popen.c: Likewise.
31633         * m4/popen.m4: Likewise.
31634         * lib/popen.c: Likewise.
31635         * lib/stdio.in.h (popen): New declaration.
31636         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
31637         * modules/stdio (Makefile.am): Likewise.
31638         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
31639
31640 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
31641
31642         maint.mk: give full control over update-copyright exclusions
31643         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
31644         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
31645         (update-copyright): Don't force inclusion of top-level
31646         ChangeLog.  Don't force exclusion of all COPYING files, but make
31647         them the default exclusion instead.
31648
31649 2009-08-16  Bruno Haible  <bruno@clisp.org>
31650
31651         Fix test failures on Solaris 10.
31652         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
31653         tests when Solaris iconv() is used.
31654         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
31655         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
31656         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
31657         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
31658         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
31659
31660 2009-08-16  Bruno Haible  <bruno@clisp.org>
31661
31662         Fix test failures on Solaris 10.
31663         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
31664         'tr' program and pass it as first argument.
31665         * tests/test-pipe-filter-gi1.sh: Likewise.
31666         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
31667         program as first argument.
31668         * tests/test-pipe-filter-gi1.c (main): Likewise.
31669
31670 2009-08-16  Eric Blake  <ebb9@byu.net>
31671
31672         fpurge: fix previous commits
31673         * modules/fpurge (Makefile.am): Make replacement conditional,
31674         partially reverting 2007-04-29 change; missed in previous
31675         attempt.
31676         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
31677         is missing.
31678
31679 2009-08-16  Bruno Haible  <bruno@clisp.org>
31680
31681         Clarify fpurge's effect on the file position.
31682         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
31683         * tests/test-fpurge.c (main): Make a second pass for checking the file
31684         position.
31685
31686 2009-08-16  Bruno Haible  <bruno@clisp.org>
31687
31688         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
31689         declaration of fpurge is missing.
31690         * tests/test-fpurge.c (main): Check that the file has not more contents
31691         than expected. Close the file before removing it.
31692
31693 2009-08-15  Eric Blake  <ebb9@byu.net>
31694
31695         fpurge: don't wrap working cygwin implementation
31696         * lib/fpurge.c (fpurge): Fix comment typo.
31697         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
31698         1.7 to avoid replacement.
31699         * tests/test-fpurge.c (main): Enhance test.
31700
31701 2009-08-15  Eric Blake  <ebb9@byu.net>
31702         and Jim Meyering  <meyering@redhat.com>
31703
31704         test-update-copyright: skip if perl is insufficient
31705         * tests/test-update-copyright.sh: Failure to run maintainer tool
31706         should not cause testsuite failure on cygwin 1.5.
31707
31708 2009-08-14  Eric Blake  <ebb9@byu.net>
31709
31710         doc: mention more functions added in cygwin 1.7.0
31711         * doc/posix-headers/limits.texi (limits.h): Update for recent
31712         cygwin additions.
31713         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
31714         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
31715         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
31716         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
31717         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
31718
31719 2009-08-14  Eric Blake  <ebb9@byu.net>
31720
31721         maint.mk: simplify update-copyright rule
31722         * top/maint.mk (update-copyright-local): Delete, and document how
31723         to do it in cfg.mk instead.
31724         (update-copyright-exclude-regexp): Delete, and document how to do
31725         it in .x-update-copyright instead.
31726         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
31727         exclude ChangeLog.
31728
31729 2009-08-14  Bruno Haible  <bruno@clisp.org>
31730
31731         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
31732
31733 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
31734
31735         maint.mk: support update-copyright-env
31736         * top/maint.mk (update-copyright-env): Define place-holder.
31737         (update-copyright): Expand $(update-copyright-env) before
31738         invoking update-copyright.
31739
31740 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
31741
31742         update-copyright: implement forced reformatting
31743         * build-aux/update-copyright: Implement and document
31744         UPDATE_COPYRIGHT_FORCE.
31745         * tests/test-update-copyright.sh: Test it.
31746
31747 2009-08-14  Eric Blake  <ebb9@byu.net>
31748         and Bruno Haible  <bruno@clisp.org>
31749
31750         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
31751         * tests/test-locale.c: Revert previous patch related to NULL.
31752         * tests/test-stdio.c: Likewise.
31753         * tests/test-stdlib.c: Likewise.
31754         * tests/test-string.c: Likewise.
31755         * tests/test-unistd.c: Likewise.
31756         * modules/time-tests (Depends-on): Add verify.
31757         * modules/wchar-tests (Depends-on): Likewise.
31758         * tests/test-time.c: Test for NULL compliance.
31759         * tests/test-wchar.c: Likewise.
31760         * modules/locale (Depends-on): Add stddef.
31761         * modules/stdio (Depends-on): Likewise.
31762         * modules/stdlib (Depends-on): Likewise.
31763         * modules/string (Depends-on): Likewise.
31764         * modules/time (Depends-on): Likewise.
31765         * modules/unistd (Depends-on): Likewise.
31766         * modules/wchar (Depends-on): Likewise.
31767         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
31768         * lib/stdlib.in.h (includes): Likewise.
31769         * lib/string.in.h (includes): Likewise.
31770         * lib/time.in.h (includes): Likewise.
31771         * lib/unistd.in.h (includes): Likewise.
31772         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
31773         replaced.
31774         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
31775         * m4/stddef_h.m4: New file.
31776         * modules/stddef: Likewise.
31777         * lib/stddef.in.h: Likewise.
31778         * modules/stddef-tests: Likewise.
31779         * tests/test-stddef.c: Likewise.
31780         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
31781         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
31782         * doc/posix-headers/locale.texi (locale.h): Likewise.
31783         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
31784         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
31785         * doc/posix-headers/string.texi (string.h): Likewise.
31786         * doc/posix-headers/time.texi (time.h): Likewise.
31787         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
31788         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
31789
31790 2009-08-14  Eric Blake  <ebb9@byu.net>
31791
31792         doc: improve git diff of texinfo files
31793         * .gitattributes: Add rule for *.texi files, with hint on how to
31794         use it.
31795         Copied from m4, and based on a report by Bruno Haible.
31796
31797 2009-08-14  Bruno Haible  <bruno@clisp.org>
31798
31799         Disable multithread support by default on Cygwin 1.5.x for real.
31800         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
31801
31802 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
31803
31804         update-copyright: much ado about intervals
31805         * build-aux/update-copyright: Implement and document
31806         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
31807         of copyright year intervals.
31808         Also, document UPDATE_COPYRIGHT_YEAR.
31809         * tests/test-update-copyright.sh: Test it.
31810
31811         update-copyright: convert 2-digit to 4-digit years
31812         * build-aux/update-copyright: Implement and document.
31813         * tests/test-update-copyright.sh: Update.
31814
31815 2009-08-14  Jim Meyering  <meyering@redhat.com>
31816
31817         test-exclude: avoid coreutils "make check" failure
31818         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
31819         just as in test-argmatch.c.
31820
31821 2009-08-13  Eric Blake  <ebb9@byu.net>
31822
31823         test-dup2: fix bad assumption
31824         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
31825         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
31826
31827         test-version-etc: fix CRLF portability issue
31828         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
31829         recognize \r.
31830         * tests/test-argp-version-etc-1.sh: Likewise.
31831
31832         getopt: update client modules
31833         * modules/argp (Depends-on): Use getopt-gnu.
31834         * modules/git-merge-changelog (Depends-on): Likewise.
31835         * modules/long-options (Depends-on): Likewise.
31836         * modules/xstrtol (Depends-on): Likewise.
31837
31838 2009-08-13  Simon Josefsson  <simon@josefsson.org>
31839
31840         * tests/test-version-etc.sh: Don't fail on different
31841         project/version.  Don't fail on CRLF differences.  Rewrite to use
31842         multiple -e instead of multiple sed forks, suggested by Eric Blake
31843         <ebb9@byu.net>.
31844         * tests/test-argp-version-etc-1.sh: Likewise.
31845
31846 2009-08-13  Simon Josefsson  <simon@josefsson.org>
31847
31848         * tests/test-version-etc.sh: Don't fail on different
31849         project/version.
31850
31851 2009-08-12  Bruno Haible  <bruno@clisp.org>
31852
31853         Tests for modules 'getopt-posix', 'getopt-gnu'.
31854         * modules/getopt-posix-tests: New file.
31855         * tests/test-getopt.c: New file.
31856         * tests/test-getopt.h: New file.
31857         * tests/test-getopt_long.h: New file.
31858
31859         New modules 'getopt-posix', 'getopt-gnu'.
31860         * modules/getopt-gnu: New file, renamed from modules/getopt.
31861         * modules/getopt-posix: New file.
31862         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
31863         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
31864         (gl_GETOPT): Remove macro.
31865         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
31866         Disable the test against BSD systems that declare optreset. Test
31867         against mingw bug. Test against lack of support of optional arguments
31868         on many platforms.
31869         * doc/glibc-headers/getopt.texi: Update module name and list of
31870         relevant platforms.
31871         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
31872         'getopt-gnu' and more portability problems.
31873         * NEWS: Mention the changes.
31874
31875 2009-08-12  Bruno Haible  <bruno@clisp.org>
31876
31877         Ensure that optarg etc. get declared by <unistd.h>.
31878         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
31879         AC_USE_SYSTEM_EXTENSIONS.
31880         * modules/getopt (Depends-on): Add 'extensions'.
31881
31882 2009-08-12  Bruno Haible  <bruno@clisp.org>
31883
31884         Avoid test link errors.
31885         * modules/pipe-filter-ii-tests (Makefile.am): Define
31886         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
31887         * modules/pipe-filter-gi-tests (Makefile.am): Define
31888         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
31889         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
31890
31891 2009-08-12  Bruno Haible  <bruno@clisp.org>
31892
31893         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
31894         gl_GETOPT_SUBSTITUTE before.
31895         (gl_GETOPT): Use it.
31896         * m4/argp.m4 (gl_ARGP): Update.
31897         Reported by Sergey Poznyakoff.
31898
31899         * m4/getopt.m4: Reorder macros.
31900         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
31901         (gl_GETOPT_SUBSTITUTE): Remove macro.
31902
31903 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
31904
31905         Minor improvement in gitlog-to-changelog
31906
31907         * build-aux/gitlog-to-changelog: New option `--format' makes
31908         output format string configurable.
31909
31910 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
31911
31912         Optimize exclude: use hash tables for non-wildcard patterns.
31913
31914         * lib/exclude.c: Include hash.h and mbuiter.h
31915         (struct exclude_pattern, exclude_segment): New data types.
31916         (struct exclude): Rewrite.
31917         (fnmatch_pattern_has_wildcards): New function.
31918         (new_exclude_segment, free_exclude_segment): New functions.
31919         (excluded_file_pattern_p, excluded_file_name_p): New functions.
31920         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
31921         * lib/exclude.h (is_fnmatch_pattern): New prototype.
31922         * modules/exclude: Depend on hash and mbuiter.
31923
31924         * modules/exclude-tests: New file.
31925         * tests/test-exclude.c: New file.
31926         * tests/test-exclude1.sh: New file.
31927         * tests/test-exclude2.sh: New file.
31928         * tests/test-exclude3.sh: New file.
31929         * tests/test-exclude4.sh: New file.
31930         * tests/test-exclude5.sh: New file.
31931         * tests/test-exclude6.sh: New file.
31932         * tests/test-exclude7.sh: New file.
31933
31934 2009-08-12  Bruno Haible  <bruno@clisp.org>
31935
31936         Ensure that getopt() gets declared by <unistd.h>.
31937         * lib/unistd.in.h: Conditionally include getopt.h.
31938         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
31939         Set GNULIB_UNISTD_H_GETOPT.
31940         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
31941         GNULIB_UNISTD_H_GETOPT.
31942         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
31943
31944 2009-08-12  Bruno Haible  <bruno@clisp.org>
31945
31946         Clarify logic.
31947         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
31948         gl_replace_getopt instead of GETOPT_H.
31949
31950 2009-08-12  Bruno Haible  <bruno@clisp.org>
31951
31952         * m4/getopt.m4: Add comments.
31953
31954 2009-08-12  Bruno Haible  <bruno@clisp.org>
31955
31956         Disable multithread support by default on Cygwin 1.5.x.
31957         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
31958         set gl_use_threads=no if not specified otherwise.
31959
31960 2009-08-11  Bruno Haible  <bruno@clisp.org>
31961
31962         Avoid compilation error on NetBSD 5.0.
31963         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
31964         * tests/test-stdio.c: Likewise.
31965         * tests/test-stdlib.c: Likewise.
31966         * tests/test-string.c: Likewise.
31967         * tests/test-unistd.c: Likewise.
31968         Reported by Greg Troxel <gdt@ir.bbn.com>
31969         at <https://savannah.gnu.org/support/?106973>.
31970
31971 2009-08-11  Bruno Haible  <bruno@clisp.org>
31972
31973         * modules/dup2-tests (Depends-on): Remove close.
31974
31975         Undo 2009-07-19 commit.
31976         * modules/acl-tests (Depends-on): Remove close.
31977         * modules/binary-io-tests (Depends-on): Likewise.
31978         * modules/closein-tests (Depends-on): Likewise.
31979         * modules/flock-tests (Depends-on): Likewise.
31980         * modules/fsync-tests (Depends-on): Likewise.
31981         * modules/lseek-tests (Depends-on): Likewise.
31982         * modules/pipe-tests (Depends-on): Likewise.
31983         * modules/posix_spawn-tests (Depends-on): Likewise.
31984         * modules/posix_spawnp-tests (Depends-on): Likewise.
31985         * modules/stat-time-tests (Depends-on): Likewise.
31986         * modules/yesno-tests (Depends-on): Likewise.
31987
31988 2009-08-10  Bruno Haible  <bruno@clisp.org>
31989
31990         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
31991
31992 2009-08-10  Bruno Haible  <bruno@clisp.org>
31993
31994         Fix a gcc warning.
31995         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
31996
31997 2009-08-10  Bruno Haible  <bruno@clisp.org>
31998
31999         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
32000         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
32001         not only the first time.
32002         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
32003         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
32004         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
32005         is 1, not only the the first time.
32006
32007 2009-08-10  Bruno Haible  <bruno@clisp.org>
32008
32009         Make it possible to use module 'gethostname' without module 'close'.
32010         * lib/unistd.in.h (close): Evoke a link error only if
32011         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
32012         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
32013         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
32014         * modules/unistd (Makefile.am): Substitute
32015         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
32016         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
32017         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
32018         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
32019         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
32020         * modules/sys_ioctl (Makefile.am): Substitute
32021         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
32022         * modules/socket (configure.ac): On native Windows, set
32023         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
32024         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
32025         Reported by Sam Steingold <sds@gnu.org>.
32026
32027 2009-08-10  Bruno Haible  <bruno@clisp.org>
32028
32029         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
32030         * modules/ioctl (configure.ac): Likewise.
32031
32032 2009-08-10  Bruno Haible  <bruno@clisp.org>
32033
32034         Avoid collision between gnulib wrapper and libintl wrapper.
32035         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
32036         already defined in intl/printf.c.
32037         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
32038         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
32039
32040 2009-08-09  Bruno Haible  <bruno@clisp.org>
32041
32042         Make <sys/select.h> really self-contained, also on Solaris 10.
32043         * lib/sys_select.in.h: Include <string.h>.
32044         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
32045         Solaris 10 problem.
32046         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
32047         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
32048         Reported by Jim Meyering.
32049
32050 2009-08-09  Bruno Haible  <bruno@clisp.org>
32051
32052         Avoid warnings from 'aclocal' that are due to a use of macro name
32053         AM_XGETTEXT_OPTION that is not defined in automake.
32054         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
32055         automake.
32056         * modules/error (configure.ac): Likewise.
32057         * modules/propername (configure.ac): Likewise.
32058         * modules/vasprintf (configure.ac): Likewise.
32059         * modules/verror (configure.ac): Likewise.
32060         * modules/xprintf (configure.ac): Likewise.
32061         * modules/xvasprintf (configure.ac): Likewise.
32062
32063 2009-08-08  Bruno Haible  <bruno@clisp.org>
32064
32065         Avoid compilation error in C++ mode.
32066         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
32067         Reported by Sam Steingold <sds@gnu.org>.
32068
32069 2009-08-08  Bruno Haible  <bruno@clisp.org>
32070
32071         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
32072         for the various Unix platforms.
32073         * doc/posix-headers/limits.texi: Update platforms list regarding
32074         HOST_NAME_MAX.
32075         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
32076
32077 2009-08-07  Jim Meyering  <meyering@redhat.com>
32078
32079         selinux-at: fix typo in a comment
32080         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
32081         Spotted by Paolo Bonzini.
32082
32083         selinux-at: remove redundant m4 code, add documentation
32084         * modules/selinux-at (configure.ac): Remove redundant code.
32085         LIB_SELINUX is already set via the dependent module, selinux-h.
32086         (Include): Add quotes around selinux-at.h.
32087         * lib/selinux-at.h: Add documentation.
32088         Reported by Bruno Haible in
32089         http://marc.info/?l=gnulib-bug&m=124958988300749
32090
32091 2009-08-07  Bruno Haible  <bruno@clisp.org>
32092
32093         Avoid link error on MacOS X 10.3 and 10.4.
32094         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
32095         on non-ELF systems.
32096         * lib/argp-pv.c (argp_program_version): Likewise.
32097         Reported by Simon Josefsson.
32098
32099 2009-08-07  Simon Josefsson  <simon@josefsson.org>
32100
32101         * tests/test-version-etc.sh: Use $EXEEXT.
32102
32103 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
32104
32105         update-copyright: update documentation to point to maint.mk
32106         * build-aux/update-copyright: Here.
32107
32108 2009-08-06  Jim Meyering  <meyering@redhat.com>
32109
32110         maint.mk: support update-copyright-local
32111         * top/maint.mk (update-copyright-local): Define place-holder.
32112         (update-copyright): Depend on $(update-copyright-local).
32113
32114 2009-08-06  Jim Meyering  <meyering@redhat.com>
32115
32116         selinux-at: new module
32117         Initially written for coreutils, this module will soon be
32118         used by findutils, too.
32119         * MODULES.html.sh [Misc]: Add selinux-at.
32120         * lib/selinux-at.h: New file, from coreutils.
32121         * lib/selinux-at.c: Likewise.
32122         * modules/selinux-at: Likewise.
32123         (License): Change from LGPL to GPL, since it depends
32124         on the GPL'd openat module.
32125
32126         doc: update README
32127         * README: Remove references to cogito.
32128         Remove cvs-repo-updating instructions from 2007.
32129         Don't imply that CVS is better if you have limited disk space.
32130
32131 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
32132
32133         update-copyright: support C-style comments
32134         * build-aux/update-copyright: Implement and document.
32135         * tests/test-update-copyright.sh: Test.
32136
32137 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
32138
32139         update-copyright: support omitted "(C)"
32140         * build-aux/update-copyright: Implement and document.  Also,
32141         allow variable whitespace before "(C)".
32142         * tests/test-update-copyright.sh: Test.
32143
32144 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
32145
32146         update-copyright: don't trip on non-FSF copyright statements
32147         * build-aux/update-copyright: Fix so that the first correctly
32148         formatted FSF copyright statement is recognized no matter what
32149         appears before it.  Update documentation.
32150         * tests/test-update-copyright.sh: Test that.
32151
32152 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
32153
32154         update-copyright: clean up code a little
32155         * build-aux/update-copyright: Append "_re" to the name of any
32156         variable holding a regular expression.
32157         Replace "old" and "new" with "stmt" in variable names.
32158         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
32159         handled correctly.
32160         Format code more consistently.
32161
32162 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
32163
32164         update-copyright-tests: improve portability
32165         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
32166         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
32167
32168 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
32169
32170         update-copyright: support @copyright{} and &copy;
32171         * build-aux/update-copyright: Implement and document.
32172         * tests/test-update-copyright.sh: Test.
32173
32174 2009-08-04  Jim Meyering  <meyering@redhat.com>
32175
32176         update-copyright-tests: correctly test EOL=\r\n handling
32177         * tests/test-update-copyright.sh: Put \r at the end of some lines
32178         for the dos-eol tests.  Based on a patch by Joel E. Denny.
32179
32180         maint.mk: make update-copyright exclusion list more configurable
32181         * top/maint.mk (update-copyright): Default to excluding COPYING,
32182         but allow an override, in case someone does want to update that file.
32183
32184         maint.mk: don't update copyright date in COPYING
32185         * top/maint.mk (update-copyright): Exclude COPYING.
32186
32187         maint.mk: add a copyright-updating rule
32188         * top/maint.mk (update-copyright): New rule.
32189         Derived from coreutils/Makefile.am.
32190
32191         update-copyright: rename some variables
32192         * build-aux/update-copyright: Rename a few variables for clarity.
32193         Tweak syntax.  List Joel E. Denny as coauthor.
32194
32195 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
32196
32197         update-copyright: fix bug for 2-digit last year and add tests
32198         * build-aux/update-copyright: Fix bug.
32199         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
32200         specified.
32201         * modules/update-copyright-tests: New
32202         * tests/test-update-copyright.sh: New.
32203
32204 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
32205
32206         update-copyright: handle leading tabs in line prefix
32207         * build-aux/update-copyright: Count leading tabs as 8 spaces
32208         when computing margin.  This helps with the formatting of
32209         ChangeLogs, for example.
32210         Fix documentation a little.
32211
32212 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
32213
32214         update-copyright: support EOL=\r\n
32215         * build-aux/update-copyright: Implement that.
32216
32217 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
32218
32219         update-copyright: automatically format copyright statements
32220         * build-aux/update-copyright: Implement that.
32221         Also, be a little more predictable and safer by always failing
32222         when the full copyright format is not perfectly recognized as an
32223         unbroken whole.  Discussed at
32224         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
32225         Rewrite documentation.
32226
32227 2009-08-03  Bruno Haible  <bruno@clisp.org>
32228
32229         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
32230
32231 2009-08-02  Bruno Haible  <bruno@clisp.org>
32232
32233         Tests for module 'uname'.
32234         * modules/uname-tests: New file.
32235         * tests/test-uname.c: New file.
32236
32237         New module 'uname'.
32238         * lib/uname.c: New file.
32239         * m4/uname.m4: New file.
32240         * modules/uname: New file.
32241         * doc/posix-functions/uname.texi: Mention the new module.
32242
32243 2009-08-02  Bruno Haible  <bruno@clisp.org>
32244
32245         Tests for module 'sys_utsname'.
32246         * modules/sys_utsname-tests: New file.
32247         * tests/test-sys_utsname.c: New file.
32248
32249         New module 'sys_utsname'.
32250         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
32251         * m4/sys_utsname_h.m4: New file.
32252         * modules/sys_utsname: New file.
32253         * doc/posix-headers/sys_utsname.texi: Mention the new module.
32254
32255 2009-08-02  Bruno Haible  <bruno@clisp.org>
32256
32257         Implicitly initialize the sockets library.
32258         * lib/gethostname.c: Include sockets.h.
32259         (rpl_gethostname): Invoke gl_sockets_startup.
32260         * lib/socket.c: Include sockets.h.
32261         (rpl_socket): Invoke gl_sockets_startup.
32262         * modules/gethostname (Depends-on): Add sockets.
32263         * modules/socket (Depends-on): Likewise.
32264         * tests/test-poll.c: Don't include sockets.h.
32265         (main): Don't invoke gl_sockets_startup.
32266         * tests/test-select.c: Don't include sockets.h.
32267         (main): Don't invoke gl_sockets_startup.
32268
32269 2009-08-02  Bruno Haible  <bruno@clisp.org>
32270
32271         Allow multiple calls to gl_sockets_startup.
32272         * lib/sockets.c (initialized_sockets_version): New variable.
32273         (gl_sockets_startup): Do nothing if already called for this or a higher
32274         version.
32275         (gl_sockets_cleanup): Reset initialized_sockets_version.
32276
32277 2009-08-03  Simon Josefsson  <simon@josefsson.org>
32278
32279         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
32280         different project/version.
32281
32282 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
32283             Bruno Haible  <bruno@clisp.org>
32284
32285         Tests for module 'pipe-filter-gi'.
32286         * modules/pipe-filter-gi-tests: New file.
32287         * tests/test-pipe-filter-gi1.sh: New file.
32288         * tests/test-pipe-filter-gi1.c: New file.
32289         * tests/test-pipe-filter-gi2.sh: New file.
32290         * tests/test-pipe-filter-gi2-main.c: New file.
32291         * tests/test-pipe-filter-gi2-child.c: New file.
32292
32293         New module 'pipe-filter-gi'.
32294         * lib/pipe-filter-gi.c: New file.
32295         * modules/pipe-filter-gi: New file.
32296
32297 2009-08-02  Bruno Haible  <bruno@clisp.org>
32298             Paolo Bonzini  <bonzini@gnu.org>
32299
32300         Tests for module 'pipe-filter-ii'.
32301         * modules/pipe-filter-ii-tests: New file.
32302         * tests/test-pipe-filter-ii1.sh: New file.
32303         * tests/test-pipe-filter-ii1.c: New file.
32304         * tests/test-pipe-filter-ii2.sh: New file.
32305         * tests/test-pipe-filter-ii2-main.c: New file.
32306         * tests/test-pipe-filter-ii2-child.c: New file.
32307
32308         New module 'pipe-filter-ii'.
32309         * lib/pipe-filter.h: New file.
32310         * lib/pipe-filter-ii.c: New file.
32311         * lib/pipe-filter-aux.h: New file.
32312         * modules/pipe-filter-ii: New file.
32313
32314 2009-08-02  Simon Josefsson  <simon@josefsson.org>
32315
32316         * lib/gc-libgcrypt.c: Change copyright to FSF.
32317         * lib/gc-gnulib.c: Likewise.
32318
32319 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
32320
32321         * lib/gethostname.c: Include limits.h.
32322
32323 2009-08-02  Simon Josefsson  <simon@josefsson.org>
32324             Bruno Haible  <bruno@clisp.org>
32325
32326         Ensure HOST_NAME_MAX as part of the gethostname module.
32327         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
32328         define also HOST_NAME_MAX.
32329         * tests/test-gethostname.c: Include <limits.h>.
32330         (main): Check also HOST_NAME_MAX.
32331         * doc/posix-headers/limits.texi: Document the mingw problem.
32332
32333 2009-08-02  Bruno Haible  <bruno@clisp.org>
32334
32335         * lib/gethostname.c (gethostname): Fix handling of large len argument.
32336         Add comments.
32337
32338 2009-03-31  Simon Josefsson  <simon@josefsson.org>
32339
32340         * lib/gethostname.c: Add Windows wrapper.
32341         * m4/gethostname.m4: Look for gethostname in -lws2_32.
32342         * modules/gethostname: Depend on sys_socket & errno, for also
32343         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
32344         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
32345
32346 2009-07-31  Jim Meyering  <meyering@redhat.com>
32347
32348         getloadavg: fix symbol name in comment
32349         * lib/getloadavg.c: Correct a typo I introduced when adding
32350         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
32351         Matt Kraai spotted the problem.
32352
32353 2009-07-29  Matt Kraai  <mkraai@beckman.com>
32354
32355         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
32356         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
32357         code also if ! defined N_NAME_POINTER.
32358         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
32359         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
32360         but the n_name member is a 12-byte array.
32361
32362 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
32363
32364         update-copyright: generalize comment handling
32365         * build-aux/update-copyright: Handle copyright statements
32366         within more comment styles.
32367         Document usage.
32368         Report any file with an external copyright holder or parse failure.
32369
32370 2009-07-29  Jim Meyering  <meyering@redhat.com>
32371
32372         mktime: correct setting of REPLACE_MKTIME
32373         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
32374
32375         update-copyright: new module
32376         * modules/update-copyright: New file.
32377         * build-aux/update-copyright: New file.
32378         * MODULES.html.sh (maint+release support): Add update-copyright.
32379
32380 2009-07-27  Bruno Haible  <bruno@clisp.org>
32381
32382         Fix compilation error when <ctime> is used and mktime is replaced.
32383         * lib/time.in.h (mktime): New declaration.
32384         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
32385         REPLACE_MKTIME instead of defining mktime in config.h.
32386         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
32387         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
32388         Reported by Ross McFarland <rwmcfa1@neces.com>.
32389
32390 2009-07-27  Bruno Haible  <bruno@clisp.org>
32391
32392         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
32393         Reported by Matt Kraai <mkraai@beckman.com>.
32394
32395 2009-07-25  Jim Meyering  <meyering@redhat.com>
32396
32397         maint.mk: avoid warnings about missing files
32398         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
32399         diagnostic when .prev-version does not exist.
32400         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
32401         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
32402         nonexistent cfg.mk.
32403         Suggestions from Simon Josefsson.
32404
32405 2009-07-25  Bruno Haible  <bruno@clisp.org>
32406
32407         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
32408         defined as macros. Needed on QNX 6.4.1.
32409         Reported by Matt Kraai <mkraai@beckman.com>.
32410
32411 2009-07-23  Jim Meyering  <meyering@redhat.com>
32412
32413         maint.mk: invoke "make dist" with a working value of XZ_OPT
32414         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
32415
32416 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
32417
32418         Make fseeko.c compile on QNX.
32419         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
32420
32421 2009-07-22  Peter Simons  <simons@cryp.to>
32422
32423         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
32424         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
32425         * lib/md4.h: Likewise.
32426         * lib/md5.h: Likewise.
32427         * lib/sha1.h: Likewise.
32428         * lib/sha256.h: Likewise.
32429         * lib/sha512.h: Likewise.
32430
32431         tests-sha1: don't assign literal string to 'char *' variable
32432         * tests/test-sha1.c (main): Declare locals with "const" to match
32433         attributes of the right hand side.
32434
32435 2009-07-21  Eric Blake  <ebb9@byu.net>
32436
32437         dup2: fix more mingw problems
32438         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
32439         fd to itself.
32440         * doc/posix-functions/dup2.texi (dup2): Document the bug.
32441         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
32442         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
32443         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
32444         care of mingw bugs.
32445
32446 2009-07-21  Jim Meyering  <meyering@redhat.com>
32447
32448         vc-list-files: avoid failure when /bin/sh is dash
32449         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
32450         On some Debian based systems, /bin/sh is a symlink to dash, and running
32451         this command would omit the "/" following each 'tests' prefix:
32452           dash -x build-aux/vc-list-files -C . tests
32453         That is because bash and dash work differently:
32454           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
32455           bash ok
32456           dash odd
32457
32458 2009-07-21  Eric Blake  <ebb9@byu.net>
32459
32460         dup2-tests: test previous patch
32461         * modules/dup2-tests: New file.
32462         * tests/test-dup2.c: Likewise.
32463         * tests/test-open.c (main): Avoid unspecified behavior.
32464         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
32465         test.
32466
32467         dup2: work around mingw and cygwin 1.5 bug
32468         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
32469         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
32470         * modules/unistd (Makefile.am): Substitute it.
32471         * lib/unistd.in.h (dup2): Declare the replacement.
32472         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
32473         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
32474         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
32475         * modules/execute (Depends-on): Add dup2.
32476         * modules/fseterr (Depends-on): Likewise.
32477         * modules/pipe (Depends-on): Likewise.
32478         * modules/posix_spawn-internal (Depends-on): Likewise.
32479
32480 2009-07-21  Bruno Haible  <bruno@clisp.org>
32481
32482         * modules/.gitattributes: New file.
32483
32484 2009-07-20  Bruno Haible  <bruno@clisp.org>
32485
32486         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
32487         (main): Use it.
32488
32489 2009-07-20  Eric Blake  <ebb9@byu.net>
32490
32491         test-pipe: make a bit more robust.
32492         * tests/test-pipe.c (myerr): Allow error messages regardless of
32493         what we do to stderr.
32494         (test_pipe): Rearrange to avoid deadlock.
32495         (child_main): Try a larger read, to ensure we avoided deadlock.
32496         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
32497         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
32498         if misused.
32499
32500 2009-07-19  Jim Meyering  <meyering@redhat.com>
32501
32502         fts: avoid false-positive cycle-detection
32503         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
32504         for each new command line argument.
32505
32506 2009-07-19  Bruno Haible  <bruno@clisp.org>
32507
32508         Fix build error on mingw with the modules sys_select and unistd.
32509         * modules/acl-tests (Depends-on): Add close.
32510         * modules/binary-io-tests (Depends-on): Likewise.
32511         * modules/closein-tests (Depends-on): Likewise.
32512         * modules/flock-tests (Depends-on): Likewise.
32513         * modules/fsync-tests (Depends-on): Likewise.
32514         * modules/lseek-tests (Depends-on): Likewise.
32515         * modules/pipe-tests (Depends-on): Likewise.
32516         * modules/posix_spawn-tests (Depends-on): Likewise.
32517         * modules/posix_spawnp-tests (Depends-on): Likewise.
32518         * modules/stat-time-tests (Depends-on): Likewise.
32519         * modules/yesno-tests (Depends-on): Likewise.
32520
32521 2009-07-19  Bruno Haible  <bruno@clisp.org>
32522
32523         Unify conditionals.
32524         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
32525         macros, not at the compiler macros.
32526         * lib/pipe.c: Likewise.
32527         * lib/execute.c: Likewise.
32528         * lib/spawni.c: Likewise.
32529
32530 2009-07-19  Bruno Haible  <bruno@clisp.org>
32531
32532         Fix handling of closed stdin/stdout/stderr on mingw.
32533         * lib/w32spawn.h: Include unistd.h.
32534         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
32535         file descriptor with O_NOINHERIT flag.
32536         (fd_safer_noinherit): New function, based on fd-safer.c.
32537         (dup_safer_noinherit): New function, based on dup-safer.c.
32538         (undup_safer_noinherit): New function.
32539         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
32540         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
32541         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
32542         instead of fd_safer.
32543         * tests/test-pipe.c: Include <windows.h>.
32544         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
32545         result.
32546
32547         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
32548         from main.
32549         (test_pipe): Pass an extra argument for disambiguation.
32550         (main): Invoke parent_main or child_main.
32551
32552         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
32553         consistently.
32554
32555 2009-07-18  Eric Blake  <ebb9@byu.net>
32556
32557         test-pipe: fix mingw build
32558         * tests/test-pipe.c (main): Avoid fcntl on mingw.
32559
32560 2009-07-18  Bruno Haible  <bruno@clisp.org>
32561
32562         * modules/pipe-tests (Makefile.am): Fix typo.
32563
32564 2009-07-18  Eric Blake  <ebb9@byu.net>
32565
32566         error: fix mingw build
32567         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
32568         Reported by Bruno Haible.
32569
32570         error: avoid undefined use of stdout
32571         * lib/error.c (error, error_at_line): Check that fd 1 is open
32572         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
32573         is handling faults and the close_stdout module wants to report the
32574         detection of closed stdout as an error.
32575
32576 2009-07-17  Eric Blake  <ebb9@byu.net>
32577
32578         pipe: be robust in face of closed fds
32579         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
32580         should cause child to misbehave.
32581         * modules/pipe-tests: New module.
32582         * tests/test-pipe.c: New file.
32583         * tests/test-pipe.sh: New file.
32584         Reported by Akim Demaille.
32585
32586 2009-07-14  Bruno Haible  <bruno@clisp.org>
32587
32588         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
32589         Reported by anonymous kc.
32590
32591 2009-07-07  Jim Meyering  <meyering@redhat.com>
32592
32593         maint.mk: don't look for translatable strings in *.m4 or *.mk
32594         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
32595         when searching for translatable strings.
32596
32597 2009-07-05  Jim Meyering  <meyering@redhat.com>
32598
32599         remove superfluous parentheses in STREQ definition
32600         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
32601         * lib/getugroups.c (STREQ): Likewise.
32602         * lib/fnmatch.c (STREQ): Likewise.
32603         Spotted by Bruno Haible.
32604
32605 2009-07-04  Jim Meyering  <meyering@redhat.com>
32606
32607         argv-iter: new module
32608         * MODULES.html.sh: Add argv-iter.
32609         * lib/argv-iter.c, lib/argv-iter.h: New files.
32610         * modules/argv-iter: New file.
32611         * modules/argv-iter-tests: New file.
32612         * tests/test-argv-iter.c: Test it.
32613
32614 2009-07-04  Bruno Haible  <bruno@clisp.org>
32615
32616         Fix assertion.
32617         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
32618         contains more exact copies of a given entry than file2, leave the extra
32619         copies unpaired rather than aborting.
32620         Reported by Eric Blake.
32621
32622 2009-07-02  Bruno Haible  <bruno@clisp.org>
32623
32624         Speedup git-merge-changelog for git cherry-pick.
32625         * lib/git-merge-changelog.c (struct entries_mapping): New type.
32626         (entries_mapping_get): New function, extracted from compute_mapping.
32627         (entries_mapping_reverse_get): New function.
32628         (compute_mapping): Add a 'full' argument. Return the result in a
32629         'struct entries_mapping'.
32630         (main): Update. Access the mappings through entries_mapping_get.
32631         Reported by Eric Blake.
32632
32633 2009-07-02  Bruno Haible  <bruno@clisp.org>
32634
32635         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
32636         best_i.
32637
32638 2009-07-02  Bruno Haible  <bruno@clisp.org>
32639
32640         Speed up approximate search for matching ChangeLog entries.
32641         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
32642         argument. Call fstrcmp_bounded instead of fstrcmp.
32643         (compute_mapping, try_split_merged_entry, main): Update callers.
32644
32645 2009-07-02  Bruno Haible  <bruno@clisp.org>
32646
32647         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
32648
32649 2009-06-30  Bruno Haible  <bruno@clisp.org>
32650
32651         Reduce the number of uc_is_cased calls.
32652         * lib/unicase.h (casing_suffix_context_t): Add
32653         'first_char_except_ignorable' field.
32654         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
32655         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
32656         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
32657         Update initializer.
32658         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
32659         case-ignorable characters.
32660         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
32661         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
32662         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
32663         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
32664         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
32665
32666 2009-06-30  Bruno Haible  <bruno@clisp.org>
32667
32668         Tests for module 'unicase/ignorable'.
32669         * modules/unicase/ignorable-tests: New file.
32670         * tests/unicase/test-ignorable.c: New file, generated by
32671         gen-uni-tables.
32672
32673         Tests for module 'unicase/cased'.
32674         * modules/unicase/cased-tests: New file.
32675         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
32676         * tests/unicase/test-predicate-part1.h: New file, derived from
32677         tests/unictype/test-predicate-part1.h.
32678         * tests/unicase/test-predicate-part2.h: New file, same as
32679         tests/unictype/test-predicate-part2.h.
32680
32681         Fix evaluation of "Before C" condition of FINAL_SIGMA.
32682         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
32683         (output_casing_properties): New function.
32684         (main): Call it.
32685         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
32686         * lib/unicase/cased.c: Include unictype/bitmap.h.
32687         (uc_is_cased): Define through a bitmap lookup.
32688         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
32689         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
32690         (uc_is_case_ignorable): Define through a bitmap lookup.
32691         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
32692         lib/unictype/bitmap.h.
32693         (Depends-on): Add inline. Clean up.
32694         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
32695         lib/unictype/bitmap.h.
32696         (Depends-on): Add inline. Clean up.
32697         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
32698         recognition.
32699         * tests/unicase/test-u16-tolower.c (main): Likewise.
32700         * tests/unicase/test-u32-tolower.c (main): Likewise.
32701
32702 2009-06-30  Bruno Haible  <bruno@clisp.org>
32703
32704         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
32705         * lib/unicase/u16-casemap.c: Likewise.
32706         * lib/unicase/u32-casemap.c: Likewise.
32707
32708 2009-06-29  Bruno Haible  <bruno@clisp.org>
32709
32710         Define u32_casefold as a wrapper around u32_ct_casefold.
32711         * lib/unicase/u32-casefold.c: Update.
32712         * modules/unicase/u32-casefold (Depends-on): Add
32713         unicase/u32-ct-casefold, unicase/empty-prefix-context,
32714         unicase/empty-suffix-context. Clean up.
32715
32716         Define u16_casefold as a wrapper around u16_ct_casefold.
32717         * lib/unicase/u16-casefold.c: Update.
32718         * modules/unicase/u16-casefold (Depends-on): Add
32719         unicase/u16-ct-casefold, unicase/empty-prefix-context,
32720         unicase/empty-suffix-context. Clean up.
32721
32722         Define u8_casefold as a wrapper around u8_ct_casefold.
32723         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
32724         * lib/unicase/u8-casefold.c: Update.
32725         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
32726         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
32727
32728         Define u32_totitle as a wrapper around u32_ct_totitle.
32729         * lib/unicase/u32-totitle.c: Update.
32730         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
32731         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
32732
32733         Define u16_totitle as a wrapper around u16_ct_totitle.
32734         * lib/unicase/u16-totitle.c: Update.
32735         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
32736         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
32737
32738         Define u8_totitle as a wrapper around u8_ct_totitle.
32739         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
32740         functions.
32741         (FUNC): Delegate to U_CT_TOTITLE.
32742         * lib/unicase/u8-totitle.c: Update.
32743         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
32744         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
32745
32746         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
32747         invocation.
32748         * modules/unicase/u32-tolower (Depends-on): Add
32749         unicase/empty-prefix-context, unicase/empty-suffix-context.
32750
32751         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
32752         invocation.
32753         * modules/unicase/u16-tolower (Depends-on): Add
32754         unicase/empty-prefix-context, unicase/empty-suffix-context.
32755
32756         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
32757         * modules/unicase/u8-tolower (Depends-on): Add
32758         unicase/empty-prefix-context, unicase/empty-suffix-context.
32759
32760         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
32761         invocation.
32762         * modules/unicase/u32-toupper (Depends-on): Add
32763         unicase/empty-prefix-context, unicase/empty-suffix-context.
32764
32765         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
32766         invocation.
32767         * modules/unicase/u16-toupper (Depends-on): Add
32768         unicase/empty-prefix-context, unicase/empty-suffix-context.
32769
32770         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
32771         * modules/unicase/u8-toupper (Depends-on): Add
32772         unicase/empty-prefix-context, unicase/empty-suffix-context.
32773
32774         New module 'unicase/u32-ct-casefold'.
32775         * lib/unicase/u32-ct-casefold.c: New file.
32776         * modules/unicase/u32-ct-casefold: New file.
32777
32778         New module 'unicase/u16-ct-casefold'.
32779         * lib/unicase/u16-ct-casefold.c: New file.
32780         * modules/unicase/u16-ct-casefold: New file.
32781
32782         New module 'unicase/u8-ct-casefold'.
32783         * lib/unicase/u8-ct-casefold.c: New file.
32784         * lib/unicase/u-ct-casefold.h: New file, derived from
32785         lib/unicase/u-casefold.h.
32786         * modules/unicase/u8-ct-casefold: New file.
32787
32788         New module 'unicase/u32-ct-totitle'.
32789         * lib/unicase/u32-ct-totitle.c: New file.
32790         * modules/unicase/u32-ct-totitle: New file.
32791
32792         New module 'unicase/u16-ct-totitle'.
32793         * lib/unicase/u16-ct-totitle.c: New file.
32794         * modules/unicase/u16-ct-totitle: New file.
32795
32796         New module 'unicase/u8-ct-totitle'.
32797         * lib/unicase/u8-ct-totitle.c: New file.
32798         * lib/unicase/u-ct-totitle.h: New file, derived from
32799         lib/unicase/u-totitle.h.
32800         * modules/unicase/u8-ct-totitle: New file.
32801
32802         New module 'unicase/u32-ct-tolower'.
32803         * lib/unicase/u32-ct-tolower.c: New file.
32804         * modules/unicase/u32-ct-tolower: New file.
32805
32806         New module 'unicase/u16-ct-tolower'.
32807         * lib/unicase/u16-ct-tolower.c: New file.
32808         * modules/unicase/u16-ct-tolower: New file.
32809
32810         New module 'unicase/u8-ct-tolower'.
32811         * lib/unicase/u8-ct-tolower.c: New file.
32812         * modules/unicase/u8-ct-tolower: New file.
32813
32814         New module 'unicase/u32-ct-toupper'.
32815         * lib/unicase/u32-ct-toupper.c: New file.
32816         * modules/unicase/u32-ct-toupper: New file.
32817
32818         New module 'unicase/u16-ct-toupper'.
32819         * lib/unicase/u16-ct-toupper.c: New file.
32820         * modules/unicase/u16-ct-toupper: New file.
32821
32822         New module 'unicase/u8-ct-toupper'.
32823         * lib/unicase/u8-ct-toupper.c: New file.
32824         * modules/unicase/u8-ct-toupper: New file.
32825
32826         Add context arguments to u*_casemap functions.
32827         * lib/unicase/unicasemap.h: Include unicase.h.
32828         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
32829         suffix_context arguments.
32830         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
32831         functions.
32832         (FUNC): Add prefix_context and suffix_context arguments. Use
32833         uc_is_cased and uc_is_case_ignorable.
32834         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
32835         * lib/unicase/u16-casemap.c: Likewise.
32836         * lib/unicase/u32-casemap.c: Likewise.
32837         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
32838         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
32839         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
32840         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
32841         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
32842         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
32843
32844         New module 'unicase/u32-suffix-context'.
32845         * lib/unicase/u32-suffix-context.c: New file.
32846         * modules/unicase/u32-suffix-context: New file.
32847
32848         New module 'unicase/u16-suffix-context'.
32849         * lib/unicase/u16-suffix-context.c: New file.
32850         * modules/unicase/u16-suffix-context: New file.
32851
32852         New module 'unicase/u8-suffix-context'.
32853         * lib/unicase/u8-suffix-context.c: New file.
32854         * lib/unicase/u-suffix-context.h: New file.
32855         * modules/unicase/u8-suffix-context: New file.
32856
32857         New module 'unicase/empty-suffix-context'.
32858         * lib/unicase/empty-suffix-context.c: New file.
32859         * modules/unicase/empty-suffix-context: New file.
32860
32861         New module 'unicase/u32-prefix-context'.
32862         * lib/unicase/u32-prefix-context.c: New file.
32863         * modules/unicase/u32-prefix-context: New file.
32864
32865         New module 'unicase/u16-prefix-context'.
32866         * lib/unicase/u16-prefix-context.c: New file.
32867         * modules/unicase/u16-prefix-context: New file.
32868
32869         New module 'unicase/u8-prefix-context'.
32870         * lib/unicase/u8-prefix-context.c: New file.
32871         * lib/unicase/u-prefix-context.h: New file.
32872         * lib/unicase/context.h: New file.
32873         * modules/unicase/u8-prefix-context: New file.
32874
32875         New module 'unicase/empty-prefix-context'.
32876         * lib/unicase/empty-prefix-context.c: New file.
32877         * modules/unicase/empty-prefix-context: New file.
32878
32879         New module 'unicase/ignorable'.
32880         * lib/unicase/ignorable.c: New file.
32881         * modules/unicase/ignorable: New file.
32882
32883         New module 'unicase/cased'.
32884         * lib/unicase/caseprop.h: New file.
32885         * lib/unicase/cased.c: New file.
32886         * modules/unicase/cased: New file.
32887
32888         New functions for case mapping of substrings.
32889         * lib/unicase.h (casing_prefix_context_t): New type.
32890         (unicase_empty_prefix_context): New variable.
32891         (u8_casing_prefix_context, u16_casing_prefix_context,
32892         u32_casing_prefix_context, u8_casing_prefixes_context,
32893         u16_casing_prefixes_context, u32_casing_prefixes_context): New
32894         declarations.
32895         (casing_suffix_context_t): New type.
32896         (unicase_empty_suffix_context): New variable.
32897         (u8_casing_suffix_context, u16_casing_suffix_context,
32898         u32_casing_suffix_context, u8_casing_suffixes_context,
32899         u16_casing_suffixes_context, u32_casing_suffixes_context,
32900         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
32901         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
32902         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
32903         declarations.
32904
32905 2009-06-28  Jim Meyering  <meyering@redhat.com>
32906
32907         boostrap: indent only with spaces
32908         * build-aux/bootstrap: Indent only with spaces, never TABs.
32909
32910         bootstrap: split long lines
32911         * build-aux/bootstrap: Keep line length < 80.
32912
32913         bootstrap: sync from coreutils
32914         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
32915         just as autoreconf does.  Verify a list of prerequisite
32916         package-name,version-number pairs if defined in bootstrap.conf.
32917         Refer to README-prereq, if prerequisites are not satisfied.
32918
32919 2009-06-27  Eric Blake  <ebb9@byu.net>
32920
32921         tests: add test for bogus NULL definition
32922         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
32923         * tests/test-stdlib.c: Likewise.
32924         * tests/test-string.c: Likewise.
32925         * tests/test-locale.c: Likewise.
32926         * tests/test-unistd.c: Likewise.
32927         * modules/stdio-tests (Depends-on): Add verify.
32928         * modules/stdlib-tests (Depends-on): Likewise.
32929         * modules/string-tests (Depends-on): Likewise.
32930         * modules/locale-tests (Depends-on): Likewise.
32931         * modules/unistd-tests (Depends-on): Likewise.
32932
32933 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
32934
32935         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
32936         self-explaining comment.
32937         * m4/selinux-selinux-h: Update serial.
32938         (gl_LIBSELINUX): New macro, adding a warning for missing development
32939         packages to code extracted from...
32940         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
32941         Add warning for missing development packages here, too.
32942
32943 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
32944
32945         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
32946
32947 2009-06-25  Eric Blake  <ebb9@byu.net>
32948
32949         version-etc: fix regression
32950         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
32951         gcc.
32952         (version_etc): Use it, to catch bugs with trailing NULL.
32953         * lib/version-etc.c (version_etc_arn): Delete unused argument.
32954         (version_etc_va): Fix logic bug.
32955         * modules/version-etc-tests: Add test.
32956         * tests/test-version-etc.c: New file.
32957         * tests/test-version-etc.sh: Likewise.
32958
32959 2009-06-25  Sam Steingold  <sds@gnu.org>
32960
32961         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
32962         mbtowc declaration.
32963
32964 2009-06-25  Eric Blake  <ebb9@byu.net>
32965
32966         fpurge: migrate into <stdio.h>
32967         * lib/fpurge.h: Delete...
32968         * lib/stdio.in.h (fpurge): ...and declare here, instead.
32969         * lib/fpurge.c (fpurge): Change declaring header.
32970         * modules/fpurge (Files): Drop deleted file.
32971         (Depends-on): Add stdio.
32972         (configure.ac): Set witness.
32973         * modules/stdio (Makefile.am): Support fpurge macros.
32974         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
32975         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
32976         * lib/fflush.c: Update client.
32977         * tests/test-fpurge.c: Likewise.
32978         * NEWS: Mention the change.
32979
32980 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
32981
32982         * lib/argp-version-etc.c (program_authors): Add const
32983         qualifier.
32984         * lib/version-etc.c: Fix typos in the comments.
32985         * modules/argp-version-etc: Depends on version-etc.
32986
32987 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
32988
32989         argp-version-etc: new module.
32990
32991         * lib/argp-version-etc.c: New file.
32992         * lib/argp-version-etc.h: New file.
32993         * modules/argp-version-etc: New file.
32994         * modules/argp-version-etc-tests: New file.
32995         * tests/test-argp-version-etc.c: New test.
32996         * tests/test-argp-version-etc-1.sh: New test.
32997
32998 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
32999
33000         Provide additional interfaces and documentation for version-etc
33001         module.
33002
33003         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
33004         interfaces.
33005         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
33006         prototypes.
33007
33008 2009-06-24  Bruno Haible  <bruno@clisp.org>
33009
33010         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
33011         HAVE_LIB${NAME} macro.
33012         Reported by Sam Steingold <sds@gnu.org>.
33013
33014 2009-06-23  Simon Josefsson  <simon@josefsson.org>
33015
33016         * modules/hash-tests (test_hash_LDADD): Link to libintl when
33017         needed.
33018
33019 2009-06-21  Bruno Haible  <bruno@clisp.org>
33020
33021         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
33022         work.
33023         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
33024         together with LIB${NAME}, LTLIB${NAME}.
33025         Reported by Sam Steingold <sds@gnu.org>.
33026
33027 2009-06-20  Jim Meyering  <meyering@redhat.com>
33028
33029         tests: make sc_require_test_exit_idiom more generic
33030         * top/maint.mk (Exit_witness_file): New overridable variable.
33031         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
33032         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
33033
33034 2009-06-19  Jim Meyering  <meyering@redhat.com>
33035
33036         hash: reverse order of src/dst parameters in an internal interface
33037         * lib/hash.c (transfer_entries): Reverse order of parameters to
33038         put DST before SRC.  Adjust callers.
33039
33040         tests: test-hash: avoid wholesale duplication
33041         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
33042         Instead, use a loop and add a single conditional.
33043
33044         tests: test-hash: allow seed selection via a command line argument
33045         * tests/test-hash.c (get_seed): New function.
33046         (main): Use it.
33047
33048 2009-06-19  Eric Blake  <ebb9@byu.net>
33049
33050         hash: avoid memory leak on allocation failure
33051         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
33052         failure.  Factor repeated algorithm...
33053         (transfer_entries): ...into new helper routine.
33054         (hash_delete): React to hash_rehash return value.
33055
33056         hash: reduce memory pressure in hash_rehash no-op case
33057         * lib/hash.c (next_prime): Avoid overflow.
33058         (hash_initialize): Factor bucket size computation...
33059         (compute_bucket_size): ...into new helper function.
33060         (hash_rehash): Use new function and open coding to reduce memory
33061         pressure, and avoid a memory leak in USE_OBSTACK code.
33062         Reported by Jim Meyering.
33063
33064 2009-06-18  Eric Blake  <ebb9@byu.net>
33065
33066         hash: make rotation more obvious
33067         * modules/hash (Depends-on): Add bitrotate and stdint.
33068         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
33069         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
33070         (SIZE_MAX): Rely on headers for definition.
33071         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
33072         (raw_hasher): Use rotr_sz.
33073         Suggested by Jim Meyering.
33074
33075         hash: fix memory leak in last patch
33076         * lib/hash.c (hash_rehash): Avoid memory leak.
33077
33078         hash: avoid no-op rehashing
33079         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
33080
33081         hash: provide default callback functions
33082         * lib/hash.c (raw_hasher, raw_comparator): New functions.
33083         (hash_initialize): Use them as defaults.
33084         * tests/test-hash.c (main): Test this.
33085
33086         hash: minor optimization
33087         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
33088         when possible.
33089         (hash_initialize): Document this promise.
33090         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
33091         * tests/test-hash.c (hash_compare_strings): Test this.
33092
33093 2009-06-18  Bruno Haible  <bruno@clisp.org>
33094
33095         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
33096         going to be replaced anyway.
33097
33098 2009-06-18  Bruno Haible  <bruno@clisp.org>
33099
33100         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
33101         in one place.
33102         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
33103         be replaced anyway.
33104
33105 2009-06-18  Eric Blake  <ebb9@byu.net>
33106
33107         hash: check for resize before insertion
33108         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
33109         threshold before insertion, so that a pathological hash_rehash
33110         that fills every bucket can still trigger another rehash.
33111
33112 2009-06-18  Jim Meyering  <meyering@redhat.com>
33113
33114         hash-tests: add a loop around the small tests
33115         * tests/test-hash.c (main): Repeat small tests with selected
33116         small initial table sizes.
33117
33118 2009-06-17  Eric Blake  <ebb9@byu.net>
33119
33120         hash: minor cleanups
33121         * lib/hash.h (hash_entry): Make opaque, by moving...
33122         * lib/hash.c (hash_entry): ...here.
33123         (hash_insert): Clarify restrictions on what can be inserted.
33124         (hash_get_next): Clarify when it is safe to remove an element
33125         during traversal.
33126         (check_tuning): Skip verification when tuning is known safe.
33127         (hash_initialize): Clarify restrictions on tuning.
33128
33129 2009-06-17  Jim Meyering  <jim@meyering.net>
33130         and Eric Blake  <ebb9@byu.net>
33131
33132         hash-tests: new module
33133         * modules/hash-tests: New file.
33134         * tests/test-hash.c: New file.
33135
33136 2009-06-17  Eric Blake  <ebb9@byu.net>
33137
33138         strstr-simple: document new module
33139         * MODULES.html.sh: Document new module.
33140
33141         strstr, strcasestr: replace on platforms with broken memchr
33142         * modules/strstr: Split into...
33143         * modules/strstr-simple: ...new module that does not care about
33144         performance, but does care about glibc bug.
33145         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
33146         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
33147         if platform memchr is broken, per Debian bug 521737.
33148         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
33149         memchr.
33150         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
33151         * doc/posix-functions/strstr.texi (strstr): Document the fix.
33152         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
33153         * modules/mountlist (Depends-on): Add strstr-simple.
33154         * modules/gen-uni-tables (Depends-on): Likewise.
33155         * modules/argz (Depends-on): Add strstr.
33156
33157 2009-06-17  Bruno Haible  <bruno@clisp.org>
33158
33159         * modules/posix_spawn-internal (Depends-on): Add errno.
33160
33161 2009-06-17  Bruno Haible  <bruno@clisp.org>
33162
33163         Define missing ESTALE on Interix 3.5.
33164         * lib/errno.in.h (ESTALE): Assign a value if missing.
33165         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
33166         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
33167         missing.
33168         * doc/posix-headers/errno.texi: Mention the Interix bug.
33169         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
33170
33171 2009-06-15  Eric Blake  <ebb9@byu.net>
33172
33173         memchr, memchr2: add valgrind exception
33174         * lib/memchr.valgrind: New file.
33175         * lib/memchr2.valgrind: New file.
33176         * modules/memchr (Files): Distribute valgrind file.
33177         * modules/memchr2 (Files): Likewise.
33178
33179         docs: memchr is no longer obsolete
33180         * MODULES.html.sh: Move memchr from obsolete to string.h section.
33181         * lib/string.in.h (memchr): Simplify logic.
33182
33183 2009-06-14  Jim Meyering  <meyering@redhat.com>
33184
33185         link-follow: fix the "checking..." message to not mention trailing slash
33186         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
33187         never considered trailing slashes.
33188
33189 2009-06-14  Bruno Haible  <bruno@clisp.org>
33190
33191         * m4/memchr.m4: Mention also the bug on IA-64.
33192         * doc/posix-functions/memchr.texi: Likewise.
33193
33194 2009-06-12  Eric Blake  <ebb9@byu.net>
33195
33196         memchr: detect broken x86_64 and alpha implementations
33197         * modules/memchr-tests (Depends-on): Move mmap detection...
33198         * modules/memchr (Depends-on): ...here.
33199         (configure.ac): Set indicator.
33200         * lib/string.in.h (memchr): Declare replacement.
33201         * modules/string (Makefile.am): Trigger replacement.
33202         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
33203         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
33204         bugs.
33205         * doc/posix-functions/memchr.texi (memchr): Document the bug.
33206         * modules/getpagesize (License): Relax license.
33207
33208 2009-06-11  Bruno Haible  <bruno@clisp.org>
33209
33210         * lib/idpriv.h: Add more references.
33211
33212 2009-06-08  Bruno Haible  <bruno@clisp.org>
33213
33214         Tests for module 'idpriv-droptemp'.
33215         * modules/idpriv-droptemp-tests: New file.
33216         * tests/test-idpriv-droptemp.sh: New file.
33217         * tests/test-idpriv-droptemp.su.sh: New file.
33218         * tests/test-idpriv-droptemp.c: New file.
33219
33220         New module 'idpriv-droptemp'.
33221         * lib/idpriv-droptemp.c: New file.
33222         * modules/idpriv-droptemp: New file.
33223
33224 2009-06-08  Bruno Haible  <bruno@clisp.org>
33225
33226         Tests for module 'idpriv-drop'.
33227         * modules/idpriv-drop-tests: New file.
33228         * tests/test-idpriv-drop.sh: New file.
33229         * tests/test-idpriv-drop.su.sh: New file.
33230         * tests/test-idpriv-drop.c: New file.
33231
33232         New module 'idpriv-drop'.
33233         * lib/idpriv.h: New file.
33234         * lib-idpriv-drop.c: New file.
33235         * m4/idpriv.m4: New file.
33236         * modules/idpriv-drop: New file.
33237
33238 2009-06-08  Bruno Haible  <bruno@clisp.org>
33239
33240         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
33241         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
33242         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
33243         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
33244         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
33245         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
33246         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
33247
33248 2009-06-08  Eric Blake  <ebb9@byu.net>
33249
33250         test-strstr: use memory fence, when possible
33251         * tests/test-strstr.c (main): Use memory fence, in order to be
33252         more likely to trigger Debian bug 521737.
33253         * modules/strstr-tests (Files): Pull in additional files.
33254
33255         memchr: no longer obsolete, for wider field testing
33256         * modules/memchr (Status, Notice): Delete, this module is no
33257         longer obsolete.
33258         * modules/vasnprintf (Depends-on): Add memchr.
33259
33260 2009-06-07  Jim Meyering  <meyering@redhat.com>
33261
33262         hash: declare some functions with the warn_unused_result attribute
33263         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
33264
33265 2009-06-07  Bruno Haible  <bruno@clisp.org>
33266
33267         * tests/test-alignof.c: Don't test int64_t if it does not exist.
33268         Reported by Eric Blake.
33269
33270 2009-06-06  Eric Blake  <ebb9@byu.net>
33271
33272         test-alignof: fix typo with long double
33273         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
33274         compiler error.
33275
33276 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
33277
33278         Escape non-texinfo { and }s.
33279         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
33280         markup error.
33281
33282 2009-06-04  Jim Meyering  <meyering@redhat.com>
33283
33284         gitlog-to-changelog: don't infloop on an empty commit log
33285         * build-aux/gitlog-to-changelog: Warn about an empty log message.
33286         Reported by Boris Petersen <transacid@centerim.org>.
33287
33288 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
33289
33290         version-etc: extend for packagers
33291         Add three new configure options, intended for packagers:
33292           --with-packager="packager name"
33293           --with-packager-version="packager-specific version"
33294           --with-packager-bug-reports="packager bug reporting"
33295         An example with coreutils:
33296           $ ./configure \
33297             --with-packager=Gentoo \
33298             --with-packager-bug-report=http://bugs.gentoo.org/ \
33299             --with-packager-version="patchset 1.6"
33300           $ ./src/ls --version | head -n2
33301           ls (GNU coreutils) 7.1-dirty
33302           Packaged by Gentoo (patchset 1.6)
33303         Note that the bug reporting info via --help doesn't show up because
33304         coreutils uses its own custom emit_bug_reporting_address() implementation
33305         in src/system.h.  If it didn't, it'd look like:
33306           $ ./src/ls --help | tail -n4
33307           Report bugs to <bug-coreutils@gnu.org>.
33308           Report Gentoo bugs to <http://bugs.gentoo.org/>.
33309           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
33310           General help using GNU software: <http://www.gnu.org/gethelp/>.
33311         * lib/version-etc.c: Print new information, if provided.
33312         * m4/version-etc.m4: New file.
33313         * modules/version-etc (Files): Add m4/version-etc.m4.
33314         (configure.ac): Add gl_VERSION_ETC.
33315
33316 2009-05-31  Bruno Haible  <bruno@clisp.org>
33317
33318         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
33319         and 'int64_t'.
33320         * modules/alignof-tests (Dependencies): Add stdint.
33321         Reported by Eric Blake.
33322
33323 2009-05-31  Bruno Haible  <bruno@clisp.org>
33324
33325         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
33326         restriction due to compiler bugs.
33327         Reported by Eric Blake.
33328
33329 2009-05-31  Simon Josefsson  <simon@josefsson.org>
33330             Bruno Haible  <bruno@clisp.org>
33331
33332         Fix test-alignof failure.
33333         * lib/alignof.h (alignof_slot): New macro.
33334         (alignof_type): New macro, with the same semantics as the previous
33335         'alignof'.
33336         (alignof): Alias to alignof_slot.
33337         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
33338         check that the results are usable as constant expressions.
33339
33340 2009-05-31  Bruno Haible  <bruno@clisp.org>
33341
33342         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
33343         * tests/test-memchr.c (main): Check that memchr does not read past the
33344         first occurrence of the byte.
33345         * tests/test-strstr.c (main): Update comment.
33346         Suggested by Eric Blake.
33347
33348 2009-05-30  Bruno Haible  <bruno@clisp.org>
33349
33350         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
33351         detail how to use dumpbin.
33352         Reported by David Byron <dbyron@dbyron.com>.
33353
33354 2009-06-02  Simon Josefsson  <simon@josefsson.org>
33355
33356         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
33357
33358 2009-06-02  Simon Josefsson  <simon@josefsson.org>
33359
33360         * m4/manywarnings.m4: Add GCC 4.4 warnings.
33361
33362 2009-05-28  Bruno Haible  <bruno@clisp.org>
33363
33364         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
33365         build-aux/ files.
33366
33367 2009-05-28  Simon Josefsson  <simon@josefsson.org>
33368
33369         * gnulib-tool (func_import): Transform license on build-aux/ files too.
33370
33371 2009-05-27  Simon Josefsson  <simon@josefsson.org>
33372
33373         * gnulib-tool (sed_transform_main_lib_file)
33374         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
33375         regexps.
33376
33377 2009-05-26  Simon Josefsson  <simon@josefsson.org>
33378
33379         * tests/test-strstr.c: Add another self-test.
33380         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
33381         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
33382
33383 2009-05-23  Bruno Haible  <bruno@clisp.org>
33384
33385         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
33386         change.
33387
33388 2009-05-21  Bruno Haible  <bruno@clisp.org>
33389
33390         Simplify use of mode_t varargs.
33391         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
33392         uses 'mode_t' or 'int'.
33393         * lib/openat.c (openat): Likewise.
33394         * lib/open-safer.c (open_safer): Likewise.
33395         * m4/mode_t.m4: New file.
33396         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
33397         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
33398         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
33399         * modules/open (Files): Add m4/mode_t.m4.
33400         * modules/openat (Files): Likewise.
33401         * modules/fcntl-safer (Files): Likewise.
33402         Suggested by Eric Blake.
33403
33404 2009-05-21  Pádraig Brady  <P@draigbrady.com>
33405
33406         * doc/glibc-functions/fallocate.texi: New file.
33407         * doc/gnulib.texi: Include it.
33408
33409 2009-05-21  Eric Blake  <ebb9@byu.net>
33410             Bruno Haible  <bruno@clisp.org>
33411
33412         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
33413         invocations.
33414         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
33415
33416 2009-05-21  Eric Blake  <ebb9@byu.net>
33417             Bruno Haible  <bruno@clisp.org>
33418
33419         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
33420         include_next. Fix of 2008-11-20 commit.
33421         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
33422         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
33423         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
33424         NEXT_MATH_H.
33425         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
33426         instead of NEXT_MATH_H.
33427
33428 2009-05-21  Bruno Haible  <bruno@clisp.org>
33429
33430         Avoid redefinition warnings for SIZE_MAX.
33431         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
33432         Reported by Simon Josefsson.
33433
33434 2009-05-21  Bruno Haible  <bruno@clisp.org>
33435
33436         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
33437         AC_CACHE_VAL.
33438
33439 2009-05-20  Bruno Haible  <bruno@clisp.org>
33440
33441         Make zeroptr.h work on mingw.
33442         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
33443         mprotect.
33444         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
33445         * modules/memchr2-tests (configure.ac): Likewise.
33446         * modules/memcmp-tests (configure.ac): Likewise.
33447         * modules/memmem-tests (configure.ac): Likewise.
33448         * modules/memrchr-tests (configure.ac): Likewise.
33449         Reported by Simon Josefsson.
33450
33451 2009-05-20  Simon Josefsson  <simon@josefsson.org>
33452
33453         * tests/test-glob.c: Include string.h for strcmp prototype.
33454
33455 2009-05-20  Simon Josefsson  <simon@josefsson.org>
33456
33457         * modules/getdelim (Depends-on): Add explicit stdint, although it
33458         was implicitly already pulled in via realloc-posix.
33459         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
33460
33461 2009-05-20  Simon Josefsson  <simon@josefsson.org>
33462
33463         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
33464         G. Christensen" <tgc@jupiterrise.com>.
33465         * m4/sys_socket_h.m4: Check for sa_family_t.
33466         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
33467         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
33468         * tests/test-sys_socket.c: Check that sa_family_t works.
33469
33470 2009-05-18  Eric Blake  <ebb9@byu.net>
33471
33472         maint.mk: allow gnulib_dir in VPATH build
33473         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
33474
33475 2009-05-15  Jim Meyering  <meyering@redhat.com>
33476
33477         maint.mk: Give gnulib_dir a default definition.
33478         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
33479         Thus, most packages no longer need to specify this variable in cfg.mk
33480
33481 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
33482
33483         rename.m4: fix typos that would make non-mingw cross-configure fail
33484         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
33485
33486 2009-05-13  Eric Blake  <ebb9@byu.net>
33487
33488         mmap-anon: avoid out-of-order autoconf expansion
33489         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
33490         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
33491         * modules/memchr-tests (Depends-on): Add extensions.
33492         * modules/memchr2-tests (Depends-on): Add extensions.
33493         * modules/memcmp-tests (Depends-on): Add extensions.
33494         * modules/memmem-tests (Depends-on): Add extensions.
33495         * modules/memrchr-tests (Depends-on): Add extensions.
33496
33497 2009-05-13  Bruno Haible  <bruno@clisp.org>
33498
33499         Make some tests ISO C 99 compliant.
33500         * tests/zerosize-ptr.h: New file.
33501         * tests/test-memchr.c: Include zerosize-ptr.h.
33502         (main): Use a zero-size object pointer instead of NULL.
33503         * tests/test-memchr2.c: Include zerosize-ptr.h.
33504         (main): Use a zero-size object pointer instead of NULL.
33505         * tests/test-memcmp.c: Include zerosize-ptr.h.
33506         (main): Use a zero-size object pointer instead of NULL.
33507         * tests/test-memmem.c: Include zerosize-ptr.h.
33508         (main): Use a zero-size object pointer instead of NULL.
33509         * tests/test-memrchr.c: Include zerosize-ptr.h.
33510         (main): Use a zero-size object pointer instead of NULL.
33511         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
33512         m4/mmap-anon.m4.
33513         (Depends-on): Add getpagesize.
33514         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
33515         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
33516         m4/mmap-anon.m4.
33517         (Depends-on): Add getpagesize.
33518         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
33519         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
33520         m4/mmap-anon.m4.
33521         (Depends-on): Add getpagesize.
33522         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
33523         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
33524         m4/mmap-anon.m4.
33525         (Depends-on): Add getpagesize.
33526         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
33527         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
33528         m4/mmap-anon.m4.
33529         (Depends-on): Add getpagesize.
33530         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
33531
33532 2009-05-12  Bruno Haible  <bruno@clisp.org>
33533
33534         Tests for module 'alignof'.
33535         * modules/alignof-tests: New file.
33536         * tests/test-alignof.c: New file.
33537
33538 2009-05-12  Bruno Haible  <bruno@clisp.org>
33539
33540         Fix alignof macro.
33541         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
33542         vendor compilers that are always correct.
33543
33544 2009-05-12  Bruno Haible  <bruno@clisp.org>
33545
33546         Make the MAP_ANONYMOUS detection work on HP-UX 11.
33547         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
33548         not whether its fully works.
33549
33550 2009-05-12  Bruno Haible  <bruno@clisp.org>
33551
33552         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
33553
33554 2009-05-12  Jim Meyering  <meyering@redhat.com>
33555
33556         * top/maint.mk: Adjust backslash alignment.
33557
33558 2009-05-11  Simon Josefsson  <simon@josefsson.org>
33559
33560         * top/maint.mk: Make $(srcdir)/build-aux configurable.
33561
33562 2009-05-11  Eric Blake  <ebb9@byu.net>
33563
33564         argp: avoid undefined behavior
33565         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
33566         macros.
33567
33568 2009-05-08  Simon Josefsson  <simon@josefsson.org>
33569
33570         * tests/test-vc-list-files-git.sh: Do git config of user.email and
33571         user.name to prevent git commit from complaining.
33572
33573 2009-05-10  Bruno Haible  <bruno@clisp.org>
33574
33575         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
33576         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
33577         it rewrites every file name only once.
33578         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
33579
33580 2009-05-08  Bruno Haible  <bruno@clisp.org>
33581
33582         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
33583         instead of 'max'.
33584
33585 2009-05-08  Simon Josefsson  <simon@josefsson.org>
33586
33587         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
33588         sockaddr_storage test.
33589
33590 2009-05-07  Simon Josefsson  <simon@josefsson.org>
33591
33592         * modules/sys_socket (Makefile.am): Substitute
33593         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
33594         * m4/sys_socket_h.m4: Check for sockaddr_storage.
33595         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
33596         * tests/test-sys_socket.c: Check sockaddr_storage.
33597
33598 2009-05-08  Bruno Haible  <bruno@clisp.org>
33599
33600         New module 'alignof'.
33601         * lib/alignof.h: New file.
33602         * modules/alignof: New file.
33603
33604 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
33605             Bruno Haible  <bruno@clisp.org>
33606
33607         Fix test-file-has-acl on FreeBSD.
33608         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
33609         mask is implicitly added.
33610         * tests/test-file-has-acl.c: Include <signal.h>.
33611         (main): Terminate the test after 5 seconds.
33612         * modules/acl-tests (configure.ac): Check for alarm function.
33613
33614 2009-05-04  Bruno Haible  <bruno@clisp.org>
33615
33616         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
33617         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
33618         * modules/errno (configure.ac): Drop AC_REQUIRE.
33619         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
33620         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
33621
33622 2009-05-04  Simon Josefsson  <simon@josefsson.org>
33623
33624         * modules/glob-tests: New module.
33625         * tests/test-glob.c: Add.
33626
33627 2009-05-04  Simon Josefsson  <simon@josefsson.org>
33628
33629         * modules/fnmatch-tests: New module.
33630         * tests/test-fnmatch.c: Add.
33631
33632 2009-05-04  Eric Blake  <ebb9@byu.net>
33633
33634         maint: make the new no-submodule-changes rule VPATH-safe
33635         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
33636
33637 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
33638             Bruno Haible  <bruno@clisp.org>
33639
33640         acl: Fix infinite loop on FreeBSD.
33641         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
33642         of return value from acl_get_entry.
33643         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
33644         Likewise.
33645
33646 2009-05-03  Bruno Haible  <bruno@clisp.org>
33647
33648         * lib/acl-internal.h (acl_entries): Clarify return value.
33649         * lib/acl_entries.c (acl_entries): Likewise.
33650
33651 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
33652
33653         Bug fix in acl module.
33654         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
33655
33656 2009-05-03  Bruno Haible  <bruno@clisp.org>
33657
33658         Create gperf-generated file in the source dir, not in the build dir.
33659         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
33660         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
33661         * modules/unicase/locale-language (unicase/locale-languages.h):
33662         Likewise.
33663         * modules/unicase/special-casing (unicase/special-casing-table.h):
33664         Likewise.
33665         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
33666         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
33667         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
33668         Reported by Ralf Wildenhues.
33669
33670 2009-05-03  Bruno Haible  <bruno@clisp.org>
33671
33672         * modules/fnmatch (Description, configure.ac): Taken from
33673         fnmatch-posix.
33674         * modules/fnmatch-posix: Turn into a symbolic reference to the
33675         'fnmatch' module, and deprecate.
33676         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
33677
33678 2009-05-03  Bruno Haible  <bruno@clisp.org>
33679
33680         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
33681         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
33682         Reported by Ralf Wildenhues.
33683
33684 2009-05-04  Simon Josefsson  <simon@josefsson.org>
33685
33686         * m4/fnmatch.m4: Fix fnmatch re-define.
33687
33688 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
33689
33690         priv-set: new module and tests; adapt write-any-file
33691         * lib/priv-set.c: New file.
33692         * lib/priv-set.h: New file.
33693         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
33694         * lib/write-any-file.c: Simplify by using priv-set module.
33695         * m4/priv-set.m4: New file.
33696         * modules/priv-set: New file.
33697         * modules/unlinkdir: Add dependency on priv-set module.
33698         * modules/write-any-file: Likewise.
33699
33700         Tests for module 'priv-set'.
33701         * modules/priv-set-tests: New file.
33702         * tests/test-priv-set.c: New file.
33703
33704 2009-05-03  Jim Meyering  <meyering@redhat.com>
33705             Bruno Haible  <bruno@clisp.org>
33706
33707         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
33708         use the converted UTF-8 variant of the name instead.
33709
33710 2009-05-03  Jim Meyering  <meyering@redhat.com>
33711
33712         tests: tighten some getdate tests
33713         * tests/test-getdate.c (main): Tighten tests: require equality,
33714         not just greater than.  Set TZ envvar to UTC0.
33715
33716 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
33717
33718         getdate: correctly interpret "next monday" when run on a Monday
33719         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
33720         that e.g., "next tues" (when run on a tuesday) results in a date
33721         that is one week in the future, and not today's date.
33722         I.e., add a week when the wday is the same as the current one.
33723         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
33724         and earlier by Martin Bernreuther and Jan Minář.
33725         * tests/test-getdate.c (main): Check that "next DAY" is always in
33726         the future and that "last DAY" is always in the past.
33727
33728 2009-05-02  Jim Meyering  <meyering@redhat.com>
33729
33730         build: ensure that a release build fails when a submodule is unclean
33731         * top/maint.mk (no-submodule-changes): New rule.
33732         (alpha beta major): Depend on it.
33733
33734 2009-05-02  Bruno Haible  <bruno@clisp.org>
33735
33736         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
33737         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
33738         shell variable gl_fnmatch_required to detect which variant is
33739         requested.
33740         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
33741         gl_FUNC_FNMATCH_POSIX.
33742         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
33743         exclude fnmatch-posix.
33744
33745 2009-05-02  Bruno Haible  <bruno@clisp.org>
33746
33747         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
33748         * modules/mbsrtowcs (License): Change to LGPLv2+.
33749         * modules/strnlen1 (License): Likewise.
33750         Reported by Simon Josefsson.
33751
33752 2009-05-02  Bruno Haible  <bruno@clisp.org>
33753
33754         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
33755         "cross".
33756         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
33757         gnulib-tool was called with option --source-base=lib.
33758
33759 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33760
33761         Use automake *-local hooks without commands, for extensibility.
33762         * modules/localcharset (Makefile.am): Rename install-exec-local
33763         rule to install-exec-localcharset, and make it a prerequisite of
33764         install-exec-local.  Likewise, rename the uninstall-local rule to
33765         uninstall-localcharset, and make it a prerequisite of the former.
33766
33767 2009-05-01  Bruno Haible  <bruno@clisp.org>
33768
33769         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
33770         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
33771         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
33772         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
33773         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
33774         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
33775         m4/locale-zh.m4, m4/codeset.m4.
33776
33777         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
33778         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
33779         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
33780         m4/locale-zh.m4.
33781
33782         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
33783         REPLACE_WCRTOMB if mbstate_t must be replaced.
33784         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
33785         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
33786
33787 2009-05-01  Bruno Haible  <bruno@clisp.org>
33788
33789         Avoid compiler warnings when redefining macros defined by <libintl.h>.
33790         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
33791         dngettext, dcngettext, textdomain, bindtextdomain,
33792         bind_textdomain_codeset): Undefine before redefining.
33793
33794 2009-04-30  Bruno Haible  <bruno@clisp.org>
33795
33796         Fix bug introduced on 2009-04-25.
33797         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
33798         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
33799         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
33800         is defined.
33801         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
33802         is defined.
33803         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
33804         is defined.
33805         Reported by Elbert_Pol <elbert.pol@gmail.com>.
33806
33807 2009-04-28  Bruno Haible  <bruno@clisp.org>
33808
33809         Comment tweaks.
33810         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
33811         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
33812         * lib/unicase.h (u*_casexfrm): Likewise.
33813         Reported by Paolo Bonzini.
33814
33815 2009-04-28  Bruno Haible  <bruno@clisp.org>
33816
33817         Fix a compilation error.
33818         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
33819         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
33820         Reported by Jim Meyering.
33821
33822 2009-04-27  Bruno Haible  <bruno@clisp.org>
33823
33824         New module 'libunistring'.
33825         * modules/libunistring: New file.
33826         * m4/libunistring.m4: New file.
33827         * MODULES.html.sh (Unicode string functions): Add it.
33828
33829 2009-04-27  Eric Blake  <ebb9@byu.net>
33830
33831         maint.mk: allow package-specific header to provide <config.h>
33832         * top/maint.mk (sc_require_config_h): New variable.
33833         (sc_require_config_h, sc_require_config_h_first): Use it.
33834
33835 2009-04-27  Simon Josefsson  <simon@josefsson.org>
33836
33837         * top/maint.mk (sc_avoid_if_before_free): Except
33838         useless-if-before-free script.
33839
33840 2009-04-27  Eric Blake  <ebb9@byu.net>
33841
33842         maintainer-makefile: depend on all required helper scripts
33843         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
33844         useless-if-before-free.
33845         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
33846         version, rather than assuming gnulib checkout is available.
33847         Reported by Simen Josefsson.
33848
33849 2009-04-26  Bruno Haible  <bruno@clisp.org>
33850
33851         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
33852         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
33853         "../" or "..".
33854
33855 2009-04-26  Bruno Haible  <bruno@clisp.org>
33856
33857         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
33858         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
33859         AC_LIB_HAVE_LINKFLAGS.
33860
33861 2009-04-26  Bruno Haible  <bruno@clisp.org>
33862
33863         Simplify calling convention of u*_conv_from_encoding.
33864         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
33865         u32_conv_from_encoding): Expect a resultbuf argument and return the
33866         result directly as a pointer.
33867         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
33868         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
33869         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
33870         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
33871         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
33872         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
33873         Update.
33874         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
33875         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
33876         * lib/vasnprintf.c (VASNPRINTF): Update.
33877         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
33878         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
33879         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
33880         * NEWS: Mention the change.
33881
33882 2009-04-26  Bruno Haible  <bruno@clisp.org>
33883
33884         Simplify calling convention of u*_conv_to_encoding.
33885         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
33886         u32_conv_to_encoding): Expect a resultbuf argument and return the
33887         result directly as a pointer.
33888         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
33889         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
33890         freeing scaled_offsets if mem_iconveha failed.
33891         * lib/unicase/u-casexfrm.h (FUNC): Update.
33892         * lib/uninorm/u-normxfrm.h (FUNC): Update.
33893         * lib/vasnprintf.c (VASNPRINTF): Update.
33894         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
33895         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
33896         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
33897         * NEWS: Mention the change.
33898
33899 2009-04-26  Bruno Haible  <bruno@clisp.org>
33900
33901         Avoid test failures on AIX and OSF/1.
33902         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
33903         malloc(0).
33904         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
33905         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
33906         Likewise.
33907         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
33908         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
33909         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
33910         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
33911         * doc/posix-functions/malloc.texi: Document the portability problem
33912         related to malloc(0).
33913
33914 2009-04-26  Bruno Haible  <bruno@clisp.org>
33915
33916         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
33917         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
33918         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
33919
33920 2009-04-25  Bruno Haible  <bruno@clisp.org>
33921
33922         Avoid link error when creating a namespace clean library.
33923         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
33924         as macro with arguments if already defined as an alias.
33925         * lib/signbitf.c (gl_signbitf): Don't undefine.
33926         * lib/signbitd.c (gl_signbitd): Don't undefine.
33927         * lib/signbitl.c (gl_signbitl): Don't undefine.
33928
33929 2009-04-25  Jim Meyering  <meyering@redhat.com>
33930
33931         vc-list-files: fix another quoting bug
33932         * build-aux/vc-list-files: Avoid sed backslash expansion
33933         of pathological directory names.
33934
33935 2009-04-25  Eric Blake  <ebb9@byu.net>
33936
33937         vc-list-files: fix shell quoting error
33938         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
33939         timestamp.
33940
33941 2009-04-25  Jim Meyering  <meyering@redhat.com>
33942
33943         vc-list-files: restore lost functionality with subdir argument
33944         * build-aux/vc-list-files: When given a non-"." sub-directory
33945         argument, substitute the $dir/ prefix back onto each resulting name.
33946         Otherwise, coreutils' root_tests check would fail.
33947
33948 2009-04-24  Eric Blake  <ebb9@byu.net>
33949
33950         vc-list-files: ignore git symlinks
33951         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
33952         than ls-files, to ignore git symlinks.
33953
33954         maint.mk: import improvements from m4
33955         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
33956         (move_if_change): Delete unused macro.
33957         (news-date-check, vc-diff-check): Support VPATH builds.
33958         (announcement): Likewise.  Split --bootstrap-tools list...
33959         (boostrap-tools): ...into separate list, which can be overridden
33960         in cfg.mk.
33961         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
33962         requiring dependency on useless-if-before-free module.
33963         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
33964         Support VPATH builds.
33965
33966 2009-04-24  Jim Meyering  <meyering@redhat.com>
33967
33968         maint.mk: remove coreutils-specific rules and variables
33969         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
33970         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
33971         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
33972
33973         maint.mk: remove obsolete rule
33974         * top/maint.mk (rel-check): Remove rule.
33975         (WGET, WGETFLAGS): Remove now-unused variables.
33976
33977 2009-04-24  Simon Josefsson  <simon@josefsson.org>
33978
33979         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
33980         consistency.
33981
33982         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
33983         '$(PATH_SEPARATOR)' instead of ':'.
33984
33985 2009-04-24  Simon Josefsson  <simon@josefsson.org>
33986
33987         * lib/getopt1.c (main): Use 'const' for static array.
33988
33989 2009-04-24  Simon Josefsson  <simon@josefsson.org>
33990
33991         * top/maint.mk: Sync with coreutils.
33992         * NEWS: Explain incompatibilities.
33993
33994 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33995             Bruno Haible  <bruno@clisp.org>
33996
33997         Fix cross-compilation results.
33998         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
33999         statement, as third argument of AC_TRY_RUN.
34000         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
34001         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
34002         Likewise.
34003         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
34004         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
34005         Likewise.
34006         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
34007         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
34008         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
34009
34010 2009-04-20  Bruno Haible  <bruno@clisp.org>
34011
34012         Avoid test failure on mingw.
34013         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
34014
34015 2009-04-20  Bruno Haible  <bruno@clisp.org>
34016
34017         Avoid compilation error on mingw.
34018         * modules/localename-tests (Depends-on): Add locale.
34019
34020 2009-04-19  Bruno Haible  <bruno@clisp.org>
34021
34022         Support for building a shared library on Windows platforms.
34023         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
34024         (main): Test the presence of UNINORM_NFC here.
34025         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
34026         (main): Test the presence of UNINORM_NFD here.
34027         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
34028         (main): Test the presence of UNINORM_NFKC here.
34029         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
34030         (main): Test the presence of UNINORM_NFKD here.
34031
34032 2009-04-19  Bruno Haible  <bruno@clisp.org>
34033
34034         Avoid a compiler warning.
34035         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
34036         Change type of variable 'sequence'.
34037
34038 2009-04-19  Bruno Haible  <bruno@clisp.org>
34039
34040         * modules/configmake (Makefile.am): When the contents of configmake.h
34041         does not change, arrange to preserve its modification time.
34042
34043 2009-04-17  Simon Josefsson  <simon@josefsson.org>
34044
34045         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
34046         gettext domain.
34047
34048 2009-04-16  Jim Meyering  <meyering@redhat.com>
34049
34050         useless-if-before-free: improve conversion code
34051         * build-aux/useless-if-before-free: Adjust code-in-comment to match
34052         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
34053
34054 2009-04-14  Bruno Haible  <bruno@clisp.org>
34055
34056         * modules/fcntl (Depends-on): Add extensions.
34057         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
34058
34059 2009-04-12  Ben Pfaff  <blp@gnu.org>
34060
34061         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
34062         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
34063
34064 2009-03-20  Ben Pfaff  <blp@gnu.org>
34065
34066         Make rename replace existing destinations on Windows.
34067         * m4/rename.m4: Add test for Mingw.
34068         * lib/rename.c: Add rename replacement that uses MoveFileEx with
34069         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
34070         * doc/posix-functions/rename.texi: Document.
34071
34072 2009-04-10  Bruno Haible  <bruno@clisp.org>
34073
34074         New include file "iconveh.h".
34075         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
34076         * lib/striconveh.h: Include it.
34077         (enum iconv_ilseq_handler): Remove definition.
34078         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
34079         striconveh.h.
34080         * lib/striconveha.c: Include striconveh.h.
34081         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
34082         * modules/striconveh (Files): Add lib/iconveh.h.
34083         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
34084         lib/striconveh.h.
34085
34086 2009-04-10  Bruno Haible  <bruno@clisp.org>
34087
34088         * lib/uniconv.h: Update comment.
34089
34090 2009-04-10  Bruno Haible  <bruno@clisp.org>
34091
34092         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
34093         always.
34094         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
34095         * lib/unistr/u16-mbtouc-aux.c: Likewise.
34096         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
34097         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
34098         "unistring-notinline.h", so that the function gets defined always.
34099         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
34100         * lib/unistr/u8-uctomb.c: Likewise.
34101         * lib/unistr/u16-mbtouc.c: Likewise.
34102         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
34103         * lib/unistr/u16-uctomb.c: Likewise.
34104         * lib/unistr/u32-mbtouc.c: Likewise.
34105         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
34106         * lib/unistr/u32-uctomb.c: Likewise.
34107
34108 2009-04-10  Bruno Haible  <bruno@clisp.org>
34109
34110         Mark 'utime' obsolete.
34111         * modules/utime (Status, Notice): New sections.
34112         Suggested by Jim Meyering.
34113
34114         Fix cross-compile guess for utime test.
34115         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
34116         autoconf.
34117         * doc/posix-functions/utime.texi: Give more precisions.
34118         Reported by Jan <ipif@ymail.com>.
34119
34120 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
34121
34122         filevercmp: correct today's change
34123         * lib/filevercmp.c: Also handle coreutils' test inputs.
34124         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
34125
34126         Fix regression in 'filevercmp' module. Thanks Sven Joachim
34127         for reporting it.
34128         * lib/filevercmp.c: Special handle for "", "." and "..".
34129         * tests/test-filevercmp.c: Enlarge the set suite.
34130
34131 2009-04-07  Jim Meyering  <meyering@redhat.com>
34132
34133         useless-if-before-free: show how to remove braced useless free, too
34134         * build-aux/useless-if-before-free: still only in a comment, though.
34135
34136 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
34137
34138         maint.mk: import changes to syntax-check macros from coreutils
34139         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
34140         Use them in the relevant macros.
34141
34142 2009-04-06  Bruno Haible  <bruno@clisp.org>
34143
34144         Fix unportable use of bit-fields.
34145         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
34146         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
34147         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
34148
34149 2009-04-06  Bruno Haible  <bruno@clisp.org>
34150
34151         Avoid test failures on AIX and OSF/1.
34152         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
34153         that malloc(0) = NULL.
34154         * tests/unicase/test-u8-tolower.c (check): Likewise.
34155         * tests/unicase/test-u8-totitle.c (check): Likewise.
34156         * tests/unicase/test-u8-toupper.c (check): Likewise.
34157         * tests/unicase/test-u16-casefold.c (check): Likewise.
34158         * tests/unicase/test-u16-tolower.c (check): Likewise.
34159         * tests/unicase/test-u16-totitle.c (check): Likewise.
34160         * tests/unicase/test-u16-toupper.c (check): Likewise.
34161         * tests/unicase/test-u32-casefold.c (check): Likewise.
34162         * tests/unicase/test-u32-tolower.c (check): Likewise.
34163         * tests/unicase/test-u32-totitle.c (check): Likewise.
34164         * tests/unicase/test-u32-toupper.c (check): Likewise.
34165         * tests/uninorm/test-u8-nfc.c (check): Likewise.
34166         * tests/uninorm/test-u8-nfd.c (check): Likewise.
34167         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
34168         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
34169         * tests/uninorm/test-u16-nfc.c (check): Likewise.
34170         * tests/uninorm/test-u16-nfd.c (check): Likewise.
34171         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
34172         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
34173         * tests/uninorm/test-u32-nfc.c (check): Likewise.
34174         * tests/uninorm/test-u32-nfd.c (check): Likewise.
34175         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
34176         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
34177
34178 2009-04-05  Bruno Haible  <bruno@clisp.org>
34179
34180         Work around an autoconf limitation.
34181         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
34182         comment line if it would be longer than 3 KB.
34183
34184 2009-04-05  Bruno Haible  <bruno@clisp.org>
34185
34186         Avoid test failure with libiconv-1.13.
34187         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
34188         of the expected test results.
34189
34190 2009-04-05  Bruno Haible  <bruno@clisp.org>
34191
34192         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
34193         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
34194         that it should be installed.
34195
34196 2009-04-05  Bruno Haible  <bruno@clisp.org>
34197
34198         * gnulib-tool: New option --copy-file.
34199         (func_usage): Document it.
34200         (func_dest_tmpfilename): Moved out of func_import.
34201         (func_add_file, func_update_file): New functions, extracted from
34202         func_import.
34203         (func_import): Update.
34204
34205 2009-04-05  Karl Berry  <karl@gnu.org>
34206
34207         * README: prominently mention gnulib-tool.
34208         Rearrange sections so getting the code is near the top.
34209
34210 2009-04-05  Bruno Haible  <bruno@clisp.org>
34211
34212         * lib/unicase.h: Mention u*_cmp2.
34213         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
34214         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
34215         * lib/unicase/ulc-casecmp.c: Likewise.
34216         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
34217         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
34218         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
34219         unistr/u8-cmp.
34220         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
34221         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
34222         unistr/u16-cmp.
34223         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
34224         unistr/u32-cmp.
34225
34226         * lib/uninorm.h: Mention u*_cmp2.
34227         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
34228         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
34229         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
34230         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
34231         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
34232         unistr/u8-cmp.
34233         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
34234         unistr/u16-cmp.
34235         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
34236         unistr/u32-cmp.
34237
34238         New module 'unistr/u32-cmp2'.
34239         * lib/unistr/u32-cmp2.c: New file.
34240         * modules/unistr/u32-cmp2: New file.
34241
34242         New module 'unistr/u16-cmp2'.
34243         * lib/unistr/u16-cmp2.c: New file.
34244         * modules/unistr/u16-cmp2: New file.
34245
34246         New module 'unistr/u8-cmp2'.
34247         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
34248         * lib/unistr/u8-cmp2.c: New file.
34249         * lib/unistr/u-cmp2.h: New file.
34250         * modules/unistr/u8-cmp2: New file.
34251
34252 2009-04-05  Bruno Haible  <bruno@clisp.org>
34253
34254         * lib/unictype.h (uc_property_is_valid): New macro.
34255         * tests/unictype/test-pr_byname.c (main): Use it.
34256
34257         * lib/unistr.h: Doc fixes.
34258         * lib/uniconv.h: Doc fixes.
34259         * lib/unictype.h: Doc fixes.
34260
34261 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
34262
34263         Port coreutils 7.2 to Solaris 8.
34264
34265         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
34266         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
34267         for Solaris 8.  This is a bit of a hack, as it means it's the
34268         caller's responsibility to add -lnsl if needed, but most likely it
34269         won't be needed since only getaddrinfo uses this and getaddrinfo
34270         isn't needed on Solaris 8.
34271
34272         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
34273         problem to Solaris 8 encountered with coreutils 7.2, which
34274         resulted in a message "fnmatch.c:292: warning: passing argument 4
34275         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
34276         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
34277
34278 2009-04-03  Simon Josefsson  <simon@josefsson.org>
34279
34280         * m4/ld-version-script.m4: Add FIXME comment.
34281
34282 2009-04-02  Simon Josefsson  <simon@josefsson.org>
34283
34284         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
34285         SOVERSION variable.
34286
34287 2009-04-02  Bruno Haible  <bruno@clisp.org>
34288
34289         * Makefile (info, html, dvi, pdf): Combine the rules.
34290         Suggested by Jim Meyering.
34291
34292 2009-04-01  Bruno Haible  <bruno@clisp.org>
34293
34294         * Makefile (info, html, dvi, pdf): New targets.
34295         Reported by Reuben Thomas <rrt@sc3d.org>.
34296
34297 2009-04-01  Bruno Haible  <bruno@clisp.org>
34298
34299         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
34300         can be put into PATH.
34301         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
34302
34303 2009-04-01  Bruno Haible  <bruno@clisp.org>
34304
34305         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
34306
34307 2009-04-01  Bruno Haible  <bruno@clisp.org>
34308
34309         Rename module 'visibility'.
34310         * modules/lib-symbol-visibility: Renamed from modules/visibility.
34311         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
34312         * doc/gnulib.texi: Update.
34313         * MODULES.html.sh (Misc): Update.
34314         * NEWS: Mention the change.
34315
34316 2009-04-01  Simon Josefsson  <simon@josefsson.org>
34317
34318         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
34319         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
34320         Eric Blake <ebb9@byu.net> for review.
34321         * MODULES.html.sh: Add lib-msvc-compat.
34322         * doc/gnulib.texi: Link to new section.
34323         * m4/ld-output-def.m4: New file.
34324         * doc/ld-output-def.texi: New file.
34325
34326 2009-04-01  Simon Josefsson  <simon@josefsson.org>
34327
34328         Rename ld-version-script to lib-symbol-versions.  Suggested by
34329         Bruno Haible <bruno@clisp.org>.
34330         * modules/ld-version-script: Renamed to lib-symbol-versions.
34331         * doc/ld-version-script.texi: Fix module name.
34332         * MODULES.html.sh: Add lib-symbol-versions.
34333
34334 2009-03-31  Simon Josefsson  <simon@josefsson.org>
34335
34336         * modules/u64-tests: New file.
34337         * tests/test-u64.c: New file.
34338
34339 2009-03-04  Simon Josefsson  <simon@josefsson.org>
34340
34341         * MODULES.html.sh: Mention u64.
34342         * modules/u64: New module.
34343         * modules/crypto/sha512: Depend on u64 module instead of providing
34344         u64.h.
34345
34346 2009-03-27  Eric Blake  <ebb9@byu.net>
34347
34348         test-strerror: make debugging EAI_SYSTEM easier
34349         * modules/getaddrinfo-tests (Depends-on): Add strerror.
34350         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
34351         failure was EAI_SYSTEM.
34352
34353 2009-03-25  Bruno Haible  <bruno@clisp.org>
34354
34355         Fix a problem with --enable-relocatable on Solaris 7.
34356         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
34357         since 2008-02-24.
34358
34359 2009-03-25  Eric Blake  <ebb9@byu.net>
34360
34361         test-sockets: avoid gcc warning
34362         * tests/test-sockets.c (main): Silence compiler warning.
34363
34364 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
34365
34366         New modules nproc, pthread, contributed by Glen Lenker.
34367
34368         * MODULES.html.sh: Add pthread, nproc.
34369         * lib/nproc.c: New file.
34370         * lib/nproc.h: New file.
34371         * lib/pthread.in.h: New file.
34372         * m4/pthread.m4: New file.
34373         * modules/nproc: New file.
34374         * modules/pthread: New file.
34375
34376 2009-03-24  Simon Josefsson  <simon@josefsson.org>
34377
34378         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
34379         New variable.
34380
34381 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
34382
34383         filevercmp: handle simple~ and numbered.~3~ backup suffixes
34384         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
34385         * tests/test-filevercmp.c: Add tests for backup suffixes.
34386
34387 2009-03-24  Simon Josefsson  <simon@josefsson.org>
34388
34389         * modules/stdlib (Depends-on): Add stdint, needed when defining
34390         struct random_data on, for example, HP-UX 10.20.  Reported by
34391         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
34392
34393 2009-03-24  Simon Josefsson  <simon@josefsson.org>
34394
34395         * lib/readline.c (readline): Call fflush on stdout after printing
34396         prompt.
34397
34398 2009-03-20  Bruno Haible  <bruno@clisp.org>
34399
34400         Remove dependency from 'close' module to -lws2_32 on native Windows.
34401         * lib/close-hook.h: New file.
34402         * lib/close-hook.c: New file.
34403         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
34404         w32sock.h.
34405         (_gl_close_fd_maybe_socket): Remove function.
34406         (rpl_close): Invoke execute_all_close_hooks instead of
34407         _gl_close_fd_maybe_socket.
34408         * lib/sockets.c: Include close-hook.h, w32sock.h.
34409         (close_fd_maybe_socket): New function, essentially from lib/close.c.
34410         (close_sockets_hook): New variable.
34411         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
34412         (gl_sockets_cleanup): Unregister it.
34413         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
34414         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
34415         * modules/close-hook: New file.
34416         * modules/close (Files): Remove lib/w32sock.h.
34417         (Depends-on): Add close-hook.
34418         (Link): Remove section.
34419         * modules/sockets (Files): Add lib/w32sock.h.
34420         (Depends-on): Add close-hook.
34421         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
34422         invocation.
34423         * NEWS: Mention that LIB_CLOSE is gone.
34424
34425 2009-03-23  Eric Blake  <ebb9@byu.net>
34426
34427         signal-tests: test previous patch
34428         * tests/test-signal.c: New file.
34429         * modules/signal-tests: Likewise.
34430
34431         signal.h: always support 'volatile sig_atomic_t'
34432         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
34433         (gl_SIGNAL_H_DEFAULTS): Add a default.
34434         * modules/signal (Makefile.am): Substitute if needed.
34435         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
34436         users can blindly add volatile.
34437         * doc/posix-headers/signal.texi (signal.h): Document it.
34438         Reported by Matthew Woehlke.
34439
34440 2009-03-23  Jim Meyering  <meyering@redhat.com>
34441
34442         pathmax: PATH_MAX: use pathconf only when available
34443         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
34444         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
34445         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
34446         This avoids a link failure in a PSP cross-compilation environment
34447         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
34448
34449         * lib/vasnprintf.c (divide): Fix typo in comment.
34450
34451 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34452
34453         * gnulib-tool (func_filter_filelist): Fix comment.
34454
34455 2009-03-20  Bruno Haible  <bruno@clisp.org>
34456
34457         Make sockets.h self-contained.
34458         * lib/sockets.c: Include sockets.h first.
34459         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
34460
34461 2009-03-19  Eric Blake  <ebb9@byu.net>
34462
34463         doc: mention more functions added in cygwin 1.7.0
34464         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
34465         addition.
34466         * doc/posix-functions/log2f.texi: Likewise.
34467
34468 2009-03-19  Jim Meyering  <meyering@redhat.com>
34469
34470         fsusage: avoid syntax error due to statement-before-declaration
34471         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
34472         after all declarations.  Reported by Matthew Woehlke in
34473         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
34474
34475 2009-03-18  Eric Blake  <ebb9@byu.net>
34476
34477         build-aux/compile: sync from automake
34478         * build-aux/compile: New file, from automake.
34479         * config/srclist.txt: Mention build-aux/compile.
34480
34481 2009-03-17  Bruno Haible  <bruno@clisp.org>
34482
34483         * lib/git-merge-changelog.c: Fix typo in comment.
34484         Reported by Reuben Thomas <rrt@sc3d.org>.
34485
34486 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
34487
34488         * m4/regex.m4: update and improve help for
34489         --without-included-regex.
34490
34491 2009-03-17  Simon Josefsson  <simon@josefsson.org>
34492
34493         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
34494         failure on missing include files.
34495
34496 2009-03-17  Eric Blake  <ebb9@byu.net>
34497
34498         doc: mention more functions added in cygwin 1.7.0
34499         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
34500         addition.
34501         * doc/posix-functions/fwscanf.texi: Likewise.
34502         * doc/posix-functions/swprintf.texi: Likewise.
34503         * doc/posix-functions/swscanf.texi: Likewise.
34504         * doc/posix-functions/vfwprintf.texi: Likewise.
34505         * doc/posix-functions/vfwscanf.texi: Likewise.
34506         * doc/posix-functions/vswprintf.texi: Likewise.
34507         * doc/posix-functions/vswscanf.texi: Likewise.
34508         * doc/posix-functions/vwprintf.texi: Likewise.
34509         * doc/posix-functions/vwscanf.texi: Likewise.
34510         * doc/posix-functions/wcscasecmp.texi: Likewise.
34511         * doc/posix-functions/wcsdup.texi: Likewise.
34512         * doc/posix-functions/wcsftime.texi: Likewise.
34513         * doc/posix-functions/wcsncasecmp.texi: Likewise.
34514         * doc/posix-functions/wprintf.texi: Likewise.
34515         * doc/posix-functions/wscanf.texi: Likewise.
34516         * doc/glibc-functions/gethostbyname2.texi: Likewise.
34517
34518 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34519
34520         maint.mk: really add $(AM_MAKEFLAGS)
34521         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
34522         was inadvertently omitted in the last commit.
34523         Spotted by Bruno Haible.
34524
34525         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
34526         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
34527         $(AM_MAKEFLAGS)' rather than plain `make'.
34528
34529         gnulib-tool: execute $MAKE not make
34530         * gnulib-tool: Default $MAKE to 'make'.
34531         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
34532         than make.  Initialize $MAKE in the do-autobuild script.
34533
34534         gnulib-tool: use $MAKE not make in generated files
34535         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
34536         make, in generated files.  Initialize $MAKE in the do-autobuild
34537         script.
34538
34539         * top/GNUmakefile (_have-git-version-gen): Fix typo.
34540
34541         GNUmakefile: disable parallelism only for multiple, recursive targets
34542         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
34543         additions in the Makefile.
34544         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
34545         by Automake.
34546         (.NOTPARALLEL): Only disable parallel builds if multiple targets
34547         are listed on the command line and at least one of them is
34548         listed in $(ALL_RECURSIVE_TARGETS).
34549
34550 2009-03-14  Bruno Haible  <bruno@clisp.org>
34551
34552         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
34553         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
34554         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
34555         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
34556         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
34557         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
34558         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
34559         unistr/u8-uctomb.
34560         * modules/unistr/u8-strchr (Depends-on): Likewise.
34561         * modules/unistr/u8-strrchr (Depends-on): Likewise.
34562         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
34563         unistr/u16-uctomb.
34564         * modules/unistr/u16-strchr (Depends-on): Likewise.
34565         * modules/unistr/u16-strrchr (Depends-on): Likewise.
34566
34567 2009-03-12  Bruno Haible  <bruno@clisp.org>
34568
34569         Work around select() bug on Interix 3.5.
34570         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
34571         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
34572         * m4/select.m4: New file.
34573         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
34574         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
34575         * modules/select (Files): Add m4/select.m4.
34576         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
34577         * modules/nanosleep (Depends-on): Add select.
34578         * modules/poll (Depends-on): Likewise.
34579         * doc/posix-functions/select.texi: Mention the Interix bug.
34580         Reported by Markus Duft <mduft@gentoo.org>.
34581
34582         * lib/select.c: Renamed from lib/winsock-select.c.
34583         * modules/select (Files): Add lib/select.c, remove
34584         lib/winsock-select.c.
34585         (configure.ac): Update.
34586
34587 2009-03-12  Jim Meyering  <meyering@redhat.com>
34588
34589         avoid gcc warnings about unused macro definitions
34590         * lib/readtokens.c (STREQ): Remove unused definition.
34591         * lib/xmalloc.c (SIZE_MAX): Likewise.
34592         * lib/openat-die.c (N_): Likewise.
34593         * lib/mountlist.c (SIZE_MAX): Remove definition.
34594         Instead, include <stdint.h>.
34595         * lib/readutmp.c: Likewise.
34596         * modules/readutmp (Depends-on): Add stdint.
34597         * modules/mountlist (Depends-on): Add stdint.
34598         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
34599
34600 2009-03-10  Bruno Haible  <bruno@clisp.org>
34601
34602         Tests for module 'mbmemcasecoll'.
34603         * modules/mbmemcasecoll-tests: New file.
34604         * tests/test-mbmemcasecoll1.sh: New file.
34605         * tests/test-mbmemcasecoll2.sh: New file.
34606         * tests/test-mbmemcasecoll3.sh: New file.
34607         * tests/test-mbmemcasecoll.c: New file.
34608
34609         New module 'mbmemcasecoll'.
34610         * lib/mbmemcasecoll.h: New file.
34611         * lib/mbmemcasecoll.c: New file.
34612         * modules/mbmemcasecoll: New file.
34613
34614         * tests/test-mbmemcasecmp.h: New file, extracted from
34615         tests/test-mbmemcasecmp.c.
34616         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
34617         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
34618         (main): Update.
34619         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
34620
34621 2009-03-09  Bruno Haible  <bruno@clisp.org>
34622
34623         Tests for module 'mbmemcasecmp'.
34624         * modules/mbmemcasecmp-tests: New file.
34625         * tests/test-mbmemcasecmp1.sh: New file.
34626         * tests/test-mbmemcasecmp2.sh: New file.
34627         * tests/test-mbmemcasecmp3.sh: New file.
34628         * tests/test-mbmemcasecmp.c: New file.
34629
34630         New module 'mbmemcasecmp'.
34631         * lib/mbmemcasecmp.h: New file.
34632         * lib/mbmemcasecmp.c: New file.
34633         * modules/mbmemcasecmp: New file.
34634
34635 2009-03-09  Bruno Haible  <bruno@clisp.org>
34636
34637         Tests for module 'unicase/ulc-casecoll'.
34638         * modules/unicase/ulc-casecoll-tests: New file.
34639         * tests/unicase/test-ulc-casecoll1.sh: New file.
34640         * tests/unicase/test-ulc-casecoll2.sh: New file.
34641         * tests/unicase/test-ulc-casecoll.c: New file.
34642
34643         New module 'unicase/ulc-casecoll'.
34644         * lib/unicase.h (ulc_casecoll): New declaration.
34645         * lib/unicase/ulc-casecoll.c: New file.
34646         * modules/unicase/ulc-casecoll: New file.
34647
34648         New module 'unicase/ulc-casexfrm'.
34649         * lib/unicase.h (ulc_casexfrm): New declaration.
34650         * lib/unicase/ulc-casexfrm.c: New file.
34651         * modules/unicase/ulc-casexfrm: New file.
34652
34653 2009-03-09  Bruno Haible  <bruno@clisp.org>
34654
34655         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
34656         invocations.
34657
34658         * m4/mbscasecmp.m4: Remove file.
34659         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
34660         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
34661
34662         * m4/mbscasestr.m4: Remove file.
34663         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
34664         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
34665
34666         * m4/mbschr.m4: Remove file.
34667         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
34668         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
34669
34670         * m4/mbscspn.m4: Remove file.
34671         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
34672         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
34673
34674         * m4/mbslen.m4: Remove file.
34675         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
34676         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
34677
34678         * m4/mbsncasecmp.m4: Remove file.
34679         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
34680         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
34681
34682         * m4/mbsnlen.m4: Remove file.
34683         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
34684         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
34685
34686         * m4/mbspbrk.m4: Remove file.
34687         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
34688         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
34689
34690         * m4/mbspcasecmp.m4: Remove file.
34691         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
34692         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
34693
34694         * m4/mbsrchr.m4: Remove file.
34695         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
34696         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
34697
34698         * m4/mbssep.m4: Remove file.
34699         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
34700         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
34701
34702         * m4/mbsspn.m4: Remove file.
34703         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
34704         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
34705
34706         * m4/mbsstr.m4: Remove file.
34707         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
34708         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
34709
34710         * m4/mbstok_r.m4: Remove file.
34711         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
34712         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
34713
34714         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
34715
34716         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
34717         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
34718
34719         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
34720
34721 2009-03-08  Bruno Haible  <bruno@clisp.org>
34722
34723         Tests for module 'unicase/ulc-casecmp'.
34724         * modules/unicase/ulc-casecmp-tests: New file.
34725         * tests/unicase/test-ulc-casecmp1.sh: New file.
34726         * tests/unicase/test-ulc-casecmp2.sh: New file.
34727         * tests/unicase/test-ulc-casecmp.c: New file.
34728
34729         New module 'unicase/ulc-casecmp'.
34730         * lib/unicase.h (ulc_casecmp): New declaration.
34731         * lib/unicase/ulc-casecmp.c: New file.
34732         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
34733         'const SRC_UNIT *'.
34734         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
34735         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
34736         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
34737         * modules/unicase/ulc-casecmp: New file.
34738
34739         Tests for module 'unicase/u32-is-cased'.
34740         * modules/unicase/u32-is-cased-tests: New file.
34741         * tests/unicase/test-u32-is-cased.c: New file.
34742
34743         Tests for module 'unicase/u16-is-cased'.
34744         * modules/unicase/u16-is-cased-tests: New file.
34745         * tests/unicase/test-u16-is-cased.c: New file.
34746
34747         Tests for module 'unicase/u8-is-cased'.
34748         * modules/unicase/u8-is-cased-tests: New file.
34749         * tests/unicase/test-u8-is-cased.c: New file.
34750         * tests/unicase/test-is-cased.h: New file.
34751
34752         New module 'unicase/u32-is-cased'.
34753         * lib/unicase/u32-is-cased.c: New file.
34754         * modules/unicase/u32-is-cased: New file.
34755
34756         New module 'unicase/u16-is-cased'.
34757         * lib/unicase/u16-is-cased.c: New file.
34758         * modules/unicase/u16-is-cased: New file.
34759
34760         New module 'unicase/u8-is-cased'.
34761         * lib/unicase/u8-is-cased.c: New file.
34762         * lib/unicase/u-is-cased.h: New file.
34763         * modules/unicase/u8-is-cased: New file.
34764
34765         Tests for module 'unicase/u32-is-casefolded'.
34766         * modules/unicase/u32-is-casefolded-tests: New file.
34767         * tests/unicase/test-u32-is-casefolded.c: New file.
34768
34769         Tests for module 'unicase/u16-is-casefolded'.
34770         * modules/unicase/u16-is-casefolded-tests: New file.
34771         * tests/unicase/test-u16-is-casefolded.c: New file.
34772
34773         Tests for module 'unicase/u8-is-casefolded'.
34774         * modules/unicase/u8-is-casefolded-tests: New file.
34775         * tests/unicase/test-u8-is-casefolded.c: New file.
34776         * tests/unicase/test-is-casefolded.h: New file.
34777
34778         New module 'unicase/u32-is-casefolded'.
34779         * lib/unicase/u32-is-casefolded.c: New file.
34780         * modules/unicase/u32-is-casefolded: New file.
34781
34782         New module 'unicase/u16-is-casefolded'.
34783         * lib/unicase/u16-is-casefolded.c: New file.
34784         * modules/unicase/u16-is-casefolded: New file.
34785
34786         New module 'unicase/u8-is-casefolded'.
34787         * lib/unicase/u8-is-casefolded.c: New file.
34788         * modules/unicase/u8-is-casefolded: New file.
34789
34790         Tests for module 'unicase/u32-is-titlecase'.
34791         * modules/unicase/u32-is-titlecase-tests: New file.
34792         * tests/unicase/test-u32-is-titlecase.c: New file.
34793
34794         Tests for module 'unicase/u16-is-titlecase'.
34795         * modules/unicase/u16-is-titlecase-tests: New file.
34796         * tests/unicase/test-u16-is-titlecase.c: New file.
34797
34798         Tests for module 'unicase/u8-is-titlecase'.
34799         * modules/unicase/u8-is-titlecase-tests: New file.
34800         * tests/unicase/test-u8-is-titlecase.c: New file.
34801         * tests/unicase/test-is-titlecase.h: New file.
34802
34803         New module 'unicase/u32-is-titlecase'.
34804         * lib/unicase/u32-is-titlecase.c: New file.
34805         * modules/unicase/u32-is-titlecase: New file.
34806
34807         New module 'unicase/u16-is-titlecase'.
34808         * lib/unicase/u16-is-titlecase.c: New file.
34809         * modules/unicase/u16-is-titlecase: New file.
34810
34811         New module 'unicase/u8-is-titlecase'.
34812         * lib/unicase/u8-is-titlecase.c: New file.
34813         * modules/unicase/u8-is-titlecase: New file.
34814
34815         Tests for module 'unicase/u32-is-lowercase'.
34816         * modules/unicase/u32-is-lowercase-tests: New file.
34817         * tests/unicase/test-u32-is-lowercase.c: New file.
34818
34819         Tests for module 'unicase/u16-is-lowercase'.
34820         * modules/unicase/u16-is-lowercase-tests: New file.
34821         * tests/unicase/test-u16-is-lowercase.c: New file.
34822
34823         Tests for module 'unicase/u8-is-lowercase'.
34824         * modules/unicase/u8-is-lowercase-tests: New file.
34825         * tests/unicase/test-u8-is-lowercase.c: New file.
34826         * tests/unicase/test-is-lowercase.h: New file.
34827
34828         New module 'unicase/u32-is-lowercase'.
34829         * lib/unicase/u32-is-lowercase.c: New file.
34830         * modules/unicase/u32-is-lowercase: New file.
34831
34832         New module 'unicase/u16-is-lowercase'.
34833         * lib/unicase/u16-is-lowercase.c: New file.
34834         * modules/unicase/u16-is-lowercase: New file.
34835
34836         New module 'unicase/u8-is-lowercase'.
34837         * lib/unicase/u8-is-lowercase.c: New file.
34838         * modules/unicase/u8-is-lowercase: New file.
34839
34840         Tests for module 'unicase/u32-is-uppercase'.
34841         * modules/unicase/u32-is-uppercase-tests: New file.
34842         * tests/unicase/test-u32-is-uppercase.c: New file.
34843
34844         Tests for module 'unicase/u16-is-uppercase'.
34845         * modules/unicase/u16-is-uppercase-tests: New file.
34846         * tests/unicase/test-u16-is-uppercase.c: New file.
34847
34848         Tests for module 'unicase/u8-is-uppercase'.
34849         * modules/unicase/u8-is-uppercase-tests: New file.
34850         * tests/unicase/test-u8-is-uppercase.c: New file.
34851         * tests/unicase/test-is-uppercase.h: New file.
34852
34853         New module 'unicase/u32-is-uppercase'.
34854         * lib/unicase/u32-is-uppercase.c: New file.
34855         * modules/unicase/u32-is-uppercase: New file.
34856
34857         New module 'unicase/u16-is-uppercase'.
34858         * lib/unicase/u16-is-uppercase.c: New file.
34859         * modules/unicase/u16-is-uppercase: New file.
34860
34861         New module 'unicase/u8-is-uppercase'.
34862         * lib/unicase/u8-is-uppercase.c: New file.
34863         * modules/unicase/u8-is-uppercase: New file.
34864
34865         New module 'unicase/u32-is-invariant'.
34866         * lib/unicase/u32-is-invariant.c: New file.
34867         * modules/unicase/u32-is-invariant: New file.
34868
34869         New module 'unicase/u16-is-invariant'.
34870         * lib/unicase/u16-is-invariant.c: New file.
34871         * modules/unicase/u16-is-invariant: New file.
34872
34873         New module 'unicase/u8-is-invariant'.
34874         * lib/unicase/u8-is-invariant.c: New file.
34875         * lib/unicase/invariant.h: New file.
34876         * lib/unicase/u-is-invariant.h: New file.
34877         * modules/unicase/u8-is-invariant: New file.
34878
34879         Tests for module 'unicase/u32-casecoll'.
34880         * modules/unicase/u32-casecoll-tests: New file.
34881         * tests/unicase/test-u32-casecoll.c: New file.
34882
34883         Tests for module 'unicase/u16-casecoll'.
34884         * modules/unicase/u16-casecoll-tests: New file.
34885         * tests/unicase/test-u16-casecoll.c: New file.
34886
34887         Tests for module 'unicase/u8-casecoll'.
34888         * modules/unicase/u8-casecoll-tests: New file.
34889         * tests/unicase/test-u8-casecoll.c: New file.
34890
34891         New module 'unicase/u32-casecoll'.
34892         * lib/unicase/u32-casecoll.c: New file.
34893         * modules/unicase/u32-casecoll: New file.
34894
34895         New module 'unicase/u16-casecoll'.
34896         * lib/unicase/u16-casecoll.c: New file.
34897         * modules/unicase/u16-casecoll: New file.
34898
34899         New module 'unicase/u8-casecoll'.
34900         * lib/unicase/u8-casecoll.c: New file.
34901         * lib/unicase/u-casecoll.h: New file.
34902         * modules/unicase/u8-casecoll: New file.
34903
34904         New module 'unicase/u32-casexfrm'.
34905         * lib/unicase/u32-casexfrm.c: New file.
34906         * modules/unicase/u32-casexfrm: New file.
34907
34908         New module 'unicase/u16-casexfrm'.
34909         * lib/unicase/u16-casexfrm.c: New file.
34910         * modules/unicase/u16-casexfrm: New file.
34911
34912         New module 'unicase/u8-casexfrm'.
34913         * lib/unicase/u8-casexfrm.c: New file.
34914         * lib/unicase/u-casexfrm.h: New file.
34915         * modules/unicase/u8-casexfrm: New file.
34916
34917         Tests for module 'unicase/u32-casecmp'.
34918         * modules/unicase/u32-casecmp-tests: New file.
34919         * tests/unicase/test-u32-casecmp.c: New file.
34920
34921         Tests for module 'unicase/u16-casecmp'.
34922         * modules/unicase/u16-casecmp-tests: New file.
34923         * tests/unicase/test-u16-casecmp.c: New file.
34924
34925         Tests for module 'unicase/u8-casecmp'.
34926         * modules/unicase/u8-casecmp-tests: New file.
34927         * tests/unicase/test-u8-casecmp.c: New file.
34928         * tests/unicase/test-casecmp.h: New file.
34929
34930         New module 'unicase/u32-casecmp'.
34931         * lib/unicase/u32-casecmp.c: New file.
34932         * modules/unicase/u32-casecmp: New file.
34933
34934         New module 'unicase/u16-casecmp'.
34935         * lib/unicase/u16-casecmp.c: New file.
34936         * modules/unicase/u16-casecmp: New file.
34937
34938         New module 'unicase/u8-casecmp'.
34939         * lib/unicase/u8-casecmp.c: New file.
34940         * lib/unicase/u-casecmp.h: New file.
34941         * modules/unicase/u8-casecmp: New file.
34942
34943         Tests for module 'unicase/u32-casefold'.
34944         * modules/unicase/u32-casefold-tests: New file.
34945         * tests/unicase/test-u32-casefold.c: New file.
34946
34947         Tests for module 'unicase/u16-casefold'.
34948         * modules/unicase/u16-casefold-tests: New file.
34949         * tests/unicase/test-u16-casefold.c: New file.
34950
34951         Tests for module 'unicase/u8-casefold'.
34952         * modules/unicase/u8-casefold-tests: New file.
34953         * tests/unicase/test-u8-casefold.c: New file.
34954
34955         New module 'unicase/u32-casefold'.
34956         * lib/unicase/u32-casefold.c: New file.
34957         * modules/unicase/u32-casefold: New file.
34958
34959         New module 'unicase/u16-casefold'.
34960         * lib/unicase/u16-casefold.c: New file.
34961         * modules/unicase/u16-casefold: New file.
34962
34963         New module 'unicase/u8-casefold'.
34964         * lib/unicase/u8-casefold.c: New file.
34965         * lib/unicase/u-casefold.h: New file.
34966         * modules/unicase/u8-casefold: New file.
34967
34968         New module 'unicase/tocasefold'.
34969         * lib/unicase/casefold.h: New file.
34970         * lib/unicase/tocasefold.c: New file.
34971         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
34972         * modules/unicase/tocasefold: New file.
34973
34974         Tests for module 'unicase/u32-totitle'.
34975         * modules/unicase/u32-totitle-tests: New file.
34976         * tests/unicase/test-u32-totitle.c: New file.
34977
34978         Tests for module 'unicase/u16-totitle'.
34979         * modules/unicase/u16-totitle-tests: New file.
34980         * tests/unicase/test-u16-totitle.c: New file.
34981
34982         Tests for module 'unicase/u8-totitle'.
34983         * modules/unicase/u8-totitle-tests: New file.
34984         * tests/unicase/test-u8-totitle.c: New file.
34985
34986         New module 'unicase/u32-totitle'.
34987         * lib/unicase/u32-totitle.c: New file.
34988         * modules/unicase/u32-totitle: New file.
34989
34990         New module 'unicase/u16-totitle'.
34991         * lib/unicase/u16-totitle.c: New file.
34992         * modules/unicase/u16-totitle: New file.
34993
34994         New module 'unicase/u8-totitle'.
34995         * lib/unicase/u8-totitle.c: New file.
34996         * lib/unicase/u-totitle.h: New file.
34997         * modules/unicase/u8-totitle: New file.
34998
34999         Tests for module 'unicase/u32-tolower'.
35000         * modules/unicase/u32-tolower-tests: New file.
35001         * tests/unicase/test-u32-tolower.c: New file.
35002
35003         Tests for module 'unicase/u16-tolower'.
35004         * modules/unicase/u16-tolower-tests: New file.
35005         * tests/unicase/test-u16-tolower.c: New file.
35006
35007         Tests for module 'unicase/u8-tolower'.
35008         * modules/unicase/u8-tolower-tests: New file.
35009         * tests/unicase/test-u8-tolower.c: New file.
35010
35011         New module 'unicase/u32-tolower'.
35012         * lib/unicase/u32-tolower.c: New file.
35013         * modules/unicase/u32-tolower: New file.
35014
35015         New module 'unicase/u16-tolower'.
35016         * lib/unicase/u16-tolower.c: New file.
35017         * modules/unicase/u16-tolower: New file.
35018
35019         New module 'unicase/u8-tolower'.
35020         * lib/unicase/u8-tolower.c: New file.
35021         * modules/unicase/u8-tolower: New file.
35022
35023         Tests for module 'unicase/u32-toupper'.
35024         * modules/unicase/u32-toupper-tests: New file.
35025         * tests/unicase/test-u32-toupper.c: New file.
35026
35027         Tests for module 'unicase/u16-toupper'.
35028         * modules/unicase/u16-toupper-tests: New file.
35029         * tests/unicase/test-u16-toupper.c: New file.
35030
35031         Tests for module 'unicase/u8-toupper'.
35032         * modules/unicase/u8-toupper-tests: New file.
35033         * tests/unicase/test-u8-toupper.c: New file.
35034
35035         New module 'unicase/u32-toupper'.
35036         * lib/unicase/u32-toupper.c: New file.
35037         * modules/unicase/u32-toupper: New file.
35038
35039         New module 'unicase/u16-toupper'.
35040         * lib/unicase/u16-toupper.c: New file.
35041         * modules/unicase/u16-toupper: New file.
35042
35043         New module 'unicase/u8-toupper'.
35044         * lib/unicase/u8-toupper.c: New file.
35045         * modules/unicase/u8-toupper: New file.
35046
35047         New module 'unicase/u32-casemap'.
35048         * lib/unicase/u32-casemap.c: New file.
35049         * modules/unicase/u32-casemap: New file.
35050
35051         New module 'unicase/u16-casemap'.
35052         * lib/unicase/u16-casemap.c: New file.
35053         * modules/unicase/u16-casemap: New file.
35054
35055         New module 'unicase/u8-casemap'.
35056         * lib/unicase/unicasemap.h: New file.
35057         * lib/unicase/u8-casemap.c: New file.
35058         * lib/unicase/u-casemap.h: New file.
35059         * modules/unicase/u8-casemap: New file.
35060
35061         New module 'unicase/special-casing'.
35062         * lib/unicase/special-casing.h: New file.
35063         * lib/unicase/special-casing.c: New file.
35064         * lib/unicase/special-casing-table.gperf: New file, generated by
35065         gen-uni-tables.c.
35066         * modules/unicase/special-casing: New file.
35067
35068         Tests for module 'unicase/locale-language'.
35069         * modules/unicase/locale-language-tests: New file.
35070         * tests/unicase/test-locale-language.sh: New file.
35071         * tests/unicase/test-locale-language.c: New file.
35072
35073         New module 'unicase/locale-language'.
35074         * lib/unicase/locale-language.c: New file.
35075         * lib/unicase/locale-languages.gperf: New file.
35076         * modules/unicase/locale-language: New file.
35077
35078         Generate more tables for case conversion and case folding.
35079         * lib/gen-uni-tables.c (SCC_*): New enum items.
35080         (struct special_casing_rule): New type.
35081         (casing_rules, num_casing_rules, allocated_casing_rules): New
35082         variables.
35083         (add_casing_rule, fill_casing_rules): New functions.
35084         (struct casefold_rule): New type.
35085         (casefolding_rules, num_casefolding_rules,
35086         allocated_casefolding_rules): New variables.
35087         (fill_casefolding_rules): New function.
35088         (unicode_casefold): New variable.
35089         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
35090         sort_casing_rules, output_casing_rules): New functions.
35091         (main): Accept to more arguments: SpecialCasing.txt and
35092         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
35093         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
35094         Output mapping for casefolding.
35095
35096         * lib/unicase.h: Include stdbool.h, uninorm.h.
35097         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
35098         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
35099         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
35100         arguments.
35101         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
35102         resultp arguments.
35103         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
35104         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
35105         resultp arguments.
35106         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
35107         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
35108         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
35109         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
35110         declarations.
35111         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
35112
35113 2009-03-08  Bruno Haible  <bruno@clisp.org>
35114
35115         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
35116         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
35117         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
35118         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
35119
35120 2009-03-07  Bruno Haible  <bruno@clisp.org>
35121
35122         Adjust u*_normcmp, u*_normcoll API.
35123         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
35124         u16_normcoll, u32_normcoll): Change failure conventions.
35125         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
35126         errno and return -1.
35127         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
35128
35129 2009-03-07  Bruno Haible  <bruno@clisp.org>
35130
35131         Tests for module 'uninorm/u32-normcoll'.
35132         * modules/uninorm/u32-normcoll-tests: New file.
35133         * tests/uninorm/test-u32-normcoll.c: New file.
35134
35135         Tests for module 'uninorm/u16-normcoll'.
35136         * modules/uninorm/u16-normcoll-tests: New file.
35137         * tests/uninorm/test-u16-normcoll.c: New file.
35138
35139         Tests for module 'uninorm/u8-normcoll'.
35140         * modules/uninorm/u8-normcoll-tests: New file.
35141         * tests/uninorm/test-u8-normcoll.c: New file.
35142
35143 2009-03-07  Bruno Haible  <bruno@clisp.org>
35144
35145         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
35146         tests/uninorm/test-u32-normcmp.c.
35147         * tests/uninorm/test-u32-normcmp.c: Include it.
35148         (test_nonascii): New function, extracted from main. Add some more
35149         tests.
35150         (main): Invoke test_ascii and test_nonascii.
35151         * modules/uninorm/u32-normcmp-tests (Files): Add
35152         tests/uninorm/test-u32-normcmp.h.
35153         (Depends-on): Remove uninorm/u32-normcmp.
35154
35155         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
35156         tests/uninorm/test-u16-normcmp.c.
35157         * tests/uninorm/test-u16-normcmp.c: Include it.
35158         (test_nonascii): New function, extracted from main. Add some more
35159         tests.
35160         (main): Invoke test_ascii and test_nonascii.
35161         * modules/uninorm/u16-normcmp-tests (Files): Add
35162         tests/uninorm/test-u16-normcmp.h.
35163         (Depends-on): Remove uninorm/u16-normcmp.
35164
35165         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
35166         tests/uninorm/test-u8-normcmp.c.
35167         * tests/uninorm/test-u8-normcmp.c: Include it.
35168         (test_nonascii): New function, extracted from main. Add some more
35169         tests.
35170         (main): Invoke test_ascii and test_nonascii.
35171         * modules/uninorm/u8-normcmp-tests (Files): Add
35172         tests/uninorm/test-u8-normcmp.h.
35173         (Depends-on): Remove uninorm/u8-normcmp.
35174
35175 2009-03-07  Bruno Haible  <bruno@clisp.org>
35176
35177         New module 'uninorm/u32-normcoll'.
35178         * lib/uninorm/u32-normcoll.c: New file.
35179         * modules/uninorm/u32-normcoll: New file.
35180
35181         New module 'uninorm/u16-normcoll'.
35182         * lib/uninorm/u16-normcoll.c: New file.
35183         * modules/uninorm/u16-normcoll: New file.
35184
35185         New module 'uninorm/u8-normcoll'.
35186         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
35187         declarations.
35188         * lib/uninorm/u8-normcoll.c: New file.
35189         * lib/uninorm/u-normcoll.h: New file.
35190         * modules/uninorm/u8-normcoll: New file.
35191
35192         New module 'uninorm/u32-normxfrm'.
35193         * lib/uninorm/u32-normxfrm.c: New file.
35194         * modules/uninorm/u32-normxfrm: New file.
35195
35196         New module 'uninorm/u16-normxfrm'.
35197         * lib/uninorm/u16-normxfrm.c: New file.
35198         * modules/uninorm/u16-normxfrm: New file.
35199
35200         New module 'uninorm/u8-normxfrm'.
35201         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
35202         declarations.
35203         * lib/uninorm/u8-normxfrm.c: New file.
35204         * lib/uninorm/u-normxfrm.h: New file.
35205         * modules/uninorm/u8-normxfrm: New file.
35206
35207 2009-03-07  Bruno Haible  <bruno@clisp.org>
35208
35209         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
35210         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
35211         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
35212
35213 2009-03-07  Bruno Haible  <bruno@clisp.org>
35214
35215         New module 'memxfrm'.
35216         * lib/memxfrm.h: New file.
35217         * lib/memxfrm.c: New file.
35218         * modules/memxfrm: New file.
35219
35220 2009-03-07  Bruno Haible  <bruno@clisp.org>
35221
35222         New module 'memcmp2'.
35223         * lib/memcmp2.h: New file.
35224         * lib/memcmp2.c: New file.
35225         * modules/memcmp2: New file.
35226
35227 2009-03-07  Bruno Haible  <bruno@clisp.org>
35228
35229         Tests for module 'uninorm/decomposing-form'.
35230         * modules/uninorm/decomposing-form-tests: New file.
35231         * tests/uninorm/test-decomposing-form.c: New file.
35232
35233         New module 'uninorm/decomposing-form'.
35234         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
35235         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
35236         Add 'decomposing_variant' field.
35237         * lib/uninorm/decomposing-form.c: New file.
35238         * lib/uninorm/nfc.c (uninorm_nfc): Update.
35239         * lib/uninorm/nfd.c (uninorm_nfd): Update.
35240         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
35241         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
35242         * modules/uninorm/decomposing-form: New file.
35243         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
35244         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
35245
35246 2009-03-07  Bruno Haible  <bruno@clisp.org>
35247
35248         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
35249         strings.
35250
35251 2009-03-06  Bruno Haible  <bruno@clisp.org>
35252
35253         Tests for module 'uninorm/u32-normcmp'.
35254         * tests/uninorm/test-u32-normcmp.c: New file.
35255         * modules/uninorm/u32-normcmp-tests: New file.
35256
35257         Tests for module 'uninorm/u16-normcmp'.
35258         * tests/uninorm/test-u16-normcmp.c: New file.
35259         * modules/uninorm/u16-normcmp-tests: New file.
35260
35261         Tests for module 'uninorm/u8-normcmp'.
35262         * tests/uninorm/test-u8-normcmp.c: New file.
35263         * modules/uninorm/u8-normcmp-tests: New file.
35264
35265         New module 'uninorm/u32-normcmp'.
35266         * lib/uninorm/u32-normcmp.c: New file.
35267         * modules/uninorm/u32-normcmp: New file.
35268
35269         New module 'uninorm/u16-normcmp'.
35270         * lib/uninorm/u16-normcmp.c: New file.
35271         * modules/uninorm/u16-normcmp: New file.
35272
35273         New module 'uninorm/u8-normcmp'.
35274         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
35275         declarations.
35276         * lib/uninorm/u8-normcmp.c: New file.
35277         * lib/uninorm/u-normcmp.h: New file.
35278         * modules/uninorm/u8-normcmp: New file.
35279
35280 2009-03-06  Bruno Haible  <bruno@clisp.org>
35281
35282         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
35283         Reported by Eric Blake.
35284
35285 2009-03-06  Eric Blake  <ebb9@byu.net>
35286             Bruno Haible  <bruno@clisp.org>
35287
35288         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
35289         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
35290         condition.
35291         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
35292         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
35293         condition.
35294         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
35295
35296 2009-03-06  Eric Blake  <ebb9@byu.net>
35297
35298         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
35299         to avoid compiler warnings.
35300         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
35301
35302 2009-03-05  Bruno Haible  <bruno@clisp.org>
35303
35304         * tests/test-ftell.c (main): Disable test beyond end of file on
35305         FreeMiNT.
35306         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
35307
35308 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
35309
35310         * lib/filevercmp.c: Move hidden files up in ordering.
35311         * tests/test-filevercmp.c: Add tests for hidden files.
35312
35313 2009-03-04  Bruno Haible  <bruno@clisp.org>
35314
35315         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
35316         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
35317         AM_CFLAGS.
35318         Reported by Simon Josefsson.
35319
35320 2009-03-03  Bruno Haible  <bruno@clisp.org>
35321
35322         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
35323         Reported by Simon Josefsson.
35324
35325         * doc/ld-version-script.texi: Update node reference.
35326
35327 2009-03-03  Bruno Haible  <bruno@clisp.org>
35328
35329         * modules/visibility (License): Change to 'unlimited'.
35330         Suggested by Simon Josefsson.
35331
35332 2009-03-03  Jim Meyering  <meyering@redhat.com>
35333
35334         unlinkdir: cannot_unlink_dir may modify process state
35335         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
35336         it's neither thread-safe nor appropriate for use in a library.
35337
35338 2009-03-03  Eric Blake  <ebb9@byu.net>
35339
35340         test-closein: silence test under Darwin
35341         * tests/test-closein.sh: Ignore stderr from cat, since we don't
35342         care if it dies from EPIPE or EBADF.
35343
35344 2009-03-03  Bruno Haible  <bruno@clisp.org>
35345
35346         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
35347         earlier.
35348         * doc/visibility.texi: Fix @node and @section.
35349
35350 2009-03-03  Simon Josefsson  <simon@josefsson.org>
35351
35352         * doc/gnulib.texi: Link to sections for ld version script and
35353         visibility.
35354         * doc/visibility.texi: Add @node and @section.
35355         * modules/ld-version-script: New module.
35356         * m4/ld-version-script.m4: New file.
35357         * doc/ld-version-script.texi: New file.
35358
35359 2009-03-02  David Lutterkort  <lutter@redhat.com>
35360
35361         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
35362         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35363
35364 2009-03-02  Bruno Haible  <bruno@clisp.org>
35365
35366         * doc/visibility.texi: Mention libtool's -export-symbols option.
35367
35368 2009-03-02  Jim Meyering  <meyering@redhat.com>
35369
35370         announce-gen: new option: --no-print-checksums
35371         * build-aux/announce-gen (usage): Describe it.
35372         (print_checksums): Print a newline here, not in the [*] footnote.
35373         (main): Honor it.
35374
35375 2009-03-01  Bruno Haible  <bruno@clisp.org>
35376
35377         Use socklen_t in the native Windows replacements prototypes.
35378         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
35379         instead of 'int'.
35380         * lib/getsockopt.c (rpl_getsockopt): Likewise.
35381         * lib/setsockopt.c (rpl_setsockopt): Likewise.
35382         * modules/getsockopt (Depends-on): Add socklen.
35383         * modules/setsockopt (Depends-on): Add socklen.
35384
35385 2009-03-01  Bruno Haible  <bruno@clisp.org>
35386
35387         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
35388         least 4.2.
35389
35390 2009-03-01  Eric Blake  <ebb9@byu.net>
35391             Bruno Haible  <bruno@clisp.org>
35392
35393         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
35394         error messages.
35395         * lib/wait-process.c (wait_subprocess): Omit error message about
35396         deadly signal sent to the child of termsigp != NULL.
35397
35398 2009-03-01  Eric Blake  <ebb9@byu.net>
35399
35400         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
35401
35402 2009-03-01  Bruno Haible  <bruno@clisp.org>
35403
35404         Avoid a gcc warning.
35405         * tests/test-sched.c (b): Make global.
35406         Reported by Eric Blake.
35407
35408 2009-01-19  Martin Lambers  <marlam@marlam.de>
35409
35410         Provide POSIX semantics for socket timeout options on W32.
35411         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
35412         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
35413         * modules/setsockopt: Depend on sys_time module for struct timeval.
35414         * modules/getsockopt: Depend on sys_time module for struct timeval.
35415
35416 2009-03-01  Simon Josefsson  <simon@josefsson.org>
35417
35418         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
35419         __USE_GNU, for consistency with netdb.in.h.
35420         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
35421
35422 2009-03-01  Bruno Haible  <bruno@clisp.org>
35423
35424         More support for FreeMiNT.
35425         * lib/fseeko.c (rpl_fseeko): Complete last commit.
35426         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
35427
35428 2009-03-01  Bruno Haible  <bruno@clisp.org>
35429
35430         More support for FreeMiNT.
35431         * lib/fpurge.c (fpurge): Correct last commit.
35432         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
35433
35434 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35435
35436         Fix unportable awk script in vc-list-files.
35437         * build-aux/vc-list-files: In the replacement awk script, use
35438         substr with a second argument of 1, not zero.
35439         Report by Simon Josefsson.
35440
35441 2009-02-28  Bruno Haible  <bruno@clisp.org>
35442
35443         More support for FreeMiNT.
35444         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
35445         to FreeMiNT today.
35446         * lib/fwriting.c (fwriting): Likewise.
35447         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
35448
35449 2009-02-28  Bruno Haible  <bruno@clisp.org>
35450
35451         * tests/test-freadseek.c (main): Disable test beyond end of file on
35452         FreeMiNT.
35453         * tests/test-ftello.c (main): Likewise.
35454         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
35455
35456 2009-02-28  Bruno Haible  <bruno@clisp.org>
35457
35458         Add tentative support for FreeMiNT.
35459         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
35460         * lib/fpurge.c (fpurge): Likewise.
35461         * lib/freadable.c (freadable): Likewise.
35462         * lib/freading.c (freading): Likewise.
35463         * lib/freadptr.c (freadptr): Likewise.
35464         * lib/freadseek.c (freadptrinc): Likewise.
35465         * lib/fseeko.c (rpl_fseeko): Likewise.
35466         * lib/fseterr.c (fseterr): Likewise.
35467         * lib/fwritable.c (fwritable): Likewise.
35468         * lib/fwriting.c (fwriting): Likewise.
35469         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
35470         Hourihane.
35471         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
35472
35473 2009-02-28  Bruno Haible  <bruno@clisp.org>
35474
35475         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
35476         SIGCHLD.
35477         Reported by Jim Meyering.
35478
35479 2009-02-28  Bruno Haible  <bruno@clisp.org>
35480
35481         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
35482         Mention the results of these tests on various platforms.
35483         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
35484         order.
35485         * doc/posix-functions/printf.texi: Likewise.
35486         * doc/posix-functions/snprintf.texi: Likewise.
35487         * doc/posix-functions/sprintf.texi: Likewise.
35488         * doc/posix-functions/vfprintf.texi: Likewise.
35489         * doc/posix-functions/vprintf.texi: Likewise.
35490         * doc/posix-functions/vsnprintf.texi: Likewise.
35491         * doc/posix-functions/vsprintf.texi: Likewise.
35492         * doc/glibc-functions/obstack_printf.texi: Likewise.
35493         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
35494
35495 2009-02-28  Bruno Haible  <bruno@clisp.org>
35496
35497         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
35498         Reported by Loïc Minier <lool@dooz.org>.
35499
35500 2009-02-27  Bruno Haible  <bruno@clisp.org>
35501
35502         * gnulib-tool (func_import): Make the sed expression used to create the
35503         sed script for updating the .gitignore file POSIX compliant.
35504         Reported by Eric Blake.
35505
35506 2009-02-27  Bruno Haible  <bruno@clisp.org>
35507
35508         * gnulib-tool (sed): Don't alias as "sed --posix".
35509         Reported by Eric Blake.
35510
35511 2009-02-27  Bruno Haible  <bruno@clisp.org>
35512
35513         Avoid test link errors.
35514         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
35515         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
35516         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
35517         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
35518         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35519
35520 2009-02-27  Bruno Haible  <bruno@clisp.org>
35521
35522         Avoid spurious "(cached)" in configure output.
35523         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
35524         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
35525         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
35526         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
35527         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
35528         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
35529         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
35530         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
35531         Reported by Eric Blake.
35532
35533 2009-02-27  Eric Blake  <ebb9@byu.net>
35534
35535         printf: fix regression in previous patch
35536         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
35537
35538 2009-02-27  Bruno Haible  <bruno@clisp.org>
35539
35540         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
35541         value.
35542         * lib/stdint.in.h: Likewise.
35543         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
35544
35545 2009-02-27  Eric Blake  <ebb9@byu.net>
35546
35547         doc: mention more functions added in cygwin 1.7.0
35548         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
35549         addition.
35550         * doc/posix-functions/open_wmemstream.texi: Likewise.
35551         * doc/posix-functions/wcsnlen.texi: Likewise.
35552         * doc/posix-functions/wcsnrtombs.texi: Likewise.
35553         * doc/posix-functions/wcstod.texi: Likewise.
35554         * doc/posix-functions/wcstof.texi: Likewise.
35555         * doc/posix-functions/wcstoimax.texi: Likewise.
35556         * doc/posix-functions/wcstok.texi: Likewise.
35557         * doc/posix-functions/wcstoumax.texi: Likewise.
35558
35559         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
35560         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
35561         * doc/posix-functions/fprintf.texi: Update.
35562         * doc/posix-functions/printf.texi: Update.
35563         * doc/posix-functions/snprintf.texi: Update.
35564         * doc/posix-functions/sprintf.texi: Update.
35565         * doc/posix-functions/vfprintf.texi: Update.
35566         * doc/posix-functions/vprintf.texi: Update.
35567         * doc/posix-functions/vsnprintf.texi: Update.
35568         * doc/posix-functions/vsprintf.texi: Update.
35569         * doc/glibc-functions/obstack_printf.texi: Update.
35570         * doc/glibc-functions/obstack_vprintf.texi: Update.
35571
35572 2009-02-26  Eric Blake  <ebb9@byu.net>
35573
35574         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
35575         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
35576         compilation bug by using runtime conversion.
35577         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
35578         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
35579         * modules/ceill-tests (Files): Use nan.h.
35580         * modules/floorl-tests (Files): Likewise.
35581         * modules/frexpl-tests (Files): Likewise.
35582         * modules/isnanl-tests (Files): Likewise.
35583         * modules/ldexpl-tests (Files): Likewise.
35584         * modules/roundl-tests (Files): Likewise.
35585         * modules/truncl-tests (Files): Likewise.
35586         * tests/test-ceill.c (main): Use a working NaN.
35587         * tests/test-floorl.c (main): Likewise.
35588         * tests/test-frexpl.c (main): Likewise.
35589         * tests/test-isnan.c (test_long_double): Likewise.
35590         * tests/test-isnanl.h (main): Likewise.
35591         * tests/test-ldexpl.h (main): Likewise.
35592         * tests/test-roundl.h (main): Likewise.
35593         * tests/test-truncl.h (main): Likewise.
35594         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
35595
35596 2009-02-26  Eric Blake  <ebb9@byu.net>
35597             Bruno Haible  <bruno@clisp.org>
35598
35599         Work around a *printf bug with %ls on Solaris.
35600         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
35601         precision is specified, sprintf stops converting the wide string
35602         argument when the number of bytes that have been produced by this
35603         conversion equals or exceeds the precision.
35604         * doc/posix-functions/fprintf.texi: Update.
35605         * doc/posix-functions/printf.texi: Update.
35606         * doc/posix-functions/snprintf.texi: Update.
35607         * doc/posix-functions/sprintf.texi: Update.
35608         * doc/posix-functions/vfprintf.texi: Update.
35609         * doc/posix-functions/vprintf.texi: Update.
35610         * doc/posix-functions/vsnprintf.texi: Update.
35611         * doc/posix-functions/vsprintf.texi: Update.
35612         * doc/glibc-functions/obstack_printf.texi: Update.
35613         * doc/glibc-functions/obstack_vprintf.texi: Update.
35614
35615 2009-02-26  Eric Blake  <ebb9@byu.net>
35616
35617         stdlib: favor compiler check of random.h
35618         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
35619         to avoid an ObjC random.h installed by Swarm.
35620
35621 2009-02-26  Bruno Haible  <bruno@clisp.org>
35622
35623         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
35624         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
35625         Reported by Gary V. Vaughan <gary@gnu.org>.
35626
35627 2009-02-26  Bruno Haible  <bruno@clisp.org>
35628
35629         Fix *printf behaviour regarding the %ls directive.
35630         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
35631         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
35632         NEED_PRINTF_DIRECTIVE_LS.
35633         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
35634         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
35635         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
35636         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
35637         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
35638         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
35639         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
35640         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
35641         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35642         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35643         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35644         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
35645         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35646         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35647         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35648         * doc/posix-functions/fprintf.texi: Update.
35649         * doc/posix-functions/printf.texi: Update.
35650         * doc/posix-functions/snprintf.texi: Update.
35651         * doc/posix-functions/sprintf.texi: Update.
35652         * doc/posix-functions/vfprintf.texi: Update.
35653         * doc/posix-functions/vprintf.texi: Update.
35654         * doc/posix-functions/vsnprintf.texi: Update.
35655         * doc/posix-functions/vsprintf.texi: Update.
35656         * doc/glibc-functions/obstack_printf.texi: Update.
35657         * doc/glibc-functions/obstack_vprintf.texi: Update.
35658         Reported by Eric Blake.
35659
35660 2009-02-25  Bruno Haible  <bruno@clisp.org>
35661
35662         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
35663         with known value.
35664         Reported by Gary V. Vaughan <gary@gnu.org>.
35665
35666 2009-02-25  Bruno Haible  <bruno@clisp.org>
35667
35668         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
35669         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
35670         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
35671         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
35672         Reported by Gary V. Vaughan <gary@gnu.org>.
35673
35674 2009-02-25  Bruno Haible  <bruno@clisp.org>
35675
35676         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
35677         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
35678         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
35679         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
35680         Reported by Gary V. Vaughan <gary@gnu.org>.
35681
35682 2009-02-25  Eric Blake  <ebb9@byu.net>
35683
35684         tests: skip fseek/ftell tests if ungetc is broken
35685         * m4/ungetc.m4: New file.
35686         * modules/fseek-tests: Split test, so ungetc dependency is
35687         separate from rest of test.
35688         * modules/fseeko-tests: Likewise.
35689         * modules/ftell-tests: Likewise.
35690         * modules/ftello-tests: Likewise.
35691         * tests/test-fseek.c (main): Isolate ungetc dependency.
35692         * tests/test-fseeko.c (main): Likewise.
35693         * tests/test-ftell.c (main): Likewise.
35694         * tests/test-ftello.c (main): Likewise.
35695         * tests/test-fseek2.sh: New file.
35696         * tests/test-fseeko2.sh: Likewise.
35697         * tests/test-ftell2.sh: Likewise.
35698         * tests/test-ftello2.sh: Likewise.
35699
35700 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
35701
35702         test-getaddrinfo: fix usage of skip return code 77
35703         * tests/test-gettaddrinfo.c: Return skip code 77 only
35704         for first occurance of skip (4x77 is not 77)
35705
35706 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
35707
35708         strtod: avoid C99 decl-after-statement
35709         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
35710
35711 2009-02-24  Eric Blake  <ebb9@byu.net>
35712
35713         strtod: detect HP-UX 11.31 bug
35714         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
35715         Reported by Gary V. Vaughan.
35716
35717 2009-02-23  Bruno Haible  <bruno@clisp.org>
35718
35719         Fix invalid read past end of memory block.
35720         * lib/vasnprintf.c (DCHAR_SET): Define.
35721         (local_wcslen): Define only when needed.
35722         (local_strnlen, local_wcsnlen): New functions.
35723         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
35724         directives that involve a conversion ourselves.
35725         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
35726         wcsnlen, mbrtowc, wcrtomb.
35727         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
35728         * tests/test-vasprintf-posix.c (test_function): Likewise.
35729         * tests/test-snprintf-posix.h (test_function): Likewise.
35730         * tests/test-sprintf-posix.h (test_function): Likewise.
35731         Reported by Ben Pfaff <blp@cs.stanford.edu>.
35732
35733 2009-02-22  Bruno Haible  <bruno@clisp.org>
35734
35735         Implement new clarified decomposition of Hangul syllables.
35736         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
35737         of type LTV, return only a pairwise decomposition.
35738         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
35739         Likewise.
35740         * tests/uninorm/test-decomposition.c (main): Updated expected result.
35741         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
35742         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
35743
35744 2009-02-22  Bruno Haible  <bruno@clisp.org>
35745
35746         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
35747         zero-length results and shrink excess allocated memory.
35748         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
35749         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
35750         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
35751         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
35752         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
35753         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
35754         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
35755         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
35756         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
35757         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
35758         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
35759         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
35760
35761 2009-02-21  Bruno Haible  <bruno@clisp.org>
35762
35763         * doc/gnulib.texi: Include safe-alloc.texi earlier.
35764         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
35765         spaces after a period. Put a space between a macro name and its
35766         argument list. Trivial rewordings.
35767         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
35768         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
35769         (main): Return 0 explicitly.
35770
35771 2009-02-21  Bruno Haible  <bruno@clisp.org>
35772
35773         Tests for module 'uninorm/filter'.
35774         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
35775         * modules/uninorm/filter-tests: New file.
35776
35777         New module 'uninorm/filter'.
35778         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
35779         uninorm_filter_flush, uninorm_filter_free): New declarations.
35780         * lib/uninorm/uninorm-filter.c: New file.
35781         * modules/uninorm/filter: New file.
35782
35783 2009-02-21  Bruno Haible  <bruno@clisp.org>
35784
35785         Tests for module 'uninorm/nfkc'.
35786         * tests/uninorm/test-nfkc.c: New file.
35787         * tests/uninorm/test-u8-nfkc.c: New file.
35788         * tests/uninorm/test-u16-nfkc.c: New file.
35789         * tests/uninorm/test-u32-nfkc.c: New file.
35790         * tests/uninorm/test-u32-nfkc-big.sh: New file.
35791         * tests/uninorm/test-u32-nfkc-big.c: New file.
35792         * modules/uninorm/nfkc-tests: New file.
35793
35794         New module 'uninorm/nfkc'.
35795         * lib/uninorm/nfkc.c: New file.
35796         * modules/uninorm/nfkc: New file.
35797
35798         Tests for module 'uninorm/nfkd'.
35799         * tests/uninorm/test-nfkd.c: New file.
35800         * tests/uninorm/test-u8-nfkd.c: New file.
35801         * tests/uninorm/test-u16-nfkd.c: New file.
35802         * tests/uninorm/test-u32-nfkd.c: New file.
35803         * tests/uninorm/test-u32-nfkd-big.sh: New file.
35804         * tests/uninorm/test-u32-nfkd-big.c: New file.
35805         * modules/uninorm/nfkd-tests: New file.
35806
35807         New module 'uninorm/nfkd'.
35808         * lib/uninorm/nfkd.c: New file.
35809         * modules/uninorm/nfkd: New file.
35810
35811         Tests for module 'uninorm/nfc'.
35812         * tests/uninorm/test-nfc.c: New file.
35813         * tests/uninorm/test-u8-nfc.c: New file.
35814         * tests/uninorm/test-u16-nfc.c: New file.
35815         * tests/uninorm/test-u32-nfc.c: New file.
35816         * tests/uninorm/test-u32-nfc-big.sh: New file.
35817         * tests/uninorm/test-u32-nfc-big.c: New file.
35818         * modules/uninorm/nfc-tests: New file.
35819
35820         New module 'uninorm/nfc'.
35821         * lib/uninorm/nfc.c: New file.
35822         * modules/uninorm/nfc: New file.
35823
35824         Tests for module 'uninorm/nfd'.
35825         * tests/uninorm/test-nfd.c: New file.
35826         * tests/uninorm/test-u8-nfd.c: New file.
35827         * tests/uninorm/test-u16-nfd.c: New file.
35828         * tests/uninorm/test-u32-nfd.c: New file.
35829         * tests/uninorm/test-u32-nfd-big.sh: New file.
35830         * tests/uninorm/test-u32-nfd-big.c: New file.
35831         * tests/uninorm/test-u32-normalize-big.h: New file.
35832         * tests/uninorm/test-u32-normalize-big.c: New file.
35833         * tests/uninorm/NormalizationTest.txt: New file, created from
35834         Unicode 5.1.0 NormalizationTest.txt.
35835         * modules/uninorm/nfd-tests: New file.
35836
35837         New module 'uninorm/nfd'.
35838         * lib/uninorm/nfd.c: New file.
35839         * modules/uninorm/nfd: New file.
35840
35841         New module 'uninorm/u32-normalize'.
35842         * lib/uninorm/u32-normalize.c: New file.
35843         * modules/uninorm/u32-normalize: New file.
35844
35845         New module 'uninorm/u16-normalize'.
35846         * lib/uninorm/u16-normalize.c: New file.
35847         * modules/uninorm/u16-normalize: New file.
35848
35849         New module 'uninorm/u8-normalize'.
35850         * lib/uninorm/u8-normalize.c: New file.
35851         * lib/uninorm/normalize-internal.h: New file.
35852         * lib/uninorm/u-normalize-internal.h: New file.
35853         * modules/uninorm/u8-normalize: New file.
35854
35855         New module 'uninorm/decompose-internal'.
35856         * lib/uninorm/decompose-internal.c: New file.
35857         * modules/uninorm/decompose-internal: New file.
35858
35859         Tests for module 'uninorm/composition'.
35860         * tests/uninorm/test-composition.c: New file.
35861         * modules/uninorm/composition-tests: New file.
35862
35863         New module 'uninorm/composition'.
35864         * lib/uninorm/composition.c: New file.
35865         * lib/uninorm/composition-table.gperf: New file, generated by
35866         gen-uni-tables.
35867         * modules/uninorm/composition: New file.
35868
35869         Tests for module 'uninorm/compat-decomposition'.
35870         * tests/uninorm/test-compat-decomposition.c: New file.
35871         * modules/uninorm/compat-decomposition-tests: New file.
35872
35873         New module 'uninorm/compat-decomposition'.
35874         * lib/uninorm/decompose-internal.h: New file.
35875         * lib/uninorm/compat-decomposition.c: New file.
35876         * modules/uninorm/compat-decomposition: New file.
35877
35878         Tests for module 'uninorm/canonical-decomposition'.
35879         * tests/uninorm/test-canonical-decomposition.c: New file.
35880         * modules/uninorm/canonical-decomposition-tests: New file.
35881
35882         New module 'uninorm/canonical-decomposition'.
35883         * lib/uninorm/canonical-decomposition.c: New file.
35884         * modules/uninorm/canonical-decomposition: New file.
35885
35886         Tests for module 'uninorm/decomposition'.
35887         * tests/uninorm/test-decomposition.c: New file.
35888         * modules/uninorm/decomposition-tests: New file.
35889
35890         New module 'uninorm/decomposition'.
35891         * lib/uninorm/decomposition.c: New file.
35892         * modules/uninorm/decomposition: New file.
35893
35894         New module 'uninorm/decomposition-table'.
35895         * lib/uninorm/decomposition-table.h: New file.
35896         * lib/uninorm/decomposition-table.c: New file.
35897         * lib/uninorm/decomposition-table1.h: New file, generated by
35898         gen-uni-tables.
35899         * lib/uninorm/decomposition-table2.h: New file, generated by
35900         gen-uni-tables.
35901         * modules/uninorm/decomposition-table: New file.
35902
35903         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
35904         (UC_DECOMP_*): New enumeration items.
35905         (get_decomposition): New function.
35906         (struct decomp_table): New type.
35907         (output_decomposition, output_decomposition_tables): New functions.
35908         (unicode_composition_exclusions): New variable.
35909         (fill_composition_exclusions, debug_output_composition_tables): New
35910         functions.
35911         (main): Accept one more argument. Invoke fill_composition_exclusions.
35912         Output decomposition and composition tables.
35913
35914         New module 'uninorm/base'.
35915         * lib/uninorm.h: New file.
35916         * lib/unictype.h: Update comment.
35917         * modules/uninorm/base: New file.
35918
35919 2009-02-21  David Lutterkort  <lutter@redhat.com>
35920
35921         Tests for module 'safe-alloc'.
35922         * tests/test-safe-alloc.c: New file.
35923         * modules/safe-alloc-tests: New file.
35924
35925         New module 'safe-alloc'.
35926         * lib/safe-alloc.h: New file.
35927         * lib/safe-alloc.c: New file.
35928         * m4/safe-alloc.m4: New file.
35929         * modules/safe-alloc: New file.
35930         * doc/safe-alloc.texi: New file.
35931         * doc/gnulib.texi: Include it.
35932         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
35933         safe-alloc.
35934
35935 2009-02-18  Bruno Haible  <bruno@clisp.org>
35936
35937         Fix link error on non-glibc systems.
35938         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
35939         variable.
35940         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35941
35942 2009-02-18  Jim Meyering  <meyering@redhat.com>
35943
35944         fts: avoid used-uninitialized error due to recent change
35945         * lib/fts.c (fts_read): Guard uses of the new member,
35946         parent->fts_n_dirs_remaining, since it's not relevant for
35947         the parent of a directory specified on the command-line.
35948
35949 2009-02-17  James Youngman  <jay@gnu.org>
35950             Bruno Haible  <bruno@clisp.org>
35951
35952         * m4/include_next.m4: Reformulate comment.
35953
35954 2009-02-16  Jim Meyering  <meyering@redhat.com>
35955
35956         fts: add #if guards so that the fts_lgpl module still builds
35957         * lib/fts.c: Guard just-added hash-table-using parts with
35958         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
35959         Reported by Simon Josefsson.
35960
35961 2009-02-15  Bruno Haible  <bruno@clisp.org>
35962
35963         * modules/array-mergesort-tests: New file.
35964         * tests/test-array-mergesort.c: New file.
35965
35966         New module 'array-mergesort'.
35967         * modules/array-mergesort: New file.
35968         * lib/array-mergesort.h: New file.
35969
35970 2009-02-15  Bruno Haible  <bruno@clisp.org>
35971
35972         Fix 2009-02-07 commit.
35973         * lib/gen-uni-tables.c (output_predicate, output_category,
35974         output_combclass, output_bidi_category, output_decimal_digit,
35975         output_digit, output_numeric, output_mirror, output_scripts,
35976         output_ident_category, output_simple_mapping): Fix format directives.
35977         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
35978
35979 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
35980
35981         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
35982         fixes are available from IBM.
35983
35984 2009-02-13  Jim Meyering  <meyering@redhat.com>
35985
35986         fts: arrange not to stat non-directories in more cases
35987         This makes GNU find (when it doesn't need to stat each file)
35988         *much* more efficient at traversing reiserfs file systems.
35989         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
35990         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
35991         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
35992         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
35993         (leaf_optimization_applies): New function.
35994         (LCO_hash, LCO_compare): New helper functions.
35995         (link_count_optimize_ok): New function.
35996         (fts_stat): Initialize new member (if dir).
35997         (fts_read): Decrement parent's fts_n_dirs_remaining count if
35998         we've just stat'ed a directory.  Skip the stat call when possible.
35999         ---
36000         Note this AFS-related exchange:
36001         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
36002         and note find's pioctl call in find/fstype.c.
36003         But that is necessary only if you want to enable the
36004         optimization for AFS, and for now, I don't.
36005
36006         fts: move a function definition "up" (no semantic change)
36007         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
36008         "up" to precede upcoming use of a related function.
36009
36010 2009-02-11  Jim Meyering  <meyering@redhat.com>
36011
36012         fts: correct internal computation of nlinks (optimization-related)
36013         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
36014         whether the current entry is a directory, so don't test it.
36015
36016 2009-02-10  Bruno Haible  <bruno@clisp.org>
36017
36018         Tests for module 'uniwbrk/ulc-wordbreaks'.
36019         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
36020         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
36021         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
36022
36023         Tests for module 'uniwbrk/u32-wordbreaks'.
36024         * modules/uniwbrk/u32-wordbreaks-tests: New file.
36025         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
36026
36027         Tests for module 'uniwbrk/u16-wordbreaks'.
36028         * modules/uniwbrk/u16-wordbreaks-tests: New file.
36029         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
36030
36031         Tests for module 'uniwbrk/u8-wordbreaks'.
36032         * modules/uniwbrk/u8-wordbreaks-tests: New file.
36033         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
36034
36035 2009-02-10  Bruno Haible  <bruno@clisp.org>
36036
36037         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
36038         property.
36039         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
36040         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
36041         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
36042
36043 2009-02-10  Simon Josefsson  <simon@josefsson.org>
36044
36045         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
36046         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
36047
36048 2009-02-10  Bruno Haible  <bruno@clisp.org>
36049
36050         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
36051         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
36052         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
36053         * lib/unilbrk/u8-possible-linebreaks.c: Update.
36054         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
36055         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
36056
36057 2009-02-09  Simon Josefsson  <simon@josefsson.org>
36058
36059         * lib/sockets.h (gl_fd_to_handle): New function.
36060
36061         * tests/test-sockets.c: Call gl_fd_to_handle.
36062
36063 2009-02-09  Bruno Haible  <bruno@clisp.org>
36064
36065         * doc/havelib.texi: Document the conventions on bi-arch systems.
36066
36067 2009-02-08  Bruno Haible  <bruno@clisp.org>
36068
36069         Document the AC_LIB_LINKFLAGS macro.
36070         * doc/havelib.texi: New file, mostly written on 2005-05-24.
36071         * doc/gnulib.texi: Include it.
36072
36073 2009-02-08  Bruno Haible  <bruno@clisp.org>
36074
36075         Fix wrong order of sections, compared to TOC.
36076         * doc/gnulib.texi: Include relocatable-maint.texi after the
36077         "Regular expressions" node, not before.
36078
36079 2009-02-08  Bruno Haible  <bruno@clisp.org>
36080
36081         Tests for module 'unicase/totitle'.
36082         * modules/unicase/totitle-tests: New file.
36083
36084         Tests for module 'unicase/tolower'.
36085         * modules/unicase/tolower-tests: New file.
36086
36087         Tests for module 'unicase/toupper'.
36088         * modules/unicase/toupper-tests: New file.
36089         * tests/unicase/test-mapping-part1.h: New file.
36090         * tests/unicase/test-mapping-part2.h: New file.
36091
36092         New module 'unicase/totitle'.
36093         * modules/unicase/totitle: New file.
36094         * lib/unicase/totitle.c: New file.
36095
36096         New module 'unicase/tolower'.
36097         * modules/unicase/tolower: New file.
36098         * lib/unicase/tolower.c: New file.
36099
36100         New module 'unicase/toupper'.
36101         * modules/unicase/toupper: New file.
36102         * lib/unicase/toupper.c: New file.
36103         * lib/unicase/simple-mapping.h: New file.
36104
36105         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
36106         (mapping_table): New structure.
36107         (output_simple_mapping): New function.
36108         (main): Invoke output_simple_mapping_test and output_simple_mapping.
36109         * modules/gen-uni-tables (Description): Update.
36110         * lib/unicase/toupper.h: New file, automatically generated by
36111         gen-uni-tables.
36112         * lib/unicase/tolower.h: New file, automatically generated by
36113         gen-uni-tables.
36114         * lib/unicase/totitle.h: New file, automatically generated by
36115         gen-uni-tables.
36116         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
36117         gen-uni-tables.
36118         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
36119         gen-uni-tables.
36120         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
36121         gen-uni-tables.
36122
36123         New module 'unicase/base'.
36124         * modules/unicase/base: New file.
36125         * lib/unicase.h: New file.
36126
36127 2009-02-08  Bruno Haible  <bruno@clisp.org>
36128
36129         New module 'uniwbrk/ulc-wordbreaks'.
36130         * modules/uniwbrk/ulc-wordbreaks: New file.
36131         * lib/uniwbrk/ulc-wordbreaks.c: New file.
36132
36133         New module 'uniwbrk/u32-wordbreaks'.
36134         * modules/uniwbrk/u32-wordbreaks: New file.
36135         * lib/uniwbrk/u32-wordbreaks.c: New file.
36136
36137         New module 'uniwbrk/u16-wordbreaks'.
36138         * modules/uniwbrk/u16-wordbreaks: New file.
36139         * lib/uniwbrk/u16-wordbreaks.c: New file.
36140
36141         New module 'uniwbrk/u8-wordbreaks'.
36142         * modules/uniwbrk/u8-wordbreaks: New file.
36143         * lib/uniwbrk/u8-wordbreaks.c: New file.
36144         * lib/uniwbrk/u-wordbreaks.h: New file.
36145
36146         New module 'uniwbrk/table'.
36147         * modules/uniwbrk/table: New file.
36148         * lib/uniwbrk/wbrktable.h: New file.
36149         * lib/uniwbrk/wbrktable.c: New file.
36150
36151         New module 'uniwbrk/wordbreak-property'.
36152         * modules/uniwbrk/wordbreak-property: New file.
36153         * lib/uniwbrk/wordbreak-property.c: New file.
36154
36155         * lib/gen-uni-tables.c (WBP_*): New enum items.
36156         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
36157         (unicode_org_wbp): New variable.
36158         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
36159         New functions.
36160         (wbp_table): New structure.
36161         (output_wbp, output_wbrk_tables): New functions.
36162         (main): Accept additional argument. Invoke fill_org_wbp,
36163         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
36164         output_wbrk_tables.
36165         * modules/gen-uni-tables (Description): Update.
36166         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
36167         gen-uni-tables.
36168
36169         New module 'uniwbrk/base'.
36170         * modules/uniwbrk/base: New file.
36171         * lib/uniwbrk.h: New file.
36172
36173 2009-02-08  Bruno Haible  <bruno@clisp.org>
36174
36175         Update to Unicode 5.1.0.
36176         * lib/gen-uni-tables.c (is_property_alphabetic): Include
36177         U+2185..U+2188.
36178         (is_property_default_ignorable_code_point): Don't include characters
36179         of category Cc or Cs and not-a-characters.
36180         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
36181         U+0D79, U+109E, U+109F, U+A60C.
36182         * lib/unictype/bidi_of.h: Regenerated.
36183         * lib/unictype/blocks.h: Regenerated.
36184         * lib/unictype/categ_C.h: Regenerated.
36185         * lib/unictype/categ_Cf.h: Regenerated.
36186         * lib/unictype/categ_Cn.h: Regenerated.
36187         * lib/unictype/categ_L.h: Regenerated.
36188         * lib/unictype/categ_Ll.h: Regenerated.
36189         * lib/unictype/categ_Lm.h: Regenerated.
36190         * lib/unictype/categ_Lo.h: Regenerated.
36191         * lib/unictype/categ_Lu.h: Regenerated.
36192         * lib/unictype/categ_M.h: Regenerated.
36193         * lib/unictype/categ_Mc.h: Regenerated.
36194         * lib/unictype/categ_Me.h: Regenerated.
36195         * lib/unictype/categ_Mn.h: Regenerated.
36196         * lib/unictype/categ_N.h: Regenerated.
36197         * lib/unictype/categ_Nd.h: Regenerated.
36198         * lib/unictype/categ_Nl.h: Regenerated.
36199         * lib/unictype/categ_No.h: Regenerated.
36200         * lib/unictype/categ_P.h: Regenerated.
36201         * lib/unictype/categ_Pd.h: Regenerated.
36202         * lib/unictype/categ_Pe.h: Regenerated.
36203         * lib/unictype/categ_Pf.h: Regenerated.
36204         * lib/unictype/categ_Pi.h: Regenerated.
36205         * lib/unictype/categ_Po.h: Regenerated.
36206         * lib/unictype/categ_Ps.h: Regenerated.
36207         * lib/unictype/categ_S.h: Regenerated.
36208         * lib/unictype/categ_Sk.h: Regenerated.
36209         * lib/unictype/categ_Sm.h: Regenerated.
36210         * lib/unictype/categ_So.h: Regenerated.
36211         * lib/unictype/categ_of.h: Regenerated.
36212         * lib/unictype/combining.h: Regenerated.
36213         * lib/unictype/ctype_alnum.h: Regenerated.
36214         * lib/unictype/ctype_alpha.h: Regenerated.
36215         * lib/unictype/ctype_graph.h: Regenerated.
36216         * lib/unictype/ctype_lower.h: Regenerated.
36217         * lib/unictype/ctype_print.h: Regenerated.
36218         * lib/unictype/ctype_punct.h: Regenerated.
36219         * lib/unictype/ctype_upper.h: Regenerated.
36220         * lib/unictype/decdigit.h: Regenerated.
36221         * lib/unictype/digit.h: Regenerated.
36222         * lib/unictype/mirror.h: Regenerated.
36223         * lib/unictype/numeric.h: Regenerated.
36224         * lib/unictype/pr_alphabetic.h: Regenerated.
36225         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
36226         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
36227         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
36228         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
36229         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
36230         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
36231         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
36232         * lib/unictype/pr_combining.h: Regenerated.
36233         * lib/unictype/pr_dash.h: Regenerated.
36234         * lib/unictype/pr_decimal_digit.h: Regenerated.
36235         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
36236         * lib/unictype/pr_deprecated.h: Regenerated.
36237         * lib/unictype/pr_diacritic.h: Regenerated.
36238         * lib/unictype/pr_extender.h: Regenerated.
36239         * lib/unictype/pr_format_control.h: Regenerated.
36240         * lib/unictype/pr_grapheme_base.h: Regenerated.
36241         * lib/unictype/pr_grapheme_extend.h: Regenerated.
36242         * lib/unictype/pr_grapheme_link.h: Regenerated.
36243         * lib/unictype/pr_id_continue.h: Regenerated.
36244         * lib/unictype/pr_id_start.h: Regenerated.
36245         * lib/unictype/pr_ideographic.h: Regenerated.
36246         * lib/unictype/pr_ignorable_control.h: Regenerated.
36247         * lib/unictype/pr_lowercase.h: Regenerated.
36248         * lib/unictype/pr_math.h: Regenerated.
36249         * lib/unictype/pr_numeric.h: Regenerated.
36250         * lib/unictype/pr_other_alphabetic.h: Regenerated.
36251         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
36252         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
36253         * lib/unictype/pr_other_id_continue.h: Regenerated.
36254         * lib/unictype/pr_other_lowercase.h: Regenerated.
36255         * lib/unictype/pr_other_math.h: Regenerated.
36256         * lib/unictype/pr_punctuation.h: Regenerated.
36257         * lib/unictype/pr_sentence_terminal.h: Regenerated.
36258         * lib/unictype/pr_soft_dotted.h: Regenerated.
36259         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
36260         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
36261         * lib/unictype/pr_unified_ideograph.h: Regenerated.
36262         * lib/unictype/pr_uppercase.h: Regenerated.
36263         * lib/unictype/pr_xid_continue.h: Regenerated.
36264         * lib/unictype/pr_xid_start.h: Regenerated.
36265         * lib/unictype/pr_zero_width.h: Regenerated.
36266         * lib/unictype/scripts.h: Regenerated.
36267         * lib/unictype/scripts_byname.gperf: Regenerated.
36268         * lib/unictype/sy_java_ident.h: Regenerated.
36269         * lib/unilbrk/lbrkprop1.h: Regenerated.
36270         * lib/unilbrk/lbrkprop2.h: Regenerated.
36271         * tests/unictype/test-categ_C.c: Regenerated.
36272         * tests/unictype/test-categ_Cf.c: Regenerated.
36273         * tests/unictype/test-categ_Cn.c: Regenerated.
36274         * tests/unictype/test-categ_L.c: Regenerated.
36275         * tests/unictype/test-categ_Ll.c: Regenerated.
36276         * tests/unictype/test-categ_Lm.c: Regenerated.
36277         * tests/unictype/test-categ_Lo.c: Regenerated.
36278         * tests/unictype/test-categ_Lu.c: Regenerated.
36279         * tests/unictype/test-categ_M.c: Regenerated.
36280         * tests/unictype/test-categ_Mc.c: Regenerated.
36281         * tests/unictype/test-categ_Me.c: Regenerated.
36282         * tests/unictype/test-categ_Mn.c: Regenerated.
36283         * tests/unictype/test-categ_N.c: Regenerated.
36284         * tests/unictype/test-categ_Nd.c: Regenerated.
36285         * tests/unictype/test-categ_Nl.c: Regenerated.
36286         * tests/unictype/test-categ_No.c: Regenerated.
36287         * tests/unictype/test-categ_P.c: Regenerated.
36288         * tests/unictype/test-categ_Pd.c: Regenerated.
36289         * tests/unictype/test-categ_Pe.c: Regenerated.
36290         * tests/unictype/test-categ_Pf.c: Regenerated.
36291         * tests/unictype/test-categ_Pi.c: Regenerated.
36292         * tests/unictype/test-categ_Po.c: Regenerated.
36293         * tests/unictype/test-categ_Ps.c: Regenerated.
36294         * tests/unictype/test-categ_S.c: Regenerated.
36295         * tests/unictype/test-categ_Sk.c: Regenerated.
36296         * tests/unictype/test-categ_Sm.c: Regenerated.
36297         * tests/unictype/test-categ_So.c: Regenerated.
36298         * tests/unictype/test-ctype_alnum.c: Regenerated.
36299         * tests/unictype/test-ctype_alpha.c: Regenerated.
36300         * tests/unictype/test-ctype_graph.c: Regenerated.
36301         * tests/unictype/test-ctype_lower.c: Regenerated.
36302         * tests/unictype/test-ctype_print.c: Regenerated.
36303         * tests/unictype/test-ctype_punct.c: Regenerated.
36304         * tests/unictype/test-ctype_upper.c: Regenerated.
36305         * tests/unictype/test-decdigit.h: Regenerated.
36306         * tests/unictype/test-digit.h: Regenerated.
36307         * tests/unictype/test-numeric.h: Regenerated.
36308         * tests/unictype/test-pr_alphabetic.c: Regenerated.
36309         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
36310         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
36311         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
36312         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
36313         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
36314         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
36315         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
36316         * tests/unictype/test-pr_combining.c: Regenerated.
36317         * tests/unictype/test-pr_dash.c: Regenerated.
36318         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
36319         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
36320         * tests/unictype/test-pr_deprecated.c: Regenerated.
36321         * tests/unictype/test-pr_diacritic.c: Regenerated.
36322         * tests/unictype/test-pr_extender.c: Regenerated.
36323         * tests/unictype/test-pr_format_control.c: Regenerated.
36324         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
36325         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
36326         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
36327         * tests/unictype/test-pr_id_continue.c: Regenerated.
36328         * tests/unictype/test-pr_id_start.c: Regenerated.
36329         * tests/unictype/test-pr_ideographic.c: Regenerated.
36330         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
36331         * tests/unictype/test-pr_lowercase.c: Regenerated.
36332         * tests/unictype/test-pr_math.c: Regenerated.
36333         * tests/unictype/test-pr_numeric.c: Regenerated.
36334         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
36335         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
36336         Regenerated.
36337         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
36338         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
36339         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
36340         * tests/unictype/test-pr_other_math.c: Regenerated.
36341         * tests/unictype/test-pr_punctuation.c: Regenerated.
36342         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
36343         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
36344         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
36345         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
36346         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
36347         * tests/unictype/test-pr_uppercase.c: Regenerated.
36348         * tests/unictype/test-pr_xid_continue.c: Regenerated.
36349         * tests/unictype/test-pr_xid_start.c: Regenerated.
36350         * tests/unictype/test-pr_zero_width.c: Regenerated.
36351
36352         Update to Unicode 5.1.0.
36353         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
36354         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
36355         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
36356         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
36357         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
36358         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
36359         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
36360         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
36361         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
36362         (nonspacing_table_ind): Update.
36363         * tests/uniwidth/test-uc_width2.sh: Update expected result.
36364
36365         Update to Unicode 5.1.0.
36366         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
36367         code transform.
36368         * lib/uniname/uniname.c (unicode_character_name,
36369         unicode_name_character): Add the range 0x1Fxxx to the code transform.
36370         * lib/uniname/uninames.h: Regenerated.
36371         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
36372
36373 2009-02-07  Bruno Haible  <bruno@clisp.org>
36374
36375         Merge gen-ctype and gen-lbrk into a single program.
36376         * lib/gen-uni-tables.c: New file, incorporating
36377         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
36378         Add directory prefixes to the names of the generated files.
36379         * lib/unictype/gen-ctype.c: Remove file.
36380         * lib/unilbrk/gen-lbrk.c: Remove file.
36381         * modules/gen-uni-tables: New file.
36382         * modules/unictype/gen-ctype: Remove file.
36383         * modules/unilbrk/gen-lbrk: Remove file.
36384
36385 2009-02-07  Bruno Haible  <bruno@clisp.org>
36386
36387         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
36388
36389         New module 'unistr/u32-strcoll'.
36390         * modules/unistr/u32-strcoll: New file.
36391         * lib/unistr/u32-strcoll.c: New file.
36392
36393         New module 'unistr/u16-strcoll'.
36394         * modules/unistr/u16-strcoll: New file.
36395         * lib/unistr/u16-strcoll.c: New file.
36396
36397         New module 'unistr/u8-strcoll'.
36398         * modules/unistr/u8-strcoll: New file.
36399         * lib/unistr/u8-strcoll.c: New file.
36400         * lib/unistr/u-strcoll.h: New file.
36401
36402 2009-02-07  Bruno Haible  <bruno@clisp.org>
36403
36404         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
36405         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
36406         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
36407         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
36408         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
36409         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
36410
36411 2009-02-07  Bruno Haible  <bruno@clisp.org>
36412
36413         Make 64-bit clean.
36414         * lib/unictype/gen-ctype.c (output_predicate, output_category,
36415         output_combclass, output_bidi_category, output_decimal_digit,
36416         output_digit, output_numeric, output_mirror, output_scripts,
36417         output_ident_category): Use proper width specifier in format strings.
36418
36419 2009-02-07  Bruno Haible  <bruno@clisp.org>
36420
36421         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
36422         failure behaviour.
36423
36424 2009-02-07  Jim Meyering  <meyering@redhat.com>
36425
36426         regex: avoid compilation failure with upcoming gcc-4.4
36427         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
36428         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
36429         "... error: integer overflow in preprocessor expression".
36430
36431 2009-02-05  Ben Pfaff  <blp@gnu.org>
36432
36433         Fix link errors on Windows when close module is used.
36434         * modules/close: Add $(LIB_CLOSE) to Link section.
36435         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
36436         $(LIB_CLOSE) on Windows.
36437
36438 2009-02-05  Jim Meyering  <meyering@redhat.com>
36439
36440         still avoid unused-parameter warnings, but do it cleanly
36441         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
36442         (get_fs_usage): Cast to void instead.
36443         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
36444         (dev_from_mount_options, read_file_system_list): Cast to void.
36445         Prompted by Bruno Haible.
36446
36447 2009-02-04  Jim Meyering  <meyering@redhat.com>
36448
36449         fsusage.c: correct copyright year
36450         * lib/fsusage.c: Reflect year in which the change is pushed into
36451
36452         avoid misc. warnings
36453         * lib/fsusage.c (UNUSED_PARAM): Define.
36454         (get_fs_usage): Mark parameter "disk" as unused.
36455         * lib/getugroups.c (getgrent): Use "void" in prototype.
36456         * lib/mountlist.c: Mark unused parameters.
36457         (read_file_system_list): Declare a local with "const".
36458         * lib/nanosleep.c (getnow): Declare static.
36459         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
36460
36461         dirfd: set errno upon failure
36462         * lib/dirfd.c: Include <errno.h>.
36463         Set errno to ENOTSUP when returning -1.
36464         * modules/dirfd (Depends-on): Add errno.
36465         Suggested by John Kodis <kodis@comcast.net>.
36466
36467 2009-02-01  Bruno Haible  <bruno@clisp.org>
36468
36469         Don't assume sizeof (long) >= sizeof (void *).
36470         * lib/memcmp.c: Include stdint.h.
36471         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
36472         srcp2 to 'const byte *'.
36473         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
36474         types to uintptr_t.
36475         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
36476         * modules/memcmp (Depends-on): Add stdint.
36477         Reported by Ozkan Sezer <sezeroz@gmail.com>.
36478
36479 2009-01-30  Eric Blake  <ebb9@byu.net>
36480
36481         fix more require-before-expand issues
36482         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
36483         expand, AC_PROG_AWK.
36484         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
36485
36486 2009-01-28  Eric Blake  <ebb9@byu.net>
36487
36488         version-etc: use consistent URL formatting
36489         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
36490         Improve formatting.  Use fputs for string without %.
36491
36492 2009-01-28  Jim Meyering  <meyering@redhat.com>
36493
36494         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
36495         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
36496         "underquoted definition of NAME" from autoconf-2.59.
36497
36498 2009-01-28  Bruno Haible  <bruno@clisp.org>
36499
36500         * doc/gnulib.texi: Add "Obsolete modules" to index.
36501
36502 2009-01-28  Jim Meyering  <meyering@redhat.com>
36503
36504         useless-if-before-free: recognize more variants
36505         * build-aux/useless-if-before-free: Also recognize e.g.,
36506         if (NULL != p) free (p);
36507
36508 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
36509
36510         test-getaddrinfo: skip (don't fail) this test when there's no network
36511         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
36512         on the presumption that it means you lack network access.
36513
36514 2009-01-26  Jim Meyering  <meyering@redhat.com>
36515
36516         fflush: avoid warnings on modern systems
36517         * lib/fflush.c (rpl_fflush): Move declarations of locals,
36518         pos and result, into scopes where they're used.
36519
36520 2009-01-26  Eric Blake  <ebb9@byu.net>
36521
36522         Silence warning reintroduced by recent extensions patch.
36523         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
36524         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
36525         autoconf.
36526
36527         Backport improved autoconf semantics of AC_DEFUN_ONCE.
36528         * m4/00gnulib.m4: New file.
36529         * gnulib-tool (func_get_filelist): Always use it.
36530         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
36531         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
36532
36533 2009-01-25  Bruno Haible  <bruno@clisp.org>
36534
36535         Make test-quotearg work on MacOS X and AIX.
36536         * tests/test-quotearg.sh: New file.
36537         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
36538         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
36539         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
36540         include <libintl.h>.
36541         (fake_locale): Remove variable.
36542         (gettext, dgettext, dcgettext): Remove functions.
36543         (main): Instead of setting a fake locale, set a real locale. Call
36544         textdomain and bindtextdomain.
36545         * modules/quotearg-tests (Files): Add the new files.
36546         (Depends-on): Add gettext, setenv, unsetenv.
36547         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
36548         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
36549         Augment TESTS_ENVIRONMENT.
36550
36551 2009-01-25  Bruno Haible  <bruno@clisp.org>
36552
36553         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
36554         fr_FR.ISO8859-1 locale on MacOS X.
36555         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
36556         ja_JP.eucJP locale on MacOS X.
36557         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
36558         zh_CN.GB18030 locale on MacOS X.
36559
36560 2009-01-25  Bruno Haible  <bruno@clisp.org>
36561
36562         Avoid link errors on MacOS X 10.3.
36563         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
36564         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
36565
36566 2009-01-25  Bruno Haible  <bruno@clisp.org>
36567
36568         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
36569         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
36570         * modules/pipe (Files): Remove m4/posix_spawn.m4.
36571         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
36572         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
36573         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
36574         posix_spawnattr_init, posix_spawnattr_setsigmask,
36575         posix_spawnattr_setflags, posix_spawnattr_destroy.
36576
36577         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
36578         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
36579         * modules/execute (Files): Remove m4/posix_spawn.m4.
36580         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
36581         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
36582         posix_spawnattr_init, posix_spawnattr_setsigmask,
36583         posix_spawnattr_setflags, posix_spawnattr_destroy.
36584
36585 2009-01-25  Bruno Haible  <bruno@clisp.org>
36586
36587         * lib/glthread/threadlib.c: Include <stdlib.h>.
36588
36589 2009-01-25  Bruno Haible  <bruno@clisp.org>
36590
36591         * lib/glthread/threadlib.c (dummy): New declaration.
36592
36593 2009-01-25  Bruno Haible  <bruno@clisp.org>
36594
36595         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
36596         multibyte characters also for the GB18030 encoding. Don't crash when
36597         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
36598
36599 2009-01-25  Bruno Haible  <bruno@clisp.org>
36600
36601         Avoid redefining 'struct random_data' on OSF/1 5.1.
36602         * lib/stdlib.in.h: Include <random.h> if it exists.
36603         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
36604         HAVE_RANDOM_H. Include <random.h> when testing whether
36605         'struct random_data' exists.
36606         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
36607
36608 2009-01-25  Bruno Haible  <bruno@clisp.org>
36609
36610         Don't install charset.alias on MacOS X >= 10.3.
36611         * lib/localcharset.c (DARWIN7): New macro.
36612         (get_charset_aliases): Hardcode the result for Darwin7.
36613         * modules/localcharset (install-exec-local): Don't install
36614         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
36615
36616 2009-01-25  Bruno Haible  <bruno@clisp.org>
36617
36618         Don't install charset.alias on mingw and Cygwin.
36619         * modules/localcharset (install-exec-local): Don't install
36620         charset.alias on mingw and Cygwin, if the file does not yet exist.
36621         The result for these platforms is hardcoded in localcharset.c.
36622
36623 2009-01-25  Bruno Haible  <bruno@clisp.org>
36624
36625         Make it possible again to use AC_GNU_SOURCE together with gnulib.
36626         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
36627         before requiring AC_USE_SYSTEM_EXTENSIONS.
36628
36629 2009-01-25  Jim Meyering  <meyering@redhat.com>
36630
36631         c-strtod: avoid warnings
36632         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
36633         "assignment discards qualifiers from pointer target type" warnings.
36634
36635 2009-01-24  Bruno Haible  <bruno@clisp.org>
36636
36637         Add support for non-UTF-8 locales on MacOS X.
36638         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
36639         canonical encodings. For Darwin 7 and newer, don't map traditional
36640         encodings to UTF-8.
36641         Reported by Vincent Lefevre <vincent@vinc17.org>
36642         at <http://savannah.gnu.org/bugs/?25235>.
36643
36644 2009-01-24  Bruno Haible  <bruno@clisp.org>
36645
36646         * doc/gnulib.texi (Obsolete modules): New section.
36647         Reported by Mike Frysinger <vapier@gentoo.org>.
36648
36649 2009-01-24  Bruno Haible  <bruno@clisp.org>
36650
36651         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
36652         (%.dvi): New rule.
36653
36654 2009-01-24  Bruno Haible  <bruno@clisp.org>
36655
36656         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
36657         Reported by Eric Blake.
36658
36659 2009-01-24  Bruno Haible  <bruno@clisp.org>
36660
36661         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
36662         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
36663         Reported by Gary V. Vaughan <gary@gnu.org>.
36664
36665 2009-01-24  Bruno Haible  <bruno@clisp.org>
36666
36667         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
36668
36669 2009-01-23  Bruno Haible  <bruno@clisp.org>
36670
36671         Make c-strtod, c-strtold usable in libraries.
36672         * lib/c-strtod.c: Include string.h instead of xalloc.h.
36673         (C_STRTOD): Call strdup instead of xstrdup.
36674         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
36675         * modules/c-strtold (Depends-on): Likewise.
36676         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
36677         * NEWS: Mention the change.
36678         Reported by Michael Gold <mgold@ncf.ca>.
36679
36680 2009-01-23  Jim Meyering  <meyering@redhat.com>
36681
36682         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
36683         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
36684         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
36685
36686 2009-01-23  Simon Josefsson  <simon@josefsson.org>
36687
36688         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
36689         GNU CoreUtils.
36690         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
36691         * modules/version-etc (Description): Update.
36692
36693 2009-01-22  Bruno Haible  <bruno@clisp.org>
36694
36695         Cache the C locale object.
36696         * lib/c-strtod.c (c_locale_cache): New variable.
36697         (c_locale): New function.
36698         (C_STRTOD): Use it, and don't call freelocale.
36699         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
36700         Suggested by Paolo Bonzini.
36701
36702 2009-01-21  Bruno Haible  <bruno@clisp.org>
36703
36704         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
36705         conditions other than overflow.
36706
36707 2009-01-21  Bruno Haible  <bruno@clisp.org>
36708
36709         * lib/c-strtod.c: Include errno.h.
36710         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
36711         value from STRTOD_L and STRTOD.
36712
36713 2009-01-21  Bruno Haible  <bruno@clisp.org>
36714         and Jim Meyering  <meyering@redhat.com>
36715
36716         nanosleep: skip configure test (fail it) for apple universal builds
36717         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
36718         universal builds, assume that nanosleep does not work.
36719         * modules/nanosleep (Depends-on): Add multiarch.
36720
36721         mktime: skip configure test (fail it) for apple universal builds
36722         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
36723         universal builds, assume that mktime does not work.
36724         * modules/mktime (Depends-on): Add multiarch.
36725
36726 2009-01-21  Eric Blake  <ebb9@byu.net>
36727
36728         multiarch: avoid expand-before-require warning
36729         * modules/multiarch (configure.ac): Require, rather than expand,
36730         gl_MULTIARCH.
36731         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
36732         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
36733         enforce that all clients require it.  Partial reversion of
36734         2008-12-29 patch.
36735
36736         error: avoid expand-before-require warning
36737         * modules/errno (configure.ac): Require, rather than expand,
36738         gl_HEADER_ERRNO_H.
36739         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
36740         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
36741         enforce that all clients require it.
36742
36743         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
36744         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
36745         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
36746         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
36747
36748 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
36749
36750         Revert:
36751         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
36752
36753         regex: do not depend on obsolete modules.
36754         * modules/regex: Remove memcmp and memmove.
36755
36756 2009-01-20  Bruno Haible  <bruno@clisp.org>
36757
36758         Make the 'link' module link on Windows NT 4.
36759         * lib/link.c (_WIN32_WINNT): Don't define.
36760         (CreateHardLinkFuncType): New type.
36761         (CreateHardLinkFunc, initialized): New variables.
36762         (initialize): New function.
36763         (link): Invoke CreateHardLink indirectly through the function pointer.
36764
36765 2009-01-20  Bruno Haible  <bruno@clisp.org>
36766
36767         Fix compilation failure on mingw.
36768         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
36769
36770 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
36771
36772         * doc/c-strtod.texi: Mention a couple of restrictions.
36773
36774 2009-01-20  Jim Meyering  <meyering@redhat.com>
36775
36776         gettimeofday: move more declarations out of functions
36777         * lib/gettimeofday.c: Move extern declarations of tzset and
36778         gmtime out of containing functions.  Prompted by Bruno Haible.
36779
36780 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
36781
36782         regex: do not depend on obsolete modules.
36783         * modules/regex: Remove memcmp and memmove.
36784
36785 2009-01-19  Bruno Haible  <bruno@clisp.org>
36786
36787         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
36788         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
36789         gl_BIGENDIAN, not AC_C_BIGENDIAN.
36790         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
36791         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
36792
36793 2009-01-19  Bruno Haible  <bruno@clisp.org>
36794
36795         * tests/test-link.c: Include <errno.h>.
36796         (main): Exit with code 77 when a hard link cannot be created due to
36797         the file system.
36798         * tests/test-link.sh: Skip test when a hard link cannot be created due
36799         to the file system.
36800         Suggested by Eric Blake.
36801
36802 2009-01-19  Martin Lambers  <marlam@marlam.de>
36803
36804         * modules/link-tests: New file.
36805         * tests/test-link.sh: New file.
36806         * tests/test-link.c: New file.
36807
36808 2009-01-19  Eric Blake  <ebb9@byu.net>
36809
36810         doc: mention another function added in cygwin 1.7.0
36811         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
36812         Another new function in cygwin 1.7.
36813
36814 2009-01-19  Bruno Haible  <bruno@clisp.org>
36815
36816         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
36817         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
36818         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
36819         gl_BIGENDIAN, not AC_C_BIGENDIAN.
36820         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
36821         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
36822         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
36823         * m4/md4.m4 (gl_MD4): Likewise.
36824         * m4/md5.m4 (gl_MD5): Likewise.
36825         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
36826         * m4/sha1.m4 (gl_SHA1): Likewise.
36827         * m4/sha256.m4 (gl_SHA256): Likewise.
36828         * m4/sha512.m4 (gl_SHA512): Likewise.
36829
36830 2009-01-19  Bruno Haible  <bruno@clisp.org>
36831
36832         * modules/uniname/uniname-tests (Depends-on): Add progname.
36833         * tests/uniname/test-uninames.c: Include progname.h.
36834         (main): Call set_program_name.
36835
36836         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
36837         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
36838         (main): Call set_program_name.
36839
36840         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
36841         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
36842         (main): Call set_program_name.
36843
36844         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
36845         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
36846         (main): Call set_program_name.
36847
36848         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
36849         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
36850         (main): Call set_program_name.
36851
36852         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
36853         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
36854         (main): Call set_program_name.
36855
36856         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
36857         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
36858         (main): Call set_program_name.
36859
36860         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
36861         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
36862         (main): Call set_program_name.
36863
36864         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
36865         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
36866         (main): Call set_program_name.
36867
36868 2009-01-19  Eric Blake  <ebb9@byu.net>
36869
36870         test-unistd: test previous patch
36871         * tests/test-unistd.c: Test *_FILENO macros.
36872
36873         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
36874         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
36875         Guarantee a definition.
36876         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
36877         * modules/unistd-safer (Depends-on): Add dependency on unistd.
36878         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
36879         * lib/dup-safer.c (STDERR_FILENO): Likewise.
36880         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
36881         Likewise.
36882         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
36883         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
36884         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
36885         Likewise.
36886         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
36887         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
36888         (STDERR_FILENO): Likewise.
36889         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
36890         (STDERR_FILENO): Likewise.
36891         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
36892         (STDERR_FILENO): Likewise.
36893         Reported by Elbert Pol.
36894
36895 2009-01-19  Eric Blake  <ebb9@byu.net>
36896
36897         doc: mention more functions added in cygwin 1.7.0
36898         * doc/posix-functions/abort.texi (abort): Update wording related
36899         to cygwin.
36900         * doc/posix-functions/daylight.texi (daylight): Likewise.
36901         * doc/posix-functions/optarg.texi (optarg): Likewise.
36902         * doc/posix-functions/optarg.texi (opterr): Likewise.
36903         * doc/posix-functions/optarg.texi (optind): Likewise.
36904         * doc/posix-functions/optarg.texi (optopt): Likewise.
36905         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
36906         worked in 1.5.x, and was withdrawn in 1.7.
36907         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
36908         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
36909         cygwin versions.
36910         * doc/posix-functions/perror.texi (perror): Likewise.
36911         * doc/posix-functions/printf.texi (printf): Likewise.
36912         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
36913         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
36914         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
36915         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
36916         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
36917         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
36918         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
36919         Likewise.
36920         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
36921         Likewise.
36922         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
36923         this function.
36924         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
36925         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
36926         Likewise.
36927         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
36928         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
36929         * doc/posix-functions/confstr.texi (confstr): Likewise.
36930         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
36931         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
36932         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
36933         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
36934         * doc/posix-functions/fputws.texi (fputws): Likewise.
36935         * doc/posix-functions/fwide.texi (fwide): Likewise.
36936         * doc/posix-functions/getwc.texi (getwc): Likewise.
36937         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
36938         * doc/posix-functions/putwc.texi (putwc): Likewise.
36939         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
36940         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
36941         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
36942         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
36943         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
36944         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
36945         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
36946         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
36947         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
36948         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
36949         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
36950
36951 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
36952
36953         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
36954         * lib/ioctl.c: Include <sys/ioctl.h>.
36955
36956 2009-01-19  Simon Josefsson  <simon@josefsson.org>
36957
36958         * modules/getdate-tests (Depends-on): Add progname.
36959         * tests/test-getdate.c: Use progname module, to avoid link errors
36960         on non-glibc systems.
36961
36962 2009-01-18  Simon Josefsson  <simon@josefsson.org>
36963
36964         * modules/filenamecat-tests (Depends-on): Add progname.
36965         * modules/fstrcmp-tests (Depends-on): Likewise.
36966
36967         * tests/test-filenamecat.c: Use progname module, to avoid link
36968         errors on non-glibc systems.
36969         * tests/test-fstrcmp.c: Likewise.
36970
36971 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
36972
36973         gettimeofday: avoid warning: nested extern declaration of 'localtime'
36974         * lib/gettimeofday.c: Move extern declaration out of function.
36975
36976 2009-01-18  Bruno Haible  <bruno@clisp.org>
36977
36978         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
36979         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
36980         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
36981
36982 2009-01-18  Bruno Haible  <bruno@clisp.org>
36983
36984         * lib/strftime.c (MEMPCPY): Remove unused macro.
36985         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
36986
36987 2009-01-18  Martin Lambers  <marlam@marlam.de>
36988
36989         New module 'link'.
36990         * lib/unistd.in.h (link): New declaration.
36991         * lib/link.c: New file.
36992         * m4/link.m4: New file.
36993         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
36994         HAVE_LINK.
36995         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
36996         * modules/link: New file.
36997         * doc/posix-functions/link.texi: Mention the new module.
36998
36999 2009-01-18  Bruno Haible  <bruno@clisp.org>
37000
37001         * tests/test-avltree_list.c (main): Call set_program_name.
37002         * tests/test-avltree_oset.c (main): Likewise.
37003         * tests/test-obstack-printf.c: Include progname.h.
37004         (main): Call set_program_name.
37005         * tests/test-quotearg.c: Include progname.h.
37006         (main): Call set_program_name.
37007         * tests/test-xmemdup0.c: Include progname.h.
37008         (main): Call set_program_name.
37009
37010 2009-01-18  Bruno Haible  <bruno@clisp.org>
37011
37012         New module 'alphasort'.
37013         * lib/dirent.in.h (alphasort): New declaration.
37014         * lib/alphasort.c: New file, from glibc with modifications.
37015         * m4/alphasort.m4: New file.
37016         * modules/alphasort: New file.
37017         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
37018         HAVE_ALPHASORT.
37019         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
37020         HAVE_ALPHASORT.
37021         * doc/posix-functions/alphasort.texi: Mention the new module and the
37022         portability problems.
37023
37024 2009-01-18  Bruno Haible  <bruno@clisp.org>
37025
37026         New module 'scandir'.
37027         * lib/dirent.in.h (scandir): New declaration.
37028         * lib/scandir.c: New file, from glibc with modifications.
37029         * m4/scandir.m4: New file.
37030         * modules/scandir: New file.
37031         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
37032         HAVE_SCANDIR.
37033         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
37034         HAVE_SCANDIR.
37035         * doc/posix-functions/scandir.texi: Mention the new module and the
37036         portability problems.
37037
37038 2009-01-17  Bruno Haible  <bruno@clisp.org>
37039
37040         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
37041         Update documentation.
37042         (func_remove_suffix): Escape all dots in the suffix. Update
37043         documentation.
37044         (func_filter_filelist): Update documentation.
37045         Reported by Ralf Wildenhues.
37046
37047 2009-01-17  Bruno Haible  <bruno@clisp.org>
37048
37049         * modules/dprintf-posix-tests: New file.
37050         * tests/test-dprintf-posix.sh: New file.
37051         * tests/test-dprintf-posix.c: New file.
37052
37053         New modules 'dprintf', 'dprintf-posix'.
37054         * lib/stdio.in.h (dprintf): New declaration.
37055         * lib/dprintf.c: New file.
37056         * m4/dprintf.m4: New file.
37057         * m4/dprintf-posix.m4: New file.
37058         * modules/dprintf: New file.
37059         * modules/dprintf-posix: New file.
37060         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
37061         HAVE_DPRINTF, REPLACE_DPRINTF.
37062         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
37063         HAVE_DPRINTF, REPLACE_DPRINTF.
37064         * doc/posix-functions/dprintf.texi: Mention the new modules.
37065
37066 2009-01-17  Bruno Haible  <bruno@clisp.org>
37067
37068         * modules/vdprintf-posix-tests: New file.
37069         * tests/test-vdprintf-posix.sh: New file.
37070         * tests/test-vdprintf-posix.c: New file.
37071
37072         New modules 'vdprintf', 'vdprintf-posix'.
37073         * lib/stdio.in.h (vdprintf): New declaration.
37074         * lib/vdprintf.c: New file.
37075         * m4/vdprintf.m4: New file.
37076         * m4/vdprintf-posix.m4: New file.
37077         * modules/vdprintf: New file.
37078         * modules/vdprintf-posix: New file.
37079         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
37080         HAVE_VDPRINTF, REPLACE_VDPRINTF.
37081         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
37082         HAVE_VDPRINTF, REPLACE_VDPRINTF.
37083         * doc/posix-functions/vdprintf.texi: Mention the new modules.
37084
37085 2009-01-17  Bruno Haible  <bruno@clisp.org>
37086
37087         Fix replacement of fopen on mingw.
37088         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
37089         mingw.
37090
37091 2009-01-17  Bruno Haible  <bruno@clisp.org>
37092
37093         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
37094         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
37095
37096 2009-01-17  Bruno Haible  <bruno@clisp.org>
37097
37098         Avoid test-fflush2.sh failure on mingw.
37099         * tests/test-fflush2.c: Include binary-io.h.
37100         (main): Put standard input into binary mode.
37101         * modules/fflush-tests (Depends-on): Add binary-io.
37102
37103 2009-01-17  Bruno Haible  <bruno@clisp.org>
37104
37105         * lib/wchar.in.h: In another particular situation, include only the
37106         system's <wchar.h> file.
37107         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
37108         Reported by Albert Chin-A-Young <china@thewrittenword.com>
37109         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
37110
37111 2009-01-17  Bruno Haible  <bruno@clisp.org>
37112
37113         Support for stripping executables in --enable-relocatable.
37114         * build-aux/install-reloc: Expect one more argument, or an environment
37115         variable RELOC_STRIP_PROG. If set, strip the destination program and
37116         its wrapper.
37117         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
37118         RELOC_STRIP_PROG.
37119         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
37120         to set RELOCATABLE_STRIP.
37121         * NEWS: Mention the new Makefile requirement.
37122
37123 2009-01-17  Bruno Haible  <bruno@clisp.org>
37124
37125         * build-aux/install-reloc: Remove debugging information left over by
37126         C compiler on MacOS X.
37127
37128 2009-01-17  Bruno Haible  <bruno@clisp.org>
37129
37130         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
37131         * lib/progreloc.c (find_executable): Fix type of pointer passed to
37132         _NSGetExecutablePath.
37133
37134 2009-01-16  Jim Meyering  <meyering@redhat.com>
37135
37136         strerror: avoid warnings about discarding "const"
37137         * lib/strerror.c (rpl_strerror): Instead of returning a const
37138         string from each and every "case", use a variable, and add a single
37139         cast after the switch.
37140
37141 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
37142
37143         * lib/arpa_inet.in.h: Add extern "C" block for C++.
37144
37145 2009-01-16  Bruno Haible  <bruno@clisp.org>
37146
37147         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
37148         array initializer syntax that also works in C++ mode.
37149         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
37150
37151 2009-01-16  Jim Meyering  <meyering@redhat.com>
37152
37153         poll: suppress a warning
37154         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
37155         to ignore "...unsigned expression < 0 is always false" warnings.
37156
37157 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
37158
37159         poll: remove declarations of unused variables
37160         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
37161         sockbuf and optlen.
37162
37163 2009-01-15  Bruno Haible  <bruno@clisp.org>
37164
37165         Make fflush-after-ungetc POSIX compliant on BSD systems.
37166         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
37167         (clear_ungetc_buffer): Implement also for other systems.
37168         (rpl_fflush): On glibc systems, invoke
37169         clear_ungetc_buffer_preserving_position. Otherwise, invoke
37170         clear_ungetc_buffer after fetching the stream's position, not before.
37171
37172 2009-01-15  Bruno Haible  <bruno@clisp.org>
37173
37174         Make fflush-after-ungetc POSIX compliant on glibc systems.
37175         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
37176         after ungetc.
37177         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
37178         (rpl_fflush): On glibc systems, simply call the system's fflush
37179         function after clearing the ungetc buffer.
37180         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
37181         Instead, lseek only to the end of file, then use the system's fseeko
37182         for the rest. On glibc systems, reset the EOF indicator bit.
37183
37184 2009-01-15  Jim Meyering  <meyering@redhat.com>
37185
37186         openmp.m4: revert quote-adding change, for portability to older autoconf
37187         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
37188         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
37189         Simon Josefsson noticed the problem when using autoconf-2.61.
37190
37191 2009-01-15  Bruno Haible  <bruno@clisp.org>
37192
37193         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
37194         * tests/test-fflush2.c (ASSERT): Always fail.
37195         (main): Add two tests for fflush() after ungetc(), taking into account
37196         the Austin Group's clarification.
37197         Suggested by Eric Blake.
37198
37199 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
37200
37201         mktime.m4: remove K&R-style function prototypes
37202         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
37203         for the Sun C++ compiler.
37204
37205 2009-01-14  Bruno Haible  <bruno@clisp.org>
37206
37207         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
37208         while including <wchar.h>.
37209         * lib/wchar.in.h: In two particular situations on HP-UX, include only
37210         the system's <wchar.h> file.
37211         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
37212
37213 2009-01-14  Bruno Haible  <bruno@clisp.org>
37214
37215         * m4/csharp.m4: Don't mention gettext on the serial number line.
37216         * m4/csharpexec.m4: Likewise.
37217         * m4/eaccess.m4: Likewise.
37218         * m4/javaexec.m4: Likewise.
37219         * m4/sig_atomic_t.m4: Likewise.
37220         * m4/tmpdir.m4: Likewise.
37221         * m4/intldir.m4: Bump gettext version.
37222         * m4/lib-ld.m4: Likewise.
37223
37224 2009-01-14  Bruno Haible  <bruno@clisp.org>
37225
37226         * lib/progname.c (set_program_name): Add more comments.
37227         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
37228
37229 2009-01-14  Simon Josefsson  <simon@josefsson.org>
37230
37231         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
37232         were sys/stat.h does not define it.
37233
37234 2009-01-14  Jim Meyering  <meyering@redhat.com>
37235
37236         many *.m4 files: improve m4 quoting
37237         99% of this change was performed by running the following commands:
37238         git ls-files | grep '\.m4$' | xargs perl -pi \
37239           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
37240           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
37241           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
37242           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
37243         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
37244         The remainder were to add Copyright dates, increment serial numbers,
37245         undo some changes in comments, exclude m4/intl.m4, and add quotes
37246         around the "1" in ",1" where the unusual spacing prohibited the
37247         above regexps from doing the job.  For more details, see
37248         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
37249         * m4/acl.m4: Modified.
37250         * m4/afs.m4: Likewise.
37251         * m4/alloca.m4: Likewise.
37252         * m4/argp.m4: Likewise.
37253         * m4/argz.m4: Likewise.
37254         * m4/atexit.m4: Likewise.
37255         * m4/bison-i18n.m4: Likewise.
37256         * m4/bison.m4: Likewise.
37257         * m4/byteswap.m4: Likewise.
37258         * m4/c-stack.m4: Likewise.
37259         * m4/c-strtod.m4: Likewise.
37260         * m4/calloc.m4: Likewise.
37261         * m4/canonicalize-lgpl.m4: Likewise.
37262         * m4/chown.m4: Likewise.
37263         * m4/clock_time.m4: Likewise.
37264         * m4/codeset.m4: Likewise.
37265         * m4/copy-file.m4: Likewise.
37266         * m4/csharp.m4: Likewise.
37267         * m4/csharpcomp.m4: Likewise.
37268         * m4/csharpexec.m4: Likewise.
37269         * m4/d-ino.m4: Likewise.
37270         * m4/d-type.m4: Likewise.
37271         * m4/dirfd.m4: Likewise.
37272         * m4/double-slash-root.m4: Likewise.
37273         * m4/eaccess.m4: Likewise.
37274         * m4/eealloc.m4: Likewise.
37275         * m4/environ.m4: Likewise.
37276         * m4/errno_h.m4: Likewise.
37277         * m4/euidaccess.m4: Likewise.
37278         * m4/execute.m4: Likewise.
37279         * m4/fatal-signal.m4: Likewise.
37280         * m4/fchdir.m4: Likewise.
37281         * m4/fcntl_h.m4: Likewise.
37282         * m4/fileblocks.m4: Likewise.
37283         * m4/filenamecat.m4: Likewise.
37284         * m4/findprog.m4: Likewise.
37285         * m4/flexmember.m4: Likewise.
37286         * m4/fnmatch.m4: Likewise.
37287         * m4/fopen.m4: Likewise.
37288         * m4/fpending.m4: Likewise.
37289         * m4/fprintf-posix.m4: Likewise.
37290         * m4/free.m4: Likewise.
37291         * m4/frexp.m4: Likewise.
37292         * m4/frexpl.m4: Likewise.
37293         * m4/fsusage.m4: Likewise.
37294         * m4/ftruncate.m4: Likewise.
37295         * m4/gc-camellia.m4: Likewise.
37296         * m4/gc-random.m4: Likewise.
37297         * m4/gc.m4: Likewise.
37298         * m4/getaddrinfo.m4: Likewise.
37299         * m4/getcwd-abort-bug.m4: Likewise.
37300         * m4/getcwd-path-max.m4: Likewise.
37301         * m4/getdate.m4: Likewise.
37302         * m4/getdomainname.m4: Likewise.
37303         * m4/getgroups.m4: Likewise.
37304         * m4/gethostname.m4: Likewise.
37305         * m4/gethrxtime.m4: Likewise.
37306         * m4/getline.m4: Likewise.
37307         * m4/getloadavg.m4: Likewise.
37308         * m4/getndelim2.m4: Likewise.
37309         * m4/getpass.m4: Likewise.
37310         * m4/gettext.m4: Likewise.
37311         * m4/gettime.m4: Likewise.
37312         * m4/gettimeofday.m4: Likewise.
37313         * m4/gnulib-common.m4: Likewise.
37314         * m4/group-member.m4: Likewise.
37315         * m4/host-os.m4: Likewise.
37316         * m4/iconv.m4: Likewise.
37317         * m4/iconv_open.m4: Likewise.
37318         * m4/inet_ntop.m4: Likewise.
37319         * m4/inet_pton.m4: Likewise.
37320         * m4/inline.m4: Likewise.
37321         * m4/intldir.m4: Likewise.
37322         * m4/intlmacosx.m4: Likewise.
37323         * m4/intmax.m4: Likewise.
37324         * m4/intmax_t.m4: Likewise.
37325         * m4/inttypes.m4: Likewise.
37326         * m4/inttypes_h.m4: Likewise.
37327         * m4/inttypes-pri.m4: Likewise.
37328         * m4/isapipe.m4: Likewise.
37329         * m4/isnand.m4: Likewise.
37330         * m4/isnanf.m4: Likewise.
37331         * m4/isnanl.m4: Likewise.
37332         * m4/javacomp.m4: Likewise.
37333         * m4/javaexec.m4: Likewise.
37334         * m4/jm-winsz1.m4: Likewise.
37335         * m4/jm-winsz2.m4: Likewise.
37336         * m4/lchown.m4: Likewise.
37337         * m4/lcmessage.m4: Likewise.
37338         * m4/ldexpl.m4: Likewise.
37339         * m4/lib-ld.m4: Likewise.
37340         * m4/lib-link.m4: Likewise.
37341         * m4/libsigsegv.m4: Likewise.
37342         * m4/link-follow.m4: Likewise.
37343         * m4/localcharset.m4: Likewise.
37344         * m4/locale-fr.m4: Likewise.
37345         * m4/locale-ja.m4: Likewise.
37346         * m4/locale-tr.m4: Likewise.
37347         * m4/locale-zh.m4: Likewise.
37348         * m4/lock.m4: Likewise.
37349         * m4/longlong.m4: Likewise.
37350         * m4/ls-mntd-fs.m4: Likewise.
37351         * m4/lstat.m4: Likewise.
37352         * m4/malloc.m4: Likewise.
37353         * m4/mathl.m4: Likewise.
37354         * m4/mbrtowc.m4: Likewise.
37355         * m4/mbstate_t.m4: Likewise.
37356         * m4/mbswidth.m4: Likewise.
37357         * m4/memchr.m4: Likewise.
37358         * m4/memcmp.m4: Likewise.
37359         * m4/memcpy.m4: Likewise.
37360         * m4/memmem.m4: Likewise.
37361         * m4/memmove.m4: Likewise.
37362         * m4/mempcpy.m4: Likewise.
37363         * m4/memrchr.m4: Likewise.
37364         * m4/memset.m4: Likewise.
37365         * m4/minmax.m4: Likewise.
37366         * m4/mkdir-slash.m4: Likewise.
37367         * m4/mkdtemp.m4: Likewise.
37368         * m4/mktime.m4: Likewise.
37369         * m4/mmap-anon.m4: Likewise.
37370         * m4/mountlist.m4: Likewise.
37371         * m4/nanosleep.m4: Likewise.
37372         * m4/nls.m4: Likewise.
37373         * m4/nocrash.m4: Likewise.
37374         * m4/open.m4: Likewise.
37375         * m4/openat.m4: Likewise.
37376         * m4/openmp.m4: Likewise.
37377         * m4/pathmax.m4: Likewise.
37378         * m4/perl.m4: Likewise.
37379         * m4/physmem.m4: Likewise.
37380         * m4/pipe.m4: Likewise.
37381         * m4/po.m4: Likewise.
37382         * m4/poll.m4: Likewise.
37383         * m4/posixtm.m4: Likewise.
37384         * m4/posixver.m4: Likewise.
37385         * m4/printf-frexp.m4: Likewise.
37386         * m4/printf-frexpl.m4: Likewise.
37387         * m4/printf-posix.m4: Likewise.
37388         * m4/printf-posix-rpl.m4: Likewise.
37389         * m4/printf.m4: Likewise.
37390         * m4/progtest.m4: Likewise.
37391         * m4/putenv.m4: Likewise.
37392         * m4/readline.m4: Likewise.
37393         * m4/readlink.m4: Likewise.
37394         * m4/readutmp.m4: Likewise.
37395         * m4/realloc.m4: Likewise.
37396         * m4/regex.m4: Likewise.
37397         * m4/relocatable.m4: Likewise.
37398         * m4/relocatable-lib.m4: Likewise.
37399         * m4/rename-dest-slash.m4: Likewise.
37400         * m4/rename.m4: Likewise.
37401         * m4/rmdir-errno.m4: Likewise.
37402         * m4/rmdir.m4: Likewise.
37403         * m4/roundf.m4: Likewise.
37404         * m4/roundl.m4: Likewise.
37405         * m4/rpmatch.m4: Likewise.
37406         * m4/save-cwd.m4: Likewise.
37407         * m4/selinux-selinux-h.m4: Likewise.
37408         * m4/setenv.m4: Likewise.
37409         * m4/settime.m4: Likewise.
37410         * m4/sig2str.m4: Likewise.
37411         * m4/sig_atomic_t.m4: Likewise.
37412         * m4/signalblocking.m4: Likewise.
37413         * m4/signbit.m4: Likewise.
37414         * m4/sigpipe.m4: Likewise.
37415         * m4/sockets.m4: Likewise.
37416         * m4/sockpfaf.m4: Likewise.
37417         * m4/st_dm_mode.m4: Likewise.
37418         * m4/stat-time.m4: Likewise.
37419         * m4/stdbool.m4: Likewise.
37420         * m4/stdint.m4: Likewise.
37421         * m4/stdint_h.m4: Likewise.
37422         * m4/stpcpy.m4: Likewise.
37423         * m4/stpncpy.m4: Likewise.
37424         * m4/strcase.m4: Likewise.
37425         * m4/strchrnul.m4: Likewise.
37426         * m4/strcspn.m4: Likewise.
37427         * m4/strdup.m4: Likewise.
37428         * m4/strftime.m4: Likewise.
37429         * m4/strndup.m4: Likewise.
37430         * m4/strnlen.m4: Likewise.
37431         * m4/strpbrk.m4: Likewise.
37432         * m4/strptime.m4: Likewise.
37433         * m4/strsep.m4: Likewise.
37434         * m4/strtod.m4: Likewise.
37435         * m4/strtoimax.m4: Likewise.
37436         * m4/strtok_r.m4: Likewise.
37437         * m4/strtol.m4: Likewise.
37438         * m4/strtoll.m4: Likewise.
37439         * m4/strtoul.m4: Likewise.
37440         * m4/strtoull.m4: Likewise.
37441         * m4/strtoumax.m4: Likewise.
37442         * m4/strverscmp.m4: Likewise.
37443         * m4/threadlib.m4: Likewise.
37444         * m4/timegm.m4: Likewise.
37445         * m4/tm_gmtoff.m4: Likewise.
37446         * m4/tmpdir.m4: Likewise.
37447         * m4/tmpfile.m4: Likewise.
37448         * m4/tzset.m4: Likewise.
37449         * m4/uintmax_t.m4: Likewise.
37450         * m4/unlinkdir.m4: Likewise.
37451         * m4/unlocked-io.m4: Likewise.
37452         * m4/uptime.m4: Likewise.
37453         * m4/userspec.m4: Likewise.
37454         * m4/utimbuf.m4: Likewise.
37455         * m4/utime.m4: Likewise.
37456         * m4/utimes-null.m4: Likewise.
37457         * m4/utimes.m4: Likewise.
37458         * m4/vararrays.m4: Likewise.
37459         * m4/vasnprintf.m4: Likewise.
37460         * m4/vfprintf-posix.m4: Likewise.
37461         * m4/vprintf-posix.m4: Likewise.
37462         * m4/wait-process.m4: Likewise.
37463         * m4/wchar_t.m4: Likewise.
37464         * m4/wint_t.m4: Likewise.
37465         * m4/write-any-file.m4: Likewise.
37466         * m4/yield.m4: Likewise.
37467
37468 2009-01-13  Bruno Haible  <bruno@clisp.org>
37469
37470         Avoid test-copy-file.sh failures when ACL support insufficient.
37471         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
37472         TESTS_ENVIRONMENT.
37473         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
37474         Reported by Jim Meyering.
37475
37476 2009-01-13  Bruno Haible  <bruno@clisp.org>
37477
37478         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
37479         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
37480         * modules/unistdio/u8-printf-parse (Files): Likewise.
37481         * modules/unistdio/u32-printf-parse (Files): Likewise.
37482         * modules/unistdio/ulc-printf-parse (Files): Likewise.
37483
37484 2009-01-13  Simon Josefsson  <simon@josefsson.org>
37485
37486         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
37487         and m4/inttypes_h.m4 too.
37488
37489 2009-01-12  Eric Blake  <ebb9@byu.net>
37490
37491         tests: IRIX 6.2 cc can't compile -0.0 into .data
37492         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
37493         rather than at compile-time.
37494         * tests/test-floorl.c (minus_zero): Likewise.
37495         * tests/test-frexpl.c (minus_zero): Likewise.
37496         * tests/test-isnan.c (minus_zerol): Likewise.
37497         * tests/test-isnanl.h (minus_zero): Likewise.
37498         * tests/test-ldexpl.c (minus_zero): Likewise.
37499         * tests/test-roundl.c (minus_zero): Likewise.
37500         * tests/test-signbit.c (minus_zerol): Likewise.
37501         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
37502         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
37503         * tests/test-truncl.c (minus_zero): Likewise.
37504         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
37505         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
37506         Reported by Tom G. Christensen and Nelson H. F. Beebe.
37507
37508 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
37509
37510         regex: fix glibc bug 9697
37511         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
37512         handling.
37513
37514 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
37515
37516         regex: fix glibc bug 697
37517         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
37518         being NULL also if there are no backreferences.
37519
37520 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
37521
37522         regex: merge glibc changes
37523         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
37524         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
37525         re_string_skip_chars, re_string_reconstruct): Likewise.
37526         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
37527
37528 2009-01-07  Jim Meyering  <meyering@redhat.com>
37529
37530         poll: filter through cppi
37531         * lib/poll.c: Indent cpp directives to reflect nesting.
37532
37533 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
37534
37535         poll: don't return uninitialized
37536         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
37537
37538 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
37539
37540         avoid compile failure on AIX 6.1
37541         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
37542         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
37543
37544 2009-01-04  Jim Meyering  <meyering@redhat.com>
37545
37546         remove duplicate inclusion of <stdio.h>
37547         * tests/test-fprintf-posix.c: Likewise.
37548         * tests/test-printf-posix.c: Likewise.
37549         * tests/test-snprintf-posix.c: Likewise.
37550         * tests/test-sprintf-posix.c: Likewise.
37551         * tests/test-vasprintf-posix.c: Likewise.
37552         * tests/test-vfprintf-posix.c: Likewise.
37553         * tests/test-vprintf-posix.c: Likewise.
37554         * tests/test-vsnprintf-posix.c: Likewise.
37555         * tests/test-vsprintf-posix.c: Likewise.
37556
37557 2009-01-03  Jim Meyering  <meyering@redhat.com>
37558
37559         gnulib-tool: fix sed-based filtering
37560         * gnulib-tool (func_filter_filelist): Remove extra backslash
37561         in sed_fff_filter definition.
37562
37563 2009-01-02  Jim Meyering  <meyering@redhat.com>
37564
37565         strftime: avoid compilation failure on Solaris 2.6
37566         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
37567         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
37568         Don't #define mbrlen or mbsinit, since now they're guaranteed to
37569         be available.  Reported by Tom G. Christensen.  Details in
37570         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
37571
37572 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37573             Bruno Haible  <bruno@clisp.org>
37574
37575         Speed up gnulib-tool by doing more string processing through shell
37576         built-ins.
37577         * gnulib-tool (fast_func_append): New variable.
37578         (func_remove_prefix, func_remove_suffix): New functions.
37579         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
37580         (func_filter_filelist): New function.
37581         (func_get_dependencies): Use func_remove_suffix instead of sed.
37582         (func_get_automake_snippet): Use func_filter_filelist instead of a
37583         subshell and sed invocation.
37584
37585 2009-01-01  Bruno Haible  <bruno@clisp.org>
37586
37587         Fix a security bug.
37588         * gnulib-tool (func_import, import, update): Don't allow the characters
37589         '"', '$', '`', '\' in macro arguments that become part of commands that
37590         are evaluated.
37591
37592 2009-01-01  Bruno Haible  <bruno@clisp.org>
37593
37594         * gnulib-tool (func_reset_sigpipe): Add more comments.
37595
37596 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37597
37598         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
37599         func_emit_tests_Makefile_am, func_import): Abort loops early if we
37600         already know the answer.
37601
37602 2009-01-01  Jim Meyering  <meyering@redhat.com>
37603
37604         * lib/version-etc.c (version_etc_va): Update copyright year.
37605
37606 2008-12-30  Bruno Haible  <bruno@clisp.org>
37607
37608         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
37609         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
37610         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
37611
37612 2008-12-29  Eric Blake  <ebb9@byu.net>
37613
37614         multiarch: avoid autoconf AC_REQUIRE bug
37615         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
37616         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
37617         2.63 and older.
37618         Reported by Bruno Haible, and analyzed in
37619         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
37620
37621 2008-12-29  Bruno Haible  <bruno@clisp.org>
37622
37623         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
37624         files in subdirectories correctly.
37625         Reported by Ralf Wildenhues.
37626
37627 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37628
37629         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
37630         rather than 'join FILE -', for Solaris join.
37631
37632 2008-12-29  Bruno Haible  <bruno@clisp.org>
37633
37634         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
37635         quoting.
37636         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
37637         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
37638         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
37639         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
37640         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
37641         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
37642         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
37643         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
37644         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
37645         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
37646         * m4/nls.m4 (AM_NLS): Likewise.
37647         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
37648         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
37649         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
37650         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
37651         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
37652         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
37653         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
37654         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
37655         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
37656         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
37657         * m4/xsize.m4 (gl_XSIZE): Likewise.
37658         Suggested by Jim Meyering.
37659
37660 2008-11-17  Bruce Korb  <bkorb@gnu.org>
37661
37662         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
37663         * lib/parse-duration.c: use a switch instead of cascading if's.
37664
37665 2008-12-29  Eric Blake  <ebb9@byu.net>
37666
37667         wchar.h: supply WEOF on Irix 5.3
37668         * lib/wchar.in.h (wint_t): Also supply WEOF.
37669         * lib/wctype.in.h (wint_t): Likewise.
37670         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
37671         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
37672         Reported by Tom G. Christensen.
37673
37674 2008-12-26  Bruno Haible  <bruno@clisp.org>
37675
37676         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
37677         i486, i586, i686.
37678
37679 2008-12-26  Bruno Haible  <bruno@clisp.org>
37680
37681         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
37682
37683 2008-12-26  Bruno Haible  <bruno@clisp.org>
37684
37685         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
37686         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
37687         not __STDC_CONSTANT_MACROS.
37688         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
37689
37690 2008-12-25  Bruno Haible  <bruno@clisp.org>
37691
37692         Add support for universal builds to vasnprintf.
37693         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
37694         universal builds, guess no.
37695         * modules/vasnprintf-posix (Depends-on): Add multiarch.
37696         * modules/vasprintf-posix (Depends-on): Likewise.
37697         * modules/fprintf-posix (Depends-on): Likewise.
37698         * modules/vfprintf-posix (Depends-on): Likewise.
37699         * modules/snprintf-posix (Depends-on): Likewise.
37700         * modules/vsnprintf-posix (Depends-on): Likewise.
37701         * modules/sprintf-posix (Depends-on): Likewise.
37702         * modules/vsprintf-posix (Depends-on): Likewise.
37703         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
37704         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
37705         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
37706         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
37707         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
37708         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
37709         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
37710
37711         Add support for universal builds to <inttypes.h>.
37712         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
37713         _SCNu64_PREFIX): In Apple
37714         universal builds, define directly, using _LP64.
37715         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
37716         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
37717         * modules/inttypes (Depends-on): Add multiarch.
37718         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
37719
37720         Add support for universal builds to <stdint.h>.
37721         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
37722         universal builds, define directly, using _LP64.
37723         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
37724         Apple universal builds, don't test for the size and suffix of ptrdiff_t
37725         and size_t.
37726         * modules/stdint (Depends-on): Add multiarch.
37727         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
37728
37729         New module 'multiarch'.
37730         * modules/multiarch: New file.
37731         * m4/multiarch.m4: New file.
37732
37733 2008-12-25  Bruno Haible  <bruno@clisp.org>
37734
37735         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
37736
37737 2008-12-25  Bruno Haible  <bruno@clisp.org>
37738
37739         * modules/btowc (License): Relicense under LGPLv2+.
37740         * modules/mbsinit (License): Likewise.
37741         * modules/mbrtowc (License): Likewise.
37742         * modules/wcrtomb (License): Likewise.
37743         * modules/streq (License): Likewise.
37744         Reported by David Lutterkort <lutter@redhat.com>.
37745
37746 2008-12-23  Bruno Haible  <bruno@clisp.org>
37747
37748         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
37749
37750 2008-12-23  Bruno Haible  <bruno@clisp.org>
37751
37752         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
37753         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
37754         GETADDRINFO_LIB, not in LIBS.
37755         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
37756         * modules/canon-host (Link): Likewise.
37757         * NEWS: Mention the change.
37758         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
37759         GETADDRINFO_LIB.
37760
37761 2008-12-22  Bruno Haible  <bruno@clisp.org>
37762
37763         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
37764         * doc/posix-functions/iswalpha_l.texi: Likewise.
37765         * doc/posix-functions/iswblank_l.texi: Likewise.
37766         * doc/posix-functions/iswcntrl_l.texi: Likewise.
37767         * doc/posix-functions/iswctype_l.texi: Likewise.
37768         * doc/posix-functions/iswdigit_l.texi: Likewise.
37769         * doc/posix-functions/iswgraph_l.texi: Likewise.
37770         * doc/posix-functions/iswlower_l.texi: Likewise.
37771         * doc/posix-functions/iswprint_l.texi: Likewise.
37772         * doc/posix-functions/iswpunct_l.texi: Likewise.
37773         * doc/posix-functions/iswspace_l.texi: Likewise.
37774         * doc/posix-functions/iswupper_l.texi: Likewise.
37775         * doc/posix-functions/iswxdigit_l.texi: Likewise.
37776         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
37777         * doc/posix-functions/open_wmemstream.texi: Likewise.
37778         * doc/posix-functions/swscanf.texi: Likewise.
37779         * doc/posix-functions/towctrans_l.texi: Likewise.
37780         * doc/posix-functions/towlower.texi: Likewise.
37781         * doc/posix-functions/towlower_l.texi: Likewise.
37782         * doc/posix-functions/towupper.texi: Likewise.
37783         * doc/posix-functions/towupper_l.texi: Likewise.
37784         * doc/posix-functions/vfwprintf.texi: Likewise.
37785         * doc/posix-functions/vfwscanf.texi: Likewise.
37786         * doc/posix-functions/vswscanf.texi: Likewise.
37787         * doc/posix-functions/vwprintf.texi: Likewise.
37788         * doc/posix-functions/vwscanf.texi: Likewise.
37789         * doc/posix-functions/wcpcpy.texi: Likewise.
37790         * doc/posix-functions/wcpncpy.texi: Likewise.
37791         * doc/posix-functions/wcscasecmp.texi: Likewise.
37792         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
37793         * doc/posix-functions/wcscoll_l.texi: Likewise.
37794         * doc/posix-functions/wcsdup.texi: Likewise.
37795         * doc/posix-functions/wcsncasecmp.texi: Likewise.
37796         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
37797         * doc/posix-functions/wcsnlen.texi: Likewise.
37798         * doc/posix-functions/wcsnrtombs.texi: Likewise.
37799         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
37800         * doc/posix-functions/wctrans_l.texi: Likewise.
37801         * doc/posix-functions/wctype_l.texi: Likewise.
37802         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
37803         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
37804         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
37805         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
37806         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
37807         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
37808         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
37809         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
37810         * doc/glibc-functions/wcschrnul.texi: Likewise.
37811         * doc/glibc-functions/wcsftime_l.texi: Likewise.
37812         * doc/glibc-functions/wcstod_l.texi: Likewise.
37813         * doc/glibc-functions/wcstof_l.texi: Likewise.
37814         * doc/glibc-functions/wcstol_l.texi: Likewise.
37815         * doc/glibc-functions/wcstold_l.texi: Likewise.
37816         * doc/glibc-functions/wcstoll_l.texi: Likewise.
37817         * doc/glibc-functions/wcstoq.texi: Likewise.
37818         * doc/glibc-functions/wcstoul_l.texi: Likewise.
37819         * doc/glibc-functions/wcstoull_l.texi: Likewise.
37820         * doc/glibc-functions/wcstouq.texi: Likewise.
37821         * doc/glibc-functions/wmempcpy.texi: Likewise.
37822
37823 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
37824             Eric Blake  <ebb9@byu.net>
37825             Paolo Bonzini  <bonzini@gnu.org>
37826             Bruno Haible  <bruno@clisp.org>
37827
37828         Make c-stack work on Haiku.
37829         * lib/c-stack.c (SA_ONSTACK): Define fallback.
37830         (c_stack_action): Use SA_ONSTACK flag.
37831
37832 2008-12-22  Bruno Haible  <bruno@clisp.org>
37833
37834         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
37835
37836 2008-12-22  Bruno Haible  <bruno@clisp.org>
37837
37838         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
37839         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
37840         being overridden.
37841         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
37842         New macros.
37843         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
37844         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
37845         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
37846         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
37847
37848 2008-12-22  Bruno Haible  <bruno@clisp.org>
37849
37850         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
37851         from test code.
37852
37853 2008-12-22  Eric Blake  <ebb9@byu.net>
37854
37855         Avoid gcc warnings on cygwin.
37856         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
37857         Avoid unused variable.
37858         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
37859         Likewise.
37860
37861 2008-12-22  Bruno Haible  <bruno@clisp.org>
37862
37863         Remove HAVE_MBRTOWC conditionals.
37864         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
37865         (mbscasecmp): Assume mbrtowc function.
37866         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
37867         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
37868         * lib/mbschr.c: Include mbuiter.h unconditionally.
37869         (mbschr): Assume mbrtowc function.
37870         * lib/mbscspn.c: Include mbuiter.h unconditionally.
37871         (mbscspn): Assume mbrtowc function.
37872         * lib/mbslen.c: Include mbuiter.h unconditionally.
37873         (mbslen): Assume mbrtowc function.
37874         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
37875         (mbsncasecmp): Assume mbrtowc function.
37876         * lib/mbsnlen.c: Include mbiter.h unconditionally.
37877         (mbsnlen): Assume mbrtowc function.
37878         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
37879         (mbspbrk): Assume mbrtowc function.
37880         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
37881         (mbspcasecmp): Assume mbrtowc function.
37882         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
37883         (mbsrchr): Assume mbrtowc function.
37884         * lib/mbssep.c: Include mbuiter.h unconditionally.
37885         (mbssep): Assume mbrtowc function.
37886         * lib/mbsspn.c: Include mbuiter.h unconditionally.
37887         (mbsspn): Assume mbrtowc function.
37888         * lib/mbsstr.c: Include mbuiter.h unconditionally.
37889         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
37890         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
37891         (mbstok_r): Assume mbrtowc function.
37892         * lib/propername.c: Include mbuiter.h unconditionally.
37893         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
37894         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
37895         (trim2): Assume mbrtowc function.
37896         * lib/mbswidth.c (mbsinit): Remove fallback definition.
37897         (mbsnwidth): Assume mbrtowc function.
37898         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
37899         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
37900         fallback definitions.
37901         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
37902
37903 2008-12-22  Bruno Haible  <bruno@clisp.org>
37904
37905         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
37906
37907 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
37908
37909         * modules/regex: Request emulations for the mb*/wc* functions we need.
37910         * m4/regex.m4: Don't look for those functions here.
37911         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
37912
37913 2008-12-22  Bruno Haible  <bruno@clisp.org>
37914
37915         * modules/fnmatch (Depends-on): Remove duplicated dependency.
37916
37917 2008-12-21  Bruno Haible  <bruno@clisp.org>
37918
37919         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
37920         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
37921         (Include): Remove conditionalization.
37922         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
37923         (Include): Remove conditionalization.
37924         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
37925         (Include): Remove conditionalization.
37926         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
37927         * m4/mbfile.m4 (gl_MBFILE): Likewise.
37928         * NEWS: Mention the change.
37929         Reported by Alan Hourihane <alanh@fairlite.co.uk>
37930         via Sergey Poznyakoff <gray@gnu.org.ua>.
37931
37932 2008-12-21  Bruno Haible  <bruno@clisp.org>
37933
37934         * MODULES.html.sh (Extended multibyte and wide character utilities
37935         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
37936         wcrtomb, wcsrtombs.
37937         (Support for systems lacking POSIX:2008): Add accept, bind, close,
37938         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
37939         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
37940         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
37941
37942 2008-12-21  Bruno Haible  <bruno@clisp.org>
37943
37944         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
37945
37946 2008-12-21  Bruno Haible  <bruno@clisp.org>
37947
37948         * modules/wcsnrtombs-tests: New file.
37949         * tests/test-wcsnrtombs1.sh: New file.
37950         * tests/test-wcsnrtombs2.sh: New file.
37951         * tests/test-wcsnrtombs3.sh: New file.
37952         * tests/test-wcsnrtombs4.sh: New file.
37953         * tests/test-wcsnrtombs.c: New file.
37954
37955         New module 'wcsnrtombs'.
37956         * lib/wchar.in.h (wcsnrtombs): New declaration.
37957         * lib/wcsnrtombs.c: New file.
37958         * lib/wcsrtombs-state.c: New file.
37959         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
37960         (internal_state): Remove variable.
37961         * m4/wcsnrtombs.m4: New file.
37962         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
37963         compilation units.
37964         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
37965         HAVE_WCSNRTOMBS.
37966         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
37967         HAVE_WCSNRTOMBS.
37968         * modules/wcsnrtombs: New file.
37969         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
37970         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
37971
37972 2008-12-21  Bruno Haible  <bruno@clisp.org>
37973
37974         * modules/wcsrtombs-tests: New file.
37975         * tests/test-wcsrtombs1.sh: New file.
37976         * tests/test-wcsrtombs2.sh: New file.
37977         * tests/test-wcsrtombs3.sh: New file.
37978         * tests/test-wcsrtombs4.sh: New file.
37979         * tests/test-wcsrtombs.c: New file.
37980
37981         New module 'wcsrtombs'.
37982         * lib/wchar.in.h (wcsrtombs): New declaration.
37983         * lib/wcsrtombs.c: New file.
37984         * m4/wcsrtombs.m4: New file.
37985         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
37986         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
37987         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
37988         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
37989         * modules/wcsrtombs: New file.
37990         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
37991         bugs.
37992
37993 2008-12-21  Bruno Haible  <bruno@clisp.org>
37994
37995         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
37996         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
37997         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
37998         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
37999         if not correct.
38000         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
38001         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
38002         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
38003         m4/locale-zh.m4, m4/codeset.m4.
38004         * doc/posix-functions/wcrtomb.texi: Document the bug.
38005
38006 2008-12-21  Bruno Haible  <bruno@clisp.org>
38007
38008         Work around a btowc() bug on IRIX 6.5.
38009         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
38010         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
38011         REPLACE_WTOBC if not.
38012         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
38013         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
38014         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
38015
38016 2008-12-21  Bruno Haible  <bruno@clisp.org>
38017
38018         * modules/wcrtomb-tests: New file.
38019         * tests/test-wcrtomb.sh: New file.
38020         * tests/test-wcrtomb.c: New file.
38021
38022         New module 'wcrtomb'.
38023         * lib/wchar.in.h (wcrtomb): New declaration.
38024         * lib/wcrtomb.c: New file.
38025         * m4/wcrtomb.m4: New file.
38026         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
38027         HAVE_WCRTOMB.
38028         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
38029         HAVE_WCRTOMB.
38030         * modules/wcrtomb: New file.
38031         * doc/posix-functions/wcrtomb.texi: Mention the new module.
38032
38033 2008-12-21  Bruno Haible  <bruno@clisp.org>
38034
38035         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
38036         * modules/mbsrtowcs (Files): Likewise.
38037         * modules/wctob (Files): Likewise.
38038         * modules/c-strcase-tests (Files): Likewise.
38039         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
38040         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
38041         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
38042         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
38043         * modules/vasnprintf-posix-tests (Files): Likewise.
38044
38045 2008-12-21  William Pursell  <bill.pursell@gmail.com>
38046
38047         gitlog-to-changelog: pass all command-line arguments to git-log
38048         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
38049         it is sometimes convenient to filter the commits in various ways.
38050         gitlog-to-changelog only allows --since to specify a start date,
38051         but git-log itself supports many other filtering mechanisms.
38052         At the moment, I want to filter by branch name.  Rather than
38053         adding a --branch option to gitlog-to-changelog, it seems more
38054         flexible to simply pass all options directly to git-log and let
38055         git do the work.  Notice that this effectively makes --since a
38056         redundant option for gitlog-to-changelog, but removing it would
38057         require current usage to change since calls would then require
38058         an additional '--'.
38059
38060 2008-12-21  Bruno Haible  <bruno@clisp.org>
38061
38062         * modules/mbsnrtowcs-tests: New file.
38063         * tests/test-mbsnrtowcs1.sh: New file.
38064         * tests/test-mbsnrtowcs2.sh: New file.
38065         * tests/test-mbsnrtowcs3.sh: New file.
38066         * tests/test-mbsnrtowcs4.sh: New file.
38067         * tests/test-mbsnrtowcs.c: New file.
38068
38069         New module 'mbsnrtowcs'.
38070         * lib/wchar.in.h (mbsnrtowcs): New declaration.
38071         * lib/mbsnrtowcs.c: New file.
38072         * lib/mbsrtowcs-state.c: New file.
38073         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
38074         (internal_state): Remove variable.
38075         * m4/mbsnrtowcs.m4: New file.
38076         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
38077         compilation units.
38078         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
38079         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
38080         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
38081         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
38082         * modules/mbsnrtowcs: New file.
38083         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
38084         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
38085         portability problem.
38086
38087 2008-12-21  Bruno Haible  <bruno@clisp.org>
38088
38089         Work around mbsrtowcs bug.
38090         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
38091         (gl_FUNC_MBSRTOWCS): Invoke it.
38092         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
38093         m4/locale-zh.m4.
38094         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
38095
38096 2008-12-21  Bruno Haible  <bruno@clisp.org>
38097
38098         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
38099
38100 2008-12-21  Bruno Haible  <bruno@clisp.org>
38101
38102         Update doc for AIX.
38103         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
38104         16-bit wchar_t type.
38105         * doc/posix-functions/btowc.texi: Likewise.
38106         * doc/posix-functions/fgetwc.texi: Likewise.
38107         * doc/posix-functions/fgetws.texi: Likewise.
38108         * doc/posix-functions/fputwc.texi: Likewise.
38109         * doc/posix-functions/fputws.texi: Likewise.
38110         * doc/posix-functions/fwide.texi: Likewise.
38111         * doc/posix-functions/fwprintf.texi: Likewise.
38112         * doc/posix-functions/fwscanf.texi: Likewise.
38113         * doc/posix-functions/getwchar.texi: Likewise.
38114         * doc/posix-functions/getwc.texi: Likewise.
38115         * doc/posix-functions/iswalnum.texi: Likewise.
38116         * doc/posix-functions/iswalpha.texi: Likewise.
38117         * doc/posix-functions/iswblank.texi: Likewise.
38118         * doc/posix-functions/iswcntrl.texi: Likewise.
38119         * doc/posix-functions/iswctype.texi: Likewise.
38120         * doc/posix-functions/iswdigit.texi: Likewise.
38121         * doc/posix-functions/iswgraph.texi: Likewise.
38122         * doc/posix-functions/iswlower.texi: Likewise.
38123         * doc/posix-functions/iswprint.texi: Likewise.
38124         * doc/posix-functions/iswpunct.texi: Likewise.
38125         * doc/posix-functions/iswspace.texi: Likewise.
38126         * doc/posix-functions/iswupper.texi: Likewise.
38127         * doc/posix-functions/iswxdigit.texi: Likewise.
38128         * doc/posix-functions/mbrtowc.texi: Likewise.
38129         * doc/posix-functions/mbsrtowcs.texi: Likewise.
38130         * doc/posix-functions/mbstowcs.texi: Likewise.
38131         * doc/posix-functions/mbtowc.texi: Likewise.
38132         * doc/posix-functions/putwchar.texi: Likewise.
38133         * doc/posix-functions/putwc.texi: Likewise.
38134         * doc/posix-functions/swprintf.texi: Likewise.
38135         * doc/posix-functions/tolower.texi: Likewise.
38136         * doc/posix-functions/toupper.texi: Likewise.
38137         * doc/posix-functions/towctrans.texi: Likewise.
38138         * doc/posix-functions/ungetwc.texi: Likewise.
38139         * doc/posix-functions/vswprintf.texi: Likewise.
38140         * doc/posix-functions/wcrtomb.texi: Likewise.
38141         * doc/posix-functions/wcscat.texi: Likewise.
38142         * doc/posix-functions/wcschr.texi: Likewise.
38143         * doc/posix-functions/wcscmp.texi: Likewise.
38144         * doc/posix-functions/wcscoll.texi: Likewise.
38145         * doc/posix-functions/wcscpy.texi: Likewise.
38146         * doc/posix-functions/wcscspn.texi: Likewise.
38147         * doc/posix-functions/wcsftime.texi: Likewise.
38148         * doc/posix-functions/wcslen.texi: Likewise.
38149         * doc/posix-functions/wcsncat.texi: Likewise.
38150         * doc/posix-functions/wcsncmp.texi: Likewise.
38151         * doc/posix-functions/wcsncpy.texi: Likewise.
38152         * doc/posix-functions/wcspbrk.texi: Likewise.
38153         * doc/posix-functions/wcsrchr.texi: Likewise.
38154         * doc/posix-functions/wcsrtombs.texi: Likewise.
38155         * doc/posix-functions/wcsspn.texi: Likewise.
38156         * doc/posix-functions/wcsstr.texi: Likewise.
38157         * doc/posix-functions/wcstod.texi: Likewise.
38158         * doc/posix-functions/wcstof.texi: Likewise.
38159         * doc/posix-functions/wcstoimax.texi: Likewise.
38160         * doc/posix-functions/wcstok.texi: Likewise.
38161         * doc/posix-functions/wcstold.texi: Likewise.
38162         * doc/posix-functions/wcstoll.texi: Likewise.
38163         * doc/posix-functions/wcstol.texi: Likewise.
38164         * doc/posix-functions/wcstombs.texi: Likewise.
38165         * doc/posix-functions/wcstoull.texi: Likewise.
38166         * doc/posix-functions/wcstoul.texi: Likewise.
38167         * doc/posix-functions/wcstoumax.texi: Likewise.
38168         * doc/posix-functions/wcswidth.texi: Likewise.
38169         * doc/posix-functions/wcsxfrm.texi: Likewise.
38170         * doc/posix-functions/wctob.texi: Likewise.
38171         * doc/posix-functions/wctomb.texi: Likewise.
38172         * doc/posix-functions/wctrans.texi: Likewise.
38173         * doc/posix-functions/wctype.texi: Likewise.
38174         * doc/posix-functions/wcwidth.texi: Likewise.
38175         * doc/posix-functions/wmemchr.texi: Likewise.
38176         * doc/posix-functions/wmemcmp.texi: Likewise.
38177         * doc/posix-functions/wmemcpy.texi: Likewise.
38178         * doc/posix-functions/wmemmove.texi: Likewise.
38179         * doc/posix-functions/wmemset.texi: Likewise.
38180         * doc/posix-functions/wprintf.texi: Likewise.
38181         * doc/posix-functions/wscanf.texi: Likewise.
38182
38183 2008-12-21  Bruno Haible  <bruno@clisp.org>
38184
38185         Update doc for HP-UX 11.11.
38186         * doc/posix-functions/btowc.texi: Clarify that the function is missing
38187         in HP-UX version 11.00, not in all versions of HP-UX 11.
38188         * doc/posix-functions/fwide.texi: Likewise.
38189         * doc/posix-functions/fwprintf.texi: Likewise.
38190         * doc/posix-functions/fwscanf.texi: Likewise.
38191         * doc/posix-functions/inet_ntop.texi: Likewise.
38192         * doc/posix-functions/inet_pton.texi: Likewise.
38193         * doc/posix-functions/mbrlen.texi: Likewise.
38194         * doc/posix-functions/mbrtowc.texi: Likewise.
38195         * doc/posix-functions/mbsinit.texi: Likewise.
38196         * doc/posix-functions/mbsrtowcs.texi: Likewise.
38197         * doc/posix-functions/swprintf.texi: Likewise.
38198         * doc/posix-functions/swscanf.texi: Likewise.
38199         * doc/posix-functions/towctrans.texi: Likewise.
38200         * doc/posix-functions/vfwprintf.texi: Likewise.
38201         * doc/posix-functions/vswprintf.texi: Likewise.
38202         * doc/posix-functions/vwprintf.texi: Likewise.
38203         * doc/posix-functions/wcrtomb.texi: Likewise.
38204         * doc/posix-functions/wcsrtombs.texi: Likewise.
38205         * doc/posix-functions/wcsstr.texi: Likewise.
38206         * doc/posix-functions/wctob.texi: Likewise.
38207         * doc/posix-functions/wctrans.texi: Likewise.
38208         * doc/posix-functions/wmemchr.texi: Likewise.
38209         * doc/posix-functions/wmemcmp.texi: Likewise.
38210         * doc/posix-functions/wmemcpy.texi: Likewise.
38211         * doc/posix-functions/wmemmove.texi: Likewise.
38212         * doc/posix-functions/wmemset.texi: Likewise.
38213         * doc/posix-functions/wprintf.texi: Likewise.
38214         * doc/posix-functions/wscanf.texi: Likewise.
38215
38216 2008-12-21  Bruno Haible  <bruno@clisp.org>
38217
38218         Work around a portability problem.
38219         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
38220         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
38221
38222 2008-12-20  Bruno Haible  <bruno@clisp.org>
38223
38224         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
38225         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
38226         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
38227         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
38228         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
38229
38230         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
38231         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
38232         set.
38233         (GNULIB_defined_mbstate_t): New macro.
38234         (mbsinit): Redefine if REPLACE_MBSINIT is set.
38235         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
38236         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
38237         reuses the system's mbrtowc function but works around the bugs.
38238         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
38239         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
38240         macros.
38241         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
38242         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
38243         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
38244         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
38245         REPLACE_MBSINIT if mbsinit needs to be overridden.
38246         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
38247         REPLACE_MBSINIT, REPLACE_MBRTOWC.
38248         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
38249         REPLACE_MBSINIT, REPLACE_MBRTOWC.
38250         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
38251         m4/locale-zh.m4.
38252         (Depends): Add mbsinit.
38253         * modules/mbsinit (Depends): Add mbrtowc.
38254         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
38255
38256 2008-12-20  Bruno Haible  <bruno@clisp.org>
38257
38258         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
38259         so that there are no conversion errors on AIX.
38260         * tests/test-mbsrtowcs.c (main): LIkewise.
38261
38262 2008-12-20  Bruno Haible  <bruno@clisp.org>
38263
38264         Work around wctob bug on Solaris <= 9.
38265         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
38266         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
38267         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
38268         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
38269         * modules/wctob (Files): Add m4/locale-fr.m4.
38270         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
38271
38272 2008-12-20  Bruno Haible  <bruno@clisp.org>
38273
38274         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
38275         /dev/null.
38276         * tests/test-select-in.sh: Likewise.
38277         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
38278
38279 2008-12-20  Bruno Haible  <bruno@clisp.org>
38280
38281         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
38282         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
38283         Cygwin 1.5.x.
38284
38285 2008-12-20  Bruno Haible  <bruno@clisp.org>
38286
38287         Ensure mbstate_t is defined on HP-UX 11.11.
38288         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
38289         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
38290         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
38291         AC_USE_SYSTEM_EXTENSIONS.
38292         * modules/fnmatch (Depends-on): Add extensions.
38293         * modules/mbrlen (Depends-on): Likewise.
38294         * modules/mbrtowc (Depends-on): Likewise.
38295         * modules/mbsinit (Depends-on): Likewise.
38296         * modules/mbsrtowcs (Depends-on): Likewise.
38297         * modules/mbswidth (Depends-on): Likewise.
38298         * modules/quotearg (Depends-on): Likewise.
38299         * modules/strftime (Depends-on): Likewise.
38300
38301 2008-12-20  Bruno Haible  <bruno@clisp.org>
38302
38303         Ensure wctob is declared on IRIX 6.5.
38304         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
38305         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
38306         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
38307         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
38308         of HAVE_WCTOB.
38309         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
38310         HAVE_WCTOB.
38311         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
38312
38313 2008-12-19  Bruno Haible  <bruno@clisp.org>
38314
38315         * modules/mbsrtowcs-tests: New file.
38316         * tests/test-mbsrtowcs1.sh: New file.
38317         * tests/test-mbsrtowcs2.sh: New file.
38318         * tests/test-mbsrtowcs3.sh: New file.
38319         * tests/test-mbsrtowcs4.sh: New file.
38320         * tests/test-mbsrtowcs.c: New file.
38321
38322         New module 'mbsrtowcs'.
38323         * lib/wchar.in.h (mbsrtowcs): New declaration.
38324         * lib/mbsrtowcs.c: New file.
38325         * m4/mbsrtowcs.m4: New file.
38326         * modules/mbsrtowcs: New file.
38327         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
38328         HAVE_MBSRTOWCS.
38329         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
38330         HAVE_MBSRTOWCS.
38331         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
38332
38333 2008-12-19  Bruno Haible  <bruno@clisp.org>
38334
38335         New module 'mbrlen'.
38336         * lib/wchar.in.h (mbrlen): New declaration.
38337         * lib/mbrlen.c: New file.
38338         * m4/mbrlen.m4: New file.
38339         * modules/mbrlen: New file.
38340         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
38341         HAVE_MBRLEN.
38342         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
38343         HAVE_MBRLEN.
38344         * doc/posix-functions/mbrlen.texi: Document the new module.
38345
38346 2008-12-19  Bruno Haible  <bruno@clisp.org>
38347
38348         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
38349         * modules/mbrtowc (Depends-on): Add verify.
38350         Suggested by Paul Eggert.
38351
38352 2008-12-18  Bruno Haible  <bruno@clisp.org>
38353
38354         * modules/mbsinit-tests: New file.
38355         * tests/test-mbsinit.sh: New file.
38356         * tests/test-mbsinit.c: New file.
38357
38358 2008-12-18  Bruno Haible  <bruno@clisp.org>
38359
38360         * modules/mbrtowc-tests: New file.
38361         * tests/test-mbrtowc1.sh: New file.
38362         * tests/test-mbrtowc2.sh: New file.
38363         * tests/test-mbrtowc3.sh: New file.
38364         * tests/test-mbrtowc4.sh: New file.
38365         * tests/test-mbrtowc.c: New file.
38366
38367         New module 'mbrtowc'.
38368         * lib/wchar.in.h (mbstate_t): Override when the system does not have
38369         mbsinit and mbrtowc.
38370         (mbrtowc): New declaration.
38371         * lib/mbrtowc.c: New file.
38372         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
38373         * modules/mbrtowc: New file.
38374         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
38375         HAVE_MBRTOWC.
38376         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
38377         HAVE_MBRTOWC.
38378         * doc/posix-functions/mbrtowc.texi: Document the new module.
38379
38380 2008-12-18  Bruno Haible  <bruno@clisp.org>
38381
38382         New module 'wctob'.
38383         * lib/wchar.in.h (wctob): New declaration.
38384         * lib/wctob.c: New file.
38385         * m4/wctob.m4: New file.
38386         * modules/wctob: New file.
38387         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
38388         HAVE_WCTOB.
38389         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
38390         * doc/posix-functions/wctob.texi: Document the new module.
38391
38392 2008-12-18  Bruno Haible  <bruno@clisp.org>
38393
38394         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
38395         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
38396
38397 2008-12-18  Simon Josefsson  <simon@josefsson.org>
38398
38399         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
38400         G. Christensen" <tgc@jupiterrise.com>.
38401
38402         * lib/flock.c: Need to include errno.h.  Reported by "Tom
38403         G. Christensen" <tgc@jupiterrise.com>.
38404
38405         * lib/flock.c: Need to include string.h.  Reported by "Tom
38406         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
38407         <ebb9@byu.net>.
38408
38409 2008-12-18  Bruno Haible  <bruno@clisp.org>
38410
38411         * m4/locale-ja.m4: New file, from GNU gettext.
38412
38413 2008-12-17  Bruno Haible  <bruno@clisp.org>
38414
38415         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
38416         Suggested by Eric Blake.
38417
38418 2008-12-17  Bruno Haible  <bruno@clisp.org>
38419
38420         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
38421
38422 2008-12-17  Bruno Haible  <bruno@clisp.org>
38423
38424         * lib/mbsinit.c: Include verify.h. Verify an assumption.
38425         * modules/mbsinit (Depends-on): Add verify.
38426         Suggested by Paul Eggert.
38427
38428 2008-12-17  Bruno Haible  <bruno@clisp.org>
38429
38430         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
38431         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
38432         gl_FUNC_MBRTOWC.
38433         * m4/mbiter.m4 (gl_MBITER): LIkewise.
38434         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
38435         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
38436         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
38437         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
38438         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
38439         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
38440         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
38441         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
38442         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
38443         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
38444         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
38445         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
38446         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
38447         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
38448         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
38449         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
38450         * modules/trim (configure.ac): Likewise.
38451
38452 2008-12-17  Bruno Haible  <bruno@clisp.org>
38453
38454         * modules/btowc-tests: New file.
38455         * tests/test-btowc1.sh: New file.
38456         * tests/test-btowc2.sh: New file.
38457         * tests/test-btowc.c: New file.
38458
38459         New module 'btowc'.
38460         * lib/wchar.in.h (btowc): New declaration.
38461         * lib/btowc.c: New file.
38462         * m4/btowc.m4: New file.
38463         * modules/btowc: New file.
38464         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
38465         HAVE_BTOWC.
38466         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
38467         * doc/posix-functions/btowc.texi: Document the new module.
38468
38469 2008-12-17  Bruno Haible  <bruno@clisp.org>
38470
38471         New module 'mbsinit'.
38472         * lib/wchar.in.h (mbsinit): New declaration.
38473         * lib/mbsinit.c: New file.
38474         * m4/mbsinit.m4: New file.
38475         * modules/mbsinit: New file.
38476         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
38477         HAVE_MBSINIT.
38478         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
38479         HAVE_MBSINIT.
38480         * doc/posix-functions/mbsinit.texi: Document the new module.
38481
38482 2008-12-16  Bruno Haible  <bruno@clisp.org>
38483
38484         * lib/unistd.in.h: Add comment.
38485         * tests/test-environ.c: Don't include <stdlib.h>.
38486
38487 2008-12-16  Bruno Haible  <bruno@clisp.org>
38488
38489         * lib/parse-duration.h (parse_duration): Document return value
38490         convention.
38491         * lib/parse-duration.c: Include specification header first. Add
38492         comments.
38493         (_): Remove macro.
38494         (parse_year_month_day, parse_hour_minute_second): Move side effects
38495         outside of strchr call.
38496         (parse_non_iso8601): Move side effects outside of isspace call.
38497         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
38498         call.
38499
38500 2008-12-16  Bruno Haible  <bruno@clisp.org>
38501
38502         * tests/test-parse-duration.sh: Produce no output when the test
38503         succeeds.
38504
38505 2008-12-16  Bruno Haible  <bruno@clisp.org>
38506
38507         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
38508         expressions.
38509
38510 2008-12-15  Bruno Haible  <bruno@clisp.org>
38511
38512         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
38513         * doc/glibc-functions/flistxattr.texi: Likewise.
38514         * doc/glibc-functions/fopencookie.texi: Likewise.
38515         * doc/glibc-functions/fremovexattr.texi: Likewise.
38516         * doc/glibc-functions/fsetxattr.texi: Likewise.
38517         * doc/glibc-functions/getxattr.texi: Likewise.
38518         * doc/glibc-functions/lgetxattr.texi: Likewise.
38519         * doc/glibc-functions/listxattr.texi: Likewise.
38520         * doc/glibc-functions/llistxattr.texi: Likewise.
38521         * doc/glibc-functions/lremovexattr.texi: Likewise.
38522         * doc/glibc-functions/lsetxattr.texi: Likewise.
38523         * doc/glibc-functions/removexattr.texi: Likewise.
38524         * doc/glibc-functions/setxattr.texi: Likewise.
38525         * doc/posix-functions/open_memstream.texi: Likewise.
38526
38527 2008-12-15  Eric Blake  <ebb9@byu.net>
38528
38529         Update doc for cygwin 1.7.
38530         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
38531         functions.
38532         * doc/posix-functions/fchmodat.texi: Likewise.
38533         * doc/posix-functions/fchownat.texi: Likewise.
38534         * doc/posix-functions/fdopendir.texi: Likewise.
38535         * doc/posix-functions/fmemopen.texi: Likewise.
38536         * doc/posix-functions/freeaddrinfo.texi: Likewise.
38537         * doc/posix-functions/fstatat.texi: Likewise.
38538         * doc/posix-functions/futimens.texi: Likewise.
38539         * doc/posix-functions/gai_strerror.texi: Likewise.
38540         * doc/posix-functions/getaddrinfo.texi: Likewise.
38541         * doc/posix-functions/getnameinfo.texi: Likewise.
38542         * doc/posix-functions/if_freenameindex.texi: Likewise.
38543         * doc/posix-functions/if_indextoname.texi: Likewise.
38544         * doc/posix-functions/if_nameindex.texi: Likewise.
38545         * doc/posix-functions/if_nametoindex.texi: Likewise.
38546         * doc/posix-functions/insque.texi: Likewise.
38547         * doc/posix-functions/linkat.texi: Likewise.
38548         * doc/posix-functions/llrint.texi: Likewise.
38549         * doc/posix-functions/llrintf.texi: Likewise.
38550         * doc/posix-functions/llrintl.texi: Likewise.
38551         * doc/posix-functions/lockf.texi: Likewise.
38552         * doc/posix-functions/lrintl.texi: Likewise.
38553         * doc/posix-functions/mkdirat.texi: Likewise.
38554         * doc/posix-functions/mkfifoat.texi: Likewise.
38555         * doc/posix-functions/mknodat.texi: Likewise.
38556         * doc/posix-functions/mq_close.texi: Likewise.
38557         * doc/posix-functions/mq_getattr.texi: Likewise.
38558         * doc/posix-functions/mq_notify.texi: Likewise.
38559         * doc/posix-functions/mq_open.texi: Likewise.
38560         * doc/posix-functions/mq_receive.texi: Likewise.
38561         * doc/posix-functions/mq_send.texi: Likewise.
38562         * doc/posix-functions/mq_setattr.texi: Likewise.
38563         * doc/posix-functions/mq_timedreceive.texi: Likewise.
38564         * doc/posix-functions/mq_timedsend.texi: Likewise.
38565         * doc/posix-functions/mq_unlink.texi: Likewise.
38566         * doc/posix-functions/open_memstream.texi: Likewise.
38567         * doc/posix-functions/openat.texi: Likewise.
38568         * doc/posix-functions/posix_fadvise.texi: Likewise.
38569         * doc/posix-functions/posix_fallocate.texi: Likewise.
38570         * doc/posix-functions/posix_madvise.texi: Likewise.
38571         * doc/posix-functions/posix_memalign.texi: Likewise.
38572         * doc/posix-functions/posix_openpt.texi: Likewise.
38573         * doc/posix-functions/readlinkat.texi: Likewise.
38574         * doc/posix-functions/remque.texi: Likewise.
38575         * doc/posix-functions/renameat.texi: Likewise.
38576         * doc/posix-functions/rintl.texi: Likewise.
38577         * doc/posix-functions/sem_unlink.texi: Likewise.
38578         * doc/posix-functions/shm_open.texi: Likewise.
38579         * doc/posix-functions/shm_unlink.texi: Likewise.
38580         * doc/posix-functions/signgam.texi: Likewise.
38581         * doc/posix-functions/sigset.texi: Likewise.
38582         * doc/posix-functions/stpcpy.texi: Likewise.
38583         * doc/posix-functions/stpncpy.texi: Likewise.
38584         * doc/posix-functions/strerror.texi: Likewise.
38585         * doc/posix-functions/strtod.texi: Likewise.
38586         * doc/posix-functions/symlinkat.texi: Likewise.
38587         * doc/posix-functions/unlinkat.texi: Likewise.
38588         * doc/posix-functions/utimensat.texi: Likewise.
38589         * doc/glibc-functions/bindresvport.texi: Likewise.
38590         * doc/glibc-functions/dn_expand.texi: Likewise.
38591         * doc/glibc-functions/exp10.texi: Likewise.
38592         * doc/glibc-functions/exp10f.texi: Likewise.
38593         * doc/glibc-functions/fgetxattr.texi: Likewise.
38594         * doc/glibc-functions/flistxattr.texi: Likewise.
38595         * doc/glibc-functions/fopencookie.texi: Likewise.
38596         * doc/glibc-functions/freeifaddrs.texi: Likewise.
38597         * doc/glibc-functions/fremovexattr.texi: Likewise.
38598         * doc/glibc-functions/fsetxattr.texi: Likewise.
38599         * doc/glibc-functions/getifaddrs.texi: Likewise.
38600         * doc/glibc-functions/getxattr.texi: Likewise.
38601         * doc/glibc-functions/lgetxattr.texi: Likewise.
38602         * doc/glibc-functions/listxattr.texi: Likewise.
38603         * doc/glibc-functions/llistxattr.texi: Likewise.
38604         * doc/glibc-functions/lremovexattr.texi: Likewise.
38605         * doc/glibc-functions/lsetxattr.texi: Likewise.
38606         * doc/glibc-functions/pow10.texi: Likewise.
38607         * doc/glibc-functions/pow10f.texi: Likewise.
38608         * doc/glibc-functions/rcmd_af.texi: Likewise.
38609         * doc/glibc-functions/removexattr.texi: Likewise.
38610         * doc/glibc-functions/res_init.texi: Likewise.
38611         * doc/glibc-functions/res_mkquery.texi: Likewise.
38612         * doc/glibc-functions/res_query.texi: Likewise.
38613         * doc/glibc-functions/res_querydomain.texi: Likewise.
38614         * doc/glibc-functions/res_send.texi: Likewise.
38615         * doc/glibc-functions/rresvport_af.texi: Likewise.
38616         * doc/glibc-functions/setxattr.texi: Likewise.
38617         * doc/glibc-functions/strcasestr.texi: Likewise.
38618
38619 2008-12-15  Bruno Haible  <bruno@clisp.org>
38620
38621         Fix compilation error on OSF/1 4.0.
38622         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
38623         <sys/time.h>, simply delegate to the system header.
38624         Reported by Daniel Richard G. <oss@teragram.com>.
38625
38626 2008-12-15  Bruno Haible  <bruno@clisp.org>
38627
38628         * doc/posix-functions/openat.texi: Mention the 'openat' module.
38629         * doc/posix-functions/fchmodat.texi: Likewise.
38630         * doc/posix-functions/fchownat.texi: Likewise.
38631         * doc/posix-functions/fdopendir.texi: Likewise.
38632         * doc/posix-functions/fstatat.texi: Likewise.
38633         * doc/posix-functions/mkdirat.texi: Likewise.
38634         * doc/posix-functions/unlinkat.texi: Likewise.
38635
38636 2008-12-14  Bruno Haible  <bruno@clisp.org>
38637
38638         Update doc for POSIX:2008.
38639         * doc/posix-functions/faccessat.texi: New file.
38640         * doc/posix-functions/fchmodat.texi: New file.
38641         * doc/posix-functions/fchownat.texi: New file.
38642         * doc/posix-functions/fdopendir.texi: New file.
38643         * doc/posix-functions/fstatat.texi: New file.
38644         * doc/posix-functions/futimens.texi: New file.
38645         * doc/posix-functions/linkat.texi: New file.
38646         * doc/posix-functions/mkdirat.texi: New file.
38647         * doc/posix-functions/mkfifoat.texi: New file.
38648         * doc/posix-functions/mknodat.texi: New file.
38649         * doc/posix-functions/open_wmemstream.texi: New file.
38650         * doc/posix-functions/openat.texi: New file.
38651         * doc/posix-functions/psiginfo.texi: New file.
38652         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
38653         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
38654         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
38655         * doc/posix-functions/readlinkat.texi: New file.
38656         * doc/posix-functions/renameat.texi: New file.
38657         * doc/posix-functions/strerror_l.texi: New file.
38658         * doc/posix-functions/symlinkat.texi: New file.
38659         * doc/posix-functions/unlinkat.texi: New file.
38660         * doc/posix-functions/utimensat.texi: New file.
38661         * doc/gnulib.texi (Function Substitutes): Add these subsections.
38662
38663 2008-12-14  Bruno Haible  <bruno@clisp.org>
38664
38665         Update doc for POSIX:2008.
38666         * doc/posix-functions/alphasort.texi: Renamed from
38667         doc/glibc-functions/alphasort.texi.
38668         * doc/posix-functions/dirfd.texi: Renamed from
38669         doc/glibc-functions/dirfd.texi.
38670         * doc/posix-functions/dprintf.texi: Renamed from
38671         doc/glibc-functions/dprintf.texi.
38672         * doc/posix-functions/duplocale.texi: Renamed from
38673         doc/glibc-functions/duplocale.texi.
38674         * doc/posix-functions/fexecve.texi: Renamed from
38675         doc/glibc-functions/fexecve.texi.
38676         * doc/posix-functions/fmemopen.texi: Renamed from
38677         doc/glibc-functions/fmemopen.texi.
38678         * doc/posix-functions/freelocale.texi: Renamed from
38679         doc/glibc-functions/freelocale.texi.
38680         * doc/posix-functions/getdate_err.texi: Renamed from
38681         doc/glibc-functions/getdate_err.texi.
38682         * doc/posix-functions/isalnum_l.texi: Renamed from
38683         doc/glibc-functions/isalnum_l.texi.
38684         * doc/posix-functions/isalpha_l.texi: Renamed from
38685         doc/glibc-functions/isalpha_l.texi.
38686         * doc/posix-functions/isblank_l.texi: Renamed from
38687         doc/glibc-functions/isblank_l.texi.
38688         * doc/posix-functions/iscntrl_l.texi: Renamed from
38689         doc/glibc-functions/iscntrl_l.texi.
38690         * doc/posix-functions/isdigit_l.texi: Renamed from
38691         doc/glibc-functions/isdigit_l.texi.
38692         * doc/posix-functions/isgraph_l.texi: Renamed from
38693         doc/glibc-functions/isgraph_l.texi.
38694         * doc/posix-functions/islower_l.texi: Renamed from
38695         doc/glibc-functions/islower_l.texi.
38696         * doc/posix-functions/isprint_l.texi: Renamed from
38697         doc/glibc-functions/isprint_l.texi.
38698         * doc/posix-functions/ispunct_l.texi: Renamed from
38699         doc/glibc-functions/ispunct_l.texi.
38700         * doc/posix-functions/isspace_l.texi: Renamed from
38701         doc/glibc-functions/isspace_l.texi.
38702         * doc/posix-functions/isupper_l.texi: Renamed from
38703         doc/glibc-functions/isupper_l.texi.
38704         * doc/posix-functions/iswalnum_l.texi: Renamed from
38705         doc/glibc-functions/iswalnum_l.texi.
38706         * doc/posix-functions/iswalpha_l.texi: Renamed from
38707         doc/glibc-functions/iswalpha_l.texi.
38708         * doc/posix-functions/iswblank_l.texi: Renamed from
38709         doc/glibc-functions/iswblank_l.texi.
38710         * doc/posix-functions/iswcntrl_l.texi: Renamed from
38711         doc/glibc-functions/iswcntrl_l.texi.
38712         * doc/posix-functions/iswctype_l.texi: Renamed from
38713         doc/glibc-functions/iswctype_l.texi.
38714         * doc/posix-functions/iswdigit_l.texi: Renamed from
38715         doc/glibc-functions/iswdigit_l.texi.
38716         * doc/posix-functions/iswgraph_l.texi: Renamed from
38717         doc/glibc-functions/iswgraph_l.texi.
38718         * doc/posix-functions/iswlower_l.texi: Renamed from
38719         doc/glibc-functions/iswlower_l.texi.
38720         * doc/posix-functions/iswprint_l.texi: Renamed from
38721         doc/glibc-functions/iswprint_l.texi.
38722         * doc/posix-functions/iswpunct_l.texi: Renamed from
38723         doc/glibc-functions/iswpunct_l.texi.
38724         * doc/posix-functions/iswspace_l.texi: Renamed from
38725         doc/glibc-functions/iswspace_l.texi.
38726         * doc/posix-functions/iswupper_l.texi: Renamed from
38727         doc/glibc-functions/iswupper_l.texi.
38728         * doc/posix-functions/iswxdigit_l.texi: Renamed from
38729         doc/glibc-functions/iswxdigit_l.texi.
38730         * doc/posix-functions/isxdigit_l.texi: Renamed from
38731         doc/glibc-functions/isxdigit_l.texi.
38732         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
38733         doc/glibc-functions/mbsnrtowcs.texi.
38734         * doc/posix-functions/mkdtemp.texi: Renamed from
38735         doc/glibc-functions/mkdtemp.texi.
38736         * doc/posix-functions/newlocale.texi: Renamed from
38737         doc/glibc-functions/newlocale.texi.
38738         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
38739         doc/glibc-functions/nl_langinfo_l.texi.
38740         * doc/posix-functions/open_memstream.texi: Renamed from
38741         doc/glibc-functions/open_memstream.texi.
38742         * doc/posix-functions/opterr.texi: Renamed from
38743         doc/glibc-functions/opterr.texi.
38744         * doc/posix-functions/optind.texi: Renamed from
38745         doc/glibc-functions/optind.texi.
38746         * doc/posix-functions/optopt.texi: Renamed from
38747         doc/glibc-functions/optopt.texi.
38748         * doc/posix-functions/psignal.texi: Renamed from
38749         doc/glibc-functions/psignal.texi.
38750         * doc/posix-functions/scandir.texi: Renamed from
38751         doc/glibc-functions/scandir.texi.
38752         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
38753         doc/glibc-functions/sched_get_priority_min.texi.
38754         * doc/posix-functions/signgam.texi: Renamed from
38755         doc/glibc-functions/signgam.texi.
38756         * doc/posix-functions/stpcpy.texi: Renamed from
38757         doc/glibc-functions/stpcpy.texi.
38758         * doc/posix-functions/stpncpy.texi: Renamed from
38759         doc/glibc-functions/stpncpy.texi.
38760         * doc/posix-functions/strcasecmp_l.texi: Renamed from
38761         doc/glibc-functions/strcasecmp_l.texi.
38762         * doc/posix-functions/strcoll_l.texi: Renamed from
38763         doc/glibc-functions/strcoll_l.texi.
38764         * doc/posix-functions/strfmon_l.texi: Renamed from
38765         doc/glibc-functions/strfmon_l.texi.
38766         * doc/posix-functions/strftime_l.texi: Renamed from
38767         doc/glibc-functions/strftime_l.texi.
38768         * doc/posix-functions/strncasecmp_l.texi: Renamed from
38769         doc/glibc-functions/strncasecmp_l.texi.
38770         * doc/posix-functions/strndup.texi: Renamed from
38771         doc/glibc-functions/strndup.texi.
38772         * doc/posix-functions/strnlen.texi: Renamed from
38773         doc/glibc-functions/strnlen.texi.
38774         * doc/posix-functions/strsignal.texi: Renamed from
38775         doc/glibc-functions/strsignal.texi.
38776         * doc/posix-functions/strxfrm_l.texi: Renamed from
38777         doc/glibc-functions/strxfrm_l.texi.
38778         * doc/posix-functions/timer_gettime.texi: Renamed from
38779         doc/glibc-functions/timer_gettime.texi.
38780         * doc/posix-functions/tolower_l.texi: Renamed from
38781         doc/glibc-functions/tolower_l.texi.
38782         * doc/posix-functions/toupper_l.texi: Renamed from
38783         doc/glibc-functions/toupper_l.texi.
38784         * doc/posix-functions/towctrans_l.texi: Renamed from
38785         doc/glibc-functions/towctrans_l.texi.
38786         * doc/posix-functions/towlower_l.texi: Renamed from
38787         doc/glibc-functions/towlower_l.texi.
38788         * doc/posix-functions/towupper_l.texi: Renamed from
38789         doc/glibc-functions/towupper_l.texi.
38790         * doc/posix-functions/uselocale.texi: Renamed from
38791         doc/glibc-functions/uselocale.texi.
38792         * doc/posix-functions/vdprintf.texi: Renamed from
38793         doc/glibc-functions/vdprintf.texi.
38794         * doc/posix-functions/wcpcpy.texi:
38795         Renamed from doc/glibc-functions/wcpcpy.texi.
38796         * doc/posix-functions/wcpncpy.texi: Renamed from
38797         doc/glibc-functions/wcpncpy.texi.
38798         * doc/posix-functions/wcscasecmp.texi: Renamed from
38799         doc/glibc-functions/wcscasecmp.texi.
38800         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
38801         doc/glibc-functions/wcscasecmp_l.texi.
38802         * doc/posix-functions/wcscoll_l.texi: Renamed from
38803         doc/glibc-functions/wcscoll_l.texi.
38804         * doc/posix-functions/wcsdup.texi: Renamed from
38805         doc/glibc-functions/wcsdup.texi.
38806         * doc/posix-functions/wcsncasecmp.texi: Renamed from
38807         doc/glibc-functions/wcsncasecmp.texi.
38808         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
38809         doc/glibc-functions/wcsncasecmp_l.texi.
38810         * doc/posix-functions/wcsnlen.texi: Renamed from
38811         doc/glibc-functions/wcsnlen.texi.
38812         * doc/posix-functions/wcsnrtombs.texi: Renamed from
38813         doc/glibc-functions/wcsnrtombs.texi.
38814         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
38815         doc/glibc-functions/wcsxfrm_l.texi.
38816         * doc/posix-functions/wctrans_l.texi: Renamed from
38817         doc/glibc-functions/wctrans_l.texi.
38818         * doc/posix-functions/wctype_l.texi: Renamed from
38819         doc/glibc-functions/wctype_l.texi.
38820         * doc/gnulib.texi (Function Substitutes): Add these subsections.
38821         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
38822         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
38823         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
38824         these subsections.
38825         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
38826         Remove sections.
38827
38828 2008-12-14  Bruno Haible  <bruno@clisp.org>
38829
38830         Update doc for POSIX:2008.
38831         * doc/posix-functions/*.texi: Update URL of POSIX specification.
38832
38833 2008-12-14  Bruno Haible  <bruno@clisp.org>
38834
38835         Update doc for POSIX:2008.
38836         * doc/pastposix-functions/bcmp.texi: Renamed from
38837         doc/posix-functions/bcmp.texi.
38838         * doc/pastposix-functions/bcopy.texi: Renamed from
38839         doc/posix-functions/bcopy.texi.
38840         * doc/pastposix-functions/bsd_signal.texi: Renamed from
38841         doc/posix-functions/bsd_signal.texi.
38842         * doc/pastposix-functions/bzero.texi: Renamed from
38843         doc/posix-functions/bzero.texi.
38844         * doc/pastposix-functions/ecvt.texi: Renamed from
38845         doc/posix-functions/ecvt.texi.
38846         * doc/pastposix-functions/fcvt.texi: Renamed from
38847         doc/posix-functions/fcvt.texi.
38848         * doc/pastposix-functions/ftime.texi: Renamed from
38849         doc/posix-functions/ftime.texi.
38850         * doc/pastposix-functions/gcvt.texi: Renamed from
38851         doc/posix-functions/gcvt.texi.
38852         * doc/pastposix-functions/getcontext.texi: Renamed from
38853         doc/posix-functions/getcontext.texi.
38854         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
38855         doc/posix-functions/gethostbyaddr.texi.
38856         * doc/pastposix-functions/gethostbyname.texi: Renamed from
38857         doc/posix-functions/gethostbyname.texi.
38858         * doc/pastposix-functions/getwd.texi: Renamed from
38859         doc/posix-functions/getwd.texi.
38860         * doc/pastposix-functions/h_errno.texi: Renamed from
38861         doc/posix-functions/h_errno.texi.
38862         * doc/pastposix-functions/index.texi: Renamed from
38863         doc/posix-functions/index.texi.
38864         * doc/pastposix-functions/makecontext.texi: Renamed from
38865         doc/posix-functions/makecontext.texi.
38866         * doc/pastposix-functions/mktemp.texi: Renamed from
38867         doc/posix-functions/mktemp.texi.
38868         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
38869         doc/posix-functions/pthread_attr_getstackaddr.texi.
38870         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
38871         doc/posix-functions/pthread_attr_setstackaddr.texi.
38872         * doc/pastposix-functions/rindex.texi: Renamed from
38873         doc/posix-functions/rindex.texi.
38874         * doc/pastposix-functions/scalb.texi: Renamed from
38875         doc/posix-functions/scalb.texi.
38876         * doc/pastposix-functions/setcontext.texi: Renamed from
38877         doc/posix-functions/setcontext.texi.
38878         * doc/pastposix-functions/swapcontext.texi: Renamed from
38879         doc/posix-functions/swapcontext.texi.
38880         * doc/pastposix-functions/ualarm.texi: Renamed from
38881         doc/posix-functions/ualarm.texi.
38882         * doc/pastposix-functions/usleep.texi: Renamed from
38883         doc/posix-functions/usleep.texi.
38884         * doc/pastposix-functions/vfork.texi: Renamed from
38885         doc/posix-functions/vfork.texi.
38886         * doc/pastposix-functions/wcswcs.texi: Renamed from
38887         doc/posix-functions/wcswcs.texi.
38888         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
38889         (Function Substitutes): Update.
38890
38891 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38892
38893         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
38894         m4/strerror.m4.
38895
38896 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38897             Bruno Haible  <bruno@clisp.org>
38898
38899         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
38900
38901 2008-12-13  Bruno Haible  <bruno@clisp.org>
38902
38903         * modules/strtoull (Depends-on): Remove unistd.
38904
38905 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38906
38907         * modules/strtoull (Depends-on): Add stdlib.
38908
38909 2008-12-11  Simon Josefsson  <simon@josefsson.org>
38910
38911         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
38912
38913 2008-12-10  Jim Meyering  <meyering@redhat.com>
38914
38915         gl_ASSERT: don't say assertions are disabled when they're not
38916         * m4/assert.m4 (gl_ASSERT): Do not make configure report
38917         "checking whether to enable assertions... no", when they are in
38918         fact enabled.  This is solely a bug in the output of configure.
38919         In spite of saying "no", NDEBUG was not defined in that case.
38920         Also, as noted by Eric Blake, leave assertions enabled upon
38921         --enable-assert=INVALID.
38922
38923 2008-12-10  Bruno Haible  <bruno@clisp.org>
38924
38925         Change MODULES.html to refer to POSIX:2008 where possible.
38926         * MODULES.html.sh (POSIX2008_URL): New variable.
38927         (posix_headers): Remove sys/timeb, ucontext.
38928         (posix2001_headers): New variable.
38929         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
38930         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
38931         index, makecontext, mktemp, pthread_attr_getstackaddr,
38932         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
38933         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
38934         (posix2001_functions): New variable.
38935         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
38936         otherwise.
38937
38938 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38939
38940         add missing include to parse-duration.c
38941         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
38942         * modules/parse-duration (Depends-on): Add xalloc.
38943
38944         fix sed script reading maint.mk
38945         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
38946         (syntax-check-rules): Use it.
38947
38948 2008-12-09  Bruno Haible  <bruno@clisp.org>
38949
38950         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
38951         MacOS X 10.4/PowerPC.
38952         Reported by Simon Josefsson.
38953
38954 2008-12-08  Jim Meyering  <meyering@redhat.com>
38955
38956         work around mingw's lack of some S_IF definitions
38957         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
38958         Reported by Simon Josefsson.
38959
38960 2008-12-08  Bruno Haible  <bruno@clisp.org>
38961
38962         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
38963         applied to variables. Needed on MacOS X 10.4/PowerPC.
38964         Reported by Simon Josefsson.
38965
38966 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
38967         and Eric Blake  <ebb9@byu.net>
38968
38969         assert: honor --enable-assert
38970         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
38971         order to honor --enable-assert, rather than treating it as a
38972         synonym for --disable-assert.
38973
38974 2008-12-08  Jim Meyering  <meyering@redhat.com>
38975
38976         * lib/posixtm.c: Remove now-useless declaration of mktime.
38977
38978         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
38979
38980 2008-12-07  Bruno Haible  <bruno@clisp.org>
38981
38982         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
38983         test_once): Mark functions as static.
38984         * tests/test-tls.c (test_tls): Likewise.
38985
38986 2008-12-07  Bruno Haible  <bruno@clisp.org>
38987
38988         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
38989         iconv_register_autodetect.
38990
38991 2008-12-07  Jim Meyering  <meyering@redhat.com>
38992
38993         posixtm.c: avoid a warning
38994         * lib/posixtm.c (posixtime): Don't initialize tm0.
38995         It's no longer needed to placate gcc4's -Wuninitialized,
38996         and the attempt to placate would elicit a new warning.
38997
38998         unicodeio.c: mark unused parameters
38999         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
39000         (fallback_failure_callback): Likewise.
39001
39002 2008-12-07  Bruno Haible  <bruno@clisp.org>
39003
39004         * gnulib-tool (func_create_testdir): When building the tests
39005         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
39006         Reported by Simon Josefsson.
39007
39008 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39009
39010         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
39011
39012 2008-12-06  Bruno Haible  <bruno@clisp.org>
39013
39014         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
39015         Suggested by Eric Blake.
39016
39017 2008-12-06  Bruno Haible  <bruno@clisp.org>
39018
39019         Fix a c-stack test failure on MacOS X.
39020         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
39021         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
39022         handler for SIGBUS as well.
39023         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
39024         install a signal handler for SIGBUS as well.
39025         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
39026
39027 2008-12-06  Bruno Haible  <bruno@clisp.org>
39028
39029         Advocacy documentation.
39030         * doc/gnulib-intro.texi (Benefits): New section.
39031         * doc/gnulib.texi: Update.
39032
39033 2008-12-06  Bruno Haible  <bruno@clisp.org>
39034
39035         Document the 'manywarnings' module.
39036         * doc/manywarnings.texi: New file.
39037         * doc/gnulib.texi: Include it.
39038
39039 2008-12-05  Eric Blake  <ebb9@byu.net>
39040
39041         tests: silence some gcc warnings
39042         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
39043         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
39044         type mismatches.
39045
39046 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39047             Bruno Haible  <bruno@clisp.org>
39048
39049         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
39050
39051 2008-11-29  Jim Meyering  <meyering@redhat.com>
39052
39053         unicodeio.c: mark unused parameters
39054         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
39055         (fallback_failure_callback): Likewise.
39056
39057         fts: fix a thinko
39058         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
39059         (set_stat_type): Return S_IF*-valued "type" directly.
39060         Prompted by James Youngman's spotting a related bug.
39061         Confirmed by further testing through find.
39062
39063         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
39064         * lib/fts.c (D_TYPE): Define.
39065         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
39066         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
39067         (s_ifmt_shift_bits): New function.
39068         (set_stat_type): New function.
39069         (fts_build): When not calling fts_stat, call set_stat_type
39070         to propagate dirent.d_type info to fts_read caller.
39071         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
39072         fts_statp->st_mode type information may be valid.
39073
39074 2008-11-28  Simon Josefsson  <simon@josefsson.org>
39075
39076         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
39077         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
39078         <sds@gnu.org>.
39079
39080 2008-11-20  Bruno Haible  <bruno@clisp.org>
39081
39082         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
39083         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
39084         INCLUDE_NEXT.
39085         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
39086         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
39087         * modules/math (Makefile.am): Substitute
39088         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
39089         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
39090
39091 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
39092             Bruno Haible  <bruno@clisp.org>
39093
39094         * lib/stdint.in.h: Define all type macros so that their expansion is
39095         a single typedef'ed token. Fixes a compilation failure in Boost which
39096         does "using ::int8_t;".
39097
39098 2008-11-18  Simon Josefsson  <simon@josefsson.org>
39099
39100         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
39101         gl_MANYWARN_ALL_GCC.
39102         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
39103         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
39104         * modules/manywarnings: New file.
39105         * MODULES.html.sh: Mention manywarnings module.
39106
39107 2008-11-18  Bruno Haible  <bruno@clisp.org>
39108
39109         * doc/gnulib-tool.texi (Unit tests): New section.
39110
39111 2008-11-18  Simon Josefsson  <simon@josefsson.org>
39112
39113         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
39114         paths like 'lib/po/foo.po'.
39115
39116 2008-11-17  Simon Josefsson  <simon@josefsson.org>
39117
39118         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
39119         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
39120
39121 2008-11-17  Simon Josefsson  <simon@josefsson.org>
39122
39123         * m4/warnings.m4: Use CPPFLAGS to really check whether the
39124         parameter works.
39125
39126 2008-11-17  Simon Josefsson  <simon@josefsson.org>
39127
39128         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
39129
39130 2008-11-17  Bruce Korb  <bkorb@gnu.org>
39131
39132         * modules/parse-duration-tests: New file.
39133         * tests/test-parse-duration.sh: New file.
39134         * tests/test-parse-duration.c: New file.
39135
39136         New module 'parse-duration'.
39137         * lib/parse-duration.h: New file.
39138         * lib/parse-duration.c: New file.
39139         * modules/parse-duration: New file.
39140
39141 2008-11-17  Bruno Haible  <bruno@clisp.org>
39142
39143         * tests/test-select-out.sh: Comment out the first pipe test.
39144         Reported by Simon Josefsson.
39145
39146 2008-11-17  Bruno Haible  <bruno@clisp.org>
39147
39148         * modules/getaddrinfo (Depends-on): Add servent, hostent.
39149         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
39150         gl_HOSTENT.
39151
39152 2008-11-17  Bruno Haible  <bruno@clisp.org>
39153
39154         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
39155         -lnetwork and -lnet. Needed for Haiku and BeOS.
39156
39157 2008-11-16  Bruno Haible  <bruno@clisp.org>
39158
39159         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
39160
39161 2008-11-16  Bruno Haible  <bruno@clisp.org>
39162
39163         Avoid test failure on Haiku.
39164         * tests/test-fsync.c: Include <errno.h>.
39165         (main): Don't require that fsync (0) fails.
39166
39167 2008-11-15  Bruno Haible  <bruno@clisp.org>
39168
39169         New module 'hostent'.
39170         * modules/hostent: New file.
39171         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
39172
39173 2008-11-15  Bruno Haible  <bruno@clisp.org>
39174
39175         New module 'servent'.
39176         * modules/servent: New file.
39177         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
39178
39179 2008-11-15  Bruno Haible  <bruno@clisp.org>
39180
39181         Avoid generating same test program with two different rules.
39182         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
39183         test-frexp to test-frexp-nolibm.
39184         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
39185         test-frexpl to test-frexpl-nolibm.
39186
39187 2008-11-15  Bruno Haible  <bruno@clisp.org>
39188
39189         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
39190         $(FREXPL_LIBM).
39191
39192 2008-11-15  Bruno Haible  <bruno@clisp.org>
39193
39194         * lib/netdb.in.h: Activate the definitions also when the system's
39195         <netdb.h> has 'struct addrinfo'.
39196         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
39197         EAI_OVERFLOW or AI_NUMERICSERV.
39198         * doc/posix-headers/netdb.texi: Document the problem.
39199
39200 2008-11-15  Bruno Haible  <bruno@clisp.org>
39201
39202         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
39203
39204         Make the 'sched' module work on platforms where <sched.h> exists but
39205         is incomplete (such as Haiku).
39206         * lib/sched.in.h; Include the system's <sched.h> if it exists.
39207         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
39208         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
39209         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
39210         HAVE_STRUCT_SCHED_PARAM.
39211         * modules/sched (Depends-on): Add include_next.
39212         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
39213         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
39214         * doc/posix-headers/sched.texi: Document the issue.
39215
39216 2008-11-13  Jim Meyering  <meyering@redhat.com>
39217
39218         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
39219         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
39220         test would fail due to the difference in the Report bugs to ...
39221         line.  The expected address is empty, "<>", while the actual
39222         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
39223
39224 2008-11-12  Bruno Haible  <bruno@clisp.org>
39225
39226         lstat: don't compile lstat.c on systems lacking lstat
39227         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
39228         which don't have lstat; this is handled by lib/sys_stat.in.h already.
39229         Reported by Daniel P. Berrange via Jim Meyering.
39230
39231 2008-11-12  Jim Meyering  <meyering@redhat.com>
39232
39233         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
39234
39235 2008-11-12  Simon Josefsson  <simon@josefsson.org>
39236
39237         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
39238         instead.
39239
39240 2008-11-12  Bruno Haible  <bruno@clisp.org>
39241
39242         * lib/unicodeio.c: Include unistr.h.
39243         (utf8_wctomb): Remove function.
39244         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
39245
39246 2008-11-12  Simon Josefsson  <simon@josefsson.org>
39247
39248         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
39249         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
39250         <bruno@clisp.org>.
39251         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
39252
39253 2008-11-12  Simon Josefsson  <simon@josefsson.org>
39254
39255         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
39256         * doc/gnulib.texi: Add section for warnings.
39257
39258 2008-11-11  Bruno Haible  <bruno@clisp.org>
39259
39260         * lib/sockets.h: Add a comment.
39261
39262 2008-11-11  Karl Berry  <karl@gnu.org>
39263
39264         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
39265
39266 2008-11-11  Eric Blake  <ebb9@byu.net>
39267
39268         fdl.texi: avoid git symlinks
39269         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
39270
39271 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
39272
39273         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
39274
39275 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
39276
39277         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
39278         (gl_WARN_ADD): Substitute $2 if literal.
39279
39280 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
39281
39282         * m4/warning.m4: Remove.
39283
39284 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
39285
39286         * m4/warnings.m4: Almost complete rewrite. :-)
39287
39288 2008-11-10  Simon Josefsson  <simon@josefsson.org>
39289
39290         * modules/warnings: New module.
39291         * m4/warnings.m4: New file.
39292         * MODULES.html.sh: Mention warnings module.
39293         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
39294         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39295
39296 2008-11-10  Eric Blake  <ebb9@byu.net>
39297
39298         fdl.texi: make a symlink to the latest version
39299         * doc/standards.texi: Revert today's earlier change.
39300         * doc/fdl-1.2.texi: Rename from old fdl.texi...
39301         * doc/fdl.texi: ...and replace this with a symlink to the newer
39302         fdl-1.3.texi.
39303
39304 2008-11-10  Bruno Haible  <bruno@clisp.org>
39305
39306         * tests/test-select-fd.c (main): Accept the result file name as fourth
39307         argument.
39308         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
39309         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
39310
39311 2008-11-10  Bruno Haible  <bruno@clisp.org>
39312
39313         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
39314         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
39315         as autoconf-substituted macros.
39316         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
39317         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
39318         gl_NETDB_H_DEFAULTS. Set these variables.
39319         * modules/netdb (Makefile.am): Substitute these variables.
39320
39321 2008-11-10  Eric Blake  <ebb9@byu.net>
39322
39323         standards.texi: include correct file for FDL 1.3
39324         * doc/standards.texi (GNU Free Documentation License): Change
39325         include file to pull in FDL 1.3, not 1.2.
39326
39327         fdl.texi: revert accidental change to license
39328         * doc/fdl.texi: This is FDL 1.2, not 1.3.
39329
39330 2008-11-10  Bruno Haible  <bruno@clisp.org>
39331
39332         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
39333         cross-compiling guesses also when the native compile gives no result.
39334
39335 2008-11-10  Bruno Haible  <bruno@clisp.org>
39336
39337         * lib/spawni.c (__spawni): Force variable into the stack.
39338
39339 2008-11-10  Bruno Haible  <bruno@clisp.org>
39340
39341         Add support for Haiku.
39342         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
39343         glibc and BeOS, but also on Haiku.
39344         * lib/fpurge.c (fpurge): Likewise.
39345         * lib/freadable.c (freadable): Likewise.
39346         * lib/freadahead.c (freadahead): Likewise.
39347         * lib/freading.c (freading): Likewise.
39348         * lib/freadptr.c (freadptr): Likewise.
39349         * lib/freadseek.c (freadptrinc): Likewise.
39350         * lib/fseeko.c (rpl_fseeko): Likewise.
39351         * lib/fseterr.c (fseterr): Likewise.
39352         * lib/fwritable.c (fwritable): Likewise.
39353         * lib/fwriting.c (fwriting): Likewise.
39354         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
39355
39356 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
39357
39358         * lib/config.charset: Treat Haiku like BeOS.
39359
39360 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
39361
39362         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
39363         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
39364
39365 2008-11-08  Bruno Haible  <bruno@clisp.org>
39366
39367         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
39368         AC_CACHE_CHECK.
39369
39370 2008-11-08  Bruno Haible  <bruno@clisp.org>
39371
39372         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
39373
39374 2008-11-08  Bruno Haible  <bruno@clisp.org>
39375
39376         * tests/test-select-fd.c: New file.
39377         * tests/test-select-in.sh: New file.
39378         * tests/test-select-out.sh: New file.
39379         * tests/test-select-stdin.c: New file.
39380         * modules/select-tests (Files): Add the new files.
39381         (Depends-on): Add gettimeofday.
39382         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
39383         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
39384         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
39385
39386 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
39387             Bruno Haible  <bruno@clisp.org>
39388
39389         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
39390
39391 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
39392
39393         * build-aux/pmccabe2html: Added support for C++ source files.
39394
39395 2008-11-05  Ben Pfaff  <blp@gnu.org>
39396
39397         Fix lib/close.c build on Windows.
39398         * modules/close (Files): Add lib/w32sock.h.
39399
39400 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
39401
39402         Accept Bison's NEWS format.
39403         * build-aux/announce-gen (print_news_deltas): Tweak
39404         $re_prefix.
39405
39406 2008-11-04  Bruno Haible  <bruno@clisp.org>
39407
39408         * modules/random_r (Maintainer): Add glibc.
39409
39410 2008-11-04  Simon Josefsson  <simon@josefsson.org>
39411
39412         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
39413         by karl@freefriends.org (Karl Berry).
39414         * doc/alloca.texi: Likewise.
39415         * doc/c-ctype.texi: Likewise.
39416         * doc/c-strcase.texi: Likewise.
39417         * doc/c-strcaseeq.texi: Likewise.
39418         * doc/c-strcasestr.texi: Likewise.
39419         * doc/c-strstr.texi: Likewise.
39420         * doc/c-strtod.texi: Likewise.
39421         * doc/c-strtold.texi: Likewise.
39422         * doc/ctime.texi: Likewise.
39423         * doc/error.texi: Likewise.
39424         * doc/fdl.texi: Likewise.
39425         * doc/gcd.texi: Likewise.
39426         * doc/getdate.texi: Likewise.
39427         * doc/gnulib-intro.texi: Likewise.
39428         * doc/gnulib-tool.texi: Likewise.
39429         * doc/gnulib.texi: Likewise.
39430         * doc/inet_ntoa.texi: Likewise.
39431         * doc/maintain.texi: Likewise.
39432         * doc/make-stds.texi: Likewise.
39433         * doc/quote.texi: Likewise.
39434         * doc/regexprops-generic.texi: Likewise.
39435         * doc/standards.texi: Likewise.
39436         * doc/verify.texi: Likewise.
39437         * doc/visibility.texi: Likewise.
39438         * doc/gnulib.texi (GNU Free Documentation License): Include
39439         fdl-1.3.texi instead of fdl.texi.
39440
39441 2008-11-04  Simon Josefsson  <simon@josefsson.org>
39442
39443         * doc/fdl-1.3.texi: New file, from
39444         <http://www.gnu.org/licenses/fdl-1.3.texi>.
39445         * modules/fdl-1.3: Add.
39446         * MODULES.html.sh: Add fdl-1.3.
39447
39448 2008-11-03  Bruno Haible  <bruno@clisp.org>
39449
39450         Make determination of absolute name of header file work with AIX xlc.
39451         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
39452         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
39453         preprocessing.
39454         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
39455         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
39456
39457 2008-11-03  Simon Josefsson  <simon@josefsson.org>
39458
39459         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
39460         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
39461         <ludo@gnu.org>.
39462
39463 2008-11-02  Bruno Haible  <bruno@clisp.org>
39464
39465         Mark 'strpbrk' obsolete.
39466         * modules/strpbrk (Status, Notice): New sections.
39467         * modules/strtok_r (Depends-on): Add strpbrk.
39468
39469 2008-11-02  Bruno Haible  <bruno@clisp.org>
39470
39471         Mark 'strdup' obsolete.
39472         * modules/strdup (Status, Notice): New sections.
39473         * modules/findprog (Depends-on): Add strdup.
39474         * modules/getaddrinfo (Depends-on): Likewise.
39475         * modules/localename (Depends-on): Likewise.
39476         * modules/relocatable-lib (Depends-on): Likewise.
39477         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
39478         * modules/relocatable-prog (Depends-on): Likewise.
39479         * modules/trim (Depends-on): Likewise.
39480         * modules/unictype/gen-ctype (Depends-on): Likewise.
39481         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
39482
39483 2008-11-02  Bruno Haible  <bruno@clisp.org>
39484
39485         Mark 'strcspn' obsolete.
39486         * modules/strcspn (Status, Notice): New sections.
39487
39488 2008-11-02  Bruno Haible  <bruno@clisp.org>
39489
39490         Mark 'rmdir' obsolete.
39491         * modules/rmdir (Status, Notice): New sections.
39492         * modules/clean-temp (Depends-on): Add rmdir.
39493         * modules/openat (Depends-on): Likewise.
39494
39495 2008-11-02  Bruno Haible  <bruno@clisp.org>
39496
39497         Mark 'raise' obsolete.
39498         * modules/raise (Status, Notice): New sections.
39499         (Include): Specify <signal.h>.
39500         * modules/stdio (Depends-on): Add raise.
39501         * modules/write (Depends-on): Likewise.
39502
39503 2008-11-02  Bruno Haible  <bruno@clisp.org>
39504
39505         Mark 'memset' obsolete.
39506         * modules/memset (Status, Notice): New sections.
39507
39508 2008-11-02  Bruno Haible  <bruno@clisp.org>
39509
39510         Mark 'memmove' obsolete.
39511         * modules/memmove (Status, Notice): New sections.
39512         * modules/argp (Depends-on): Add memmove.
39513         * modules/argz (Depends-on): Likewise.
39514         * modules/canonicalize (Depends-on): Likewise.
39515         * modules/canonicalize-lgpl (Depends-on): Likewise.
39516         * modules/fts (Depends-on): Likewise.
39517         * modules/getcwd (Depends-on): Likewise.
39518         * modules/human (Depends-on): Likewise.
39519         * modules/regex (Depends-on): Likewise.
39520         * modules/striconveh (Depends-on): Likewise.
39521         * modules/trim (Depends-on): Likewise.
39522         * modules/unistr/u8-move (Depends-on): Likewise.
39523         * modules/unistr/u16-move (Depends-on): Likewise.
39524         * modules/unistr/u32-move (Depends-on): Likewise.
39525
39526 2008-11-02  Bruno Haible  <bruno@clisp.org>
39527
39528         Mark 'memcpy' obsolete.
39529         * modules/memcpy (Status, Notice): New sections.
39530
39531 2008-11-02  Bruno Haible  <bruno@clisp.org>
39532
39533         Mark 'memcmp' obsolete.
39534         * modules/memcmp (Status, Notice): New sections.
39535         * modules/argmatch (Depends-on): Add memchr.
39536         * modules/backupfile (Depends-on): Likewise.
39537         * modules/c-strcasestr (Depends-on): Likewise.
39538         * modules/crypto/des (Depends-on): Likewise.
39539         * modules/csharpcomp (Depends-on): Likewise.
39540         * modules/fnmatch (Depends-on): Likewise.
39541         * modules/git-merge-changelog (Depends-on): Likewise.
39542         * modules/isnand (Depends-on): Likewise.
39543         * modules/isnand-nolibm (Depends-on): Likewise.
39544         * modules/isnanf (Depends-on): Likewise.
39545         * modules/isnanf-nolibm (Depends-on): Likewise.
39546         * modules/isnanl (Depends-on): Likewise.
39547         * modules/isnanl-nolibm (Depends-on): Likewise.
39548         * modules/mbchar (Depends-on): Likewise.
39549         * modules/memcoll (Depends-on): Likewise.
39550         * modules/quotearg (Depends-on): Likewise.
39551         * modules/regex (Depends-on): Likewise.
39552         * modules/relocatable-prog (Depends-on): Likewise.
39553         * modules/same (Depends-on): Likewise.
39554         * modules/signbit (Depends-on): Likewise.
39555         * modules/strcasestr-simple (Depends-on): Likewise.
39556         * modules/unictype/gen-ctype (Depends-on): Likewise.
39557         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
39558         * modules/uniname/uniname (Depends-on): Likewise.
39559         * modules/unistr/u8-cmp (Depends-on): Likewise.
39560
39561 2008-11-02  Bruno Haible  <bruno@clisp.org>
39562
39563         Mark 'memchr' obsolete.
39564         * modules/memchr (Status, Notice): New sections.
39565         * modules/argp (Depends-on): Add memchr.
39566         * modules/base64 (Depends-on): Likewise.
39567         * modules/c-strcasestr (Depends-on): Likewise.
39568         * modules/chdir-long (Depends-on): Likewise.
39569         * modules/fnmatch (Depends-on): Likewise.
39570         * modules/getsubopt (Depends-on): Likewise.
39571         * modules/git-merge-changelog (Depends-on): Likewise.
39572         * modules/glob (Depends-on): Likewise.
39573         * modules/strcasestr-simple (Depends-on): Likewise.
39574         * modules/strnlen (Depends-on): Likewise.
39575
39576 2008-11-02  Bruno Haible  <bruno@clisp.org>
39577
39578         Mark 'atexit' obsolete.
39579         * modules/atexit (Status, Notice): New sections.
39580         * modules/chdir-long (Depends-on): Add atexit.
39581         * modules/wait-process (Depends-on): Likewise.
39582
39583 2008-11-02  Bruno Haible  <bruno@clisp.org>
39584
39585         * gnulib-tool: New option --with-obsolete.
39586         (func_usage): Document it.
39587         (func_modules_transitive_closure): Drop obsolete dependencies if
39588         incobsolete is not true.
39589         (func_import): Read and save the incobsolete variable to the cache.
39590
39591 2008-11-02  Bruno Haible  <bruno@clisp.org>
39592
39593         * modules/TEMPLATE-EXTENDED: New field 'Status'.
39594         * gnulib-tool: New option --extract-status.
39595         (func_usage): Document it.
39596         (sed_extract_prog): Recognize it.
39597         (func_get_status): New function.
39598
39599 2008-10-30  Simon Josefsson  <simon@josefsson.org>
39600
39601         * modules/sockets (License): Change from LGPL to LGPLv2+.
39602
39603 2008-10-28  Simon Josefsson  <simon@josefsson.org>
39604
39605         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
39606
39607 2008-10-28  Simon Josefsson  <simon@josefsson.org>
39608
39609         * MODULES.html.sh (Support for systems lacking POSIX:2001):
39610         Mention times and sys_times.
39611         * modules/sys_times, modules/sys_times-tests: New modules.
39612         * modules/times, modules/times-tests: Likewise
39613         * m4/sys_times_h.m4: New file.
39614         * lib/sys_times.in.h: Likewise
39615         * lib/times.c: Likewise.
39616         * tests/test-sys_times.c: Likewise.
39617         * tests/test-times.c: Likewise.
39618         * doc/posix-headers/sys_times.texi: Update.
39619         * doc/posix-functions/times.texi: Update.
39620
39621 2008-10-28  Jim Meyering  <meyering@redhat.com>
39622
39623         * modules/tempname (Depends-on): Add lstat.
39624
39625         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
39626
39627 2008-10-28  Simon Josefsson  <simon@josefsson.org>
39628
39629         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
39630         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
39631         using idiom used elsewhere in gnulib.
39632
39633 2008-10-27  Jim Meyering  <meyering@redhat.com>
39634
39635         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
39636
39637 2008-10-27  Simon Josefsson  <simon@josefsson.org>
39638
39639         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
39640         TESTS_ENVIRONMENT, for shell scripts that needs to call built
39641         programs.
39642         * tests/test-argp-2.sh: Use $EXEEXT when needed.
39643
39644 2008-10-27  Simon Josefsson  <simon@josefsson.org>
39645
39646         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
39647
39648 2008-10-27  Bruno Haible  <bruno@clisp.org>
39649
39650         * tests/test-lstat.c: Include <stdio.h>.
39651
39652 2008-10-27  Simon Josefsson  <simon@josefsson.org>
39653
39654         * modules/lstat-tests: New module.
39655         * tests/test-lstat.c: New file.
39656
39657 2008-10-26  Jim Meyering  <meyering@redhat.com>
39658
39659         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
39660
39661 2008-10-26  Simon Josefsson  <simon@josefsson.org>
39662             Bruno Haible  <bruno@clisp.org>
39663
39664         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
39665         * modules/configmake (Include): Add a note that the include must come
39666         after all system headers.
39667         * lib/javaversion.c: Include configmake.h after all other includes.
39668
39669 2008-10-26  Bruno Haible  <bruno@clisp.org>
39670
39671         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
39672         HAVE_STRUCT_RANDOM_DATA to 1.
39673         (gl_STDLIB_H): Simplify.
39674
39675 2008-10-26  Simon Josefsson  <simon@josefsson.org>
39676
39677         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
39678         substitute HAVE_STRUCT_RANDOM_DATA.
39679         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
39680         random_data.
39681         * modules/stdlib (Makefile.am): Substitute
39682         HAVE_STRUCT_RANDOM_DATA.
39683
39684 2008-10-26  Simon Josefsson  <simon@josefsson.org>
39685
39686         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
39687         * doc/gnulib-intro.texi (Copyright): Likewise.
39688
39689 2008-10-26  Simon Josefsson  <simon@josefsson.org>
39690
39691         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
39692         findings.
39693
39694 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
39695             Bruno Haible  <bruno@clisp.org>
39696
39697         * lib/unistd.in.h: Include <winsock2.h>.
39698         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
39699         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
39700         Provide dummy declarations.
39701         (gethostname): Override.
39702         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
39703         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
39704         gl_PREREQ_SYS_H_WINSOCK2.
39705         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
39706         * doc/posix-functions/gethostname.texi: More details.
39707
39708 2008-10-25  Bruno Haible  <bruno@clisp.org>
39709
39710         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
39711         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
39712         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
39713
39714         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
39715         here ...
39716         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
39717         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
39718         gl_UNISTD_H_DEFAULTS.
39719
39720 2008-10-25  Eric Blake  <ebb9@byu.net>
39721
39722         signbit: avoid spurious compiler failure
39723         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
39724         declarations inside function.
39725
39726 2008-10-24  Simon Josefsson  <simon@josefsson.org>
39727             Bruno Haible  <bruno@clisp.org>
39728
39729         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
39730         * modules/random_r (Depends-on): Add stdint.
39731
39732 2008-10-24  Bruno Haible  <bruno@clisp.org>
39733
39734         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
39735         Eggert.
39736         * modules/strerror (License): Likewise.
39737
39738 2008-10-24  Jim Meyering  <meyering@redhat.com>
39739
39740         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
39741         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
39742
39743 2008-10-24  Eric Blake  <ebb9@byu.net>
39744
39745         getgroups: fix compilation when getgroups is available
39746         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
39747         but with <config.h> override of getgroups disabled.
39748
39749 2008-10-24  Simon Josefsson  <simon@josefsson.org>
39750
39751         * doc/gnulib.texi (Header files): Add note about C++ problems.
39752         Explained by Bruno Haible <bruno@clisp.org>.
39753
39754 2008-10-23  Bruno Haible  <bruno@clisp.org>
39755
39756         Define a dummy SA_NODEFER macro on Interix.
39757         * lib/signal.in.h (SA_NODEFER): Define fallback.
39758         Reported by Aleksey Cheusov <cheusov@tut.by> via
39759         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
39760
39761 2008-10-23  Bruno Haible  <bruno@clisp.org>
39762
39763         * modules/freadahead (License): Change to LGPLv2+.
39764         Suggested by Simon Josefsson.
39765
39766 2008-10-23  Jim Meyering  <meyering@redhat.com>
39767
39768         random_r: new module
39769         * modules/random_r: New file.
39770         * m4/random_r.m4: New file.
39771         * lib/random_r.c: New file, from glibc.
39772         * modules/random_r-tests: New file.
39773         * tests/test-random_r.c: New file.
39774         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
39775          Declare.
39776         (RAND_MAX): Define.
39777         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
39778         * modules/stdlib: Substitute them, too.
39779         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
39780         * doc/glibc-functions/initstate_r.texi: Mention the new module.
39781         * doc/glibc-functions/random_r.texi: Likewise.
39782         * doc/glibc-functions/setstate_r.texi: Likewise.
39783         * doc/glibc-functions/srandom_r.texi: Likewise.
39784         * config/srclist.txt: Mention it.
39785
39786 2008-10-23  David Lutterkort  <lutter@redhat.com>
39787
39788         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
39789         link requirement
39790
39791 2008-10-23  Jim Meyering  <meyering@redhat.com>
39792
39793         selinux-h: mark parameters of stub functions as intentionally unused
39794         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
39795         * lib/se-context.in.h: Likewise.
39796
39797 2008-10-22  Simon Josefsson  <simon@josefsson.org>
39798
39799         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
39800
39801 2008-10-22  Simon Josefsson  <simon@josefsson.org>
39802
39803         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
39804
39805 2008-10-22  Eric Blake  <ebb9@byu.net>
39806
39807         glthread/thread: avoid compiler warning
39808         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
39809         Add unreachable abort to silence compiler.
39810
39811 2008-10-22  Eric Blake  <ebb9@byu.net>
39812
39813         netdb: also supply struct addrinfo for cygwin 1.5.x
39814         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
39815         older cygwin.
39816         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
39817         cygwin.
39818         * doc/posix-headers/netdb.texi (netdb.h): Document this.
39819
39820 2008-10-22  Bruno Haible  <bruno@clisp.org>
39821
39822         * users.txt: Update entry about pspp.
39823
39824 2008-10-21  Bruno Haible  <bruno@clisp.org>
39825
39826         Simplification.
39827         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
39828         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
39829
39830         Simplification.
39831         * lib/ioctl.c (ioctl): Don't undefine.
39832         * lib/socket.c (socket): Don't undefine.
39833
39834         Remove unused module indicator macros.
39835         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
39836         GNULIB_$1 as a C macro.
39837
39838         * doc/posix-functions/close.texi: Undo last change.
39839         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
39840         Windows platforms.
39841
39842 2008-10-21  Bruno Haible  <bruno@clisp.org>
39843
39844         Add gethostname() declaration to <unistd.h>.
39845         * lib/unistd.in.h (gethostname): New declaration.
39846         * lib/gethostname.c: Include <unistd.h>.
39847         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
39848         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
39849         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
39850         and HAVE_GETHOSTNAME.
39851         * modules/gethostname (Depends-on): Add unistd.
39852         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
39853         (Include): Specify <unistd.h>.
39854         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
39855         HAVE_GETHOSTNAME.
39856         * tests/test-gethostname.c: Include <unistd.h> first.
39857
39858 2008-10-21  Bruno Haible  <bruno@clisp.org>
39859
39860         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
39861         * modules/select-tests (Depends-on): Likewise.
39862         Reported by Simon Josefsson.
39863
39864 2008-10-21  Simon Josefsson  <simon@josefsson.org>
39865
39866         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
39867         * lib/accept.c: New file, based on winsock.c.
39868         * lib/bind.c: New file, based on winsock.c.
39869         * lib/connect.c: New file, based on winsock.c.
39870         * lib/getpeername.c: New file, based on winsock.c.
39871         * lib/getsockname.c: New file, based on winsock.c.
39872         * lib/getsockopt.c: New file, based on winsock.c.
39873         * lib/ioctl.c: New file, based on winsock.c.
39874         * lib/listen.c: New file, based on winsock.c.
39875         * lib/recv.c: New file, based on winsock.c.
39876         * lib/recvfrom.c: New file, based on winsock.c.
39877         * lib/send.c: New file, based on winsock.c.
39878         * lib/sendto.c: New file, based on winsock.c.
39879         * lib/setsockopt.c: New file, based on winsock.c.
39880         * lib/shutdown.c: New file, based on winsock.c.
39881         * lib/socket.c: New file, based on winsock.c.
39882         * lib/w32sock.h: New file, based on winsock.c.
39883         * lib/winsock.c: Remove file.
39884         * modules/accept: Likewise.
39885         * modules/bind: Likewise.
39886         * modules/connect: Likewise.
39887         * modules/getpeername: Likewise.
39888         * modules/getsockname: Likewise.
39889         * modules/getsockopt: Likewise.
39890         * modules/ioctl: Likewise.
39891         * modules/listen: Likewise.
39892         * modules/recv: Likewise.
39893         * modules/recvfrom: Likewise.
39894         * modules/send: Likewise.
39895         * modules/sendto: Likewise.
39896         * modules/setsockopt: Likewise.
39897         * modules/shutdown: Likewise.
39898         * modules/socket: Use socket.c instead of winsock.c.
39899         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
39900         * doc/posix-functions/accept.texi: Doc fix.
39901         * doc/posix-functions/bind.texi: Doc fix.
39902         * doc/posix-functions/close.texi: Doc fix.
39903         * doc/posix-functions/connect.texi: Doc fix.
39904         * doc/posix-functions/getpeername.texi: Doc fix.
39905         * doc/posix-functions/getsockname.texi: Doc fix.
39906         * doc/posix-functions/getsockopt.texi: Doc fix.
39907         * doc/posix-functions/ioctl.texi: Doc fix.
39908         * doc/posix-functions/listen.texi: Doc fix.
39909         * doc/posix-functions/recv.texi: Doc fix.
39910         * doc/posix-functions/recvfrom.texi: Doc fix.
39911         * doc/posix-functions/send.texi: Doc fix.
39912         * doc/posix-functions/sendto.texi: Doc fix.
39913         * doc/posix-functions/setsockopt.texi: Doc fix.
39914         * doc/posix-functions/shutdown.texi: Doc fix.
39915         * doc/posix-functions/socket.texi: Doc fix.
39916
39917 2008-10-20  Bruno Haible  <bruno@clisp.org>
39918
39919         Take into account the role of SIGABRT_COMPAT on Windows 2008.
39920         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
39921         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
39922         as an alias for SIGABRT.
39923         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
39924         (sigaction): Map it to SIGABRT.
39925         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
39926
39927 2008-10-20  Bruno Haible  <bruno@clisp.org>
39928
39929         * lib/fts.c: Don't include lstat.h.
39930         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
39931
39932         Move the lstat() declaration to <sys/stat.h>.
39933         * lib/lstat.h: Remove file.
39934         * lib/sys_stat.in.h: Add special invocation convention.
39935         (lstat): New declaration.
39936         * lib/lstat.c (orig_lstat): New function.
39937         (rpl_lstat): Use orig_lstat instead of lstat.
39938         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
39939         AC_C_INLINE. Set REPLACE_LSTAT.
39940         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
39941         and REPLACE_LSTAT.
39942         * modules/lstat (Files): Remove lib/lstat.h.
39943         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
39944         (Include): Specify <sys/stat.h> instead of lstat.h.
39945         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
39946         REPLACE_LSTAT.
39947         * NEWS: Mention the change.
39948
39949 2008-10-20  Bruno Haible  <bruno@clisp.org>
39950
39951         * modules/posix_spawn-tests: New file.
39952         * tests/test-posix_spawn3.c: New file.
39953
39954 2008-10-20  Bruno Haible  <bruno@clisp.org>
39955
39956         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
39957         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
39958         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
39959         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
39960         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
39961
39962 2008-10-20  Bruno Haible  <bruno@clisp.org>
39963
39964         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
39965         of posix_spawn on AIX 5.3.
39966
39967 2008-10-20  Bruno Haible  <bruno@clisp.org>
39968
39969         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
39970
39971 2008-10-20  Bruno Haible  <bruno@clisp.org>
39972
39973         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
39974         of AC_LANG_PROGRAM.
39975
39976 2008-10-20  Simon Josefsson  <simon@josefsson.org>
39977
39978         * lib/netdb.in.h: Don't define GNU specific constants until they
39979         are supported or needed.  Reported by Bruno Haible
39980         <bruno@clisp.org>.
39981
39982 2008-10-20  Simon Josefsson  <simon@josefsson.org>
39983
39984         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
39985
39986 2008-10-20  Simon Josefsson  <simon@josefsson.org>
39987
39988         * lib/getaddrinfo.h: Remove file.
39989         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
39990         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
39991         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
39992         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
39993         * modules/netdb: Substitute GNULIB_GETADDRINFO.
39994         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
39995         * tests/test-getaddrinfo.c: Likewise.
39996         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
39997         * NEWS: Mention change.
39998
39999 2008-10-19  Bruno Haible  <bruno@clisp.org>
40000
40001         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
40002
40003 2008-10-19  Bruno Haible  <bruno@clisp.org>
40004
40005         * lib/wait-process.c: Include simply <sys/wait.h>.
40006         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
40007         WIFSTOPPED): Remove fallback definitions.
40008         * modules/wait-process (Depends-on): Add sys_wait.
40009
40010         New module 'sys_wait'.
40011         * modules/sys_wait: New file.
40012         * lib/sys_wait.in.h: New file, partially copied from
40013         lib/wait-process.c.
40014         * m4/sys_wait_h.m4: New file.
40015         * doc/posix-headers/sys_wait.texi: Mention the new module.
40016
40017 2008-10-19  Bruno Haible  <bruno@clisp.org>
40018
40019         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
40020
40021 2008-10-19  Bruno Haible  <bruno@clisp.org>
40022
40023         Assume that waitpid() fills an 'int' status, not a 'union wait'.
40024         * lib/wait-process.c (WAIT_T): Remove type.
40025         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
40026         (wait_subprocess): Update.
40027
40028 2008-10-19  Bruno Haible  <bruno@clisp.org>
40029
40030         New module 'atoll'.
40031         * modules/atoll: New file.
40032         * lib/stdlib.in.h (atoll): New declaration.
40033         * lib/atoll.c: New file, from glibc with modifications.
40034         * m4/atoll.m4: New file.
40035         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
40036         HAVE_ATOLL.
40037         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
40038         * doc/posix-functions/atoll.texi: Mention the new module.
40039
40040 2008-10-19  Bruno Haible  <bruno@clisp.org>
40041
40042         Add strtoull() declaration to <stdlib.h>.
40043         * lib/stdlib.in.h (strtoull): New declaration.
40044         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
40045         Set HAVE_STRTOULL.
40046         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
40047         HAVE_STRTOULL.
40048         * modules/strtoull (Depends-on): Add stdlib.
40049         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
40050         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
40051         HAVE_STRTOULL.
40052
40053 2008-10-19  Bruno Haible  <bruno@clisp.org>
40054
40055         Add strtoll() declaration to <stdlib.h>.
40056         * lib/stdlib.in.h (strtoll): New declaration.
40057         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
40058         Set HAVE_STRTOLL.
40059         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
40060         HAVE_STRTOLL.
40061         * modules/strtoll (Depends-on): Add stdlib.
40062         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
40063         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
40064
40065 2008-10-19  Bruno Haible  <bruno@clisp.org>
40066
40067         * modules/bcopy (Depends-on): Add strings.
40068         (Include): Specify <strings.h>.
40069
40070 2008-10-19  Bruno Haible  <bruno@clisp.org>
40071
40072         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
40073
40074 2008-10-19  Bruno Haible  <bruno@clisp.org>
40075
40076         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
40077         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
40078         mingw.
40079
40080 2008-10-19  Bruno Haible  <bruno@clisp.org>
40081
40082         * lib/atanl.c: Don't include isnanl.h.
40083         * lib/cosl.c: Likewise.
40084         * lib/ldexpl.c: Likewise.
40085         * lib/logl.c: Likewise.
40086         * lib/sinl.c: Likewise.
40087         * lib/sqrtl.c: Likewise.
40088         * lib/tanl.c: Likewise.
40089
40090         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
40091         * lib/isnanf.h: Remove file.
40092         * lib/isnand.h: Remove file.
40093         * lib/isnanl.h: Remove file.
40094         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
40095         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
40096         macros.
40097         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
40098         HAVE_ISNANF, don't define it as a C macro.
40099         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
40100         HAVE_ISNAND, don't define it as a C macro.
40101         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
40102         HAVE_ISNANL, don't define it as a C macro.
40103         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
40104         HAVE_ISNAN[FDL].
40105         * modules/isnanf (Files): Remove lib/isnanf.h.
40106         (Depends-on): Add math.
40107         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
40108         (Include): Specify <math.h> instead of isnanf.h.
40109         * modules/isnand (Files): Remove lib/isnand.h.
40110         (Depends-on): Add math.
40111         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
40112         (Include): Specify <math.h> instead of isnand.h.
40113         * modules/isnanl (Files): Remove lib/isnanl.h.
40114         (Depends-on): Add math.
40115         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
40116         (Include): Specify <math.h> instead of isnanl.h.
40117         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
40118         HAVE_ISNAN[FDL].
40119         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
40120         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
40121         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
40122         * NEWS: Mention the change.
40123
40124 2008-10-18  Bruno Haible  <bruno@clisp.org>
40125
40126         Add getusershell(), setusershell(), endusershell() declarations to
40127         <unistd.h>.
40128         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
40129         declarations.
40130         * lib/getusershell.c: Include unistd.h.
40131         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
40132         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
40133         HAVE_GETUSERSHELL.
40134         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
40135         and HAVE_GETUSERSHELL.
40136         * modules/getusershell (Depends-on): Add unistd, extensions.
40137         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
40138         (Include): Specify <unistd.h>.
40139         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
40140         HAVE_GETUSERSHELL.
40141
40142 2008-10-18  Bruno Haible  <bruno@clisp.org>
40143
40144         Add a getloadavg() declaration to <stdlib.h>.
40145         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
40146         getloadavg declaration.
40147         (getloadavg): New declaration.
40148         * lib/getloadavg.c: Include <stdlib.h> first.
40149         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
40150         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
40151         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
40152         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
40153         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
40154         * modules/getloadavg (Depends-on): Add stdlib, extensions.
40155         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
40156         (Include): Specify <stdlib.h>.
40157         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
40158         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
40159
40160 2008-10-18  Bruno Haible  <bruno@clisp.org>
40161
40162         * lib/dirchownmod.c: Don't include lchmod.h.
40163
40164         Move the lchmod() declaration to <sys/stat.h>.
40165         * lib/lchmod.h: Remove file.
40166         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
40167         (lchmod): New declaration, moved here from lib/lchown.h.
40168         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
40169         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
40170         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
40171         and HAVE_LCHMOD.
40172         * modules/lchmod (Files): Remove lib/lchmod.h.
40173         (Depends-on): Add sys_stat, extensions.
40174         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
40175         (Include): Specify <sys/stat.h> instead of lchmod.h.
40176         * modules/sys_stat (Depends-on): Add link-warning.
40177         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
40178         definition of GL_LINK_WARNING.
40179         * NEWS: Mention the change.
40180
40181 2008-10-18  Bruno Haible  <bruno@clisp.org>
40182
40183         * lib/fchdir.c: Don't include dirfd.h.
40184         * lib/fts.c: Likewise.
40185         * lib/getcwd.c: Likewise.
40186         * lib/glob.c: Likewise.
40187
40188         Move the dirfd() declaration to <dirent.h>.
40189         * lib/dirfd.h: Remove file.
40190         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
40191         (dirfd): New declaration.
40192         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
40193         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
40194         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
40195         HAVE_DECL_DIRFD.
40196         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
40197         HAVE_DECL_DIRFD.
40198         * modules/dirfd (Files): Remove lib/dirfd.h.
40199         (Depends-on): Add dirent, extensions.
40200         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
40201         (Include): Specify <dirent.h> instead of dirfd.h.
40202         * modules/dirent (Depends-on): Add link-warning.
40203         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
40204         definition of GL_LINK_WARNING.
40205         * NEWS: Mention the change.
40206
40207 2008-10-18  Bruno Haible  <bruno@clisp.org>
40208
40209         Move the euidaccess() declaration to <unistd.h>.
40210         * lib/euidaccess.h: Remove file.
40211         * lib/unistd.in.h (euidaccess): New declaration.
40212         * lib/euidaccess.c: Don't include euidaccess.h.
40213         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
40214         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
40215         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
40216         and HAVE_EUIDACCESS.
40217         * modules/euidaccess (Files): Remove lib/euidaccess.h.
40218         (Depends-on): Add unistd.
40219         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
40220         (Include): Specify <unistd.h> instead of euidaccess.h.
40221         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
40222         HAVE_EUIDACCESS.
40223         * NEWS: Mention the change.
40224
40225 2008-10-18  Bruno Haible  <bruno@clisp.org>
40226
40227         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
40228
40229         Move the getdomainname() declaration to <unistd.h>.
40230         * lib/getdomainname.h: Remove file.
40231         * lib/unistd.in.h (getdomainname): New declaration.
40232         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
40233         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
40234         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
40235         HAVE_GETDOMAINNAME.
40236         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
40237         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
40238         * modules/getdomainname (Files): Remove lib/getdomainname.h.
40239         (Depends-on): Add unistd, extensions.
40240         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
40241         (Includes): Specify <unistd.h> instead of getdomainname.h.
40242         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
40243         HAVE_GETDOMAINNAME.
40244         * NEWS: Mention the change.
40245
40246 2008-10-18  Bruno Haible  <bruno@clisp.org>
40247
40248         * modules/dirent: New file.
40249         * m4/dirent_h.m4: New file.
40250         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
40251         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
40252         * modules/fchdir (Files): Remove lib/dirent.in.h.
40253         (Depends-on): Add dirent.
40254         (Makefile.am): Move rules to modules/dirent.
40255         * doc/posix-headers/dirent.texi: Mention the new module.
40256
40257 2008-10-18  Bruno Haible  <bruno@clisp.org>
40258
40259         Avoid -Wunused-parameter warnings in public gnulib header files.
40260         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
40261         macro.
40262         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
40263
40264 2008-10-18  Bruno Haible  <bruno@clisp.org>
40265
40266         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
40267         * doc/glibc-functions/error.texi: Mention the module 'error'.
40268         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
40269         * doc/glibc-functions/getdomainname.texi: Mention the module
40270         'getdomainname'.
40271         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
40272         * doc/glibc-functions/getpagesize.texi: Mention the module
40273         'getpagesize'.
40274         * doc/glibc-functions/getusershell.texi: Mention the module
40275         'getusershell'.
40276         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
40277         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
40278         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
40279         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
40280         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
40281         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
40282         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
40283         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
40284         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
40285         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
40286         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
40287         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
40288         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
40289         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
40290
40291 2008-10-17  Bruno Haible  <bruno@clisp.org>
40292
40293         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
40294         HP-UX and IRIX, use -0.0L.
40295         * tests/test-ceill.c (minus_zero): Likewise.
40296         * tests/test-floorl.c (minus_zero): Likewise.
40297         * tests/test-frexpl.c (minus_zero): Likewise.
40298         * tests/test-isnan.c (minus_zerol): Likewise.
40299         * tests/test-isnanl.h (minus_zero): Likewise.
40300         * tests/test-ldexpl.c (minus_zero): Likewise.
40301         * tests/test-roundl.c (minus_zero): Likewise.
40302         * tests/test-signbit.c (minus_zerol): Likewise.
40303         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
40304         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
40305         * tests/test-truncl.c (minus_zero): Likewise.
40306         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
40307         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
40308         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
40309         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
40310
40311 2008-10-17  Bruno Haible  <bruno@clisp.org>
40312
40313         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
40314         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
40315         that it gets activated only for gcc >= 3.0.
40316         * lib/dirent.in.h: Likewise.
40317         * lib/errno.in.h: Likewise.
40318         * lib/fcntl.in.h: Likewise.
40319         * lib/float.in.h: Likewise.
40320         * lib/iconv.in.h: Likewise.
40321         * lib/inttypes.in.h: Likewise.
40322         * lib/locale.in.h: Likewise.
40323         * lib/math.in.h: Likewise.
40324         * lib/netdb.in.h: Likewise.
40325         * lib/netinet_in.in.h: Likewise.
40326         * lib/search.in.h: Likewise.
40327         * lib/signal.in.h: Likewise.
40328         * lib/spawn.in.h: Likewise.
40329         * lib/stdarg.in.h: Likewise.
40330         * lib/stdint.in.h: Likewise.
40331         * lib/stdio.in.h: Likewise.
40332         * lib/stdlib.in.h: Likewise.
40333         * lib/string.in.h: Likewise.
40334         * lib/strings.in.h: Likewise.
40335         * lib/sys_file.in.h: Likewise.
40336         * lib/sys_ioctl.in.h: Likewise.
40337         * lib/sys_select.in.h: Likewise.
40338         * lib/sys_socket.in.h: Likewise.
40339         * lib/sys_stat.in.h: Likewise.
40340         * lib/sys_time.in.h: Likewise.
40341         * lib/sysexits.in.h: Likewise.
40342         * lib/time.in.h: Likewise.
40343         * lib/unistd.in.h: Likewise.
40344         * lib/wchar.in.h: Likewise.
40345         * lib/wctype.in.h: Likewise.
40346         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
40347
40348 2008-10-17  Jim Meyering  <meyering@redhat.com>
40349
40350         ignore-value: don't depend on inline module
40351         * modules/ignore-value (Depends-on): Remove 'inline'.
40352         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
40353         Suggestion from Bruno Haible.
40354
40355 2008-10-17  Bruno Haible  <bruno@clisp.org>
40356
40357         New implementation of condition variables for Win32.
40358         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
40359         (gl_linked_waitqueue_t): New type.
40360         (gl_cond_t): Use it.
40361         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
40362         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
40363         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
40364         (glthread_cond_init_func, glthread_cond_wait_func,
40365         glthread_cond_timedwait_func, glthread_cond_signal_func,
40366         glthread_cond_broadcast_func, glthread_cond_destroy_func):
40367         Reimplemented on the basis of gl_linked_waitqueue_t.
40368         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
40369         gl_waitqueue_t.
40370         (gl_rwlock_t): Update.
40371         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
40372
40373 2008-10-17  Simon Josefsson  <simon@josefsson.org>
40374
40375         * modules/recvfrom (Depends-on): Add dependency on getpeername.
40376         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
40377
40378 2008-10-17  Jim Meyering  <meyering@redhat.com>
40379
40380         ignore-value: new module
40381         * modules/ignore-value: New file.
40382         * lib/ignore-value.h: New file.
40383         * MODULES.html.sh (Compiler warning management): New section,
40384         just for this module.  More to come.
40385
40386 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
40387
40388         open-safer.c: avoid 'signed and unsigned in conditional...' warning
40389         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
40390         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
40391
40392 2008-10-16  Jim Meyering  <meyering@redhat.com>
40393
40394         openat-die.c: avoid 'no previous prototype' warning
40395         * lib/openat-die.c: Include "openat.h".
40396         Reported by Reuben Thomas <rrt@sc3d.org>.
40397
40398 2008-10-16  Simon Josefsson  <simon@josefsson.org>
40399
40400         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
40401         * lib/netdb.in.h: Fix typo.
40402         Reported by Bruno Haible  <bruno@clisp.org>
40403
40404         * lib/netdb.in.h: Include sys/socket.h for platforms without
40405         netdb.h, to get structures like hostent on MinGW.
40406         * modules/netdb (Depends-on): Add sys_socket.
40407
40408 2008-10-15  Simon Josefsson  <simon@josefsson.org>
40409
40410         * modules/netdb, modules/netdb-tests: New file.
40411         * m4/netdb_h.m4: New file.
40412         * lib/netdb.in.h: Add, currently just an empty file pending
40413         definitions.
40414         * tests/test-netdb.c: New file.
40415         * doc/posix-headers/netdb.texi: Mention that we replace it if
40416         needed.
40417         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
40418         netdb.
40419
40420 2008-10-15  Simon Josefsson  <simon@josefsson.org>
40421
40422         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
40423         with code.
40424
40425 2008-10-13  Bruno Haible  <bruno@clisp.org>
40426
40427         * lib/glthread/cond.c (glthread_cond_wait_func,
40428         glthread_cond_timedwait_func): Add a comment.
40429
40430 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
40431
40432         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
40433         * tests/test-select.c: Likewise,
40434
40435 2008-10-13  Bruno Haible  <bruno@clisp.org>
40436
40437         * lib/glthread/cond.c (glthread_cond_wait_func,
40438         glthread_cond_timedwait_func): Fix variable name.
40439         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
40440
40441 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
40442
40443         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
40444         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
40445         struct sockaddr.sa_len.
40446         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
40447
40448 2008-10-13  Simon Josefsson  <simon@josefsson.org>
40449
40450         * build-aux/pmccabe2html: Add css and css_url parameters.
40451
40452 2008-10-12  Bruno Haible  <bruno@clisp.org>
40453
40454         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
40455         calling aclx_get.
40456         Reported by Rainer Tammer <tammer@tammer.net>.
40457
40458 2008-10-12  Bruno Haible  <bruno@clisp.org>
40459
40460         Use msvcrt aware primitives for creation/termination of Win32 threads.
40461         * lib/glthread/thread.c: Include <process.h>.
40462         (glthread_create_func): Use _beginthreadex instead of CreateThread.
40463         (wrapper_func): Update signature.
40464         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
40465
40466 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
40467             Bruno Haible  <bruno@clisp.org>
40468
40469         Provide a Win32 implementation of the 'cond' module.
40470         * lib/glthread/cond.h [USE_WIN32]: New implementation.
40471         * lib/glthread/cond.c (glthread_cond_init_func,
40472         glthread_cond_wait_func, glthread_cond_timedwait_func,
40473         glthread_cond_signal_func, glthread_cond_broadcast_func,
40474         glthread_cond_destroy_func) [USE_WIN32]: New functions.
40475         * modules/cond (Dependencies): Add gettimeofday.
40476
40477 2008-10-11  Bruno Haible  <bruno@clisp.org>
40478
40479         Make sleep work on older versions of mingw.
40480         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
40481         only whether it exists.
40482         * doc/posix-functions/sleep.texi: Mention the problem with older
40483         versions of mingw.
40484
40485 2008-10-11  Bruno Haible  <bruno@clisp.org>
40486
40487         New module 'shutdown'.
40488         * modules/shutdown: New file.
40489         * lib/sys_socket.in.h (shutdown): New declaration.
40490         * lib/winsock.c (shutdown): New function.
40491         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
40492         GNULIB_SHUTDOWN.
40493         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
40494         * doc/posix-functions/shutdown.texi: Document the new module.
40495
40496 2008-10-11  Jim Meyering  <meyering@redhat.com>
40497
40498         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
40499
40500 2008-10-11  Bruno Haible  <bruno@clisp.org>
40501
40502         New module 'fclose'.
40503         * modules/fclose: New file.
40504         * lib/stdio.in.h (fclose): New declaration.
40505         * lib/fclose.c: New file.
40506         * m4/fclose.m4: New file.
40507         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
40508         REPLACE_FCLOSE.
40509         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
40510         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
40511         REPLACE_FCLOSE.
40512         * modules/close (Depends-on): fclose.
40513         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
40514
40515 2008-10-11  Bruno Haible  <bruno@clisp.org>
40516
40517         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
40518         set errno and don't call _close.
40519
40520 2008-10-10  Bruno Haible  <bruno@clisp.org>
40521
40522         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
40523         ACL, not afterwards. Fixes test failure on Cygwin.
40524
40525 2008-10-09  Ben Pfaff  <blp@gnu.org>
40526
40527         * build-aux/announce-gen: Fix gnulib version related part of usage
40528         message.  Die with a useful error message if no tarballs are
40529         found.
40530
40531 2008-10-10  Jim Meyering  <meyering@redhat.com>
40532
40533         bootstrap: use git's --depth=N option only if it's supported
40534         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
40535         recognize the --depth option.  Reported by Pádraig Brady.
40536
40537 2008-10-09  Bruno Haible  <bruno@clisp.org>
40538
40539         New module 'ioctl'.
40540         * modules/ioctl: New file.
40541         * lib/sys_socket.in.h (ioctl): Remove declaration.
40542         * lib/winsock.c: Include <sys/ioctl.h>.
40543         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
40544         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
40545         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
40546         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
40547         * doc/posix-functions/ioctl.texi: Mention the new module.
40548
40549 2008-10-09  Bruno Haible  <bruno@clisp.org>
40550
40551         New module 'sys_ioctl'.
40552         * lib/sys_ioctl.in.h: New file.
40553         * m4/sys_ioctl_h.m4: New file.
40554         * modules/sys_ioctl: New file.
40555         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
40556
40557 2008-10-09  Bruno Haible  <bruno@clisp.org>
40558
40559         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
40560         * lib/winsock.c: Include <stdarg.h>.
40561         (rpl_ioctl): Change to second argument 'int' and then varargs.
40562
40563 2008-10-09  Bruno Haible  <bruno@clisp.org>
40564
40565         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
40566         when the sys_socket module is present and the system has <winsock2.h>.
40567
40568 2008-10-09  Bruno Haible  <bruno@clisp.org>
40569
40570         * doc/posix-functions/close.texi: Mention module 'close' instead of
40571         module 'sys_socket'.
40572
40573 2008-10-09  Bruno Haible  <bruno@clisp.org>
40574
40575         * doc/glibc-headers/sys_ioctl.texi: New file.
40576         * doc/gnulib.texi: Include it.
40577
40578 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
40579             Bruno Haible  <bruno@clisp.org>
40580
40581         Combine the two replacements of 'close'.
40582         * lib/sys_socket.in.h (close): Define to a reminder to include
40583         <unistd.h>.
40584         (_gl_close_fd_maybe_socket): New declaration.
40585         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
40586         * lib/winsock.c (close): Remove undefinition.
40587         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
40588         needed for the gnulib module 'close'.
40589         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
40590         define to an error symbol or to a warning, if suitable.
40591         * lib/close.c: Include <sys/socket.h>.
40592         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
40593         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
40594         UNISTD_H_HAVE_WINSOCK2_H.
40595         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
40596         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
40597         UNISTD_H_HAVE_WINSOCK2_H.
40598         * modules/sys_socket (Files): Add m4/unistd_h.m4.
40599         (configure.ac): Set a module indicator.
40600         (Makefile.am): Substitute GNULIB_CLOSE.
40601         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
40602         * modules/poll-tests (Depends-on): Add close.
40603         * modules/select-tests (Depends-on): Likewise.
40604
40605 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
40606             Bruno Haible  <bruno@clisp.org>
40607
40608         New module 'close'.
40609         * modules/close: New file.
40610         * lib/unistd.in.h (close): Move declaration out of the
40611         FCHDIR_REPLACEMENT scope.
40612         (_gl_unregister_fd): New declaration.
40613         * lib/close.c: New file.
40614         * lib/fchdir.c (rpl_close): Remove function.
40615         * m4/close.m4: New file.
40616         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
40617         close.
40618         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
40619         REPLACE_CLOSE.
40620         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
40621         REPLACE_CLOSE.
40622         * modules/fchdir (Depends-on): Add close.
40623
40624 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
40625             Bruno Haible  <bruno@clisp.org>
40626
40627         * lib/fcntl.in.h (open): Simplify conditionals.
40628         (_gl_register_fd): New declaration.
40629         * lib/fchdir.c (rpl_open): Remove function.
40630         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
40631         also.
40632         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
40633         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
40634         open.
40635
40636 2008-10-09  Jim Meyering  <meyering@redhat.com>
40637
40638         GNUmakefile: use the more name-space-friendly "_version"
40639         * top/GNUmakefile (_dummy): Update.
40640         (_version): Rename from "version".
40641
40642 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
40643             Bruno Haible  <bruno@clisp.org>
40644
40645         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
40646         rpl_close.
40647         (_gl_register_fd): New function, extracted from rpl_open.
40648         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
40649         (rpl_open, rpl_opendir): Use _gl_register_fd.
40650
40651 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
40652
40653         Fix organization of 'open' replacement.
40654         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
40655         (gl_FUNC_OPEN): Use it.
40656         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
40657
40658 2008-10-08  Bruno Haible  <bruno@clisp.org>
40659
40660         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
40661
40662 2008-10-08  Simon Josefsson  <simon@josefsson.org>
40663
40664         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
40665         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
40666         listen).
40667
40668 2008-10-08  Eric Blake  <ebb9@byu.net>
40669
40670         GNUmakefile: add 'make version' target
40671         * top/GNUmakefile (_curr-ver): Split version update rules...
40672         (version): ...into a target.
40673
40674 2008-10-07  Bruno Haible  <bruno@clisp.org>
40675
40676         Use a more portable replacement expression for -0.0L.
40677         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
40678         instead of -0.0L. Fix m4 quotation.
40679
40680         * tests/test-signbit.c: Include <float.h>.
40681         (minus_zero): New variable.
40682         (test_signbitl): Use minus_zero instead of -zero.
40683         * modules/signbit-tests (Depends-on): Add float.
40684
40685         * tests/test-ceill.c: Include <float.h>.
40686         (zero): Remove variable.
40687         (minus_zero): New variable.
40688         (main): Use minus_zero instead of -zero.
40689         * modules/ceill-tests (Depends-on): Add float.
40690
40691         * tests/test-floorl.c: Include <float.h>.
40692         (zero): Remove variable.
40693         (minus_zero): New variable.
40694         (main): Use minus_zero instead of -zero.
40695         * modules/floorl-tests (Depends-on): Add float.
40696
40697         * tests/test-roundl.c: Include <float.h>.
40698         (zero): Remove variable.
40699         (minus_zero): New variable.
40700         (main): Use minus_zero instead of -zero.
40701         * modules/roundl-tests (Depends-on): Add float.
40702
40703         * tests/test-truncl.c: Include <float.h>.
40704         (zero): Remove variable.
40705         (minus_zero): New variable.
40706         (main): Use minus_zero instead of -zero.
40707         * modules/truncl-tests (Depends-on): Add float.
40708
40709         * tests/test-frexpl.c (zero): Remove variable.
40710         (minus_zero): New variable.
40711         (main): Use minus_zero instead of -zero.
40712         * modules/frexpl-tests (Depends-on): Add float.
40713
40714         * tests/test-isnan.c (zerol): Remove variable.
40715         (minus_zerol): New variable.
40716         (test_long_double): Use minus_zerol instead of -zerol.
40717         * modules/isnan-tests (Depends-on): Add float.
40718
40719         * tests/test-isnanl.h (zero): Remove variable.
40720         (minus_zero): New variable.
40721         (main): Use minus_zero instead of -zero.
40722         * modules/isnanl-nolibm-tests (Depends-on): Add float.
40723         * modules/isnanl-tests (Depends-on): Add float.
40724
40725         * tests/test-ldexpl.c (zero): Remove variable.
40726         (minus_zero): New variable.
40727         (main): Use minus_zero instead of -zero.
40728         * modules/ldexpl-tests (Depends-on): Add float.
40729
40730         * tests/test-snprintf-posix.h (zerol): Remove variable.
40731         (minus_zerol): New variable.
40732         (test_function): Use minus_zerol instead of -zerol.
40733         * modules/snprintf-posix-tests (Depends-on): Add float.
40734         * modules/vsnprintf-posix-tests (Depends-on): Add float.
40735
40736         * tests/test-sprintf-posix.h (zerol): Remove variable.
40737         (minus_zerol): New variable.
40738         (test_function): Use minus_zerol instead of -zerol.
40739         * modules/sprintf-posix-tests (Depends-on): Add float.
40740         * modules/vsprintf-posix-tests (Depends-on): Add float.
40741
40742         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
40743         (minus_zerol): New variable.
40744         (test_function): Use minus_zerol instead of -zerol.
40745         * modules/vasnprintf-posix-tests (Depends-on): Add float.
40746
40747         * tests/test-vasprintf-posix.c (zerol): Remove variable.
40748         (minus_zerol): New variable.
40749         (test_function): Use minus_zerol instead of -zerol.
40750         * modules/vasprintf-posix-tests (Depends-on): Add float.
40751
40752 2008-10-07  Simon Josefsson  <simon@josefsson.org>
40753
40754         * MODULES.html.sh (Support for building documentation): Mention
40755         pmccabe2html.  Sort entries.
40756
40757         Add pmccabe2html module, from gnupdf.
40758         * build-aux/pmccabe.css: New file.
40759         * build-aux/pmccabe2html: New file.
40760         * m4/pmccabe2html.m4: New file.
40761         * modules/pmccabe2html: New file.
40762
40763 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
40764
40765         flock: new module
40766         * MODULES.html.sh: Add to list of modules.
40767         * lib/flock.c: flock implementation for Windows and Unix systems
40768         which have fcntl.
40769         * doc/glibc-functions/flock.texi: Update documentation.
40770         * lib/sys_file.in.h: <sys/file.h> header file.
40771         * m4/flock.m4: M4 macros.
40772         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
40773         * modules/flock: flock module.
40774         * modules/flock-tests: flock tests module.
40775         * modules/sys_file: sys/file.h module.
40776         * tests/test-flock.c: test suite for flock.
40777
40778 2008-10-06  Jim Meyering  <meyering@redhat.com>
40779
40780         bootstrap: check for LT_INIT more portably still ;-)
40781         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
40782         Spotted by Bruno Haible.
40783
40784 2008-10-06  Eric Blake  <ebb9@byu.net>
40785
40786         test-signbit: avoid tripping Irix cc bug on -0.0L
40787         * tests/test-signbit.c (minus_zerol): Delete, and replace with
40788         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
40789         entire testsuite consistent and avoids an Irix 6.2 bug.
40790
40791 2008-10-05  Bruno Haible  <bruno@clisp.org>
40792             Jim Meyering  <jim@meyering.net>
40793
40794         Add an option for ignoring EPIPE during close_stdout.
40795         * lib/closeout.h: Include <stdbool.h>.
40796         (close_stdout_set_ignore_EPIPE): New declaration.
40797         * lib/closeout.c: Include <stdbool.h>.
40798         (ignore_EPIPE): New variable.
40799         (close_stdout_set_ignore_EPIPE): New function.
40800         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
40801         * lib/close-stream.c (close_stream): Mention the possible EPIPE
40802         failure.
40803         * modules/closeout (Depends-on): Add stdbool.
40804
40805 2008-10-05  Bruno Haible  <bruno@clisp.org>
40806
40807         * modules/accept: New file.
40808         * modules/bind: New file.
40809         * modules/connect: New file.
40810         * modules/getpeername: New file.
40811         * modules/getsockname: New file.
40812         * modules/getsockopt: New file.
40813         * modules/listen: New file.
40814         * modules/recv: New file.
40815         * modules/recvfrom: New file.
40816         * modules/send: New file.
40817         * modules/sendto: New file.
40818         * modules/setsockopt: New file.
40819         * modules/socket: New file.
40820         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
40821         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
40822         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
40823         the particular module is requested. Add a link warning when the
40824         particular module is not requested.
40825         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
40826         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
40827         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
40828         the particular module is requested.
40829         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
40830         gl_SYS_SOCKET_H_DEFAULTS): New macros.
40831         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
40832         * modules/sys_socket (Depends-on): Add link-warning.
40833         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
40834         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
40835         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
40836         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
40837         GL_LINK_WARNING.
40838         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
40839         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
40840         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
40841         * doc/posix-functions/getpeername.texi: Mention the new module
40842         'getpeername'.
40843         * doc/posix-functions/getsockname.texi: Mention the new module
40844         'getsockname'.
40845         * doc/posix-functions/getsockopt.texi: Mention the new module
40846         'getsockopt'.
40847         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
40848         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
40849         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
40850         * doc/posix-functions/send.texi: Mention the new module 'send'.
40851         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
40852         * doc/posix-functions/setsockopt.texi: Mention the new module
40853         'setsockopt'.
40854         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
40855         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
40856         listen, connect, accept.
40857         * modules/select-tests (Depends-on): Likewise.
40858
40859 2008-10-05  Bruno Haible  <bruno@clisp.org>
40860
40861         * lib/winsock.c (strerror): Remove unused #undef.
40862         (rpl_close): Remove unused local variable.
40863
40864         * modules/sys_socket (Depends-on); Add errno.
40865
40866 2008-10-05  Bruno Haible  <bruno@clisp.org>
40867
40868         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
40869         (select): Add a link warning when the 'select' module is not used.
40870         * modules/sys_select (Depends-on): Add link-warning.
40871         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
40872         Suggested by Paolo Bonzini.
40873
40874 2008-10-05  Jim Meyering  <meyering@redhat.com>
40875
40876         bootstrap: check for LT_INIT more portably
40877         * build-aux/bootstrap: Avoid using grep -E, since it's not
40878         portable enough.  Suggestion from Bruno Haible.
40879
40880 2008-10-05  Bruno Haible  <bruno@clisp.org>
40881
40882         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
40883         as being fixed by gnulib.
40884
40885 2008-10-05  Bruno Haible  <bruno@clisp.org>
40886
40887         * modules/select-tests: New file, mostly copied from
40888         modules/sys_select-tests.
40889         * tests/test-select.c: New file, mostly copied from
40890         tests/test-sys_select.c.
40891         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
40892         * modules/sys_select-tests (Depends-on): Remove all dependencies.
40893         (Makefile.am): Remove test_sys_select_LDADD.
40894
40895         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
40896         to an undefined symbol, for an error message.
40897         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
40898         (gl_SYS_SELECT_H_DEFAULTS): New macro.
40899         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
40900         winsock-select.c here.
40901         * modules/sys_select (Files): Remove lib/winsock-select.c.
40902         (Depends-on): Remove alloca.
40903         (Makefile.am): Substitute GNULIB_SELECT.
40904         * modules/select: New file.
40905         * doc/posix-functions/select.texi: Update.
40906
40907 2008-10-05  Bruno Haible  <bruno@clisp.org>
40908
40909         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
40910         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
40911         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
40912         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
40913         getdtablesize.
40914         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
40915         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
40916
40917 2008-10-05  Bruno Haible  <bruno@clisp.org>
40918
40919         * modules/getdtablesize-tests: New file.
40920         * tests/test-getdtablesize.c: New file.
40921
40922         New module 'getdtablesize'.
40923         * lib/unistd.in.h (getdtablesize): New declaration.
40924         * lib/getdtablesize.c: New file.
40925         * m4/getdtablesize.m4: New file.
40926         * modules/getdtablesize: New file.
40927         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
40928         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
40929         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
40930         HAVE_GETDTABLESIZE.
40931         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
40932
40933 2008-10-05  Bruno Haible  <bruno@clisp.org>
40934
40935         * modules/sched (Makefile.am): Fix typo.
40936         Reported by Simon Josefsson.
40937
40938 2008-10-05  Jim Meyering  <meyering@redhat.com>
40939
40940         bootstrap: check for LT_INIT, too
40941         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
40942         are deprecated.  Suggestion from Ralf Wildenhues.
40943
40944 2008-10-05  Bruno Haible  <bruno@clisp.org>
40945
40946         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
40947         overriding them by ours.
40948         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
40949
40950 2008-10-05  Jim Meyering  <meyering@redhat.com>
40951
40952         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
40953         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
40954         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
40955
40956 2008-10-04  Bruno Haible  <bruno@clisp.org>
40957
40958         * modules/dup2 (License): Change to LGPLv2+.
40959         * modules/sleep (License): Likewise.
40960         * modules/perror (License): Likewise.
40961         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
40962         Blake.
40963         * modules/signal (License): Likewise.
40964         * modules/sigprocmask (License): Likewise.
40965         * modules/raise (License): Change to LGPLv2+, with approval by Jim
40966         Meyering.
40967
40968 2008-10-04  Bruno Haible  <bruno@clisp.org>
40969
40970         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
40971         Reported by Rainer Tammer <tammer@tammer.net>.
40972
40973 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
40974             Bruno Haible  <bruno@clisp.org>
40975
40976         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
40977         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
40978         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
40979
40980 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
40981
40982         filevercmp: new module
40983         * lib/filevercmp.h: New function filevercmp comparing version strings.
40984         * lib/filevercmp.c: Implementation of filevercmp function.
40985         * modules/filevercmp: Module metadata.
40986         * tests/test-filevercmp.c: Unit test for new module.
40987         * modules/filevercmp-tests: Unit test metadata.
40988         * MODULES.html.sh: Add filevercmp module.
40989
40990 2008-10-03  Bruno Haible  <bruno@clisp.org>
40991
40992         * lib/c-ctype.h: Add comment.
40993         Reported by Jim Meyering.
40994
40995 2008-10-02  Bruno Haible  <bruno@clisp.org>
40996
40997         * modules/posix_spawn-internal (Depends-on): Add 'open'.
40998
40999 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
41000
41001         * build-aux/bootstrap: Allow renaming bootstrap, and change the
41002         name of bootstrap.conf accordingly.
41003
41004 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
41005
41006         * build-aux/bootstrap: Install git-merge-changelog configuration
41007         items into .gitconfig if needed.
41008
41009 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
41010
41011         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
41012         git repository, and initialize/update it accordingly.
41013
41014 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
41015
41016         * modules/fsync-tests: New file.
41017         * tests/test-fsync.c: New file.
41018
41019         New module 'fsync'.
41020         * lib/fsync.c: New file.
41021         * m4/fsync.m4: New file.
41022         * modules/fsync: New file.
41023         * lib/unistd.in.h (fsync): New declaration.
41024         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
41025         GNULIB_FSYNC and HAVE_FSYNC.
41026         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
41027         * MODULES.html.sh (posix_functions): Add fsync.
41028         * doc/posix-functions/fsync.texi: Mention the new module.
41029
41030 2008-10-02  Jim Meyering  <meyering@redhat.com>
41031
41032         fts.c: sync with similar code from coreutils' remove.c
41033         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
41034         Guard also with "#if defined __linux__", since for now at least,
41035         this code is Linux-kernel-specific.
41036
41037 2008-10-02  Jim Meyering  <meyering@redhat.com>
41038
41039         fts: bug fixes
41040         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
41041         Include <sys/vfs.h>, not <sys/statfs.h>.
41042
41043         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
41044         Include <sys/vfs.h>, not <sys/statfs.h>.
41045
41046 2008-10-01  Bruno Haible  <bruno@clisp.org>
41047
41048         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
41049         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
41050         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
41051         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
41052         * doc/posix-functions/posix_spawnp.texi: Likewise.
41053         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
41054         whether posix_spawn actually works.
41055         * m4/pipe.m4 (gl_PIPE): Likewise.
41056         * modules/execute (Files): Add m4/posix_spawn.m4.
41057         * modules/pipe (Files): Add m4/posix_spawn.m4.
41058         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
41059
41060 2008-10-01  Jim Meyering  <meyering@redhat.com>
41061
41062         remove trailing spaces
41063         * NEWS: Likewise.
41064         * lib/poll.c (poll): Likewise.
41065         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
41066         * lib/winsock.c (rpl_close): Likewise.
41067         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
41068         * modules/yield: Likewise.
41069         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
41070         * tests/test-sys_select.c (connect_to_socket): Likewise.
41071
41072         fts.c: adjust a new interface to be more generally useful
41073         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
41074         (fts_build): Adjust caller.
41075
41076 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41077
41078         * modules/cond-tests: New file.
41079         * tests/test-cond.c: New file.
41080
41081 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41082             Bruno Haible  <bruno@clisp.org>
41083
41084         * modules/cond (Dependencies): Add errno, time.
41085         * lib/glthread/cond.h: Include <time.h>.
41086         (gl_cond_define, gl_cond_define_initialized): Use the same definition
41087         across platforms.
41088
41089 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41090             Bruno Haible  <bruno@clisp.org>
41091
41092         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
41093
41094 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41095             Bruno Haible  <bruno@clisp.org>
41096
41097         * modules/tls-tests (Depends-on): Add thread, yield.
41098         (configure.ac): Remove all checks.
41099         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
41100         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
41101         gl_thread_self): Remove definitions. Include glthread/thread.h and
41102         glthread/yield.h instead.
41103         (test_tls): Pass an additional NULL argument to gl_thread_join.
41104
41105 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41106             Bruno Haible  <bruno@clisp.org>
41107
41108         * modules/lock-tests (Depends-on): Add thread, yield.
41109         (configure.ac): Remove all checks.
41110         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
41111         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
41112         gl_thread_self): Remove definitions. Include glthread/thread.h and
41113         glthread/yield.h instead.
41114         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
41115         additional NULL argument to gl_thread_join.
41116
41117 2008-09-30  Bruno Haible  <bruno@clisp.org>
41118
41119         Fix the Win32 implementation of the 'thread' module.
41120         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
41121         pointer type.
41122         (gl_thread_self): Invoke gl_thread_self_func.
41123         (gl_thread_self_func): New declaration.
41124         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
41125         (do_init_self_key, init_self_key): New functions.
41126         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
41127         Remove some fields.
41128         (running_threads, running_lock): Remove variables.
41129         (get_current_thread_handle): New function.
41130         (gl_thread_self_func, wrapper_func, glthread_create_func,
41131         glthread_join_func, gl_thread_exit_func): Largely rewritten and
41132         simplified.
41133
41134 2008-09-30  Bruno Haible  <bruno@clisp.org>
41135
41136         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
41137         files.
41138
41139 2008-09-30  Jim Meyering  <meyering@redhat.com>
41140
41141         fts.m4: correct the test for statfs.f_type
41142         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
41143         when checking for statfs.f_type.
41144
41145 2008-09-15  Simon Josefsson  <simon@josefsson.org>
41146
41147         tests: avoid some compiler warnings
41148         * tests/test-memchr.c (main): Pass NULL indirectly.
41149         * tests/test-getdate.c (main): Remove unused variable 'ret'.
41150
41151 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
41152
41153         getdate.y: disallow countable dayshifts like "4 yesterday ago"
41154         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
41155         exactly specified dayshifts.
41156         (dayshift): New rule.
41157         (rel): Add dayshift.
41158         (relative_time_table) [tomorrow, yesterday, today, now]:
41159         Use tDAY_SHIFT in place of tDAY_UNIT.
41160         * tests/test-getdate.c: Add tests for now-disallowed countable
41161         dayshifts, e.g., "4 yesterday ago".
41162
41163 2008-09-29  Bruno Haible  <bruno@clisp.org>
41164
41165         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
41166         * tests/test-posix_spawn1.in.sh: Renamed from
41167         tests/test-posix_spawn.in.sh.
41168         * tests/test-posix_spawn2.c: New file.
41169         * tests/test-posix_spawn2.in.sh: New file.
41170         * modules/posix_spawnp-tests (Files): Update.
41171         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
41172
41173 2008-09-29  Bruno Haible  <bruno@clisp.org>
41174
41175         Propagate effects of putenv/setenv/unsetenv to child processes.
41176         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
41177         * lib/pipe.c (create_pipe): Likewise.
41178
41179 2008-09-29  Bruno Haible  <bruno@clisp.org>
41180
41181         Enable use of shell scripts as executables in mingw.
41182         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
41183         run the program as a shell script.
41184         * lib/pipe.c (create_pipe): Likewise.
41185         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
41186         resulting array.
41187
41188 2008-09-29  Eric Blake  <ebb9@byu.net>
41189
41190         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
41191
41192 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
41193
41194         * doc/posix-functions/accept.texi: Update mingw problems.
41195         * doc/posix-functions/bind.texi: Update mingw problems.
41196         * doc/posix-functions/close.texi: Update mingw problems.
41197         * doc/posix-functions/connect.texi: Update mingw problems.
41198         * doc/posix-functions/getpeername.texi: Update mingw problems.
41199         * doc/posix-functions/getsockname.texi: Update mingw problems.
41200         * doc/posix-functions/getsockopt.texi: Update mingw problems.
41201         * doc/posix-functions/ioctl.texi: Update mingw problems.
41202         * doc/posix-functions/listen.texi: Update mingw problems.
41203         * doc/posix-functions/recv.texi: Update mingw problems.
41204         * doc/posix-functions/recvfrom.texi: Update mingw problems.
41205         * doc/posix-functions/select.texi: Update mingw problems.
41206         * doc/posix-functions/send.texi: Update mingw problems.
41207         * doc/posix-functions/sendto.texi: Update mingw problems.
41208         * doc/posix-functions/setsockopt.texi: Update mingw problems.
41209         * doc/posix-functions/socket.texi: Update mingw problems.
41210
41211 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
41212             Bruno Haible  <bruno@clisp.org>
41213
41214         * lib/sys_select.in.h: Include sys/time.h.
41215         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
41216         * modules/sys_select: Depend on sys_time.
41217         * tests/test-sys_select.c: Test that sys/select.h defines struct
41218         timeval fully.
41219
41220 2008-09-29  Bruno Haible  <bruno@clisp.org>
41221
41222         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
41223         * lib/sys_select.in.h: Likewise.
41224
41225 2008-09-29  Bruno Haible  <bruno@clisp.org>
41226
41227         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
41228
41229 2008-09-29  Bruno Haible  <bruno@clisp.org>
41230
41231         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
41232         Set LIBSOCKET instead of augmenting LIBS.
41233         * modules/sockets (Link): New section.
41234         * modules/sockets-tests (test_sockets_LDADD): New variable.
41235         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
41236         * modules/poll-tests (test_poll_LDADD): New variable.
41237         * NEWS: Document the change.
41238
41239 2008-09-29  Bruno Haible  <bruno@clisp.org>
41240
41241         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
41242         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
41243         ARPA_INET_H directly.
41244         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
41245
41246 2008-09-28  Bruno Haible  <bruno@clisp.org>
41247
41248         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
41249         from gl_HEADER_SYS_SOCKET.
41250         (gl_HEADER_SYS_SOCKET): Invoke it.
41251         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
41252
41253 2008-09-28  Bruno Haible  <bruno@clisp.org>
41254
41255         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
41256         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
41257         Needed on OSF/1 4.0.
41258
41259 2008-09-28  Bruno Haible  <bruno@clisp.org>
41260
41261         Override open more carefully.
41262         * lib/open.c (orig_open): New function.
41263         (rpl_open): Use orig_open instead of open.
41264         * lib/fcntl.in.h: Add special invocation convention.
41265         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
41266         (gl_FUNC_OPEN): Invoke it.
41267
41268         Override freopen more carefully.
41269         * lib/freopen.c (orig_freopen): New function.
41270         (rpl_freopen): Use orig_freopen instead of freopen.
41271         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
41272         (gl_FUNC_FREOPEN): Invoke it.
41273
41274         Override fopen more carefully.
41275         * lib/fopen.c (orig_fopen): New function.
41276         (rpl_fopen): Use orig_fopen instead of fopen.
41277         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
41278         (gl_FUNC_FOPEN): Invoke it.
41279         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
41280
41281 2008-09-28  Bruno Haible  <bruno@clisp.org>
41282
41283         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
41284         SIGPIPE.
41285
41286 2008-09-28  Bruno Haible  <bruno@clisp.org>
41287
41288         * tests/test-sigaction.c (handler, main): Disable the check whether
41289         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
41290         glibc systems with LinuxThreads.
41291
41292 2008-09-28  Bruno Haible  <bruno@clisp.org>
41293
41294         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
41295
41296         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
41297         with AIX xlc.
41298         * lib/fcntl.in.h (open): Likewise.
41299         Reported by Rainer Tammer <tammer@tammer.net>.
41300
41301 2008-09-28  Bruno Haible  <bruno@clisp.org>
41302
41303         * modules/posix_spawnp-tests: New file.
41304         * tests/test-posix_spawn.c: New file.
41305         * tests/test-posix_spawn.in.sh: New file.
41306
41307         New module 'posix_spawnp'.
41308         * modules/posix_spawnp: New file.
41309         * lib/spawnp.c: New file, from GNU libc with modifications.
41310         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
41311
41312         New module 'posix_spawn'.
41313         * modules/posix_spawn: New file.
41314         * lib/spawn.c: New file, from GNU libc with modifications.
41315         * doc/posix-functions/posix_spawn.texi: Mention the new module.
41316
41317         New module 'posix_spawnattr_destroy'.
41318         * modules/posix_spawnattr_destroy: New file.
41319         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
41320         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
41321         module.
41322
41323         New module 'posix_spawnattr_setsigmask'.
41324         * modules/posix_spawnattr_setsigmask: New file.
41325         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
41326         modifications.
41327         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
41328         new module.
41329
41330         New module 'posix_spawnattr_getsigmask'.
41331         * modules/posix_spawnattr_getsigmask: New file.
41332         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
41333         modifications.
41334         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
41335         new module.
41336
41337         New module 'posix_spawnattr_setsigdefault'.
41338         * modules/posix_spawnattr_setsigdefault: New file.
41339         * lib/spawnattr_setdefault.c: New file, from GNU libc with
41340         modifications.
41341         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
41342         new module.
41343
41344         New module 'posix_spawnattr_getsigdefault'.
41345         * modules/posix_spawnattr_getsigdefault: New file.
41346         * lib/spawnattr_getdefault.c: New file, from GNU libc with
41347         modifications.
41348         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
41349         new module.
41350
41351         New module 'posix_spawnattr_setschedpolicy'.
41352         * modules/posix_spawnattr_setschedpolicy: New file.
41353         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
41354         modifications.
41355         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
41356         new module.
41357
41358         New module 'posix_spawnattr_getschedpolicy'.
41359         * modules/posix_spawnattr_getschedpolicy: New file.
41360         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
41361         modifications.
41362         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
41363         new module.
41364
41365         New module 'posix_spawnattr_setschedparam'.
41366         * modules/posix_spawnattr_setschedparam: New file.
41367         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
41368         modifications.
41369         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
41370         new module.
41371
41372         New module 'posix_spawnattr_getschedparam'.
41373         * modules/posix_spawnattr_getschedparam: New file.
41374         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
41375         modifications.
41376         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
41377         new module.
41378
41379         New module 'posix_spawnattr_setpgroup'.
41380         * modules/posix_spawnattr_setpgroup: New file.
41381         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
41382         modifications.
41383         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
41384         module.
41385
41386         New module 'posix_spawnattr_getpgroup'.
41387         * modules/posix_spawnattr_getpgroup: New file.
41388         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
41389         modifications.
41390         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
41391         module.
41392
41393         New module 'posix_spawnattr_setflags'.
41394         * modules/posix_spawnattr_setflags: New file.
41395         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
41396         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
41397         module.
41398
41399         New module 'posix_spawnattr_getflags'.
41400         * modules/posix_spawnattr_getflags: New file.
41401         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
41402         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
41403         module.
41404
41405         New module 'posix_spawnattr_init'.
41406         * modules/posix_spawnattr_init: New file.
41407         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
41408         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
41409         module.
41410
41411         New module 'posix_spawn_file_actions_destroy'.
41412         * modules/posix_spawn_file_actions_destroy: New file.
41413         * lib/spawn_faction_destroy.c: New file, from GNU libc with
41414         modifications.
41415         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
41416         the new module.
41417
41418         New module 'posix_spawn_file_actions_addopen'.
41419         * modules/posix_spawn_file_actions_addopen: New file.
41420         * lib/spawn_faction_addopen.c: New file, from GNU libc with
41421         modifications.
41422         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
41423         the new module.
41424
41425         New module 'posix_spawn_file_actions_adddup2'.
41426         * modules/posix_spawn_file_actions_adddup2: New file.
41427         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
41428         modifications.
41429         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
41430         the new module.
41431
41432         New module 'posix_spawn_file_actions_addclose'.
41433         * modules/posix_spawn_file_actions_addclose: New file.
41434         * lib/spawn_faction_addclose.c: New file, from GNU libc with
41435         modifications.
41436         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
41437         the new module.
41438
41439         New module 'posix_spawn_file_actions_init'.
41440         * modules/posix_spawn_file_actions_init: New file.
41441         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
41442         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
41443         new module.
41444
41445         New module 'posix_spawn-internal'.
41446         * modules/posix_spawn-internal: New file.
41447         * lib/spawn_int.h: New file, from GNU libc with modifications.
41448         * lib/spawni.c: New file, from GNU libc with modifications.
41449         * m4/posix_spawn.m4: New file.
41450
41451         New module 'spawn'.
41452         * modules/spawn: New file.
41453         * lib/spawn.in.h: New file, from GNU libc with modifications.
41454         * m4/spawn_h.m4: New file.
41455         * doc/posix-headers/spawn.texi: Mention the new module.
41456
41457 2008-09-28  Bruno Haible  <bruno@clisp.org>
41458
41459         * modules/sched-tests: New file.
41460         * tests/test-sched.c: New file.
41461
41462         New module 'sched'.
41463         * modules/sched: New file.
41464         * lib/sched.in.h: New file.
41465         * m4/sched_h.m4: New file.
41466         * doc/posix-headers/sched.texi: Mention the new module.
41467
41468 2008-09-27  Eric Blake  <ebb9@byu.net>
41469
41470         Fix previous patch, and tweak references to $0.
41471         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
41472         (func_version, func_gnulib_dir): Don't call this program
41473         gnulib-tool.
41474         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
41475         with using $0 in function.
41476         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
41477         (func_fatal_error): Reuse the name the user invoked us with.
41478
41479 2008-09-27  Bruno Haible  <bruno@clisp.org>
41480
41481         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
41482         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
41483         (gl_ICONV_H): Not here.
41484         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
41485         instead of assigning ICONV_H directly.
41486
41487         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
41488         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
41489         WCHAR_H directly.
41490
41491 2008-09-27  Bruno Haible  <bruno@clisp.org>
41492
41493         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
41494         * modules/arpa_inet (Depends-on): Add link-warning.
41495         (Makefile.am): Insert the definition of GL_LINK-WARNING.
41496         * modules/unistd (Makefile.am): Likewise.
41497
41498 2008-09-26  Bruno Haible  <bruno@clisp.org>
41499
41500         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
41501         variables.
41502         (func_version): Essentially copied from gnulib-tool.
41503         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
41504         func_readlink): Copied from gnulib-tool.
41505
41506 2008-09-26  Bruno Haible  <bruno@clisp.org>
41507
41508         * gnulib-tool (func_version): Change directory to $gnulib_dir before
41509         invoking git-version-gen.
41510
41511 2008-09-26  Bruno Haible  <bruno@clisp.org>
41512
41513         * posix-modules: Update to directory names changed on 2008-01-19.
41514         Remove commas in output before splitting into words. No more need to
41515         avoid 'ftruncate' since 2007-02-19.
41516
41517 2008-09-26  Bruno Haible  <bruno@clisp.org>
41518
41519         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
41520
41521 2008-09-26  Bruno Haible  <bruno@clisp.org>
41522
41523         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
41524         * modules/fwriteerror (Depends-on): Add errno.
41525
41526 2008-09-26  Bruno Haible  <bruno@clisp.org>
41527
41528         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
41529         * tests/test-vc-list-files-cvs.sh: Likewise.
41530
41531 2008-09-26  Bruno Haible  <bruno@clisp.org>
41532
41533         * doc/posix-headers/sys_resource.texi: Reorder items.
41534
41535 2008-09-26  Jim Meyering  <meyering@redhat.com>
41536
41537         fts: tweak inode comparison function
41538         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
41539         inode numbers, as documented.
41540
41541         fts: sort dirent entries on inode number before traversing
41542         This avoids a quadratic, seek-related performance penalty when
41543         operating on a directory containing many entries (measurable at 10k;
41544         3.5 hours at 2 million entries with a cold cache) on certain types
41545         of file systems, including ext3 and ext4, but not tmpfs.
41546         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
41547         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
41548         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
41549         (fs_handles_readdir_ordered_dirents_efficiently): New function.
41550         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
41551         (fts_build): Set the stat.st_ino member from D_INO.
41552         If it is likely to be useful, sort dirent entries on inode number.
41553
41554         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
41555         and the struct statfs.f_type member.
41556         * modules/fts (Depends-on): Add d-ino.
41557
41558 2008-09-26  Bruno Haible  <bruno@clisp.org>
41559
41560         * modules/sigpipe-die (Depends-on): Add sigpipe.
41561
41562         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
41563         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
41564         and GNULIB_STDIO_H_SIGPIPE are set.
41565         * lib/stdio-write.c: New file.
41566         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
41567         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
41568         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
41569         REPLACE_STDIO_WRITE_FUNCS.
41570         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
41571         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
41572         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
41573         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
41574         * modules/stdio (Files): Add lib/stdio-write.c.
41575         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
41576         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
41577         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
41578         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
41579         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
41580         REPLACE_FPRINTF_POSIX.
41581         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
41582         REPLACE_PRINTF_POSIX.
41583         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
41584         REPLACE_VFPRINTF_POSIX.
41585         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
41586         REPLACE_VPRINTF_POSIX.
41587         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
41588         SIGPIPE issue.
41589         * doc/posix-functions/fputc.texi: Likewise.
41590         * doc/posix-functions/fputs.texi: Likewise.
41591         * doc/posix-functions/fwrite.texi: Likewise.
41592         * doc/posix-functions/printf.texi: Likewise.
41593         * doc/posix-functions/putc.texi: Likewise.
41594         * doc/posix-functions/putchar.texi: Likewise.
41595         * doc/posix-functions/puts.texi: Likewise.
41596         * doc/posix-functions/vfprintf.texi: Likewise.
41597         * doc/posix-functions/vprintf.texi: Likewise.
41598
41599         * modules/safe-write (Depends-on): Add write.
41600
41601         * modules/sigpipe-tests: New file.
41602         * tests/test-sigpipe.c: New file.
41603         * tests/test-sigpipe.sh: New file.
41604
41605         * modules/write: New file.
41606         * lib/unistd.in.h: Include <sys/types.h>.
41607         (write): New declaration.
41608         * lib/write.c: New file.
41609         * m4/write.m4: New file.
41610         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
41611         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
41612         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
41613         GNULIB_WRITE, REPLACE_WRITE.
41614         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
41615         and the SIGPIPE issue.
41616
41617         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
41618         (raise): New declaration.
41619         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
41620         (ext_signal): New function.
41621         (rpl_raise): New function.
41622         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
41623         GNULIB_SIGNAL_H_SIGPIPE.
41624         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
41625         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
41626
41627         * modules/sigpipe: New file.
41628         * m4/sigpipe.m4: New file.
41629
41630 2008-09-25  Derek Price  <derek@ximbiot.com>
41631             Bruno Haible  <bruno@clisp.org>
41632
41633         * gnulib-tool (func_import): Report all license incompatibilities, not
41634         just the first one.
41635
41636 2008-09-25  Bruno Haible  <bruno@clisp.org>
41637
41638         * gnulib-tool (func_import): When computing the edits, consider not
41639         only the Makefile.ams that exist but also those that will be generated.
41640
41641 2008-09-25  Simon Josefsson  <simon@josefsson.org>
41642
41643         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
41644         fixes gnulib-tool --test warning about duplicate dependency.
41645
41646 2008-09-25  Bruno Haible  <bruno@clisp.org>
41647
41648         * gnulib-tool: Don't ask the user to perform edits in the generated
41649         Makefile.ams.
41650         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
41651         apply to the Makefile.am being generated.
41652         (func_emit_tests_Makefile_am): Execute edits that apply to the
41653         Makefile.am being generated.
41654         (func_import): Setup list of Makefile.am edits before emitting the
41655         Makefile.ams, not at the end.
41656         (func_create_testdir): Update.
41657         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
41658
41659 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41660
41661         * gnulib-tool (func_import): Store the --tests-base option in the
41662         comment in gnulib-cache.m4.
41663
41664 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
41665
41666         * NEWS: Document increased portability that sys_select now provides.
41667
41668         * lib/sys_select.in.h: Install select wrapper.
41669         * lib/sys_socket.in.h: Use more descriptive name when there is no
41670         select wrapper.
41671         * lib/winsock-select.c: New.
41672         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
41673         Require gl_HEADER_SYS_SOCKET.
41674         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
41675         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
41676         * tests/test-sys_select.c: Add functional tests.
41677
41678 2008-09-24  Eric Blake  <ebb9@byu.net>
41679
41680         open, fopen: close fd leak in last patch
41681         * lib/open.c (rpl_open): Close fd before returning error.
41682         * lib/fopen.c (rpl_fopen): Close fd before returning error.
41683         * doc/posix-functions/open.texi (open): Document that Irix also
41684         has the bug.
41685         * doc/posix-functions/fopen.texi (fopen): Likewise.
41686         Reported by Paolo Bonzini.
41687
41688 2008-09-24  Bruno Haible  <bruno@clisp.org>
41689
41690         Ensure that a filename ending in a slash cannot be used to access a
41691         non-directory.
41692         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
41693         to check whether it's really a directory.
41694         * lib/fopen.c: Include fcntl.h, unistd.h.
41695         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
41696         and fdopen().
41697         * modules/fopen (Depends-on): Add unistd.
41698         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
41699         * tests/test-fopen.c (main): Likewise.
41700         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
41701         * doc/posix-functions/fopen.texi: Likewise.
41702         Reported by Eric Blake.
41703
41704 2008-09-23  Eric Blake  <ebb9@byu.net>
41705
41706         c-stack: avoid compiler optimizations when provoking overflow
41707         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
41708         recursion harder to optimize, to ensure a stack overflow occurs.
41709         * tests/test-c-stack.c (recurse): Likewise.
41710         Borrowed from libsigsegv.
41711
41712         c-stack: work around Irix sigaltstack bug
41713         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
41714         whether sigaltstack uses wrong end of stack_t (copied in part from
41715         libsigsegv).
41716         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
41717         Irix bug, without requiring an over-allocation.
41718         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
41719         bug.
41720
41721         fopen: document mingw bug on directories
41722         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
41723         not allowing a stream visiting a directory, even though reading
41724         from such a stream is not portable.
41725
41726 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
41727
41728         * lib/poll.c: Rewrite.
41729         * modules/poll: Depend on alloca.
41730
41731 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
41732
41733         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
41734         instead define prototypes for a full set of wrappers.  Ensure
41735         that Cygwin does not use the compatibility code, which is only
41736         for MinGW.
41737         * lib/winsock.c: New.
41738         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
41739         * modules/sys_socket: Add lib/winsock.c.
41740
41741         * modules/poll-tests: Add errno and perror.
41742         * tests/test-poll.c: Use ioctl, not ioctlsocket.
41743
41744 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
41745
41746         * tests/test-poll.c: Downgrade minimum needed Winsock version.
41747
41748 2008-09-23  Bruno Haible  <bruno@clisp.org>
41749
41750         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
41751         * doc/glibc-functions/*: Likewise.
41752
41753 2008-09-23  Simon Josefsson  <simon@josefsson.org>
41754
41755         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
41756         success.
41757
41758 2008-09-22  Eric Blake  <ebb9@byu.net>
41759             Bruno Haible  <bruno@clisp.org>
41760
41761         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
41762         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
41763         supply %A but mishandle pseudo-NaN.
41764         Reported by Simon Josefsson.
41765
41766 2008-09-21  Bruno Haible  <bruno@clisp.org>
41767
41768         * tests/test-lock.c (main): Tweak skip message.
41769         * tests/test-tls.c (main): Likewise.
41770
41771 2008-09-21  Bruno Haible  <bruno@clisp.org>
41772
41773         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
41774         whether 'struct sigaction' has sa_sigaction here...
41775         (gl_PREREQ_SIG_HANDLER_H): ... not here.
41776         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
41777
41778 2008-09-21  Bruno Haible  <bruno@clisp.org>
41779
41780         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
41781         section.
41782         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
41783         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
41784         the new section.
41785         (Support for obsolete systems lacking POSIX:2001): New section.
41786         (String handling <string.h>): Move strdup to the new section.
41787         Suggested by Simon Josefsson and Paolo Bonzini.
41788
41789 2008-09-21  Bruno Haible  <bruno@clisp.org>
41790
41791         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
41792         exponents in %e and %g results on 'long double'. Needed for mingw's
41793         improved *printf functions.
41794         * tests/test-vasprintf-posix.c (test_function): Likewise.
41795         * tests/test-snprintf-posix.h (test_function): Likewise.
41796         * tests/test-sprintf-posix.h (test_function): Likewise.
41797         Reported by Eric Blake.
41798
41799 2008-09-21  Bruno Haible  <bruno@clisp.org>
41800
41801         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
41802         * tests/test-sprintf-posix.h (test_function): Likewise.
41803
41804 2008-09-21  Bruno Haible  <bruno@clisp.org>
41805
41806         * modules/getpass (Depends-on): Add strdup-posix.
41807
41808         New module 'strdup-posix'.
41809         * modules/strdup-posix: New file.
41810         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
41811         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
41812         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
41813         REPLACE_STRDUP.
41814         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
41815         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
41816         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
41817         strdup-posix.
41818
41819         * modules/strdup (Depends-on): Remove malloc-posix.
41820
41821 2008-09-20  Bruno Haible  <bruno@clisp.org>
41822
41823         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
41824         Wildenhues.
41825
41826 2008-09-20  Bruno Haible  <bruno@clisp.org>
41827
41828         Ensure that wint_t gets defined on IRIX 5.3.
41829         * lib/wchar.in.h (wint_t): Define if not defined by the system.
41830         * lib/wctype.in.h (wint_t): Likewise.
41831         (__wctype_wint_t): Remove type.
41832         (isw*): Use wint_t instead of __wctype_wint_t.
41833         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
41834         * modules/wchar (Files): Add m4/wint_t.m4.
41835         (Makefile.am): Substitute HAVE_WINT_T.
41836         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
41837         * tests/test-wctype.c: Check that wint_t is defined.
41838         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
41839         * doc/posix-headers/wctype.texi: Likewise.
41840         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
41841
41842 2008-09-18  Bruno Haible  <bruno@clisp.org>
41843
41844         * gnulib-tool (func_exit): Update comment.
41845
41846 2008-09-18  Simon Josefsson  <simon@josefsson.org>
41847
41848         * modules/getaddrinfo (Depends-on): Remove strdup, this module
41849         assumes strdup exists and does not depend on strdup to return
41850         ENOMEM on out of memory conditions.
41851
41852 2008-09-18  Bruno Haible  <bruno@clisp.org>
41853
41854         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
41855         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
41856         digits for the exponent.
41857
41858 2008-09-18  Jim Meyering  <meyering@redhat.com>
41859             Bruno Haible  <bruno@clisp.org>
41860
41861         * lib/vasnprintf.c (decimal_point_char): Define also if
41862         NEED_PRINTF_INFINITE_LONG_DOUBLE.
41863
41864 2008-09-16  Bruno Haible  <bruno@clisp.org>
41865         and Eric Blake  <ebb9@byu.net>
41866
41867         vasnprintf: support Irix 5.3
41868         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
41869         that mishandle long double infinity.
41870         Reported by Tom G. Christensen.
41871
41872 2008-09-16  Bruno Haible  <bruno@clisp.org>
41873
41874         * doc/glibc-functions/scandir.texi: Mention the function is missing on
41875         Solaris 9.
41876         * doc/glibc-functions/alphasort.texi: Likewise.
41877         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
41878
41879 2008-09-16  Jim Meyering  <meyering@redhat.com>
41880
41881         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
41882         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
41883         a umask modification leak out of a subshell.  Otherwise, the
41884         opensolaris /bin/sh would be accepted and thus cause unwarranted
41885         failures in the coreutils test suite.
41886
41887 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
41888
41889         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
41890         to succeed.
41891
41892 2008-09-16  Jim Meyering  <meyering@redhat.com>
41893
41894         avoid spurious test failure when library is built without ACL support
41895         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
41896         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
41897         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
41898         * tests/test-copy-acl.sh: Likewise.
41899
41900 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41901
41902         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
41903         based on character occurrence counts.
41904
41905 2008-09-15  Eric Blake  <ebb9@byu.net>
41906
41907         tests: avoid some compiler warnings
41908         * tests/test-memchr.c (main): Pass NULL indirectly.
41909         * tests/test-closein.c (main): Avoid unused variable.
41910
41911 2008-09-15  Bruno Haible  <bruno@clisp.org>
41912
41913         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
41914         are missing on OpenBSD 4.0 individually.
41915         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
41916
41917 2008-09-15  Bruno Haible  <bruno@clisp.org>
41918
41919         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
41920         * doc/posix-functions/strerror.texi: Mention also Cygwin.
41921         * doc/posix-functions/perror.texi: Likewise.
41922         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
41923         is missing.
41924         Reported by Eric Blake.
41925
41926         * lib/errno.in.h: Use replacement values >= 2000.
41927         Reported by Eric Blake.
41928
41929 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41930
41931         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
41932         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
41933         limit.
41934         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
41935         compareseq was aborted.
41936
41937 2008-09-14  Bruno Haible  <bruno@clisp.org>
41938
41939         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
41940         yvec_edit_count.
41941         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
41942         (fstrcmp_bounded): Simplify result computation accordingly.
41943
41944 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41945
41946         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
41947         (fstrcmp): Define in terms of fstrcmp_bounded.
41948         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
41949         lower_bound argument.
41950         Return quickly if the result is certainly < lower_bound.
41951         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
41952
41953 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41954
41955         * lib/diffseq.h (EARLY_ABORT): New macro.
41956         (compareseq): Change return type to bool. Return true when EARLY_ABORT
41957         evaluates to true.
41958
41959 2008-09-14  Bruno Haible  <bruno@clisp.org>
41960
41961         * modules/perror-tests: New file.
41962         * tests/test-perror.sh: New file.
41963         * tests/test-perror.c: New file.
41964
41965         New module 'perror'.
41966         * lib/stdio.in.h (perror): New declaration.
41967         * lib/perror.c: New file.
41968         * m4/perror.m4: New file.
41969         * modules/perror: New file.
41970         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
41971         * doc/posix-functions/perror.texi: Mention the perror module.
41972         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
41973         REPLACE_PERROR.
41974         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
41975         REPLACE_PERROR.
41976
41977 2008-09-14  Bruno Haible  <bruno@clisp.org>
41978
41979         * modules/stdio (Makefile.am): Reorder to match the order in
41980         lib/stdio.in.h.
41981         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
41982
41983 2008-09-13  Bruno Haible  <bruno@clisp.org>
41984
41985         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
41986
41987 2008-09-13  Bruno Haible  <bruno@clisp.org>
41988
41989         Extend strerror to cover the added errno values.
41990         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
41991         (rpl_strerror): Provide error messages for the added errno values and
41992         for the WSA* values.
41993         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
41994         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
41995         strerror.
41996         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
41997         * modules/strerror (Depends-on): Add errno.
41998         * doc/posix-functions/strerror.texi: Document the change.
41999         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
42000         and EOVERFLOW.
42001
42002 2008-09-13  Bruno Haible  <bruno@clisp.org>
42003
42004         * modules/EOVERFLOW: Remove file.
42005         * m4/eoverflow.m4: Remove file.
42006         * modules/EOVERFLOW-tests: Remove file.
42007         * tests/test-EOVERFLOW.c: Remove file.
42008         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
42009         * modules/ftell (Depends-on): Likewise.
42010         * modules/getdelim (Depends-on): Likewise.
42011         * modules/getugroups (Depends-on): Likewise.
42012         * modules/poll (Depends-on): Likewise.
42013         * modules/snprintf (Depends-on): Likewise.
42014         * modules/sprintf-posix (Depends-on): Likewise.
42015         * modules/vasnprintf (Depends-on): Likewise.
42016         * modules/vasprintf (Depends-on): Likewise.
42017         * modules/vfprintf-posix (Depends-on): Likewise.
42018         * modules/vsnprintf (Depends-on): Likewise.
42019         * modules/vsprintf-posix (Depends-on): Likewise.
42020         * modules/xvasprintf (Depends-on): Likewise.
42021         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
42022         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
42023         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
42024         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
42025         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
42026         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
42027         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
42028         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
42029         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
42030         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
42031         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
42032         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
42033         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
42034         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
42035         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
42036         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
42037         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
42038         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
42039         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
42040         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
42041         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
42042         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
42043         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
42044         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
42045         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
42046         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
42047         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
42048         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
42049         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
42050         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
42051         * MODULES.html.sh: Remove EOVERFLOW.
42052         * NEWS: Mention the change.
42053
42054 2008-09-13  Bruno Haible  <bruno@clisp.org>
42055
42056         * modules/errno-tests: New file.
42057         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
42058
42059         * lib/errno.in.h: New file.
42060         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
42061         * modules/errno: New file.
42062         * doc/posix-headers/errno.texi: Update documentation.
42063         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
42064
42065 2008-09-13  Bruno Haible  <bruno@clisp.org>
42066
42067         * tests/test-poll.c: Use #if for native Windows, rather than testing
42068         __MSVCRT__.
42069
42070 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42071             Bruno Haible  <bruno@clisp.org>
42072
42073         * lib/glob.c: Don't include <pwd.h> on native Windows.
42074         (WINDOWS32): New macro.
42075         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
42076
42077 2008-09-13  Bruno Haible  <bruno@clisp.org>
42078
42079         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
42080         (ETIMEDOUT): Remove macro.
42081         (glthread_cond_timedwait_multithreaded): New declaration.
42082         (glthread_cond_timedwait): Use it.
42083         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
42084         (glthread_cond_timedwait_multithreaded): New function.
42085
42086 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
42087
42088         * modules/poll-tests: Do not check for io.h.
42089         * tests/test-poll.c: Check for __MSVCRT__ instead.
42090
42091 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
42092
42093         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
42094         * modules/poll-tests: Add inet_pton, stdbool, sockets.
42095         * tests/test-poll.c: Use them.  Use _pipe on Windows.
42096
42097 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
42098
42099         * modules/poll-tests: New.
42100         * tests/test-poll.c: New.
42101
42102 2008-09-12  Eric Blake  <ebb9@byu.net>
42103
42104         frexp: test for NetBSD failure on -0.0
42105         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
42106         not all, bugs from NetBSD 3.0 have been fixed.
42107         * doc/posix-functions/frexp.texi (frexp): Document bug.
42108         Reported by Thomas Klausner.
42109
42110         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
42111         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
42112         literal -0.0.
42113         Reported by Jonathan C. Patschke <jp@centtech.com>.
42114
42115 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42116
42117         * lib/glthread/cond.h: Use dummy implementation also if
42118         USE_WIN32_THREADS.
42119
42120 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42121
42122         * modules/fnmatch-posix (License): Change to LGPLv2+.
42123         * modules/fnmatch-gnu (License): Likewise.
42124
42125 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42126
42127         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
42128
42129 2008-09-11  Jim Meyering  <meyering@redhat.com>
42130
42131         * users.txt: Add gtk-vnc.
42132
42133 2008-09-08  Simon Josefsson  <simon@josefsson.org>
42134
42135         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
42136         rotate amounts.
42137
42138         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
42139         required for 16-bit and 8-bit rotates.
42140         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
42141         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
42142         UINT8_MAX instead of hard-coded constants.
42143         Suggested by Paul Eggert.
42144
42145 2008-09-07  Bruno Haible  <bruno@clisp.org>
42146
42147         * tests/test-striconveh.c (main): Check behaviour when converting from
42148         UTF-7.
42149
42150         Make striconveh work better with stateful encodings.
42151         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
42152         that iconv does not increment the inptr when returning -1/EINVAL.
42153
42154 2008-09-07  Bruno Haible  <bruno@clisp.org>
42155
42156         * build-aux/config.rpath: Update according to libtool-2.2.6.
42157         * build-aux/config.libpath: Likewise.
42158
42159 2008-09-06  Bruno Haible  <bruno@clisp.org>
42160
42161         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
42162         * lib/freadptr.c (freadptr): Likewise.
42163         * lib/freadseek.c (freadptrinc): Likewise.
42164         Reported by Simon Josefsson.
42165
42166 2008-09-06  Bruno Haible  <bruno@clisp.org>
42167
42168         * modules/freadptr (License): Change to LGPLv2+.
42169         * modules/freadseek (License): Likewise.
42170         Suggested by Eric Blake.
42171
42172         * modules/memchr2 (License): Change to LGPLv2+.
42173         Approved by Eric Blake.
42174
42175 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42176             Bruno Haible  <bruno@clisp.org>
42177
42178         Make gnulib-tool work with native 'sed' on AIX.
42179         * gnulib-tool (sed_noop): New variable.
42180         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
42181         func_add_or_update, func_create_testdir): Use it to initialize sed
42182         script variables.
42183         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
42184
42185 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
42186             Bruno Haible  <bruno@clisp.org>
42187
42188         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
42189         also works after #include directives.
42190
42191 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
42192
42193         getdate.y: reject an out-of-range timezone value
42194         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
42195         the range [-24...+24].  When specified with only one or two digits,
42196         * tests/test-getdate.c: Tests for the fix.
42197         * doc/getdate.texi: Document this change.
42198
42199 2008-09-03  Bruno Haible  <bruno@clisp.org>
42200
42201         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
42202
42203 2008-09-02  Simon Josefsson  <simon@josefsson.org>
42204
42205         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
42206         <bruce.korb@gmail.com> with ideas from Ben Pfaff
42207         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
42208         Blake <ebb9@byu.net>.
42209
42210         * tests/test-bitrotate.c: Add more test vectors.
42211
42212 2008-09-02  Eric Blake  <ebb9@byu.net>
42213
42214         vasnprintf-posix: handle large precision via %.*d
42215         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
42216         when handling it ourselves.
42217         * tests/test-vasnprintf-posix.c (test_function): Add test.
42218         * tests/test-snprintf-posix.h (test_function): Likewise.
42219         * tests/test-sprintf-posix.h (test_function): Likewise.
42220         * tests/test-vasprintf-posix.c (test_function): Likewise.
42221         Reported by Alain Guibert.
42222
42223 2008-09-01  Eric Blake  <ebb9@byu.net>
42224
42225         c-stack: make configure-time check more robust
42226         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
42227         successful sigaction call.
42228         Reported by Tom G. Christensen.
42229
42230 2008-09-01  Bruno Haible  <bruno@clisp.org>
42231
42232         New module 'findprog-lgpl'.
42233         * modules/findprog-lgpl: New file.
42234         * lib/findprog-lgpl.c: New file.
42235         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
42236         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
42237         to decide whether to use strdup or xstrdup, concatenated_filename or
42238         xconcatenated_filename.
42239
42240 2008-09-01  Bruno Haible  <bruno@clisp.org>
42241
42242         Split module 'concat-filename' into 'concat-filename' (LGPL) and
42243         'xconcat-filename' (GPL).
42244         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
42245         (License): Change to LGPLv2+.
42246         * modules/xconcat-filename: New file.
42247         * lib/concat-filename.h (concatenated_filename): Change specification.
42248         (xconcatenated_filename): New declaration.
42249         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
42250         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
42251         memory situations.
42252         * lib/xconcat-filename.c: New file.
42253         * NEWS: Mention the change.
42254         * lib/findprog.c: Include concat-filename.h, not filename.h.
42255         (find_in_path): Use xconcatenated_filename instead of
42256         concatenated_filename.
42257         * lib/javacomp.c: Include concat-filename.h, not filename.h.
42258         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
42259         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
42260         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
42261         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
42262         instead of concatenated_filename.
42263         * lib/javaexec.c: Include concat-filename.h, not filename.h.
42264         (execute_java_class): Use xconcatenated_filename instead of
42265         concatenated_filename.
42266         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
42267         * modules/javacomp (Depends-on): Likewise.
42268         * modules/javaexec (Depends-on): Likewise.
42269
42270 2008-09-01  Bruno Haible  <bruno@clisp.org>
42271
42272         Split module 'filename' into 'filename' and 'concat-filename'.
42273         * modules/filename: Keep only lib/filename.h.
42274         (License): Change to LGPLv2+.
42275         * modules/concat-filename: New file, extracted from modules/filename.
42276         * lib/filename.h (concatenated_filename): Remove declaration.
42277         * lib/concat-filename.h: New file, extracted from lib/filename.h.
42278         * lib/concat-filename.c: Include concat-filename.h.
42279         * NEWS: Mention the change.
42280
42281 2008-09-01  Simon Josefsson  <simon@josefsson.org>
42282
42283         * lib/bitrotate.h (rotl8, rotr8): Add.
42284
42285         * modules/bitrotate (configure.ac): Need
42286         AC_REQUIRE([AC_C_INLINE]).
42287         (Description): Mention stdint.h.  Reported by Bruno Haible
42288         <bruno@clisp.org>.
42289
42290         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
42291         Paolo Bonzini <bonzini@gnu.org>.
42292
42293 2008-08-31  Bruno Haible  <bruno@clisp.org>
42294
42295         Assume Solaris specific bi-arch conventions on Solaris systems.
42296         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
42297         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
42298         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
42299         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
42300         like acl_libdirstem.
42301         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
42302         acl_libdirstem.
42303         * NEWS: Mention the change.
42304         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
42305
42306 2008-08-31  Jim Meyering  <meyering@redhat.com>
42307
42308         * lib/strftime.h: Add comments describing the two added arguments.
42309
42310         remove duplicate #include directives
42311         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
42312         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
42313
42314 2008-08-31  Bruno Haible  <bruno@clisp.org>
42315
42316         New module 'sigpipe-die'.
42317         * modules/sigpipe-die: New file.
42318         * lib/sigpipe-die.h: New file.
42319         * lib/sigpipe-die.c: New file.
42320         * MODULES.html.sh (Signal handling): Add sigpipe-die.
42321
42322 2008-08-31  Bruno Haible  <bruno@clisp.org>
42323
42324         Don't override previously installed signal handlers.
42325         * lib/fatal-signal.c (saved_sigactions): New variable.
42326         (uninstall_handlers): Reset the signal to the saved handler, not
42327         to SIG_DFL (except when ignored).
42328         (install_handlers): Save the previous handlers.
42329
42330 2008-08-30  Bruno Haible  <bruno@clisp.org>
42331
42332         * gnulib-tool (func_reset_sigpipe): New function.
42333         (func_get_automake_snippet, func_modules_transitive_closure,
42334         func_import): Invoke it before a join command that reads from stdin,
42335         to avoid "echo: write error: Broken pipe" error messages on stderr.
42336         Reported by Sam Steingold <sds@gnu.org>.
42337
42338 2008-08-30  Bruno Haible  <bruno@clisp.org>
42339
42340         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
42341         Code copied from m4/open.m4.
42342         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
42343         access and the filename ends in a slash. Code copied from lib/open.c.
42344         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
42345         * tests/test-fopen.c (main): Check against bug with trailing slash.
42346
42347 2008-08-29  Bruno Haible  <bruno@clisp.org>
42348
42349         Avoid some "gcc -pedantic" warnings.
42350         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
42351         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
42352         * lib/dirent.in.h: Likewise.
42353         * lib/fcntl.in.h: Likewise.
42354         * lib/float.in.h: Likewise.
42355         * lib/iconv.in.h: Likewise.
42356         * lib/inttypes.in.h: Likewise.
42357         * lib/locale.in.h: Likewise.
42358         * lib/math.in.h: Likewise.
42359         * lib/netinet_in.in.h: Likewise.
42360         * lib/search.in.h: Likewise.
42361         * lib/signal.in.h: Likewise.
42362         * lib/stdarg.in.h: Likewise.
42363         * lib/stdint.in.h: Likewise.
42364         * lib/stdio.in.h: Likewise.
42365         * lib/stdlib.in.h: Likewise.
42366         * lib/string.in.h: Likewise.
42367         * lib/strings.in.h: Likewise.
42368         * lib/sys_select.in.h: Likewise.
42369         * lib/sys_socket.in.h: Likewise.
42370         * lib/sys_stat.in.h: Likewise.
42371         * lib/sys_time.in.h: Likewise.
42372         * lib/sysexits.in.h: Likewise.
42373         * lib/time.in.h: Likewise.
42374         * lib/unistd.in.h: Likewise.
42375         * lib/wchar.in.h: Likewise.
42376         * lib/wctype.in.h: Likewise.
42377         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
42378         * modules/fchdir (Makefile.am): Likewise.
42379         * modules/fcntl (Makefile.am): Likewise.
42380         * modules/float (Makefile.am): Likewise.
42381         * modules/iconv_open (Makefile.am): Likewise.
42382         * modules/inttypes (Makefile.am): Likewise.
42383         * modules/locale (Makefile.am): Likewise.
42384         * modules/math (Makefile.am): Likewise.
42385         * modules/netinet_in (Makefile.am): Likewise.
42386         * modules/search (Makefile.am): Likewise.
42387         * modules/signal (Makefile.am): Likewise.
42388         * modules/stdarg (Makefile.am): Likewise.
42389         * modules/stdint (Makefile.am): Likewise.
42390         * modules/stdio (Makefile.am): Likewise.
42391         * modules/stdlib (Makefile.am): Likewise.
42392         * modules/string (Makefile.am): Likewise.
42393         * modules/strings (Makefile.am): Likewise.
42394         * modules/sys_select (Makefile.am): Likewise.
42395         * modules/sys_socket (Makefile.am): Likewise.
42396         * modules/sys_stat (Makefile.am): Likewise.
42397         * modules/sys_time (Makefile.am): Likewise.
42398         * modules/sysexits (Makefile.am): Likewise.
42399         * modules/time (Makefile.am): Likewise.
42400         * modules/unistd (Makefile.am): Likewise.
42401         * modules/wchar (Makefile.am): Likewise.
42402         * modules/wctype (Makefile.am): Likewise.
42403         Reported by Reuben Thomas <rrt@sc3d.org>.
42404
42405 2008-08-29  Bruno Haible  <bruno@clisp.org>
42406
42407         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
42408         any more.
42409
42410 2008-08-29  Simon Josefsson  <simon@josefsson.org>
42411
42412         * MODULES.html.sh (Misc): Add bitrotate.
42413
42414         * modules/bitrotate: New file.
42415
42416         * lib/bitrotate.h: New file.
42417
42418         * modules/bitrotate-tests: New file.
42419
42420         * tests/test-bitrotate.c: New file.
42421
42422         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
42423         on the bitrotate module.
42424
42425         * lib/arctwo.c: Use new bitrotate module.
42426
42427 2008-08-29  Jim Meyering  <meyering@redhat.com>
42428
42429         bootstrap: merge changes from coreutils
42430         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
42431         of copied files.  Remove a kludge, now that this is fixed.
42432         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
42433         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
42434         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
42435
42436 2008-08-29  Bruno Haible  <bruno@clisp.org>
42437
42438         * MODULES.html.sh: Remove --cvs-urls option.
42439
42440 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
42441
42442         maint.mk: adjust to file name change
42443         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
42444
42445 2008-08-28  Jim Meyering  <meyering@redhat.com>
42446
42447         * modules/getndelim2 (License): Relicense to LGPLv2+.
42448         Approved by Richard Stallman for the version of 1995, and by
42449         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
42450
42451 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
42452
42453         * lib/getdelim.c (flockfile, funlockfile): Make all of them
42454         dummy if one is not available.  Do not touch them if
42455         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
42456         (getc_maybe_unlocked): New.
42457         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
42458
42459 2008-08-26  Eric Blake  <ebb9@byu.net>
42460
42461         doc/INSTALL: resync from autoconf
42462         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
42463         (INSTALL_PRELUDE): Delete; this is done more efficiently by
42464         moving...
42465         * install.texi [!autoconf]: ...here.  Resync from autoconf.
42466         * INSTALL: Regenerate.
42467         * INSTALL.ISO: New file.
42468         * INSTALL.UTF-8: Likewise.
42469
42470 2008-08-26  Jim Meyering  <meyering@redhat.com>
42471
42472         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
42473         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
42474         these definitions conditional, so that they may be overridden, too.
42475
42476 2008-08-26  Bruno Haible  <bruno@clisp.org>
42477
42478         Generate INSTALL file variants with prettier quotes.
42479         * doc/Makefile (INSTALL_PRELUDE): New macro.
42480         (INSTALL): Use it.
42481         (INSTALL.ISO, INSTALL.UTF-8): New rules.
42482
42483 2008-08-26  Bruno Haible  <bruno@clisp.org>
42484
42485         Run makeinfo in an English locale.
42486         * doc/Makefile (MAKEINFO): New variable.
42487
42488 2008-08-26  Bruno Haible  <bruno@clisp.org>
42489
42490         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
42491         Suggested by Eric Blake.
42492
42493 2008-08-25  Bruno Haible  <bruno@clisp.org>
42494
42495         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
42496
42497 2008-08-25  Eric Blake  <ebb9@byu.net>
42498
42499         c-stack: test that stack overflow can be caught
42500         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
42501         that platform allows handling stack overflow; at least OS/2 EMX
42502         has sigaltstack, but crashes before transferring control to
42503         handler on stack overflow.
42504         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
42505         check for HAVE_STACK_OVERFLOW_HANDLING.
42506         Reported by Elbert Pol.
42507
42508 2008-08-25  Bruno Haible  <bruno@clisp.org>
42509
42510         * doc/posix-functions/strftime.texi: Fix description of strftime
42511         module.
42512
42513 2008-08-24  Bruno Haible  <bruno@clisp.org>
42514
42515         * tests/uniwidth/test-uc_width2.c: New file.
42516         * tests/uniwidth/test-uc_width2.sh: New file.
42517         * modules/uniwidth/width-tests (Files): Add the new files.
42518         (TESTS): Add uniwidth/test-uc_width2.sh.
42519         (TESTS_ENVIRONMENT): New variable.
42520         (check_PROGRAMS): Add test-uc_width2.
42521         (test_uc_width2_SOURCES): New variable.
42522
42523         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
42524         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
42525         not 0x00AB.
42526         Reported by Alexander V. Lukyanov <lav@netis.ru>.
42527
42528 2008-08-22  Eric Blake  <ebb9@byu.net>
42529
42530         test-lock, test-tls: mention why a test is skipped
42531         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
42532         skipped.
42533         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
42534
42535         count-one-bits: relax license
42536         * modules/count-one-bits (License): Relicense to LGPLv2+.
42537         Suggested by Ludovic Courtès, approved by Ben Pfaff.
42538
42539 2008-08-22  Andreas Schwab  <schwab@suse.de>
42540
42541         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
42542         Remove spurious space in assignment.
42543
42544 2008-08-21  Simon Josefsson  <simon@josefsson.org>
42545
42546         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
42547         Paul Eggert <eggert@CS.UCLA.EDU>.
42548
42549 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
42550
42551         * modules/gettext: Add m4/threadlib.m4.
42552
42553 2008-08-19  Eric Blake  <ebb9@byu.net>
42554
42555         test-c-stack: fix compilation failure on FreeBSD 5.0
42556         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
42557         headers before <sys/resource.h>.
42558         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
42559         the bug.
42560         Reported by Nelson H. F. Beebe.
42561
42562         strverscmp: migrate from "strverscmp.h" to <string.h>
42563         * modules/string (Makefile.am): Add new hooks.
42564         * modules/strverscmp (Files): Remove strverscmp.h.
42565         (Depends-on): Add string.
42566         (configure.ac): Add indicator.
42567         (Include): Mention new header.
42568         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
42569         defaults.
42570         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
42571         results.
42572         * lib/strverscmp.h: Delete.
42573         * lib/string.in.h (strverscmp): Provide declaration, when needed.
42574         * tests/test-strverscmp.c (includes): Adjust client.
42575         * lib/check-version.c (includes): Likewise.
42576         * NEWS: Document the change.
42577
42578         strverscmp: add unit test
42579         * modules/strverscmp-tests: New file.
42580         * tests/test-strverscmp.c: Likewise.
42581
42582 2008-08-19  Simon Josefsson  <simon@josefsson.org>
42583
42584         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
42585         regarding Windows crypto stuff, from Mono.
42586
42587 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
42588
42589         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
42590         if present, for intel RND.  Return error on failures.
42591
42592 2008-08-18  Ben Pfaff  <blp@gnu.org>
42593
42594         gitlog-to-changelog: give better diagnostic for failed pipe-open
42595         * build-aux/gitlog-to-changelog: Improve error message: suggest
42596         that the version of Git may be too old.
42597
42598 2008-08-18  Simon Josefsson  <simon@josefsson.org>
42599
42600         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
42601         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
42602
42603 2008-08-18  Bruno Haible  <bruno@clisp.org>
42604
42605         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
42606         pthread_in_use().
42607
42608 2008-08-18  Bruno Haible  <bruno@clisp.org>
42609
42610         * lib/glthread/threadlib.c: Include <pthread.h>.
42611
42612 2008-08-18  Bruno Haible  <bruno@clisp.org>
42613
42614         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
42615         glthread_recursive_lock_* macros.
42616         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
42617         Fix syntax error.
42618
42619 2008-08-18  Bruno Haible  <bruno@clisp.org>
42620
42621         * lib/glthread/thread.c: Avoid forcing a context switch right after
42622         thread creation.
42623
42624 2008-08-17  Bruno Haible  <bruno@clisp.org>
42625
42626         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
42627         * lib/glthread/thread.h: Provide Win32 specific implementation.
42628         * modules/thread (Files): Add lib/glthread/thread.c.
42629         (Depends-on): Add lock.
42630         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
42631
42632 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42633
42634         New module 'yield'.
42635         * modules/yield: New file.
42636         * lib/glthread/yield.h: New file.
42637         * m4/yield.m4: New file.
42638         * MODULES.html.sh (Multithreading): Add yield.
42639
42640 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42641
42642         New module 'thread'.
42643         * modules/thread: New file.
42644         * lib/glthread/thread.h: New file.
42645         * m4/thread.m4: New file.
42646         * MODULES.html.sh (Multithreading): Add thread.
42647
42648 2008-08-17  Bruno Haible  <bruno@clisp.org>
42649
42650         * lib/glthread/lock.h: Include <stdlib.h> always.
42651         * lib/glthread/tls.h: Likewise.
42652         * lib/glthread/cond.h: Likewise.
42653
42654 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42655
42656         New module 'cond'.
42657         * modules/cond: New file.
42658         * lib/glthread/cond.h: New file.
42659         * lib/glthread/cond.c: New file.
42660         * m4/cond.m4: New file.
42661         * MODULES.html.sh (Multithreading): Add cond.
42662
42663 2008-08-16  Eric Blake  <ebb9@byu.net>
42664
42665         c-stack: fix regression on Irix 5.3 from 2008-06-21
42666         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
42667         sa_sigaction...
42668         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
42669         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
42670         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
42671         * modules/signal (Makefile.am): Use the value.
42672         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
42673         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
42674         * doc/posix-headers/signal.texi (signal.h): Document this
42675         portability issue.
42676         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
42677         Reported by Tom G. Christensen.
42678
42679 2008-08-17  Bruno Haible  <bruno@clisp.org>
42680
42681         New module 'threadlib'.
42682         * modules/threadlib: New file.
42683         * lib/glthread/threadlib.c: New file, extracted from
42684         lib/glthread/lock.c.
42685         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
42686         functions.
42687         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
42688         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
42689         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
42690         macros.
42691         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
42692         (gl_DISABLE_THREADS): Remove macro.
42693         * modules/lock (Files): Remove build-aux/config.rpath.
42694         (Depends-on): Remove havelib. Add threadlib.
42695         (configure.ac-early): Remove section.
42696         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
42697         * modules/tls (Depends-on): Remove lock. Add threadlib.
42698         (Link): New section, copied from threadlib.
42699         * MODULES.html.sh (Multithreading): Add threadlib.
42700
42701 2008-08-14  Bruno Haible  <bruno@clisp.org>
42702
42703         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
42704         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
42705         glthread_rwlock_unlock, glthread_rwlock_destroy,
42706         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
42707         glthread_recursive_lock_destroy): Define as macros always.
42708         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
42709         glthread_lock_lock.
42710         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
42711         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
42712         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
42713         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
42714         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
42715         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
42716         (glthread_recursive_lock_lock_func): Renamed from
42717         glthread_recursive_lock_lock.
42718         (glthread_recursive_lock_unlock_func): Renamed from
42719         glthread_recursive_lock_unlock.
42720         (glthread_recursive_lock_destroy_func): Renamed from
42721         glthread_recursive_lock_destroy.
42722
42723 2008-08-14  Bruno Haible  <bruno@clisp.org>
42724
42725         * lib/glthread/lock.h: Renamed from lib/lock.h.
42726         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
42727         * lib/glthread/tls.h: Renamed from lib/tls.h.
42728         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
42729         * lib/fstrcmp.c: Update includes.
42730         * lib/strsignal.c: Update includes.
42731         * modules/lock (Files, Makefile.am): Update.
42732         (Include): Change to "glthread/lock.h".
42733         * modules/tls (Files, Makefile.am): Update.
42734         (Include): Change to "glthread/tls.h".
42735         * tests/test-lock.c: Update includes.
42736         * tests/test-tls.c: Update includes.
42737         * NEWS: Mention the renamed header files.
42738
42739 2008-08-11  Jim Meyering  <meyering@redhat.com>
42740
42741         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
42742
42743 2008-08-11  Eric Blake  <ebb9@byu.net>
42744
42745         test-c-stack: avoid C99-ism
42746         * tests/test-c-stack.c (main): Fix whitespace, move declaration
42747         before statement.
42748         Reported by Alain Guibert.
42749
42750 2008-08-10  Jim Meyering  <meyering@redhat.com>
42751
42752         ensure that return value of uinttostr et al are not ignored
42753         * lib/inttostr.h (__GNUC_PREREQ): Define.
42754         (__attribute_warn_unused_result__): Define.
42755         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
42756
42757 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
42758
42759         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
42760         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
42761
42762 2008-08-07  Jim Meyering  <meyering@redhat.com>
42763
42764         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
42765
42766         * modules/mkstemp (License): Relicense under LGPLv2+.
42767         * modules/tempname (License): Likewise.
42768
42769 2008-08-06  Bruno Haible  <bruno@clisp.org>
42770
42771         * lib/poll.c (poll): Further micro-optimization.
42772
42773 2008-08-06  Jim Meyering  <meyering@redhat.com>
42774
42775         inet_pton.c: use locale-independent tolower
42776         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
42777         (inet_pton6): Use c_tolower rather than tolower.
42778         * modules/inet_pton (Depends-on): Add c-ctype.
42779
42780 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
42781
42782         * lib/poll.c (poll): Avoid division when timeout is 0, cache
42783         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
42784
42785 2008-08-06  Jim Meyering  <meyering@redhat.com>
42786
42787         * modules/inet_pton (License): Relicense under LGPLv2+.
42788
42789 2008-08-03  Bruno Haible  <bruno@clisp.org>
42790
42791         Additional non-aborting API for lock and tls.
42792         * lib/lock.h: Include <errno.h>.
42793         (glthread_lock_init): New macro/function.
42794         (gl_lock_init): Define as wrapper around glthread_lock_init.
42795         (glthread_lock_lock): New macro/function.
42796         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
42797         (glthread_lock_unlock): New macro/function.
42798         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
42799         (glthread_lock_destroy): New macro/function.
42800         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
42801         (glthread_rwlock_init): New macro/function.
42802         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
42803         (glthread_rwlock_rdlock): New macro/function.
42804         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
42805         (glthread_rwlock_wrlock): New macro/function.
42806         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
42807         (glthread_rwlock_unlock): New macro/function.
42808         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
42809         (glthread_rwlock_destroy): New macro/function.
42810         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
42811         (glthread_recursive_lock_init): New macro/function.
42812         (gl_recursive_lock_init): Define as wrapper around
42813         glthread_recursive_lock_init.
42814         (glthread_recursive_lock_lock): New macro/function.
42815         (gl_recursive_lock_lock): Define as wrapper around
42816         glthread_recursive_lock_lock.
42817         (glthread_recursive_lock_unlock): New macro/function.
42818         (gl_recursive_lock_unlock): Define as wrapper around
42819         glthread_recursive_lock_unlock.
42820         (glthread_recursive_lock_destroy): New macro/function.
42821         (gl_recursive_lock_destroy): Define as wrapper around
42822         glthread_recursive_lock_destroy.
42823         (glthread_once): New macro/function.
42824         (gl_once): Define as wrapper around glthread_once.
42825         Update function declarations.
42826         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
42827         glthread_rwlock_init. Return error code.
42828         (glthread_rwlock_rdlock_multithreaded): Renamed from
42829         glthread_rwlock_rdlock. Return error code.
42830         (glthread_rwlock_wrlock_multithreaded): Renamed from
42831         glthread_rwlock_wrlock. Return error code.
42832         (glthread_rwlock_unlock_multithreaded): Renamed from
42833         glthread_rwlock_unlock. Return error code.
42834         (glthread_rwlock_destroy_multithreaded): Renamed from
42835         glthread_rwlock_destroy. Return error code.
42836         (glthread_recursive_lock_init_multithreaded): Renamed from
42837         glthread_recursive_lock_init. Return error code.
42838         (glthread_recursive_lock_lock_multithreaded): Renamed from
42839         glthread_recursive_lock_lock. Return error code.
42840         (glthread_recursive_lock_unlock_multithreaded): Renamed from
42841         glthread_recursive_lock_unlock. Return error code.
42842         (glthread_recursive_lock_destroy_multithreaded): Renamed from
42843         glthread_recursive_lock_destroy. Return error code.
42844         (glthread_once_call): Make static.
42845         (glthread_once_multithreaded): Renamed from glthread_once.
42846         * lib/tls.h: Include <errno.h>.
42847         (glthread_tls_key_init): New macro/function.
42848         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
42849         (glthread_tls_set): New macro/function.
42850         (gl_tls_set): Define as wrapper around glthread_tls_set.
42851         (glthread_tls_key_destroy): New macro/function.
42852         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
42853         Update function declarations.
42854         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
42855         glthread_tls_get.
42856         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
42857
42858 2008-08-04  Eric Blake  <ebb9@byu.net>
42859
42860         gnumakefile: use space, not TAB, outside of targets
42861         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
42862
42863 2008-08-02  Jim Meyering  <meyering@redhat.com>
42864
42865         getdate.y: avoid locale-dependent date parsing failure
42866         In Turkish locales, getdate would fail to recognize keywords
42867         containing a lowercase "i".  The solution is not to rely on
42868         locale-sensitive case-conversion.
42869         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
42870         (lookup_word): Use c_toupper in place of toupper.
42871         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
42872         Reported by Vefa Bicakci <bicave@superonline.com> in
42873         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
42874         * modules/getdate (Depends-on): Add c-ctype.
42875
42876 2008-08-02  Bruno Haible  <bruno@clisp.org>
42877
42878         * gnulib-tool (func_import): When updating or creating a .gitignore
42879         file, prepend each added line with a slash, and ignore leading slashes
42880         from the existing lines.
42881         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
42882
42883 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42884
42885         Portability fix for GNU make 3.79.1.
42886         * top/GNUmakefile: Avoid 'else COND', which older GNU make
42887         versions do not understand.
42888
42889 2008-08-01  Bruno Haible  <bruno@clisp.org>
42890
42891         Work around bug of HP-UX 10.20 cc with -0.0 literal.
42892         * tests/test-isnanf.h (zero): New variable.
42893         (main): Avoid literal -0.0f.
42894         * tests/test-isnand.h (zero): New variable.
42895         (main): Avoid literal -0.0.
42896         * tests/test-isnanl.h (zero): New variable.
42897         (main): Avoid literal -0.0L.
42898         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
42899         (test_float, test_double, test_long_double): Avoid literals -0.0f,
42900         -0.0, -0.0L.
42901         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
42902         (test_signbitd): Avoid literal -0.0.
42903         (test_signbitl): Avoid literal -0.0L.
42904         * tests/test-ceilf1.c (zero): New variable.
42905         (main): Avoid literal -0.0f.
42906         * tests/test-ceill.c (zero): New variable.
42907         (main): Avoid literal -0.0L.
42908         * tests/test-floorf1.c (zero): New variable.
42909         (main): Avoid literal -0.0f.
42910         * tests/test-floorl.c (zero): New variable.
42911         (main): Avoid literal -0.0L.
42912         * tests/test-roundf1.c (zero): New variable.
42913         (main): Avoid literal -0.0f.
42914         * tests/test-round1.c (zero): New variable.
42915         (main): Avoid literal -0.0.
42916         * tests/test-roundl.c (zero): New variable.
42917         (main): Avoid literal -0.0L.
42918         * tests/test-truncf1.c (zero): New variable.
42919         (main): Avoid literal -0.0f.
42920         * tests/test-trunc1.c (zero): New variable.
42921         (main): Avoid literal -0.0.
42922         * tests/test-truncl.c (zero): New variable.
42923         (main): Avoid literal -0.0L.
42924         * tests/test-frexp.c (zero): New variable.
42925         (main): Avoid literal -0.0.
42926         * tests/test-frexpl.c (zero): New variable.
42927         (main): Avoid literal -0.0L.
42928         * tests/test-ldexpl.c (zero): New variable.
42929         (main): Avoid literal -0.0L.
42930         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
42931         (zerod, zerol): New variables.
42932         (test_function): Avoid literals -0.0, -0.0L.
42933         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
42934         (zerod, zerol): New variables.
42935         (test_function): Avoid literals -0.0, -0.0L.
42936         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
42937         (zerod, zerol): New variables.
42938         (test_function): Avoid literals -0.0, -0.0L.
42939         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
42940         (zerod, zerol): New variables.
42941         (test_function): Avoid literals -0.0, -0.0L.
42942         * tests/test-strtod.c (zero): New variable.
42943         (main): Avoid literal -0.0.
42944         Reported by Jonathan C. Patschke <jp@centtech.com>.
42945
42946 2008-07-31  Jim Meyering  <meyering@redhat.com>
42947
42948         sha256.h: correct definition of SHA224_DIGEST_SIZE
42949         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
42950         Reported by Paulie Pena IV <paulie4@gmail.com>.
42951         Define as 224 / 8, rather than as a literal.
42952         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
42953         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
42954         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
42955
42956 2008-07-31  Bruno Haible  <bruno@clisp.org>
42957
42958         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
42959         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
42960         Reported by Jonathan Patschke <jp@centtech.com>.
42961
42962 2008-07-31  Bruno Haible  <bruno@clisp.org>
42963
42964         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
42965         Reported by Paolo Bonzini <bonzini@gnu.org>.
42966
42967 2008-07-30  Eric Blake  <ebb9@byu.net>
42968
42969         test-strtod: allow compilation without -lm
42970         * tests/test-strtod.c (main): Avoid link dependence on fabs.
42971         Reported by Dennis Clarke <blastwave@gmail.com>.
42972
42973 2008-07-28  Jim Meyering  <meyering@redhat.com>
42974
42975         bootstrap: work also when there are no .po files in po/
42976         * build-aux/bootstrap (update_po_files): Complete the change
42977         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
42978
42979 2008-07-27  Jim Meyering  <meyering@redhat.com>
42980
42981         * users.txt: Add zile.
42982
42983 2008-07-26  Ben Pfaff  <blp@gnu.org>
42984
42985         Add missing dependencies on new m4/exponent[fdl].m4 files.
42986         * modules/isnanf-nolibm: Add m4/exponentf.m4.
42987         * modules/isnand-nolibm: Add m4/exponentd.m4.
42988         * modules/isnanl-nolibm: Add m4/exponentl.m4.
42989         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
42990         m4/isnan[fdl].m4, because the macros actually used moved.
42991         Reported by Jim Meyering.
42992
42993 2008-07-14  Ben Pfaff  <blp@gnu.org>
42994
42995         Add isinf module.
42996         * lib/isinf.c: New file.
42997         * lib/math.in.h: Define isinf macro if we have decided to replace
42998         it.
42999         * m4/isinf.m4: New file.
43000         * m4/math_h.m4: Initialize and substitute variables for isinf
43001         module.
43002         * modules/isinf: New file.
43003         * modules/isinf-tests: New file.
43004         * modules/math: Add substitutions for new module.
43005         * tests/test-isinf.c: New file.
43006         * doc/posix-functions/isinf.texi: Mention new module.
43007         * MODULES.html.sh: Mention new module.
43008
43009 2008-07-14  Ben Pfaff  <blp@gnu.org>
43010
43011         Factor out some macros for use by additional modules.
43012         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
43013         exponentf.m4.
43014         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
43015         exponentd.m4.
43016         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
43017         file exponentl.m4.
43018         * m4/exponentf.m4: New file.
43019         * m4/exponentd.m4: New file.
43020         * m4/exponentl.m4: New file.
43021         * modules/isnanf: Use new file m4/exponentf.m4.
43022         * modules/isnand: Use new file m4/exponentd.m4.
43023         * modules/isnanl: Use new file m4/exponentl.m4.
43024
43025 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
43026
43027         mktime.c: normalize tp->tm_isdst value to -1/0/1.
43028         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
43029         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
43030         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
43031
43032         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
43033         readlink on platforms without PATH_MAX.
43034
43035 2008-07-21  Eric Blake  <ebb9@byu.net>
43036
43037         Warn, not fail, on stale version.
43038         * top/GNUmakefile (_curr-ver): Tone down previous patch.
43039
43040         Don't allow installation with stale devel version number.
43041         * top/GNUmakefile (_is-install-target): New macro.
43042         (_curr-ver): Forbid installation with stale version number.
43043
43044 2008-07-20  Bruno Haible  <bruno@clisp.org>
43045
43046         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
43047         TESTS_ENVIRONMENT.
43048         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
43049
43050 2008-07-20  Bruno Haible  <bruno@clisp.org>
43051
43052         * lib/c-stack.h (c_stack_action): Add documentation.
43053         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
43054
43055 2008-07-20  Bruno Haible  <bruno@clisp.org>
43056
43057         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
43058         * modules/readlink (License): Likewise.
43059
43060 2008-07-17  Eric Blake  <ebb9@byu.net>
43061
43062         * modules/c-stack (Link): Fix typo.
43063
43064         Make c-stack use libsigsegv, when available.
43065         * modules/c-stack (Depends-on): Add libsigsegv.
43066         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
43067         needed.
43068         * lib/c-stack.c (SIGSTKSZ): Define fallback.
43069         (segv_handler, overflow_handler, c_stack_action)
43070         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
43071         implementation when libsigsegv is available, but only when using
43072         the library is necessary.
43073         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
43074         comment, explaining why XSI check fails on Linux.
43075         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
43076         * tests/test-c-stack2.sh: Tweak skip message.
43077         * NEWS: Document new link-time requirements.
43078
43079 2008-07-16  Eric Blake  <ebb9@byu.net>
43080
43081         c-stack: Expose false positives when not using libsigsegv.
43082         * modules/c-stack-tests (Files): Expand test.
43083         * tests/test-c-stack.c (main): Add means to conditionally trigger
43084         non-overflow SIGSEGV.
43085         * tests/test-c-stack2.sh: New file.
43086
43087 2008-07-14  Bruno Haible  <bruno@clisp.org>
43088
43089         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
43090         Reported by Eric Blake.
43091
43092 2008-07-14  Sam Steingold  <sds@gnu.org>
43093             Bruno Haible  <bruno@clisp.org>
43094
43095         New module libsigsegv.
43096         * modules/libsigsegv: New file.
43097         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
43098         modifications.
43099         * MODULES.html.sh (Signal handling): New section.
43100
43101 2008-07-14  Bruno Haible  <bruno@clisp.org>
43102
43103         * modules/unictype/ctype-* (Description): Add the word "function".
43104         Improves the resulting doc in MODULES.html.
43105
43106 2008-07-12  Ben Pfaff  <blp@gnu.org>
43107
43108         Add longlong module.
43109         * modules/longlong: New file.
43110
43111 2008-07-12  Bruno Haible  <bruno@clisp.org>
43112
43113         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
43114         to empty.
43115
43116 2008-07-10  Ben Pfaff  <blp@gnu.org>
43117
43118         Add isnan module.
43119         * doc/posix-functions/isnan.texi: Mention new module.
43120         * lib/math.in.h: Define isnan macro if we have decided to replace
43121         it.
43122         * m4/isnan.m4: New file.
43123         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
43124         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
43125         also.
43126         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
43127         redundancy.
43128         * m4/math_h.m4: Initialize and substitute variables for isnan
43129         module.
43130         * modules/isnan: New file.
43131         * modules/isnan-tests: New file.
43132         * modules/math: Add substitutions for new module.
43133         * tests/test-isnan.c: New file.
43134         * MODULES.html.sh: Mention new module.
43135
43136 2008-07-10  Ben Pfaff  <blp@gnu.org>
43137
43138         Add isnanf module.
43139         * lib/isnanf.m4: New file.
43140         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
43141         (gl_HAVE_ISNANF_IN_LIBM): New macro.
43142         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
43143         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
43144         * modules/isnanf: New file.
43145         * modules/isnanf-tests: New file.
43146         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
43147         files.
43148         * tests/test-isnanf-nolibm.c: factored most of its contents into
43149         new file tests/test-isnanf.h.
43150         * tests/test-isnanf.h: New file.
43151         * tests/test-isnanf.c: New file.
43152         * MODULES.html.sh: Mention new module.
43153         * doc/glibc-functions/isnanf.texi: Mention new module.
43154
43155 2008-07-10  Ben Pfaff  <blp@gnu.org>
43156
43157         Add isnand module.
43158         * lib/isnand.h: New file.
43159         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
43160         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
43161         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
43162         functionality also.
43163         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
43164         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
43165         (gl_HAVE_ISNAND_IN_LIBM): New macro.
43166         * modules/isnand: New file.
43167         * modules/isnand-tests: New file.
43168         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
43169         files.
43170         * tests/test-isnand-nolibm.c: factored most of its contents into
43171         new file tests/test-isnand.h.
43172         * tests/test-isnand.h: New file.
43173         * tests/test-isnand.c: New file.
43174         * MODULES.html.sh: Mention new module.
43175
43176 2008-07-10  Ben Pfaff  <blp@gnu.org>
43177
43178         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
43179         * lib/isnand.h: Rename lib/isnand-nolibm.h.
43180         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
43181         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
43182         * modules/isnanf-nolibm: Update references to renamed files.
43183         * modules/isnand-nolibm: Likewise.
43184         * modules/isnanf-nolibm-tests: Likewise.
43185         * modules/isnand-nolibm-tests: Likewise.
43186         * lib/frexp.c: Likewise.
43187         * lib/isfinite.c: Likewise.
43188         * lib/signbitd.c: Likewise.
43189         * lib/signbitf.c: Likewise.
43190         * lib/vasnprintf.c: Likewise.
43191         * tests/test-ceilf1.c: Likewise.
43192         * tests/test-ceilf2.c: Likewise.
43193         * tests/test-floorf1.c: Likewise.
43194         * tests/test-floorf2.c: Likewise.
43195         * tests/test-frexp.c: Likewise.
43196         * tests/test-round1.c: Likewise.
43197         * tests/test-round2.c: Likewise.
43198         * tests/test-roundf1.c: Likewise.
43199         * tests/test-strtod.c: Likewise.
43200         * tests/test-trunc1.c: Likewise.
43201         * tests/test-trunc2.c: Likewise.
43202         * tests/test-truncf1.c: Likewise.
43203         * tests/test-truncf2.c: Likewise.
43204         * NEWS: Mention the renamed header files.
43205
43206 2008-07-11  Jim Meyering  <meyering@redhat.com>
43207
43208         vc-list-files: make the last-resort awk code more portable
43209         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
43210         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
43211         does not support it.
43212
43213 2008-07-10  Eric Blake  <ebb9@byu.net>
43214
43215         Work with tar's bootstrap.
43216         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
43217         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
43218         an m4 comment.
43219
43220 2008-07-09  Jim Meyering  <meyering@redhat.com>
43221
43222         posix-shell.m4: fix typo that made this test malfunction
43223         * m4/posix-shell.m4: Remove capitalization in variable name.
43224
43225 2008-07-08  Bruno Haible  <bruno@clisp.org>
43226
43227         * m4/onceonly.m4: Update comments.
43228         Reported by Ben Pfaff <blp@cs.stanford.edu>.
43229
43230 2008-07-04  Jim Meyering  <meyering@redhat.com>
43231
43232         * users.txt: Add vc-dwim.
43233         (bison, coreutils): Use the gitweb URL.
43234
43235 2008-07-03  Jim Meyering  <meyering@redhat.com>
43236
43237         * users.txt: Add libffcall.  From Sam Steingold.
43238
43239 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
43240
43241         getdate.y: do not ignore TZ with relative day, month or year offset
43242         * lib/getdate.y (get_date): Move the tz-handling block to follow the
43243         relative-date-handling, since otherwise, the latter would clobber the
43244         sole output (an updated Start value) of the tz-handling block.
43245         * tests/test-getdate.c: Tests for the fix
43246
43247 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43248
43249         Recognize 'foo_LIBRARIES += libgnu.a'.
43250         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
43251         makefile snippet has already specified an installation location,
43252         also using '+='.
43253
43254 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
43255
43256         getdate.y: factor out common actions
43257         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
43258         Use them in place of open-coded actions.
43259
43260 2008-07-01  Simon Josefsson  <simon@josefsson.org>
43261
43262         Add self-test for getdate module.
43263         * modules/getdate-tests: New file.
43264         * tests/test-getdate.c: New file.
43265
43266 2008-06-29  Bruno Haible  <bruno@clisp.org>
43267
43268         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
43269         .gitignore.
43270         Reported by Sylvain Beucler <beuc@beuc.net>.
43271
43272 2008-06-29  Bruno Haible  <bruno@clisp.org>
43273
43274         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
43275         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
43276
43277 2008-06-29  Bruno Haible  <bruno@clisp.org>
43278
43279         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
43280         EXTRA_DIST.
43281         Reported by Sylvain Beucler <beuc@beuc.net>.
43282
43283 2008-06-26  Jim Meyering  <meyering@redhat.com>
43284
43285         make several modules depend on the "open" module
43286         This provides slightly increased consistency when opening-for-write
43287         the name of a non-directory spelled with a trailing slash.
43288         * modules/chdir-safer: Likewise.
43289         * modules/chown: Likewise.
43290         * modules/clean-temp: Likewise.
43291         * modules/copy-file: Likewise.
43292         * modules/fchdir: Likewise.
43293         * modules/fcntl-safer: Likewise.
43294         * modules/pipe: Likewise.
43295         * modules/utime: Likewise.
43296         Prompted by Eric Blake and Bruno Haible.
43297
43298 2008-06-24  Andreas Schwab  <schwab@suse.de>
43299
43300         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
43301         literals can be used as initializers for global variables.
43302
43303 2008-06-23  Eric Blake  <ebb9@byu.net>
43304
43305         Make gnulib-cache.m4 easier to diff.
43306         * gnulib-tool (func_import): Allow newlines when reading cached
43307         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
43308
43309 2008-06-23  Bruno Haible  <bruno@clisp.org>
43310
43311         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
43312         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
43313         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
43314         m4/signalblocking.m4.
43315         (gl_PREREQ_SIGACTION): Don't invoke it.
43316         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
43317         gl_PREREQ_SIG_HANDLER_H.
43318         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
43319         Don't check for sigaction here.
43320
43321 2008-06-23  Bruno Haible  <bruno@clisp.org>
43322
43323         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
43324         (install_handlers): Don't set the SA_RESETHAND flag.
43325
43326 2008-06-23  Bruno Haible  <bruno@clisp.org>
43327
43328         * m4/sigaction.m4: Comment fixes.
43329         * lib/signal.in.h: Likewise.
43330
43331 2008-06-23  Eric Blake  <ebb9@byu.net>
43332
43333         Fix typo.
43334         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
43335
43336         Avoid SA_ namespace.
43337         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
43338         Reported by Ralf Wildenhues.
43339
43340         Avoid test failure due to SA_RESTORER.
43341         * tests/test-sigaction.c (SA_MASK): New macro.
43342         (main): Avoid failing due to extension flags being set.
43343         Reported by Jim Meyering.
43344
43345         Revert use of sig-handler.h in sigprocmask.c.
43346         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
43347         it requires the existence of struct sigaction.
43348         * lib/sigprocmask.c (handler_t): Restore typedef.
43349         (rpl_signal, old_handlers): Use local type.
43350
43351 2008-06-22  Bruno Haible  <bruno@clisp.org>
43352
43353         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
43354         conditionally.
43355         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
43356
43357 2008-06-22  Bruno Haible  <bruno@clisp.org>
43358
43359         * doc/posix-functions/siginterrupt.texi: Move note.
43360
43361         * lib/signal.in.h (SA_RESTART): New macro.
43362         * lib/sigaction.c: Update comment.
43363
43364         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
43365
43366         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
43367         (gl_PREREQ_SIGPROCMASK): Invoke it.
43368         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
43369
43370         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
43371
43372         * lib/sigprocmask.c: Update a comment.
43373
43374 2008-06-21  Eric Blake  <ebb9@byu.net>
43375
43376         Use sigaction module rather than signal().
43377         * modules/c-stack (Depends-on): Add sigaction.
43378         * modules/fatal-signal (Depends-on): Likewise.
43379         * modules/nanosleep (Depends-on): Likewise.
43380         * modules/sigprocmask (Files): Add sig-handler.h.
43381         * modules/sigaction (Files): Likewise.
43382         * lib/sig-handler.h (get_handler): New file, suggested by Paul
43383         Eggert.
43384         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
43385         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
43386         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
43387         (init_fatal_signals): Likewise.
43388         * lib/nanosleep.c (rpl_nanosleep): Likewise.
43389         (siginterrupt): Delete fallback.
43390         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
43391         instead.
43392         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
43393         siginterrupt.
43394
43395         New module sigaction, for mingw.
43396         * modules/sigaction: New module...
43397         * modules/sigaction-tests: ...and its test.
43398         * m4/sigaction.m4: New file.
43399         * lib/sigaction.c: Likewise.
43400         * tests/test-sigaction.c: Likewise.
43401         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
43402         * modules/signal (Makefile.am): Likewise.
43403         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
43404         needed.
43405         * doc/posix-headers/signal.texi (signal.h): Mention provided
43406         types.
43407         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
43408         that sigaction is preferable.
43409         * doc/posix-functions/sigaction.texi (sigaction): Mention new
43410         module.
43411         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
43412         sigaction.
43413
43414         Improve robustness of sigprocmask by overriding signal.
43415         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
43416         is in use.
43417         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
43418         (SIGKILL, SIGSTOP): Provide fallbacks.
43419         (rpl_signal): Implement.
43420         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
43421         signal can be called inside handlers.
43422
43423         Fix nanosleep module on mingw.
43424         * modules/nanosleep (Depends-on): Add sys_select.
43425         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
43426
43427         Fix licensing of sigprocmask.
43428         * modules/raise (License): Relicense as LGPL.
43429
43430 2008-06-21  Bruno Haible  <bruno@clisp.org>
43431
43432         * lib/propername.c (proper_name_utf8): Don't use the transliterated
43433         result if it contains question marks.
43434         Reported by Michael Geng <linux@michaelgeng.de>.
43435
43436 2008-06-19  Bruno Haible  <bruno@clisp.org>
43437
43438         Fix CVS-ism.
43439         * doc/gnulib.texi: Include updated-stamp.texi.
43440         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
43441         (updated-stamp.texi): New rule.
43442         (gnulib.info): Depend on it.
43443         * doc/.gitignore: Add updated-stamp.texi.
43444         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
43445
43446 2008-06-19  Bruno Haible  <bruno@clisp.org>
43447
43448         * doc/Makefile (gnulib.info): Update and simplify dependencies.
43449         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
43450
43451 2008-06-19  Eric Blake  <ebb9@byu.net>
43452
43453         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
43454         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
43455         Reported by Stepan Kasal.
43456
43457 2008-06-18  Bruno Haible  <bruno@clisp.org>
43458
43459         * lib/fatal-signal.c (init_fatal_signals): Add comment.
43460         Reported by Eric Blake.
43461
43462 2008-06-18  Eric Blake  <ebb9@byu.net>
43463
43464         Work around cygwin 1.5.25 strsignal bug.
43465         * tests/test-strsignal.c: Allow for const char *.
43466         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
43467
43468 2008-06-18  Simon Josefsson  <simon@josefsson.org>
43469
43470         * users.txt: Update URL to article and add author/date
43471         information.
43472
43473 2008-06-17  Bruno Haible  <bruno@clisp.org>
43474
43475         New macro gl_DISABLE_THREADS.
43476         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
43477         if the user did not pass --enable-threads or --disable-threads option.
43478         (gl_DISABLE_THREADS): New macro.
43479         Reported by Eric Blake <ebb9@byu.net>.
43480
43481 2008-06-17  Bruno Haible  <bruno@clisp.org>
43482
43483         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
43484         when the macro ignores it.
43485         Based on a patch by Eric Blake <ebb9@byu.net>.
43486
43487 2008-06-17  Bruno Haible  <bruno@clisp.org>
43488
43489         * modules/tls (License): Change to LGPLv2+.
43490         Reported by Eric Blake.
43491
43492 2008-06-17  Eric Blake  <ebb9@byu.net>
43493
43494         Simplify c-stack prerequisites.
43495         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
43496         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
43497         no longer requires <ucontext.h> to exist.  Optimize setrlimit
43498         check.
43499         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
43500         <sys/resource.h>.
43501
43502         Move c-stack test into testsuite.
43503         * modules/c-stack-tests: New file.
43504         * lib/c-stack.c [DEBUG]: Move test program...
43505         * tests/test-c-stack.c: ...into this new file.  Skip rather than
43506         fail test if sigaltstack is lacking.
43507         * tests/test-c-stack.sh: New driver file.
43508
43509 2008-06-16  Eric Blake  <ebb9@byu.net>
43510
43511         Use raise module consistently.
43512         * modules/fatal-signal (Depends-on): Add raise.
43513         * modules/sigprocmask (Depends-on): Likewise.
43514         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
43515         * lib/sigprocmask.c (sigprocmask): Likewise.
43516         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
43517         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
43518
43519         Fix compliance bug in sigpending.
43520         * lib/sigprocmask.c (sigpending): Return pending array via
43521         parameter, not return value.
43522
43523 2008-06-14  Eric Blake  <ebb9@byu.net>
43524
43525         Improve obstack-printf test code.
43526         * tests/test-obstack-printf.c (test_function): Fix comment, and
43527         simplify usage of obstack_* in macros.  Add a test for coverage.
43528         Reported by Bruno Haible.
43529
43530 2008-06-14  Bruno Haible  <bruno@clisp.org>
43531
43532         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
43533         array size as a constant, not as a const variable.
43534         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
43535         AC_USE_SYSTEM_EXTENSIONS.
43536         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
43537         Test whether the obstack_printf function actually exists.
43538         * modules/obstack-printf (Depends-on): Add extensions.
43539         (Include): Remove obstack.h.
43540         * modules/obstack-printf-posix (Depends-on): Add extensions.
43541         (Include): Remove obstack.h.
43542
43543 2008-06-13  Eric Blake  <ebb9@byu.net>
43544
43545         Add obstack-printf and obstack-printf-posix modules.
43546         * modules/obstack-printf: New file.
43547         * modules/obstack-printf-posix: Likewise.
43548         * MODULES.html.sh (Misc): Mention them.
43549         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
43550         Likewise.
43551         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
43552         Likewise.
43553         * modules/stdio (Makefile.am): Accomodate new modules.
43554         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
43555         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
43556         Declare.
43557         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
43558         functions.
43559         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
43560         (gl_REPLACE_OBSTACK_PRINTF): New macros
43561         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
43562         * tests/test-obstack-printf.c: New file.
43563         * modules/obstack-printf-tests: Likewise.
43564         * modules/obstack-printf-posix-tests: Likewise.
43565
43566 2008-06-11  Bruno Haible  <bruno@clisp.org>
43567
43568         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
43569         * lib/open.c: Include errno.h.
43570         (open): Fail when attempting to write to a file that has a trailing
43571         slash.
43572         * tests/test-open.c (main): Test against trailing slash bug.
43573         * doc/posix-functions/open.texi: Mention the trailing slash bug.
43574
43575 2008-06-10  Bruno Haible  <bruno@clisp.org>
43576
43577         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
43578         for $? to work inside the trap command, with various /bin/sh-s.
43579         * tests/test-vc-list-files-cvs.sh: Likewise.
43580
43581 2008-06-10  Bruno Haible  <bruno@clisp.org>
43582
43583         * lib/acl-internal.h: Don't include gettext.h here.
43584         * lib/set-mode-acl.c: Include gettext.h here.
43585         * lib/copy-acl.c: Likewise.
43586
43587 2008-06-10  Bruno Haible  <bruno@clisp.org>
43588
43589         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
43590         * lib/wait-process.c (wait_subprocess): Likewise.
43591         * lib/execute.h (execute): Add termsigp argument.
43592         * lib/execute.c (execute): Likewise.
43593         * lib/csharpcomp.c (compile_csharp_using_pnet,
43594         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
43595         * lib/csharpexec.c (execute_csharp_using_pnet,
43596         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
43597         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
43598         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
43599         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
43600         is_jikes_present): Update.
43601         * lib/javaexec.c (execute_java_class): Update.
43602         * lib/javaversion.c (execute_and_read_line): Update.
43603         * NEWS: Document the changes.
43604         Reported by Eric Blake.
43605
43606 2008-06-10  Eric Blake  <ebb9@byu.net>
43607
43608         Add missing include.
43609         * tests/test-strstr.c (includes): Add <signal.h>.
43610         * tests/test-strcasestr.c (includes): Likewise.
43611         * tests/test-memmem.c (includes): Likewise.
43612
43613 2008-06-10  Bruno Haible  <bruno@clisp.org>
43614
43615         * lib/wait-process.c (wait_subprocess): Add an assertion.
43616
43617 2008-06-10  Bruno Haible  <bruno@clisp.org>
43618
43619         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
43620
43621 2008-06-10  Bruno Haible  <bruno@clisp.org>
43622
43623         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
43624         using alarm().
43625         * tests/test-strcasestr.c (main): Likewise.
43626         * tests/test-strstr.c (main): Likewise.
43627
43628 2008-06-09  Bruno Haible  <bruno@clisp.org>
43629
43630         Work around the Solaris 10 ACE ACLs ABI change.
43631         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
43632         declare if ACL_NO_TRIVIAL is present.
43633         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
43634         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
43635         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
43636         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
43637         define if ACL_NO_TRIVIAL is present.
43638         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
43639         and use the current ABI.
43640         (file_has_acl): Use same #if condition as elsewhere.
43641         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
43642         in use, and use the current ABI.
43643         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
43644         Reported by Jim Meyering.
43645
43646 2008-06-09  Eric Blake  <ebb9@byu.net>
43647
43648         Work around environments that (stupidly) ignore SIGALRM.
43649         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
43650         before using alarm().
43651         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
43652         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
43653         Reported by Ian Beckwith <ianb@erislabs.net>.
43654
43655         Produce autobuild blurb earlier in log.
43656         * modules/autobuild (configure.ac-early): Move AB_INIT here.
43657
43658 2008-06-09  Jim Meyering  <meyering@redhat.com>
43659         and OndÅ™ej Vašík  <ovasik@redhat.com>
43660
43661         utimens.c: correct kernel bug work-around
43662         OndÅ™ej Vašík found that the invalid return value of 280 indicates
43663         failure, not success, and the kernel bug we're trying to work
43664         around affects not just the utimensat call, but also the fallback
43665         futimens call.
43666         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
43667         not success.
43668         [HAVE_FUTIMENS]: Use the same work-around, here.
43669
43670 2008-06-09  Jim Meyering  <meyering@redhat.com>
43671
43672         add more guards around definition of ACE_-related code
43673         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
43674         ALLOW and ACE_OWNER are also defined.
43675
43676 2008-06-08  Bruno Haible  <bruno@clisp.org>
43677
43678         * lib/acl-internal.h: Add me as co-author.
43679         * lib/file-has-acl.c: Likewise.
43680         * lib/set-mode-acl.c: Likewise.
43681         * lib/copy-acl.c: Likewise.
43682
43683 2008-06-08  Bruno Haible  <bruno@clisp.org>
43684
43685         Add support for AIX ACLs.
43686         * lib/acl-internal.h (acl_nontrivial): New declaration.
43687         * lib/file-has-acl.c (acl_nontrivial): New function.
43688         (file_has_acl): Add implementation using AIX 4 ACL API.
43689         * lib/set-mode-acl.c (qset_acl): Likewise.
43690         * lib/copy-acl.c (qcopy_acl): Likewise.
43691
43692 2008-06-08  Bruno Haible  <bruno@clisp.org>
43693
43694         Add support for HP-UX ACLs.
43695         * lib/acl-internal.h (acl_nontrivial): New declaration.
43696         * lib/file-has-acl.c (acl_nontrivial): New function.
43697         (file_has_acl): Add implementation using HP-UX 11 ACL API.
43698         * lib/set-mode-acl.c (qset_acl): Likewise.
43699         * lib/copy-acl.c (qcopy_acl): Likewise.
43700
43701 2008-06-08  Bruno Haible  <bruno@clisp.org>
43702
43703         Add support for Cygwin ACLs.
43704         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
43705         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
43706         the chmod_or_fchmod call.
43707         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
43708
43709 2008-06-08  Bruno Haible  <bruno@clisp.org>
43710
43711         Fix bug with setuid modes in Solaris 10+ code.
43712         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
43713         succeeded, when the mode contains some special bits.
43714
43715 2008-06-08  Bruno Haible  <bruno@clisp.org>
43716
43717         Add support for Solaris 7..10 ACLs.
43718         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
43719         declarations.
43720         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
43721         functions.
43722         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
43723         * lib/set-mode-acl.c (qset_acl): Likewise.
43724         * lib/copy-acl.c (qcopy_acl): Likewise.
43725
43726 2008-06-08  Bruno Haible  <bruno@clisp.org>
43727
43728         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
43729         declaration.
43730         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
43731         (acl_access_nontrivial): Remove MacOS X case.
43732         (file_has_acl): Use acl_extended_nontrivial.
43733         * lib/copy-acl.c (qcopy_acl): Likewise.
43734
43735 2008-06-08  Bruno Haible  <bruno@clisp.org>
43736
43737         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
43738
43739 2008-06-08  Jim Meyering  <meyering@redhat.com>
43740
43741         * modules/acl (Maintainer): Add Bruno Haible.
43742
43743 2008-06-07  Bruno Haible  <bruno@clisp.org>
43744
43745         Improve support for Tru64 ACLs.
43746         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
43747         ACL on OSF/1.
43748
43749 2008-06-07  Bruno Haible  <bruno@clisp.org>
43750
43751         Add support for MacOS X ACLs.
43752         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
43753         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
43754         * lib/set-mode-acl.c (qset_acl): Likewise.
43755         * lib/copy-acl.c (qcopy_acl): Likewise.
43756
43757 2008-06-07  Bruno Haible  <bruno@clisp.org>
43758
43759         Fix memory leak introduced on 2008-05-22.
43760         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
43761         use.
43762
43763 2008-06-07  Bruno Haible  <bruno@clisp.org>
43764
43765         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
43766         to construct an empty ACL.
43767
43768 2008-06-07  Bruno Haible  <bruno@clisp.org>
43769
43770         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
43771         precisely.
43772         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
43773
43774 2008-06-07  Bruno Haible  <bruno@clisp.org>
43775
43776         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
43777         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
43778
43779 2008-06-07  Bruno Haible  <bruno@clisp.org>
43780
43781         * doc/posix-functions/_setjmp.texi: Explain the use of this function
43782         regardless of POSIX.
43783         * doc/posix-functions/_longjmp.texi: Likewise.
43784         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
43785         SystemV platform in this case.
43786
43787 2008-06-06  Eric Blake  <ebb9@byu.net>
43788
43789         Document abort() bugs.
43790         * doc/posix-functions/abort.texi (abort): Mention anomalies.
43791
43792         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
43793         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
43794         sigsetjmp.
43795         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
43796         siglongjmp, but only as a macro.
43797         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
43798         is obsolete.
43799         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
43800
43801         Tweak documentation to cover cygwin argz bugs.
43802         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
43803         argz bug fix; no code change needed since no cygwin releases
43804         occurred between the last fix and the bug being tested.
43805         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
43806         module and recently fixed cygwin bugs.
43807         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
43808         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
43809         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
43810         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
43811         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
43812         Likewise.
43813         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
43814         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
43815         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
43816         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
43817         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
43818         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
43819         Likewise.
43820
43821         Avoid gcc warning on cygwin.
43822         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
43823         !ACL_NO_TRIVIAL]: Avoid unused variable.
43824
43825 2008-06-05  Eric Blake  <ebb9@byu.net>
43826
43827         Be tolerant of UNKNOWN version in gnulib-tool test dir.
43828         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
43829         git-version-gen fails to come up with a version.
43830         Reported by Simon Josefsson.
43831
43832 2008-06-05  Jim Meyering  <meyering@redhat.com>
43833             Paul Eggert  <eggert@cs.ucla.edu>
43834
43835         utimens.c: work around a probable Linux kernel bug
43836         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
43837         appears to be a kernel bug that causes utimensat to return 280
43838         instead of 0, indicating success.
43839
43840 2008-06-04  Bruno Haible  <bruno@clisp.org>
43841
43842         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
43843         2008-06-01 commit.
43844
43845 2008-06-04  Bruno Haible  <bruno@clisp.org>
43846
43847         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
43848         * lib/file-has-acl.c (acl_access_nontrivial): New function.
43849         (file_has_acl): Use it. Save errno afterwards.
43850         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
43851
43852 2008-06-03  Bruno Haible  <bruno@clisp.org>
43853
43854         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
43855         draft code. Simplify #ifs.
43856         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
43857         Put Solaris code after POSIX-draft code. Fix comments regarding
43858         Solaris 10, HP-UX. Mention Cygwin.
43859         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
43860
43861 2008-06-03  Eric Blake  <ebb9@byu.net>
43862
43863         Provide fallback for older kernels.
43864         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
43865         Provide runtime fallback if kernel lacks support.
43866         Reported by Mike Frysinger.
43867
43868 2008-06-02  Bruno Haible  <bruno@clisp.org>
43869
43870         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
43871         it exists.
43872
43873 2008-06-02  Bruno Haible  <bruno@clisp.org>
43874
43875         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
43876         * lib/copy-acl.c (qcopy_acl): Update comment.
43877
43878 2008-06-02  Bruno Haible  <bruno@clisp.org>
43879
43880         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
43881         like ACL APIs.
43882
43883 2008-06-02  Bruno Haible  <bruno@clisp.org>
43884
43885         * tests/test-file-has-acl.sh: Use different code for Cygwin.
43886         * tests/test-set-mode-acl.sh: Likewise.
43887         * tests/test-copy-acl.sh: Likewise.
43888         * tests/test-copy-file.sh: Likewise.
43889
43890 2008-06-02  Bruno Haible  <bruno@clisp.org>
43891
43892         * tests/test-file-has-acl.sh: Remove unused code.
43893
43894 2008-06-01  Bruno Haible  <bruno@clisp.org>
43895
43896         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
43897         (copy_acl): Just a wrapper around qcopy_acl that emits the error
43898         messages.
43899         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
43900
43901 2008-06-01  Bruno Haible  <bruno@clisp.org>
43902
43903         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
43904         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
43905         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
43906         APIs.
43907         * modules/acl-tests (configure.ac): Remove tests now contained in
43908         m4/acl.m4.
43909
43910 2008-06-02  Jim Meyering  <meyering@redhat.com>
43911
43912         announce-gen: use a better key-server host name
43913         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
43914         it may be more consistently reliable.  Suggested by Werner Koch
43915         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
43916
43917 2008-06-01  Bruno Haible  <bruno@clisp.org>
43918
43919         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
43920         Reported by Voroskoi Andras <voroskoi@gmail.com>.
43921
43922 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
43923
43924         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
43925
43926 2008-06-01  Bruno Haible  <bruno@clisp.org>
43927
43928         New ACL tests.
43929         * tests/test-file-has-acl.sh: New file.
43930         * tests/test-file-has-acl.c: New file.
43931         * tests/test-set-mode-acl.sh: New file.
43932         * tests/test-set-mode-acl.c: New file.
43933         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
43934         * tests/test-copy-acl.c: New file.
43935         * modules/acl-tests: New file, based on modules/copy-file-tests.
43936         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
43937         (Depends-on): Add acl-tests.
43938         (configure.ac): Remove checks.
43939         (Makefile.am): Don't create test-sameacls program here any more.
43940
43941 2008-06-01  Bruno Haible  <bruno@clisp.org>
43942
43943         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
43944         * tests/test-sameacls.c: Include progname.h.
43945         (main): Invoke set_program_name. Portability fixes for MacOS X,
43946         Solaris, HP-UX.
43947
43948 2008-06-01  Bruno Haible  <bruno@clisp.org>
43949
43950         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
43951         function.
43952         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
43953
43954 2008-06-01  Bruno Haible  <bruno@clisp.org>
43955
43956         * modules/rpmatch (Depends-on): Add strdup.
43957
43958 2008-06-01  Bruno Haible  <bruno@clisp.org>
43959
43960         * lib/pipe.c: Include unistd-safer.h.
43961         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
43962         * modules/pipe (Depends-on): Add unistd-safer.
43963
43964 2008-05-30  Simon Josefsson  <simon@josefsson.org>
43965
43966         * modules/autobuild (configure.ac): Call AB_INIT.
43967
43968 2008-05-30  Simon Josefsson  <simon@josefsson.org>
43969
43970         * tests/test-getaddrinfo.c: Don't print debug messages by default.
43971         Suggested by Bruno Haible <bruno@clisp.org>.
43972
43973 2008-05-30  Simon Josefsson  <simon@josefsson.org>
43974
43975         * tests/test-base64.c: Cast size_t to unsigned long when invoking
43976         printf.  Use %lu instead of %d.  Reported by Bruno Haible
43977         <bruno@clisp.org>.
43978
43979 2008-05-29  Eric Blake  <ebb9@byu.net>
43980
43981         Prefer new POSIX 200x interfaces over futimesat.
43982         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
43983         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
43984         when available.
43985         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
43986
43987 2008-05-28  Bruno Haible  <bruno@clisp.org>
43988
43989         * modules/stpcpy (License): Change to LGPLv2+.
43990         Requested by David Lutterkort <dlutter@redhat.com>.
43991
43992 2008-05-27  Bruno Haible  <bruno@clisp.org>
43993
43994         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
43995         current mingw.
43996         Reported by Jose E. Marchesi <jemarch@gnu.org>.
43997
43998 2008-05-27  Bruno Haible  <bruno@clisp.org>
43999
44000         * modules/iconv_open (Link): New section, from module 'iconv'.
44001         * modules/striconv (Link): Likewise.
44002         * modules/striconveh (Link): Likewise.
44003         * modules/xstriconv (Link): Likewise.
44004         * modules/unicodeio (Link): Likewise.
44005         * modules/propername (Link): Likewise.
44006         Reported by Jim Meyering.
44007
44008 2008-05-26  Jim Meyering  <meyering@redhat.com>
44009
44010         sha256: do not artificially restrict buffer length to be < 2^32
44011         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
44012         uint32_t to size_t.
44013         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
44014         to match.
44015
44016         avoid unaligned access errors, e.g., on sparc
44017         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
44018         direct access through a possibly-unaligned uint64* pointer.
44019         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
44020         direct access through a possibly-unaligned uint32* pointer.
44021         Prompted by this patch from Tom "spot" Callaway:
44022         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
44023
44024         sha512.c: fix typo in comment
44025         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
44026
44027 2008-05-25  Bruno Haible  <bruno@clisp.org>
44028
44029         * lib/set-mode-acl.c: Renamed from lib/acl.c.
44030         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
44031         (Makefile.am): Update lib_SOURCES.
44032
44033 2008-05-25  Bruno Haible  <bruno@clisp.org>
44034
44035         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
44036
44037 2008-05-25  Jim Meyering  <meyering@redhat.com>
44038
44039         useless-if-before-free: freed expr may have white-space differences
44040         * build-aux/useless-if-before-free: Recognize cases in which the
44041         freed expression differs from the tested one in embedded white
44042         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
44043         $1 was used, so we can't make any regexp shy.  Improved tests now
44044         detect this.
44045
44046         useless-if-before-free: accept white space in the expression.
44047         * build-aux/useless-if-before-free: For now, any white space
44048         in the expression must be identical in the free argument.
44049
44050         useless-if-before-free: efficiency tweak
44051         * build-aux/useless-if-before-free: Make the expression-matching
44052         regexp "shy".
44053         Make the *outer* regexp shy, not the expr-matching one.
44054
44055         update code-in-comment to accept cast of free arg
44056         * build-aux/useless-if-before-free: Update regexp.
44057
44058 2008-05-25  Bruno Haible  <bruno@clisp.org>
44059
44060         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
44061         * modules/copy-file-tests (Files, Makefile.am): Update.
44062         * tests/test-copy-file.c (func_test_copy): Update.
44063
44064 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
44065
44066         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
44067
44068 2008-05-23  Bruno Haible  <bruno@clisp.org>
44069
44070         Improve support for ACLs on OSF/1.
44071         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
44072         Remove fallback for unknown flavors of ACLs.
44073
44074 2008-05-22  Bruno Haible  <bruno@clisp.org>
44075
44076         Add support for ACLs on OSF/1.
44077         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
44078         replacements.
44079         (acl_free_text): New macro fallback.
44080         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
44081         acl_free.
44082         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
44083         acl_free_text function. Require AC_C_INLINE.
44084
44085 2008-05-22  Bruno Haible  <bruno@clisp.org>
44086
44087         Make copy_acl work on MacOS X 10.5.
44088         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
44089         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
44090         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
44091         If MODE_INSIDE_ACL, don't assume that every system has the same text
44092         representation for ACLs as FreeBSD.
44093         * lib/copy-acl.c (copy_acl): Add support for platforms with
44094         !MODE_INSIDE_ACL.
44095         * lib/file-has-acl.c (file_has_acl): Likewise.
44096         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
44097         FreeBSD, MacOS X, or IRIX, respectively.
44098
44099 2008-05-22  Bruno Haible  <bruno@clisp.org>
44100
44101         * lib/acl.h: Don't include <sys/acl.h>.
44102         (GETACLCNT): Move fallback to lib/acl-internal.h.
44103         * lib/acl-internal.h: Include <sys/acl.h> here.
44104         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
44105
44106 2008-05-22  Bruno Haible  <bruno@clisp.org>
44107
44108         Split off copy_acl function to separate file.
44109         * lib/copy-acl.c: New file, extracted from lib/acl.c.
44110         * lib/acl.c (copy_acl): Moved function to separate file.
44111         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
44112         * modules/acl (Files): Add lib/copy-acl.c.
44113         (Makefiles.am): Augment lib_SOURCES.
44114
44115 2008-05-22  Bruno Haible  <bruno@clisp.org>
44116
44117         * modules/copy-file-tests: New file.
44118         * tests/test-copy-file.sh: New file.
44119         * tests/test-copy-file.c: New file.
44120         * tests/test-copy-file-sameacls.c: New file.
44121
44122 2008-05-22  Eric Blake  <ebb9@byu.net>
44123
44124         Avoid gcc warning.
44125         * tests/test-memcmp.c (main): Pass NULL indirectly.
44126
44127 2008-05-21  Bruno Haible  <bruno@clisp.org>
44128
44129         Add reference doc about ACLs.
44130         * doc/acl-resources.txt: New file.
44131         * doc/acl-cygwin.txt: New file.
44132
44133 2008-05-21  Bruno Haible  <bruno@clisp.org>
44134
44135         Avoid one more warning from gcc.
44136         * lib/vasnprintf.c (IF_LINT): Update comments.
44137         (VASNPRINTF): Use it also for the 'prefix' array initializer.
44138
44139 2008-05-21  Jim Meyering  <meyering@redhat.com>
44140
44141         avoid a warning from gcc
44142         * lib/vasnprintf.c (IF_LINT): Define.
44143         (scale10_round_decimal_long_double):
44144         Use it to avoid a "may be used uninitialized" warning.
44145         (scale10_round_decimal_double): Likewise.
44146
44147 2008-05-21  Simon Josefsson  <simon@josefsson.org>
44148
44149         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
44150         declared.
44151
44152 2008-05-20  Bruno Haible  <bruno@clisp.org>
44153
44154         * tests/test-memcmp.c (main): Test also the sign of the result. Test
44155         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
44156
44157 2008-05-20  Simon Josefsson  <simon@josefsson.org>
44158
44159         * modules/memcmp-tests: New file.
44160         * tests/test-memcmp.c: New file.
44161
44162 2008-05-19  Bruno Haible  <bruno@clisp.org>
44163
44164         * modules/propername (Notice, configure.ac): Put quoted "..." into
44165         --keyword option.
44166         * lib/propername.h: Update comments accordingly.
44167         Reported by Eric Blake.
44168
44169 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
44170
44171         * modules/getpass-gnu (Depends-on): Add fseeko.
44172
44173 2008-05-19  Simon Josefsson  <simon@josefsson.org>
44174
44175         * modules/base64-tests: New file.
44176
44177 2008-05-19  Bo Borgerson <gigabo@gmail.com>
44178
44179         * lib/base64.c (base64_decode_ctx): If a decode context structure
44180         was passed in use it to ignore newlines.  If a context structure
44181         was _not_ passed in, continue to treat newlines as garbage (this
44182         is the historical behavior).  Formerly base64_decode.
44183         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
44184         takes a decode context structure.
44185         * lib/base64.h (base64_decode): Macro for four-argument calls.
44186         (base64_decode_alloc): Likewise.
44187         * lib/base64.c (base64_decode_ctx): If a decode context structure
44188         was passed in use it to ignore newlines.  If a context structure
44189         was _not_ passed in, continue to treat newlines as garbage (this
44190         is the historical behavior).  Formerly base64_decode.
44191         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
44192         takes a decode context structure.
44193         * lib/base64.h (base64_decode): Macro for four-argument calls.
44194         (base64_decode_alloc): Likewise.
44195
44196 2008-05-19  Jim Meyering  <meyering@redhat.com>
44197
44198         avoid a warning from gcc
44199         * lib/trim.c (IF_LINT): Define.
44200         (trim2): Use it to avoid a "may be used uninitialized" warning.
44201
44202         Fix doc typo.
44203         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
44204
44205 2008-05-19  Bruno Haible  <bruno@clisp.org>
44206
44207         * doc/glibc-functions/getpass.texi: Document limits of other
44208         implementations.
44209
44210 2008-05-19  Simon Josefsson  <simon@josefsson.org>
44211             Bruno Haible <bruno@clisp.org>
44212
44213         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
44214
44215 2008-05-18  Bruno Haible  <bruno@clisp.org>
44216
44217         * modules/propername: New file, from GNU gettext.
44218         * lib/propername.h: New file, from GNU gettext.
44219         * lib/propername.c: New file, from GNU gettext.
44220         * MODULES.html.sh (Internationalization functions): Add propername.
44221
44222 2008-05-16  Jim Meyering  <meyering@redhat.com>
44223             Bruno Haible  <bruno@clisp.org>
44224
44225         Avoid some warnings from "gcc -Wshadow".
44226         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
44227
44228 2008-05-15  Eric Blake  <ebb9@byu.net>
44229
44230         Extend previous patch to cygwin 1.7.0.
44231         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
44232         fast implementation in cygwin >= 1.7.0.
44233         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
44234         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
44235
44236 2008-05-15  Bruno Haible  <bruno@clisp.org>
44237
44238         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
44239         implementation in glibc >= 2.9.
44240         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
44241         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
44242
44243 2008-05-15  Bruno Haible  <bruno@clisp.org>
44244
44245         * MODULES.html.sh (Internationalization functions): Remove linebreak.
44246         (Unicode string functions): Add unilbrk/*.
44247         Reported by Karl Berry.
44248
44249 2008-05-15  Eric Blake  <ebb9@byu.net>
44250
44251         Fix violation of <stdbool.h> replacement in regex.
44252         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
44253         * lib/regexec.c (re_search_internal): Likewise.
44254         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
44255
44256 2008-05-15  Jim Meyering  <meyering@redhat.com>
44257
44258         avoid distracting test output when git or cvs is not found
44259         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
44260         * tests/test-vc-list-files-git.sh: Likewise.
44261
44262 2008-05-15  Eric Blake  <ebb9@byu.net>
44263
44264         Glibc finally accepted the memmem speedup code, bugzilla #5514.
44265         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
44266         glibc version.
44267         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
44268         * doc/posix-functions/strstr.texi (strstr): Likewise.
44269         * lib/str-two-way.h (MAX): Sychronize with glibc.
44270
44271 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
44272
44273         * lib/regcomp.c (optimize_utf8): Add a note on why we test
44274         opr.ctx_type.
44275         (calc_first): Initialize constraint field.
44276         (duplicate_node_closure): Use it instead of special casing ANCHORS.
44277         Fix grammar.
44278         (duplicate_node): Merge constraint field for all node types.
44279         (calc_eclosure_iter): Look at constraint field for all node types.
44280         * lib/regex_internal.c (create_cd_newstate): Don't look at
44281         opr.ctx_type.
44282
44283 2008-05-14  Bruno Haible  <bruno@clisp.org>
44284
44285         Help GCC to do better code generation.
44286         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
44287         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
44288         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
44289         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
44290         Declare with attribute 'malloc' if supported.
44291
44292 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
44293
44294         use "echo STR|wc -c" rather than unportable "expr length STR"
44295         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
44296         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
44297
44298 2008-05-14  Jim Meyering  <meyering@redhat.com>
44299
44300         use dd ibs=$n count=1 ... rather than less-portable head -c$n
44301         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
44302         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
44303         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
44304         via Collin Lasse.
44305
44306 2008-05-14  Eric Blake  <ebb9@byu.net>
44307
44308         Avoid quadratic growth in gl_LIBSOURCES.
44309         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
44310         Suggested by Bruno Haible.
44311
44312         Test xmemdup0.
44313         * modules/xmemdup0-tests: New file.
44314         * tests/test-xmemdup0.c: Likewise.
44315
44316 2008-05-13  Eric Blake  <ebb9@byu.net>
44317
44318         Split xmemdup0 into its own module.
44319         * modules/xmemdup0: New file.
44320         * lib/xmemdup0.h: Likewise.
44321         * lib/xmemdup0.c: Likewise.
44322         * MODULES.html.sh (Memory management functions): Add xmemdup0.
44323         * lib/xalloc.h (xmemdup0): Remove.
44324         * lib/xmalloc.c (xmemdup0): Likewise.
44325
44326 2008-05-13  Eric Blake  <ebb9@byu.net>
44327             Bruno Haible  <bruno@clisp.org>
44328
44329         Reduce number of forks required during autoconf.
44330         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
44331         and gl_LIBSOURCES_DIR.
44332         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
44333         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
44334         m4_syscmd per file.
44335         <m4_foreach_w>: Move...
44336         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
44337
44338 2008-05-13  Eric Blake  <ebb9@byu.net>
44339
44340         * gnulib-tool: Fix various comment typos.
44341
44342 2008-05-12  Bruno Haible  <bruno@clisp.org>
44343
44344         Tailor the linebreaking algorithm.
44345         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
44346
44347 2008-05-12  Bruno Haible  <bruno@clisp.org>
44348
44349         Update to Unicode 5.0.0.
44350         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
44351         LBP_JV, LBP_JT. Redistribute values.
44352         (unilbrk_table): Change size.
44353         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
44354         Unicode TR#14 rev. 22.
44355         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
44356         LBP_JV, LBP_JT. Redistribute values.
44357         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
44358         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
44359         Update.
44360         * lib/unilbrk/lbrkprop1.h: Regenerated.
44361         * lib/unilbrk/lbrkprop2.h: Regenerated.
44362         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
44363         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
44364         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
44365         Likewise.
44366         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
44367         Likewise.
44368         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
44369         result.
44370         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
44371         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
44372         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
44373         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
44374         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
44375         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
44376
44377 2008-05-11  Bruno Haible  <bruno@clisp.org>
44378
44379         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
44380
44381 2008-05-11  Bruno Haible  <bruno@clisp.org>
44382
44383         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
44384         * modules/unilbrk/gen-lbrk: New file.
44385
44386 2008-05-11  Bruno Haible  <bruno@clisp.org>
44387
44388         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
44389         * m4/sha512.m4 (gl_SHA512): Likewise.
44390
44391 2008-05-11  Jim Meyering  <meyering@redhat.com>
44392
44393         New modules: crypto/sha256, crypto/sha512 (from coreutils)
44394         * modules/crypto/sha256: New file.
44395         * modules/crypto/sha512: Likewise.
44396         * lib/sha256.c: Likewise.
44397         * lib/sha256.h: Likewise.
44398         * lib/sha512.c: Likewise.
44399         * lib/sha512.h: Likewise.
44400         * lib/u64.h: Likewise.
44401         * m4/sha256.m4: Likewise.
44402         * m4/sha512.m4: Likewise.
44403         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
44404
44405 2008-05-10  Bruno Haible  <bruno@clisp.org>
44406
44407         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
44408         (Input/Output <stdio.h>): Add xprintf.
44409         (Signal handling <signal.h>): Add strsignal.
44410         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
44411         (Core language properties): Add func.
44412         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
44413         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
44414         strings.
44415         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
44416         (Input/output): New section.
44417         (File system functions): Add openat-die, stat-macros.
44418         (Networking functions): Add sockets.
44419         (Unicode string functions): Add unictype/*.
44420         (Support for building libraries and executables): Add gperf.
44421         (Support for building documentation): Add agpl-3.0.
44422         (Misc): Add nocrash.
44423
44424 2008-05-10  Bruno Haible  <bruno@clisp.org>
44425
44426         * modules/unictype/gen-ctype: New file.
44427
44428 2008-05-10  Jim Meyering  <meyering@redhat.com>
44429
44430         Make chdir-safer.c more efficient on a system with no symlinks.
44431         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
44432         also if ELOOP is zero.  Suggested by Bruno Haible.
44433
44434         Make chdir-safer.c slightly safer.
44435         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
44436         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
44437
44438         Avoid compile failure on systems without ELOOP (like mingw).
44439         * lib/chdir-safer.c (ELOOP): Define if not already defined.
44440         Reported by Bruno Haible.
44441
44442 2008-05-10  Bruno Haible  <bruno@clisp.org>
44443
44444         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
44445         (is_utf8_encoding): Use a case-insensitive comparison.
44446         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
44447         streq.
44448
44449 2008-05-10  Bruno Haible  <bruno@clisp.org>
44450
44451         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
44452         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
44453         * lib/unilbrk/ulc-common.h (iconv_string_length,
44454         iconv_string_keeping_offsets): Remove declarations.
44455         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
44456         Don't include <iconv.h>, streq.h, xsize.h.
44457         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
44458         conversion.
44459         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
44460         <iconv.h>, streq.h, xsize.h.
44461         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
44462         conversion.
44463         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
44464         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
44465         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
44466         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
44467
44468 2008-05-10  Bruno Haible  <bruno@clisp.org>
44469
44470         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
44471         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
44472
44473         * modules/unilbrk/u32-width-linebreaks-tests: New file.
44474         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
44475
44476         * modules/unilbrk/u16-width-linebreaks-tests: New file.
44477         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
44478
44479         * modules/unilbrk/u8-width-linebreaks-tests: New file.
44480         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
44481
44482         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
44483         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
44484
44485         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
44486         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
44487
44488         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
44489         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
44490
44491         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
44492         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
44493
44494 2008-05-10  Bruno Haible  <bruno@clisp.org>
44495
44496         Split up 'linebreak' module.
44497         * lib/unilbrk.h: New file, based on lib/linebreak.h.
44498         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
44499         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
44500         modifications.
44501         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
44502         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
44503         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
44504         lib/linebreak.c.
44505         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
44506         lib/linebreak.c.
44507         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
44508         lib/linebreak.c.
44509         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
44510         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
44511         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
44512         lib/linebreak.c.
44513         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
44514         lib/linebreak.c.
44515         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
44516         lib/linebreak.c.
44517         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
44518         lib/linebreak.c.
44519         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
44520         lib/linebreak.c.
44521         * modules/unilbrk/base: New file.
44522         * modules/unilbrk/tables: New file.
44523         * modules/unilbrk/u8-possible-linebreaks: New file.
44524         * modules/unilbrk/u16-possible-linebreaks: New file.
44525         * modules/unilbrk/u32-possible-linebreaks: New file.
44526         * modules/unilbrk/ulc-common: New file.
44527         * modules/unilbrk/ulc-possible-linebreaks: New file.
44528         * modules/unilbrk/u8-width-linebreaks: New file.
44529         * modules/unilbrk/u16-width-linebreaks: New file.
44530         * modules/unilbrk/u32-width-linebreaks: New file.
44531         * modules/unilbrk/ulc-width-linebreaks: New file.
44532         * lib/linebreak.h: Remove file.
44533         * lib/linebreak.c: Remove file.
44534         * m4/linebreak.m4: Remove file.
44535         * modules/linebreak: Remove file.
44536         * NEWS: Mention the changes.
44537
44538 2008-05-09  Eric Blake  <ebb9@byu.net>
44539
44540         Add xmemdup0.
44541         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
44542         implementation.
44543         * lib/xmalloc.c (xmemdup0): New C implementation.
44544
44545 2008-05-08  Bruno Haible  <bruno@clisp.org>
44546
44547         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
44548
44549 2008-05-07  Eric Blake  <ebb9@byu.net>
44550
44551         Support cross-compilation of <wctype.h>.
44552         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
44553         AC_CACHE_CHECK.
44554
44555 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
44556
44557         * build-aux/vc-list-files: Add support for bzr.
44558
44559 2008-05-03  Jim Meyering  <meyering@redhat.com>
44560
44561         avoid failed assertion with tight malloc
44562         * tests/test-getndelim2.c: Correct an off-by-one assertion.
44563
44564 2008-05-03  Simon Josefsson  <simon@josefsson.org>
44565
44566         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
44567         are needed from arpa/inet.h.
44568         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
44569         Reported by Bruno Haible.
44570
44571 2008-05-02  Jim Meyering  <meyering@redhat.com>
44572
44573         avoid compilation error on FreeBSD 6
44574         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
44575
44576 2008-05-01  Jim Meyering  <meyering@redhat.com>
44577
44578         useless-if-before-free: correct --help's exit status description
44579         * build-aux/useless-if-before-free (usage): Like grep, exit 0
44580         for one or more matches, etc.  Reported by Bruno Haible.
44581
44582         vc-list-files: make the stand-alone gnulib test work
44583         * modules/vc-list-files-tests (configure.ac):
44584         Define and AC_SUBST abs_aux_dir.
44585         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
44586         $(abs_top_srcdir) to each script and having each of them
44587         duplicate the work of setting PATH, set PATH here, using
44588         the new variable, abs_aux_dir instead.
44589         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
44590         * tests/test-vc-list-files-git.sh: Likewise.
44591         Reported by Bruno Haible.
44592
44593 2008-05-01  Bruno Haible  <bruno@clisp.org>
44594
44595         * lib/getndelim2.c (getndelim2): Fix newsize computation during
44596         reallocation. Rename 'done' to 'found_delimiter'.
44597
44598 2008-05-01  Jim Meyering  <meyering@redhat.com>
44599
44600         vc-list-files: accommodate /bin/sh like the one from Solaris 10
44601         * build-aux/vc-list-files: Use `...`, not $(...).
44602
44603 2008-04-30  Jim Meyering  <meyering@redhat.com>
44604
44605         add tests for vc-list-files
44606         * modules/vc-list-files-tests: New module.
44607         * tests/test-vc-list-files-cvs.sh: New file.
44608         * tests/test-vc-list-files-git.sh: New file.
44609
44610         avoid a warning from gcc
44611         * lib/getndelim2.c (IF_LINT): Define.
44612         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
44613
44614         vc-list-files: work properly with build-aux/cvsu, too
44615         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
44616         to all cvs-based clauses.
44617
44618         vc-list-files: work properly in the CVS+awk case, too
44619         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
44620
44621         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
44622         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
44623         take more than one file argument, so .  Add quotes, just in case $dir
44624         ever contains a shell meta-character.  Prompted by Soren Hansen in
44625         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
44626
44627 2008-04-29  Eric Blake  <ebb9@byu.net>
44628
44629         Optimize getndelim2 to use block operations when possible.
44630         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
44631         freadseek, and memchr2.
44632         * lib/getndelim2.c (getndelim2): Use them for block reads.
44633
44634 2008-04-29  Bruno Haible  <bruno@clisp.org>
44635
44636         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
44637         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
44638         * modules/inet_ntop (Depends-on): Add extensions.
44639         * modules/inet_pton (Depends-on): Likewise.
44640         Reported by Simon Josefsson.
44641
44642 2008-04-29  Jim Meyering  <meyering@redhat.com>
44643
44644         When the is more than one match in a block, match all of them.
44645         * build-aux/useless-if-before-free: Iterate through each block
44646         until there are no more matches.
44647
44648         Fix broken useless-if-before-free script.
44649         * build-aux/useless-if-before-free: Fix typo: missing "?" after
44650         the expression to match cast of argument to free-like function.
44651
44652 2008-04-29  Eric Blake  <ebb9@byu.net>
44653
44654         Use new header.
44655         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
44656
44657 2008-04-29  Jim Meyering  <meyering@redhat.com>
44658
44659         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
44660         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
44661         by gnulib to exist and to declare e.g., inet_ntop.
44662         Don't include "inet_ntop.h", now removed.
44663
44664         * m4/arpa_inet_h.m4: Remove trailing blanks.
44665
44666 2008-04-29  Eric Blake  <ebb9@byu.net>
44667
44668         Silence valgrind on safe reads beyond potential array bounds.
44669         * lib/rawmemchr.valgrind: New file.
44670         * lib/strchrnul.valgrind: Likewise.
44671         * modules/rawmemchr (Files): Distribute new file.
44672         * modules/strchrnul (Files): Likewise.
44673         Suggested by Bruno Haible.
44674
44675 2008-04-29  Bruno Haible  <bruno@clisp.org>
44676
44677         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
44678         (inet_ntop, inet_pton): Change portability warning's wording.
44679         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
44680         Invoke gl_CHECK_NEXT_HEADERS.
44681         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
44682         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
44683         set ARPA_INET_H.
44684         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
44685         * modules/arpa_inet (Description): No longer only for systems that
44686         lack it.
44687         (Depends-on): Add include_next.
44688         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
44689         HAVE_ARPA_INET_H.
44690
44691 2008-04-29  Jim Meyering  <meyering@redhat.com>
44692
44693         * modules/mkdir (License): Re-license as LGPLv2+.
44694
44695 2008-04-29  Bruno Haible  <bruno@clisp.org>
44696
44697         * modules/rawmemchr (Maintainer): Set to Eric.
44698         * modules/strchrnul (Maintainer): Likewise.
44699
44700 2008-04-29  Simon Josefsson  <simon@josefsson.org>
44701
44702         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
44703         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
44704
44705         * modules/arpa_inet (arpa/inet.h): Use them.
44706
44707 2008-04-28  Eric Blake  <ebb9@byu.net>
44708
44709         Test getndelim2.
44710         * modules/getndelim2-tests: New file.
44711         * tests/test-getndelim2.c: Likewise.
44712         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
44713         stream.
44714         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
44715
44716         * MODULES.html.sh: Document new module.
44717
44718 2008-04-20  Bruno Haible  <bruno@clisp.org>
44719
44720         * lib/c-stack.c (die): Use raise.
44721         * modules/c-stack (Depends-on): Add raise.
44722
44723 2008-04-28  Bruno Haible  <bruno@clisp.org>
44724
44725         Expect rpmatch to be declared.
44726         * lib/yesno.c (rpmatch): Remove declaration.
44727
44728         Declare rpmatch.
44729         * lib/stdlib.in.h (rpmatch): New declaration.
44730         * lib/rpmatch.c: Include <stdlib.h> first.
44731         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
44732         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
44733         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
44734         HAVE_RPMATCH.
44735         * modules/rpmatch (Depends-on): Add stdlib, extensions.
44736         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
44737         (Include): Set to <stdlib.h>.
44738         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
44739         HAVE_RPMATCH.
44740         * NEWS: Document the change.
44741
44742 2008-04-28  Bruno Haible  <bruno@clisp.org>
44743
44744         Change rpmatch to use nl_langinfo when appropriate.
44745         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
44746         (N_): New macro.
44747         (localized_pattern): New function/macro.
44748         (try): Remove match, nomatch arguments. Copy the pattern into safe
44749         memory before caching it.
44750         (rpmatch): Use localized_pattern. Add translator comments.
44751         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
44752         Suggested by Eric Blake.
44753         * modules/rpmatch (Depends-on): Add stdbool.
44754
44755 2008-04-28  Eric Blake  <ebb9@byu.net>
44756
44757         Add rawmemchr module, matching glibc.
44758         * modules/string (Makefile.am): New indicator.
44759         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
44760         * lib/string.in.h (rawmemchr): Declare when appropriate.
44761         * modules/rawmemchr: New file.
44762         * m4/rawmemchr.m4: Likewise.
44763         * lib/rawmemchr.c: Likewise.
44764         * modules/rawmemchr-tests: Likewise.
44765         * tests/test-rawmemchr.c: Likewise.
44766         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
44767         module.
44768         * modules/strchrnul (Depends-on): Add rawmemchr.
44769         * lib/strchrnul.c (strchrnul): Optimize a corner case.
44770
44771         Whitespace cleanup.
44772         * tests/test-strchrnul.c: Reindent.
44773         * lib/strchrnul.c: Likewise.
44774
44775         Optimize and test strchrnul.
44776         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
44777         * modules/strchrnul-tests: New file.
44778         * tests/test-strchrnul.c: Likewise.
44779
44780         Remove intprops dependency.
44781         * modules/memchr (Depends-on): Remove intprops.
44782         * modules/memrchr (Depends-on): Likewise.
44783         * modules/memchr2 (Depends-on): Likewise.
44784         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
44785         * lib/memrchr.c (__memrchr): Likewise.
44786         * lib/memrchr2.c (memchr2): Likewise.
44787         Reported by Simon Josefsson.
44788
44789 2008-04-28  Simon Josefsson  <simon@josefsson.org>
44790
44791         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
44792         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44793
44794 2008-04-28  Simon Josefsson  <simon@josefsson.org>
44795
44796         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
44797
44798         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
44799
44800         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
44801
44802         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
44803         declarations.
44804         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
44805
44806         * m4/inet_pton.m4: Don't check for header files.
44807
44808         * m4/inet_ntop.m4: Don't check for header files.
44809
44810 2008-04-28  Simon Josefsson  <simon@josefsson.org>
44811
44812         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
44813         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
44814         trigger for cygwin).
44815         Reported by Bruno Haible  <bruno@clisp.org>.
44816
44817 2008-04-28  Bruno Haible  <bruno@clisp.org>
44818
44819         * doc/posix-functions/strdup.texi: Mention mingw problem.
44820
44821 2008-04-27  Bruno Haible  <bruno@clisp.org>
44822
44823         * modules/stat-time-tests (Depends-on): Add sleep.
44824         * tests/test-stat-time.c (force_unlink): New function.
44825         (cleanup): Use it.
44826         (test_mtime): Remove the ctime related tests.
44827         (test_ctime): New function, containing the ctime related tests.
44828         (main): Call test_ctime, except on native Windows platforms.
44829
44830 2008-04-27  Bruno Haible  <bruno@clisp.org>
44831
44832         * lib/rpmatch.c (rpmatch): Add some comments.
44833         Reported by James Youngman <jay@gnu.org>.
44834
44835 2008-04-27  Bruno Haible  <bruno@clisp.org>
44836
44837         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
44838         quiet NaNs.
44839
44840 2008-04-27  Bruno Haible  <bruno@clisp.org>
44841
44842         Make test-yesno.sh work on mingw.
44843         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
44844         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
44845         (main): Set stdin to binary mode.
44846         * modules/yesno-tests (Depends-on): Add binary-io.
44847
44848 2008-04-27  Bruno Haible  <bruno@clisp.org>
44849
44850         Fix 'isfinite' on x86, x86_64, ia64 platforms.
44851         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
44852         argument that lie outside the IEEE 854 domain.
44853         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
44854         (gl_ISFINITE): Use it.
44855         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
44856
44857 2008-04-27  Bruno Haible  <bruno@clisp.org>
44858
44859         Allow local renaming in config.h.
44860         * lib/memrchr.c (memrchr): Don't undefine outside libc.
44861
44862 2008-04-27  Bruno Haible  <bruno@clisp.org>
44863
44864         * lib/memchr.c (__memchr): Change type of 'i'.
44865         * lib/memchr2.c (memchr2): Likewise.
44866
44867 2008-04-26  Eric Blake  <ebb9@byu.net>
44868         and Bruno Haible  <bruno@clisp.org>
44869
44870         Optimize and test memrchr.
44871         * modules/memrchr (Depends-on): Add intprops.
44872         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
44873         * modules/memrchr-tests: New file.
44874         * tests/test-memrchr.c: New file.
44875
44876 2008-04-26  Bruno Haible  <bruno@clisp.org>
44877
44878         Add tentative support for DragonFly BSD.
44879         * lib/stdio-impl.h: Add macros for DragonFly BSD.
44880         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
44881         fp.
44882         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
44883         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
44884         * lib/fpurge.c (fpurge): Likewise.
44885         * lib/freadable.c (freaadable): Likewise.
44886         * lib/freadahead.c (freadahead): Likewise.
44887         * lib/freading.c (freading): Likewise.
44888         * lib/freadptr.c (freadptr): Likewise.
44889         * lib/freadseek.c (freadptrinc): Likewise.
44890         * lib/fseeko.c (fseeko): Likewise.
44891         * lib/fseterr.c (fseterr): Likewise.
44892         * lib/fwritable.c (fwritable): Likewise.
44893         * lib/fwriting.c (fwriting): Likewise.
44894
44895 2008-04-26  Bruno Haible  <bruno@clisp.org>
44896
44897         * lib/stdio-impl.h: New file.
44898         * lib/fbufmode.c: Include stdio-impl.h.
44899         (fbufmode): Use fp_, remove redundant #defines.
44900         * lib/fflush.c: Include stdio-impl.h.
44901         (clear_ungetc_buffer): Remove redundant #defines.
44902         * lib/fpurge.c: Include stdio-impl.h.
44903         (fpurge): Remove redundant #defines.
44904         * lib/freadable.c: Include stdio-impl.h.
44905         (freadable): Remove redundant #defines.
44906         * lib/freadahead.c: Include stdio-impl.h.
44907         (freadahead): Remove redundant #defines.
44908         * lib/freading.c: Include stdio-impl.h.
44909         (freading): Remove redundant #defines.
44910         * lib/freadptr.c: Include stdio-impl.h.
44911         (freadptr): Remove redundant #defines.
44912         * lib/freadseek.c: Include stdio-impl.h.
44913         (freadptrinc): Remove redundant #defines.
44914         * lib/fseeko.c: Include stdio-impl.h.
44915         (rpl_fseeko): Remove redundant #defines.
44916         * lib/fseterr.c: Include stdio-impl.h.
44917         (fseterr): Remove redundant #defines.
44918         * lib/fwritable.c: Include stdio-impl.h.
44919         (fwritable: Remove redundant #defines.
44920         * lib/fwriting.c: Include stdio-impl.h.
44921         (fwriting): Remove redundant #defines.
44922         * modules/fbufmode (Files): Add lib/stdio-impl.h.
44923         * modules/fflush (Files): Likewise.
44924         * modules/fpurge (Files): Likewise.
44925         * modules/freadable (Files): Likewise.
44926         * modules/freadahead (Files): Likewise.
44927         * modules/freading (Files): Likewise.
44928         * modules/freadptr (Files): Likewise.
44929         * modules/freadseek (Files): Likewise.
44930         * modules/fseeko (Files): Likewise.
44931         * modules/fseterr (Files): Likewise.
44932         * modules/fwritable (Files): Likewise.
44933         * modules/fwriting (Files): Likewise.
44934
44935 2008-04-26  Bruno Haible  <bruno@clisp.org>
44936
44937         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
44938         restore_seek_optimization, update_fpos_cache): New functions, extracted
44939         from rpl_fflush.
44940         (rpl_fflush): Use them.
44941         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
44942         (gl_REPLACE_FFLUSH): Use it.
44943
44944 2008-04-26  Bruno Haible  <bruno@clisp.org>
44945
44946         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
44947         on Solaris.
44948         * tests/test-xstrtoimax.sh: Likewise.
44949         * tests/test-xstrtoumax.sh: Likewise.
44950         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44951
44952 2008-04-26  Bruno Haible  <bruno@clisp.org>
44953
44954         * modules/memchr-tests: New file.
44955         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
44956
44957 2008-04-26  Eric Blake  <ebb9@byu.net>
44958             Bruno Haible  <bruno@clisp.org>
44959
44960         * lib/memchr.c: Include intprops.h.
44961         (__memchr): Optimize parallel detection of matching bytes. Rename local
44962         variables. Add explanatory comments.
44963
44964 2008-04-26  Bruno Haible  <bruno@clisp.org>
44965
44966         Fix module 'memchr', broken since 2000-10-28.
44967         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
44968
44969 2008-04-26  Bruno Haible  <bruno@clisp.org>
44970
44971         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
44972         comments.
44973
44974 2008-04-25  Eric Blake  <ebb9@byu.net>
44975
44976         Use native fstatat on cygwin 1.7.0.
44977         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
44978         first.
44979
44980 2008-04-23  Eric Blake  <ebb9@byu.net>
44981
44982         Improve memchr2 performance.
44983         * lib/memchr2.c (memchr2): Further optimize parallel detection of
44984         NUL bytes.
44985         * modules/memchr2 (Depends-on): Use intprops.h.
44986
44987 2008-04-23  Simon Josefsson  <simon@josefsson.org>
44988
44989         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
44990         an inline function instead of a CPP macro.  Patch by Ben Pfaff
44991         <blp@cs.stanford.edu>.
44992
44993 2008-04-23  Simon Josefsson  <simon@josefsson.org>
44994
44995         * lib/arpa_inet.in.h: New file.
44996
44997         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
44998         (Makefile.am): Sed in substitute header file.
44999
45000         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
45001         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
45002
45003         * modules/inet_ntop (configure.ac): Use
45004         gl_ARPA_INET_MODULE_INDICATOR.
45005
45006         * modules/inet_pton (configure.ac): Use
45007         gl_ARPA_INET_MODULE_INDICATOR.
45008
45009 2008-04-22  Jim Meyering  <meyering@redhat.com>
45010
45011         * modules/verify (License): Re-license as LGPLv2+.
45012
45013 2008-04-22  Simon Josefsson  <simon@josefsson.org>
45014
45015         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
45016         parameter to void* as per POSIX standard (MinGW uses char*).
45017
45018 2008-04-21  Bruno Haible  <bruno@clisp.org>
45019
45020         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
45021         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
45022         Define to replacements if REPLACE_ISWCNTRL is 1.
45023         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
45024         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
45025         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
45026         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
45027         what it fixes.
45028         * doc/posix-functions/iswalpha.texi: Likewise.
45029         * doc/posix-functions/iswblank.texi: Likewise.
45030         * doc/posix-functions/iswcntrl.texi: Likewise.
45031         * doc/posix-functions/iswdigit.texi: Likewise.
45032         * doc/posix-functions/iswgraph.texi: Likewise.
45033         * doc/posix-functions/iswlower.texi: Likewise.
45034         * doc/posix-functions/iswprint.texi: Likewise.
45035         * doc/posix-functions/iswpunct.texi: Likewise.
45036         * doc/posix-functions/iswspace.texi: Likewise.
45037         * doc/posix-functions/iswupper.texi: Likewise.
45038         * doc/posix-functions/iswxdigit.texi: Likewise.
45039         Reported by Alain Guibert.
45040
45041 2008-04-21  Bruno Haible  <bruno@clisp.org>
45042
45043         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
45044         Patch by Alain Guibert.
45045
45046 2008-04-21  Bruno Haible  <bruno@clisp.org>
45047
45048         Fix test failures on mingw.
45049         * tests/test-xstrtol.c (print_no_progname): New function.
45050         (main): Install it in error_print_progname hook.
45051         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
45052         * tests/test-xstrtoimax.sh: Likewise.
45053         * tests/test-xstrtoumax.sh: Likewise.
45054
45055 2008-04-21  Bruno Haible  <bruno@clisp.org>
45056
45057         Fix test failure on mingw.
45058         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
45059
45060 2008-04-21  Bruno Haible  <bruno@clisp.org>
45061
45062         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
45063         Actually assign a value.
45064
45065 2008-04-20  Bruno Haible  <bruno@clisp.org>
45066
45067         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
45068         take 2.
45069         * lib/canonicalize.c (canonicalize_file_name): Elide if the
45070         'canonicalize-lgpl' module is also used.
45071         * lib/canonicalize-lgpl.c: Undo last change.
45072         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
45073
45074 2008-04-20  Bruno Haible  <bruno@clisp.org>
45075
45076         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
45077         config.h. Provide _mkdir based fallback for mingw.
45078         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
45079         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
45080         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
45081         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
45082         rather than defining mkdir in config.h.
45083         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
45084         (gl_SYS_STAT_H_DEFAULTS): New macro.
45085         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
45086         HAVE_IO_H any more.
45087         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
45088         HAVE_DECL_MKDIR and HAVE_IO_H.
45089
45090 2008-04-20  Bruno Haible  <bruno@clisp.org>
45091
45092         * lib/isapipe.c: Port to native Windows platforms.
45093
45094 2008-04-20  Bruno Haible  <bruno@clisp.org>
45095
45096         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
45097
45098 2008-04-21  Eric Blake  <ebb9@byu.net>
45099
45100         Work around preprocessors that don't handle UINTMAX_MAX.
45101         * lib/memchr2.c (memchr2): Avoid embedded #if.
45102         Reported by Alain Guibert, fix suggested by Bruno Haible.
45103
45104 2008-04-21  Simon Josefsson  <simon@josefsson.org>
45105
45106         * doc/posix-functions/strftime.texi (strftime): Explain better
45107         Windows incompatibility.  Suggested by Micah Cowan
45108         <micah@cowan.name>.
45109
45110 2008-04-20  Bruno Haible  <bruno@clisp.org>
45111
45112         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
45113         unistr/u8-mblen.
45114
45115 2008-04-20  Bruno Haible  <bruno@clisp.org>
45116
45117         Fix test failure on platforms with non-GNU iconv.
45118         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
45119         (U_TO_U8): Use it, rather than u16_to_u8.
45120         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
45121         units at the end of the input string.
45122         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
45123
45124 2008-04-20  Bruno Haible  <bruno@clisp.org>
45125
45126         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
45127         when the resulting length is 0.
45128         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
45129
45130 2008-04-20  Bruno Haible  <bruno@clisp.org>
45131
45132         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
45133         works.
45134         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
45135
45136 2008-04-20  Bruno Haible  <bruno@clisp.org>
45137
45138         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
45139         * modules/tsearch-tests (configure.ac): Test for initstate function.
45140
45141 2008-04-20  Bruno Haible  <bruno@clisp.org>
45142
45143         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
45144         for nlink_t if missing.
45145         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
45146
45147 2008-04-19  Bruno Haible  <bruno@clisp.org>
45148
45149         Work around snprintf bug on Linux libc5.
45150         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
45151         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
45152         gl_SNPRINTF_SIZE1.
45153         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
45154         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
45155         that test failed.
45156         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
45157         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
45158         * modules/snprintf (Files): Add m4/printf.m4.
45159         * modules/vsnprintf (Files): Likewise.
45160         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
45161         * doc/posix-functions/vsnprintf.texi: Likewise.
45162
45163 2008-04-19  Bruno Haible  <bruno@clisp.org>
45164
45165         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
45166         from 0.0058 to less than 10^-7.
45167
45168 2008-04-19  Bruno Haible  <bruno@clisp.org>
45169
45170         Fix rounding when a precision is given.
45171         * lib/vasnprintf.c (is_borderline): New function.
45172         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
45173         9...9x.
45174         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
45175         %e, %g.
45176         * tests/test-vasprintf-posix.c (test_function): Likewise.
45177         * tests/test-snprintf-posix.h (test_function): Likewise.
45178         * tests/test-sprintf-posix.h (test_function): Likewise.
45179         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
45180         * tests/test-printf-posix.h (test_function): Likewise.
45181         * tests/test-printf-posix.output: Update.
45182         Reported by John Darrington <john@darrington.wattle.id.au> via
45183         Ben Pfaff <blp@cs.stanford.edu>.
45184
45185 2008-04-18  Simon Josefsson  <simon@josefsson.org>
45186
45187         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
45188         Suggested by Bruno Haible <bruno@clisp.org>.
45189
45190 2008-04-17  Bruno Haible  <bruno@clisp.org>
45191
45192         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
45193         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
45194         implementation.
45195         Patch by Bruce Merry <bmerry@gmail.com>.
45196
45197 2008-04-17  Simon Josefsson  <simon@josefsson.org>
45198
45199         * doc/posix-functions/strftime.texi (strftime): Mention that %e
45200         doesn't work under Windows.
45201
45202 2008-04-16  Bruno Haible  <bruno@clisp.org>
45203
45204         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
45205         New macros.
45206         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
45207         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
45208         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
45209         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
45210         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
45211         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
45212         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
45213         macros.
45214         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
45215         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
45216         Northern Sotho, Uighur.
45217
45218 2008-04-16  Bruno Haible  <bruno@clisp.org>
45219
45220         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
45221         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
45222         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
45223         Reported by Daniel Bergström <daniel@octocode.com>.
45224
45225 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
45226             Bruno Haible  <bruno@clisp.org>
45227
45228         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
45229         function.
45230         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
45231         New functions, mostly extracted from gl_locale_name_default.
45232         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
45233
45234 2008-04-16  Eric Blake  <ebb9@byu.net>
45235
45236         Adjust strtod detection to catch glibc 2.7 bug.
45237         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
45238         Reported by John Gatewood Ham.
45239
45240 2008-04-16  Bruno Haible  <bruno@clisp.org>
45241
45242         Add tentative support for Linux libc5.
45243         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
45244         * lib/fpurge.c (fpurge): Likewise.
45245         * lib/freadable.c (freadable): Likewise.
45246         * lib/freadahead.c (freadahead): Likewise.
45247         * lib/freading.c (freading): Likewise.
45248         * lib/freadptr.c (freadptr): Likewise.
45249         * lib/freadseek.c (freadptrinc): Likewise.
45250         * lib/fseeko.c (rpl_fseeko): Likewise.
45251         * lib/fseterr.c (fseterr): Likewise.
45252         * lib/fwritable.c (fwritable): Likewise.
45253         * lib/fwriting.c (fwriting): Likewise.
45254         Reported by Alain Guibert <alguibert+bts@free.fr>.
45255
45256 2008-04-15  Bruno Haible  <bruno@clisp.org>
45257
45258         * modules/mathl (configure.ac): Define module indicator.
45259
45260 2008-04-15  Bruno Haible  <bruno@clisp.org>
45261
45262         * lib/logl.c (logl): Remove unused variables.
45263
45264 2008-04-15  Bruno Haible  <bruno@clisp.org>
45265
45266         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
45267         fails.
45268
45269 2008-04-15  Bruno Haible  <bruno@clisp.org>
45270
45271         * lib/trim.c (trim2): Fix argument of isspace() macro.
45272
45273 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
45274
45275         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
45276         to 0.
45277         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
45278
45279 2008-04-14  Bruno Haible  <bruno@clisp.org>
45280
45281         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
45282         AC_LANG_PROGRAM argument.
45283         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
45284         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
45285         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
45286         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
45287         * m4/math_h.m4 (gl_MATH_H): Likewise.
45288         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
45289         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
45290         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
45291         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
45292         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
45293         * m4/regex.m4 (gl_REGEX): Likewise.
45294         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
45295         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
45296         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
45297         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
45298         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
45299         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
45300         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
45301         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
45302
45303 2008-04-14  Jim Meyering  <meyering@redhat.com>
45304
45305         test-strtod: fix typos: s/abs/fabs/
45306         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
45307
45308 2008-04-13  Bruno Haible  <bruno@clisp.org>
45309
45310         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
45311         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
45312         module is also used and while not building the reloc-wrapper.
45313
45314 2008-04-13  Bruno Haible  <bruno@clisp.org>
45315
45316         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
45317
45318 2008-04-13  Bruno Haible  <bruno@clisp.org>
45319
45320         Fix AIX compilation failure introduced on 2008-04-02.
45321         * tests/test-frexp.c (exp): Undefine before redefining.
45322         * tests/test-frexpl.c (exp): Likewise.
45323
45324 2008-04-13  Bruno Haible  <bruno@clisp.org>
45325
45326         Work around a HP-UX stdio bug.
45327         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
45328         * tests/test-ftello.c (main): Likewise.
45329         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
45330         * doc/posix-functions/ftello.texi: Likewise.
45331
45332 2008-04-13  Bruno Haible  <bruno@clisp.org>
45333
45334         Make test-signbit pass on HP-UX/hppa.
45335         * tests/test-signbit.c (minus_zerol): New variable.
45336         (test_signbitl): Use it.
45337
45338 2008-04-13  Bruno Haible  <bruno@clisp.org>
45339
45340         Make truncl work on OSF/1 4.0.
45341         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
45342         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
45343         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
45344         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
45345         HAVE_DECL_TRUNCL.
45346         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
45347         HAVE_DECL_TRUNCL.
45348         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
45349
45350 2008-04-13  Bruno Haible  <bruno@clisp.org>
45351
45352         * lib/unictype.h: Remove trailing comma from enumeration definitions.
45353
45354 2008-04-13  Bruno Haible  <bruno@clisp.org>
45355
45356         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
45357         expression, so as to avoid HP-UX 11 cc compiler bug.
45358
45359 2008-04-13  Bruno Haible  <bruno@clisp.org>
45360
45361         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
45362
45363 2008-04-13  Bruno Haible  <bruno@clisp.org>
45364
45365         * lib/git-merge-changelog.c: Remove empty declaration outside of
45366         functions.
45367
45368 2008-04-13  Bruno Haible  <bruno@clisp.org>
45369
45370         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
45371
45372 2008-04-13  Bruno Haible  <bruno@clisp.org>
45373
45374         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
45375         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
45376         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
45377         also if it exists but lacks definitions of the SHUT_* macros.
45378         * modules/sys_socket (Description): Update.
45379         Reported by Elbert Pol <e.pol@chello.nl>.
45380
45381 2008-04-13  Bruno Haible  <bruno@clisp.org>
45382
45383         * lib/localcharset.c (OS2): Don't redefine if already defined.
45384         Reported by Elbert Pol <e.pol@chello.nl>.
45385
45386 2008-04-13  Bruno Haible  <bruno@clisp.org>
45387
45388         * lib/binary-io.h [__EMX__]: Include <io.h>.
45389         Reported by Elbert Pol <e.pol@chello.nl>.
45390
45391 2008-04-12  Bruno Haible  <bruno@clisp.org>
45392
45393         * lib/fpucw.h: Enable the definitions also for x86_64.
45394         Needed for NetBSD/x86_64.
45395         Reported by Thomas Klausner <tk@giga.or.at>.
45396
45397 2008-04-12  Bruno Haible  <bruno@clisp.org>
45398
45399         * tests/test-strtod.c: Include isnand.h.
45400         (main): Use isnand instead of isnan.
45401         Reported by Jim Meyering.
45402
45403 2008-04-12  Bruno Haible  <bruno@clisp.org>
45404
45405         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
45406         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
45407
45408 2008-04-12  Jim Meyering  <meyering@redhat.com>
45409
45410         * m4/math_h.m4 (gl_MATH_H): Fix typos.
45411
45412 2008-04-12  Bruno Haible  <bruno@clisp.org>
45413
45414         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
45415         Reported by Elbert Pol <e.pol@chello.nl>.
45416
45417 2008-04-12  Eric Blake  <ebb9@byu.net>
45418
45419         Work around Solaris 10 math.h bug.
45420         * m4/math_h.m4 (gl_MATH_H): Check for bug.
45421         (gl_MATH_H_DEFAULTS): Set up default.
45422         * modules/math (Makefile.am): Replace new indicators.
45423         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
45424         * tests/test-math.c (main): Test this.
45425         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
45426         * doc/posix-headers/math.texi (math.h): Mention bug.
45427         Reported by Nelson H. F. Beebe and Jim Meyering.
45428
45429 2008-04-11  Bruno Haible  <bruno@clisp.org>
45430
45431         Adapt to future versions of Apple GCC.
45432         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
45433         Reported by Peter O'Gorman <peter@pogma.com>.
45434
45435 2008-04-11  Bruno Haible  <bruno@clisp.org>
45436
45437         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
45438
45439 2008-04-11  Bruno Haible  <bruno@clisp.org>
45440
45441         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
45442
45443         * modules/getaddrinfo-tests (Makefile.am): Define
45444         test_getaddrinfo_LDADD.
45445
45446 2008-04-11  Bruno Haible  <bruno@clisp.org>
45447
45448         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
45449         (init): Fix syntax error.
45450         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
45451         is declared.
45452
45453 2008-04-11  Bruno Haible  <bruno@clisp.org>
45454
45455         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
45456         * modules/glob (Depends-on): Add stdbool.
45457
45458 2008-04-11  Bruno Haible  <bruno@clisp.org>
45459
45460         * lib/trim.c: Include <string.h>.
45461
45462 2008-04-11  Eric Blake  <ebb9@byu.net>
45463
45464         Avoid compile failure on OS/2.
45465         * lib/regex_internal.h (internal_function): Disable optimization
45466         on OS/2 (__EMX__), where it caused compiler error.
45467         Reported by Elbert Pol.
45468
45469 2008-04-11  Bruno Haible  <bruno@clisp.org>
45470
45471         Flush the standard error stream before aborting. Needed on mingw.
45472         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
45473         * tests/test-array_list.c (ASSERT): Likewise.
45474         * tests/test-array_oset.c (ASSERT): Likewise.
45475         * tests/test-avltree_list.c (ASSERT): Likewise.
45476         * tests/test-avltree_oset.c (ASSERT): Likewise.
45477         * tests/test-avltreehash_list.c (ASSERT): Likewise.
45478         * tests/test-binary-io.c (ASSERT): Likewise.
45479         * tests/test-byteswap.c (ASSERT): Likewise.
45480         * tests/test-c-ctype.c (ASSERT): Likewise.
45481         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
45482         * tests/test-c-strcasestr.c (ASSERT): Likewise.
45483         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
45484         * tests/test-c-strstr.c (ASSERT): Likewise.
45485         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
45486         * tests/test-canonicalize.c (ASSERT): Likewise.
45487         * tests/test-carray_list.c (ASSERT): Likewise.
45488         * tests/test-ceilf1.c (ASSERT): Likewise.
45489         * tests/test-ceilf2.c (ASSERT): Likewise.
45490         * tests/test-ceill.c (ASSERT): Likewise.
45491         * tests/test-count-one-bits.c (ASSERT): Likewise.
45492         * tests/test-fbufmode.c (ASSERT): Likewise.
45493         * tests/test-fflush2.c (ASSERT): Likewise.
45494         * tests/test-floorf1.c (ASSERT): Likewise.
45495         * tests/test-floorf2.c (ASSERT): Likewise.
45496         * tests/test-floorl.c (ASSERT): Likewise.
45497         * tests/test-fopen.c (ASSERT): Likewise.
45498         * tests/test-fpending.c (ASSERT): Likewise.
45499         * tests/test-fprintf-posix.c (ASSERT): Likewise.
45500         * tests/test-fpurge.c (ASSERT): Likewise.
45501         * tests/test-freadable.c (ASSERT): Likewise.
45502         * tests/test-freadahead.c (ASSERT): Likewise.
45503         * tests/test-freading.c (ASSERT): Likewise.
45504         * tests/test-freadptr.c (ASSERT): Likewise.
45505         * tests/test-freadptr2.c (ASSERT): Likewise.
45506         * tests/test-freadseek.c (ASSERT): Likewise.
45507         * tests/test-freopen.c (ASSERT): Likewise.
45508         * tests/test-frexp.c (ASSERT): Likewise.
45509         * tests/test-frexpl.c (ASSERT): Likewise.
45510         * tests/test-fseek.c (ASSERT): Likewise.
45511         * tests/test-fseeko.c (ASSERT): Likewise.
45512         * tests/test-fstrcmp.c (ASSERT): Likewise.
45513         * tests/test-ftell.c (ASSERT): Likewise.
45514         * tests/test-ftello.c (ASSERT): Likewise.
45515         * tests/test-func.c (ASSERT): Likewise.
45516         * tests/test-fwritable.c (ASSERT): Likewise.
45517         * tests/test-fwriting.c (ASSERT): Likewise.
45518         * tests/test-getdelim.c (ASSERT): Likewise.
45519         * tests/test-getline.c (ASSERT): Likewise.
45520         * tests/test-i-ring.c (ASSERT): Likewise.
45521         * tests/test-iconv-utf.c (ASSERT): Likewise.
45522         * tests/test-iconv.c (ASSERT): Likewise.
45523         * tests/test-isfinite.c (ASSERT): Likewise.
45524         * tests/test-isnand.c (ASSERT): Likewise.
45525         * tests/test-isnanf.c (ASSERT): Likewise.
45526         * tests/test-isnanl.h (ASSERT): Likewise.
45527         * tests/test-ldexpl.c (ASSERT): Likewise.
45528         * tests/test-linked_list.c (ASSERT): Likewise.
45529         * tests/test-linkedhash_list.c (ASSERT): Likewise.
45530         * tests/test-localename.c (ASSERT): Likewise.
45531         * tests/test-lseek.c (ASSERT): Likewise.
45532         * tests/test-mbscasecmp.c (ASSERT): Likewise.
45533         * tests/test-mbscasestr1.c (ASSERT): Likewise.
45534         * tests/test-mbscasestr2.c (ASSERT): Likewise.
45535         * tests/test-mbscasestr3.c (ASSERT): Likewise.
45536         * tests/test-mbscasestr4.c (ASSERT): Likewise.
45537         * tests/test-mbschr.c (ASSERT): Likewise.
45538         * tests/test-mbscspn.c (ASSERT): Likewise.
45539         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
45540         * tests/test-mbspbrk.c (ASSERT): Likewise.
45541         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
45542         * tests/test-mbsrchr.c (ASSERT): Likewise.
45543         * tests/test-mbsspn.c (ASSERT): Likewise.
45544         * tests/test-mbsstr1.c (ASSERT): Likewise.
45545         * tests/test-mbsstr2.c (ASSERT): Likewise.
45546         * tests/test-mbsstr3.c (ASSERT): Likewise.
45547         * tests/test-memchr2.c (ASSERT): Likewise.
45548         * tests/test-memmem.c (ASSERT): Likewise.
45549         * tests/test-open.c (ASSERT): Likewise.
45550         * tests/test-printf-frexp.c (ASSERT): Likewise.
45551         * tests/test-printf-frexpl.c (ASSERT): Likewise.
45552         * tests/test-printf-posix.c (ASSERT): Likewise.
45553         * tests/test-quotearg.c (ASSERT): Likewise.
45554         * tests/test-rbtree_list.c (ASSERT): Likewise.
45555         * tests/test-rbtree_oset.c (ASSERT): Likewise.
45556         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
45557         * tests/test-round1.c (ASSERT): Likewise.
45558         * tests/test-roundf1.c (ASSERT): Likewise.
45559         * tests/test-roundl.c (ASSERT): Likewise.
45560         * tests/test-signbit.c (ASSERT): Likewise.
45561         * tests/test-sleep.c (ASSERT): Likewise.
45562         * tests/test-snprintf-posix.c (ASSERT): Likewise.
45563         * tests/test-snprintf.c (ASSERT): Likewise.
45564         * tests/test-sprintf-posix.c (ASSERT): Likewise.
45565         * tests/test-stat-time.c (ASSERT): Likewise.
45566         * tests/test-strcasestr.c (ASSERT): Likewise.
45567         * tests/test-strerror.c (ASSERT): Likewise.
45568         * tests/test-striconv.c (ASSERT): Likewise.
45569         * tests/test-striconveh.c (ASSERT): Likewise.
45570         * tests/test-striconveha.c (ASSERT): Likewise.
45571         * tests/test-strsignal.c (ASSERT): Likewise.
45572         * tests/test-strstr.c (ASSERT): Likewise.
45573         * tests/test-strtod.c (ASSERT): Likewise.
45574         * tests/test-trunc1.c (ASSERT): Likewise.
45575         * tests/test-trunc2.c (ASSERT): Likewise.
45576         * tests/test-truncf1.c (ASSERT): Likewise.
45577         * tests/test-truncf2.c (ASSERT): Likewise.
45578         * tests/test-truncl.c (ASSERT): Likewise.
45579         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
45580         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
45581         * tests/test-vasnprintf.c (ASSERT): Likewise.
45582         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
45583         * tests/test-vasprintf.c (ASSERT): Likewise.
45584         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
45585         * tests/test-vprintf-posix.c (ASSERT): Likewise.
45586         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
45587         * tests/test-vsnprintf.c (ASSERT): Likewise.
45588         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
45589         * tests/test-wcwidth.c (ASSERT): Likewise.
45590         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
45591         * tests/test-xprintf-posix.c (ASSERT): Likewise.
45592         * tests/test-xvasprintf.c (ASSERT): Likewise.
45593         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
45594         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
45595         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
45596         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
45597         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
45598         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
45599         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
45600         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
45601         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
45602         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
45603         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
45604         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
45605         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
45606         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
45607         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
45608         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
45609         * tests/unictype/test-block_list.c (ASSERT): Likewise.
45610         * tests/unictype/test-block_of.c (ASSERT): Likewise.
45611         * tests/unictype/test-block_test.c (ASSERT): Likewise.
45612         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
45613         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
45614         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
45615         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
45616         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
45617         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
45618         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
45619         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
45620         * tests/unictype/test-combining.c (ASSERT): Likewise.
45621         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
45622         * tests/unictype/test-digit.c (ASSERT): Likewise.
45623         * tests/unictype/test-mirror.c (ASSERT): Likewise.
45624         * tests/unictype/test-numeric.c (ASSERT): Likewise.
45625         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
45626         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
45627         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
45628         * tests/unictype/test-scripts.c (ASSERT): Likewise.
45629         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
45630         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
45631         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
45632         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
45633         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
45634         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
45635         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
45636         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
45637         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
45638         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
45639         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
45640         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
45641         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
45642         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
45643         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
45644         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
45645         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
45646         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
45647         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
45648         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
45649         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
45650         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
45651         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
45652         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
45653         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
45654         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
45655         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
45656         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
45657         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
45658         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
45659         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
45660         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
45661         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
45662         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
45663         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
45664         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
45665         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
45666         Reported by Eric Blake.
45667
45668 2008-04-11  Bruno Haible  <bruno@clisp.org>
45669
45670         * lib/wchar.in.h: Tweak comment.
45671
45672 2008-04-11  Bruno Haible  <bruno@clisp.org>
45673
45674         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
45675         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
45676         gl_COMMON.
45677         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
45678
45679 2008-04-11  Bruno Haible  <bruno@clisp.org>
45680
45681         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
45682
45683 2008-04-11  Simon Josefsson  <simon@josefsson.org>
45684
45685         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
45686         of attempting to use non-existing /dev/*random.  Based on patch
45687         from Adam Strzelecki <ono@java.pl> in
45688         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
45689
45690 2008-04-08  Bruno Haible  <bruno@clisp.org>
45691
45692         Add tentative support for emx+gcc.
45693         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
45694         * lib/fpurge.c (fpurge): Likewise.
45695         * lib/freadable.c (freadable): Likewise.
45696         * lib/freadahead.c (freadahead): Likewise.
45697         * lib/freading.c (freading): Likewise.
45698         * lib/freadptr.c (freadptr): Likewise.
45699         * lib/freadseek.c (freadptrinc): Likewise.
45700         * lib/fseeko.c (rpl_fseeko): Likewise.
45701         * lib/fseterr.c (fseterr): Likewise.
45702         * lib/fwritable.c (fwritable): Likewise.
45703         * lib/fwriting.c (fwriting): Likewise.
45704         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
45705
45706 2008-04-09  Eric Blake  <ebb9@byu.net>
45707
45708         Avoid some autoconf warnings.
45709         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
45710         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
45711         * m4/afs.m4 (gl_AFS): Likewise.
45712         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
45713         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
45714         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
45715         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
45716         (gl_INTEGER_TYPE_SUFFIX): Likewise.
45717         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
45718         (AC_CHECK_DECLS_ONCE): Likewise.
45719         Rename file...
45720         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
45721         gnulib-tool requires autoconf 2.59 or better.
45722         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
45723
45724 2008-04-08  Eric Blake  <ebb9@byu.net>
45725
45726         Use 'git describe --match' if present (added in git 1.5.5).
45727         * build-aux/git-version-gen: Limit result to tags that match 'v*'
45728         if possible.
45729
45730 2008-04-08  Bruno Haible  <bruno@clisp.org>
45731
45732         Add tentative support for OpenServer.
45733         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
45734         _ptr, _cnt.
45735         * lib/fpurge.c (fpurge): Likewise.
45736         * lib/freadable.c (freadable): Likewise.
45737         * lib/freadahead.c (freadahead): Likewise.
45738         * lib/freading.c (freading): Likewise.
45739         * lib/freadptr.c (freadptr): Likewise.
45740         * lib/freadseek.c (freadptrinc): Likewise.
45741         * lib/fseeko.c (rpl_fseeko): Likewise.
45742         * lib/fseterr.c (fseterr): Likewise.
45743         * lib/fwritable.c (fwritable): Likewise.
45744         * lib/fwriting.c (fwriting): Likewise.
45745         Reported by Roger Cornelius <rac@tenzing.org> and
45746         Brian K. White <brian@aljex.com>.
45747
45748 2008-04-06  Jim Meyering  <meyering@redhat.com>
45749
45750         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
45751
45752 2008-04-06  Bruno Haible  <bruno@clisp.org>
45753
45754         Avoid possible error with non-ASCII bytes in UTF-8 locales.
45755         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
45756         * tests/test-printf-posix.sh: Likewise.
45757         * tests/test-vfprintf-posix.sh: Likewise.
45758         * tests/test-vprintf-posix.sh: Likewise.
45759         * tests/test-xprintf-posix.sh: Likewise.
45760
45761 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45762
45763         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
45764         hide error from 'ls', needed on OS/2.
45765         Report by Elbert Pol <elbert.pol@gmail.com>.
45766
45767 2008-04-04  Eric Blake  <ebb9@byu.net>
45768
45769         Make test-fseeko.c failures meaningful.
45770         * tests/test-fseeko.c: Print line number on failure.
45771         * tests/test-fseek.c: Likewise.
45772         Reported by Nelson H. F. Beebe.
45773
45774         Improve strtod bug detection check.
45775         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
45776         required for Solaris 10.
45777         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
45778
45779 2008-04-04  Bruno Haible  <bruno@clisp.org>
45780
45781         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
45782         by m4/setenv.m4.
45783
45784 2008-04-03  Eric Blake  <ebb9@byu.net>
45785
45786         Ensure sane .version contents.
45787         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
45788         version string.
45789         * build-aux/git-version-gen: Improve documentation.
45790
45791         Make GNU make output nicer.
45792         * top/GNUmakefile [!_have-Makefile]: Add dependency on
45793         MAKECMDGOALS to enforce message for all command line targets.  Set
45794         srcdir for use in maint.mk.
45795
45796         Another maintainer tweak.
45797         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
45798         a target that regenerates version.
45799
45800 2008-04-03  Jim Meyering  <meyering@redhat.com>
45801
45802         vc-list-files: don't cause coreutils "make po-check" failure
45803         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
45804
45805 2008-04-03  Eric Blake  <ebb9@byu.net>
45806
45807         Allow VPATH usage of vc-list-files.
45808         * build-aux/vc-list-files (scriptversion): Add timestamp.
45809         (options): Add --help, --version, -C.
45810         (CVS): Support installed cvsu.
45811
45812 2008-04-02  Bruno Haible  <bruno@clisp.org>
45813
45814         Avoid some "statement with no effect" warnings from gcc.
45815         * tests/test-wctype.c (main): Explicitly ignore unused values.
45816         Reported by Jim Meyering.
45817
45818 2008-04-02  Jim Meyering  <meyering@redhat.com>
45819
45820         Avoid some warnings from "gcc -Wshadow".
45821         * tests/test-frexp.c (exp): Define to a different identifier.
45822         * tests/test-frexpl.c (exp): Likewise.
45823
45824 2008-04-03  Jim Meyering  <meyering@redhat.com>
45825
45826         bootstrap: remove dangling *.[ch] symlinks from lib
45827         * build-aux/bootstrap [dangling symlink removal]: Move find's
45828         -depth option to precede all others, to avoid a warning.
45829         Remove *.[ch] files too, and from "$source_base" (usually lib/).
45830
45831 2008-04-02  Bruno Haible  <bruno@clisp.org>
45832
45833         Avoid some warnings from "gcc -Wshadow".
45834         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
45835         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
45836         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
45837         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
45838         Reported by Jim Meyering.
45839
45840 2008-04-01  Bruno Haible  <bruno@clisp.org>
45841
45842         Fix test to work on IRIX 6.5 with cc.
45843         * tests/test-math.c (numeric_equal): New function.
45844         (main): Use it.
45845
45846 2008-04-01  Bruno Haible  <bruno@clisp.org>
45847
45848         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
45849
45850 2008-04-01  Bruno Haible  <bruno@clisp.org>
45851
45852         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
45853         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
45854         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
45855         (Depends-on): Remove math.
45856
45857         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
45858         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
45859         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
45860         (Depends-on): Remove math.
45861
45862         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
45863         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
45864         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
45865         (Depends-on): Remove math.
45866         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
45867         (Depends-on): Remove math.
45868
45869         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
45870         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
45871         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
45872         (Depends-on): Remove math.
45873         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
45874         (Depends-on): Remove math.
45875
45876         * tests/test-round1.c: Include nan.h.
45877         (main): Use NaNd instead of NAN.
45878         * modules/round-tests (Files): Add tests/nan.h.
45879
45880         * tests/test-trunc1.c: Include nan.h.
45881         (main): Use NaNd instead of NAN.
45882         * modules/trunc-tests (Files): Add tests/nan.h.
45883
45884         * tests/test-roundf1.c: Include nan.h.
45885         (main): Use NaNf instead of NAN.
45886         * modules/roundf-tests (Files): Add tests/nan.h.
45887
45888         * tests/test-truncf1.c: Include nan.h.
45889         (main): Use NaNf instead of NAN.
45890         * modules/truncf-tests (Files): Add tests/nan.h.
45891
45892         * tests/test-ceilf1.c: Include nan.h.
45893         (main): Use NaNf instead of NAN.
45894         * modules/ceilf-tests (Files): Add tests/nan.h.
45895
45896         * tests/test-floorf1.c: Include nan.h.
45897         (main): Use NaNf instead of NAN.
45898         * modules/floorf-tests (Files): Add tests/nan.h.
45899
45900         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
45901         (main): Use NaNf instead of NAN.
45902         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
45903
45904         * tests/test-isnand.c: Include nan.h instead of <math.h>.
45905         (main): Use NaNd instead of NAN.
45906         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
45907
45908         * tests/test-frexp.c: Include nan.h.
45909         (main): Use NaNd instead of NAN.
45910         * modules/frexp-tests (Files): Add tests/nan.h.
45911
45912         * lib/isnan.c: Don't include <math.h>.
45913         (FUNC): Don't use NAN macro.
45914         * modules/isnand-nolibm (Depends-on): Remove math.
45915         * modules/isnanf-nolibm (Depends-on): Remove math.
45916         * modules/isnanl (Depends-on): Remove math.
45917         * modules/isnanl-nolibm (Depends-on): Remove math.
45918
45919         * tests/nan.h: New file.
45920
45921 2008-04-01  Eric Blake  <ebb9@byu.net>
45922
45923         Fix typos.
45924         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
45925         values to be the right type.
45926
45927         For now, cater to gnulib strtod inaccuracies.
45928         * tests/test-strtod.c (main): Allow 1-ulp error on expected
45929         fractional results.  While not as nice from a QoI perspective, it
45930         is a quicker patch than correctly implementing decimal to binary
45931         rounding.
45932
45933 2008-03-31  Eric Blake  <ebb9@byu.net>
45934
45935         Guarantee a definition of NAN.
45936         * lib/math.in.h (NAN): Define if missing.
45937         * tests/test-math.c (main): Test it.
45938         * doc/posix-headers/math.texi (math.h): Document this.
45939         * lib/isnan.c (rpl_isnand): Use it.
45940         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
45941         * tests/test-floorf1.c (NaN): Likewise.
45942         * tests/test-frexp.c (NaN): Likewise.
45943         * tests/test-isnand.c (NaN): Likewise.
45944         * tests/test-isnanf.c (NaN): Likewise.
45945         * tests/test-round1.c (NaN): Likewise.
45946         * tests/test-roundf1.c (NaN): Likewise.
45947         * tests/test-snprintf-posix.h (NaN): Likewise.
45948         * tests/test-sprintf-posix.h (NaN): Likewise.
45949         * tests/test-trunc1.c (NaN): Likewise.
45950         * tests/test-truncf1.c (NaN): Likewise.
45951         * tests/test-vasnprintf-posix.c (NaN): Likewise.
45952         * tests/test-vasprintf-posix.c (NaN): Likewise.
45953         * modules/isnand-nolibm (Depends-on): Add math.
45954         * modules/isnanf-nolibm (Depends-on): Likewise.
45955         * modules/isnanl (Depends-on): Likewise.
45956         * modules/isnanl-nolibm (Depends-on): Likewise.
45957         * modules/snprintf-posix-tests (Depends-on): Likewise.
45958         * modules/sprintf-posix-tests (Depends-on): Likewise.
45959         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
45960         * modules/vsprintf-posix-tests (Depends-on): Likewise.
45961         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
45962         * modules/vasprintf-posix-tests (Depends-on): Likewise.
45963
45964 2008-03-31  Bruno Haible  <bruno@clisp.org>
45965
45966         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
45967         * doc/posix-functions/strtod.texi: Likewise.
45968
45969 2008-03-31  Bruno Haible  <bruno@clisp.org>
45970
45971         * tests/test-strtod.c (main): Don't use C99 syntax.
45972
45973 2008-03-31  Bruno Haible  <bruno@clisp.org>
45974
45975         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
45976         Reported by Eric Blake.
45977
45978 2008-03-31  Jim Meyering  <meyering@redhat.com>
45979
45980         Don't compare actual signbit return values.
45981         * tests/test-strtod.c (main): Rather, compare only their
45982         zero/non-zero nature.
45983
45984 2008-03-31  Eric Blake  <ebb9@byu.net>
45985
45986         More strtod documentation.
45987         * doc/posix-functions/strtod.texi (strtod): Interpret more test
45988         failures as distinct bugs.
45989
45990 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
45991
45992         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
45993         Problem reported by Erik Benada in
45994         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
45995
45996 2008-03-30  Bruno Haible  <bruno@clisp.org>
45997
45998         * tests/test-strtod.c: Add comments about which assertion fails on which
45999         platform.
46000         * doc/posix-functions/strtod.texi: Add info about many more platforms.
46001
46002 2008-03-30  Eric Blake  <ebb9@byu.net>
46003
46004         Test signbit behavior on zeros.
46005         * tests/test-signbit.c (test_signbitf): Add tests for zero.
46006         (test_signbitd, test_signbitl): Likewise.
46007
46008         More strtod touchups.
46009         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
46010         sign of negative underflow, for now.  Use .5, not .1.
46011         * doc/posix-functions/strtod.texi (strtod): Mention these
46012         limitations.
46013         Reported by Jim Meyering.
46014
46015 2008-03-30  Bruno Haible  <bruno@clisp.org>
46016
46017         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
46018         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
46019
46020 2008-03-30  Bruno Haible  <bruno@clisp.org>
46021
46022         Avoid failure when attempting to return empty iconv results on some
46023         platforms.
46024         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
46025         allocation, don't report ENOMEM when the resulting string is empty.
46026
46027 2008-03-30  Bruno Haible  <bruno@clisp.org>
46028
46029         Fix buffer overrun.
46030         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
46031         Don't consider the width for tmp_length. Check count against tmp_length
46032         before doing the padding. Ensure enough allocation during padding.
46033
46034 2008-03-30  Eric Blake  <ebb9@byu.net>
46035
46036         strtod touchups.
46037         * lib/strtod.c (strtod): Avoid compiler warnings.
46038         Reported by Jim Meyering.
46039
46040 2008-03-30  Bruno Haible  <bruno@clisp.org>
46041
46042         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
46043         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
46044         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
46045         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
46046         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
46047         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
46048         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
46049         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
46050
46051         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
46052         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
46053         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
46054         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
46055         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
46056         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
46057         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
46058         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
46059
46060         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
46061         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
46062         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
46063         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
46064         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
46065         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
46066         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
46067         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
46068
46069         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
46070         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
46071
46072         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
46073         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
46074
46075         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
46076         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
46077
46078         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
46079         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
46080         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
46081
46082         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
46083         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
46084         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
46085
46086         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
46087         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
46088         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
46089
46090         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
46091         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
46092         * modules/vasprintf (Depends-on): Add EOVERFLOW.
46093
46094         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
46095         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
46096         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
46097         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
46098         (Depends-on): Add EOVERFLOW.
46099         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
46100         (Depends-on): Add EOVERFLOW.
46101         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
46102         (Depends-on): Add EOVERFLOW.
46103         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
46104         (Depends-on): Add EOVERFLOW.
46105         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
46106         (Depends-on): Add EOVERFLOW.
46107         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
46108         (Depends-on): Add EOVERFLOW.
46109         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
46110         (Depends-on): Add EOVERFLOW.
46111         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
46112         (Depends-on): Add EOVERFLOW.
46113
46114         * lib/sprintf.c (EOVERFLOW): Remove fallback.
46115         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
46116         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
46117
46118         * lib/snprintf.c (EOVERFLOW): Remove fallback.
46119         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
46120         * modules/snprintf (Depends-on): Add EOVERFLOW.
46121
46122         * lib/poll.c (EOVERFLOW): Remove fallback.
46123         * modules/poll (Depends-on): Add EOVERFLOW.
46124
46125         * lib/getugroups.c (EOVERFLOW): Remove fallback.
46126         * modules/getugroups (Depends-on): Add EOVERFLOW.
46127
46128         * lib/getdelim.c (EOVERFLOW): Remove fallback.
46129         * modules/getdelim (Depends-on): Add EOVERFLOW.
46130
46131         * lib/ftell.c (EOVERFLOW): Remove fallback.
46132         * modules/ftell (Depends-on): Add EOVERFLOW.
46133
46134         * lib/fprintf.c (EOVERFLOW): Remove fallback.
46135         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
46136         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
46137
46138         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
46139
46140         * modules/EOVERFLOW-tests: New file.
46141         * tests/test-EOVERFLOW.c: New file.
46142
46143         * modules/EOVERFLOW: New file.
46144         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
46145
46146 2008-03-30  Bruno Haible  <bruno@clisp.org>
46147
46148         Fix bug introduced on 2007-06-10.
46149         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
46150         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
46151
46152 2008-03-30  Bruno Haible  <bruno@clisp.org>
46153
46154         Improve freadseek's efficiency after ungetc.
46155         * lib/freadseek.c: Include freadahead.h.
46156         (freadptrinc): New function, extracted from freadseek.
46157         (freadseek): Use it in a loop. Use freadahead to determine the number
46158         of loop iterations.
46159         * modules/freadseek (Depends-on): Add freadahead.
46160         (configure.ac): Require AC_C_INLINE.
46161
46162 2008-03-30  Bruno Haible  <bruno@clisp.org>
46163
46164         * lib/freadseek.c (freadseek): Don't ignore the return value of
46165         freadptr.
46166
46167 2008-03-29  Eric Blake  <ebb9@byu.net>
46168
46169         Add hex float support.
46170         * modules/strtod (Depends-on): Add c-ctype.
46171         (Link): Mention POW_LIB.
46172         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
46173         whitespace between 'e' and exponent.
46174         * tests/test-strtod.c (main): Enable hex float tests.
46175         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
46176         now provides.
46177
46178         Document various strtod bugs, with some fixes.
46179         * doc/posix-functions/strtod.texi (strtod): Document bugs with
46180         "-0x", "inf", "nan", and hex constants.
46181         * doc/posix-functions/atof.texi (atof): Likewise.
46182         * modules/stdlib (Makefile.am): Support strtod.
46183         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
46184         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
46185         detect additional strtod bugs.
46186         * lib/stdlib.in.h (rpl_strtod): Add declarations.
46187         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
46188         bool where appropriate.  Parse 'inf' and 'nan'.
46189         * tests/test-strtod.c: New file.
46190         * modules/strtod (Depends-on): Add stdbool, stdlib.
46191         (configure.ac): Turn on module indicator.
46192         * modules/strtod-tests: New module.
46193
46194 2008-03-29  Eric Blake  <ebb9@byu.net>
46195
46196         Fix ftell on mingw.
46197         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
46198         * modules/ftell-tests (Depends-on): Add binary-io.
46199         * modules/ftello-tests (Depends-on): Likewise.
46200         * tests/test-ftell.c (main): Enhance test to cover behavior after
46201         ungetc.  Enforce binary mode.
46202         * tests/test-ftello.c (main): Likewise.
46203
46204         Pass test-freadseek on cygwin.
46205         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
46206         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
46207         ungetc buffer.
46208
46209         * tests/test-fflush2.c (main): Fix typo.
46210
46211 2008-03-29  Bruno Haible  <bruno@clisp.org>
46212
46213         * tests/test-fflush2.c (main): Temporarily disable the contents of
46214         this test.
46215         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
46216         Reported by Eric Blake.
46217
46218 2008-03-28  Simon Josefsson  <simon@josefsson.org>
46219
46220         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
46221         (GC_SHA224_DIGEST_SIZE): Add.
46222
46223         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
46224         (gc_hash_digest_length): Likewise.
46225         (gc_hash_buffer): Likewise.
46226
46227 2008-03-25  Bruno Haible  <bruno@clisp.org>
46228
46229         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
46230         detail which gettext release to use.
46231         Reported by Simon Josefsson.
46232
46233 2008-03-26  Jim Meyering  <meyering@redhat.com>
46234
46235         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
46236         * modules/gnumakefile (clean-GNUmakefile): Also, use
46237         test ... && ... || : syntax rather than if-then ... fi.
46238
46239         gnumakefile: Don't double-quote-expand $(VPATH) value.
46240         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
46241
46242 2008-03-24  Eric Blake  <ebb9@byu.net>
46243
46244         Alter GNUmakefile to install into top directory.
46245         * modules/maintainer-makefile: Split, and add dependency...
46246         * modules/gnumakefile: to this new module.
46247         * build-aux/GNUmakefile: Move...
46248         * top/GNUmakefile: ...here.
46249         * build-aux/maint.mk: Move...
46250         * top/maint.mk: ...here.
46251         * MODULES.html.sh (Support for maintaining...): Document new
46252         module.
46253
46254 2008-03-23  Bruno Haible  <bruno@clisp.org>
46255
46256         * gnulib-tool: New options --vc-files, --no-vc-files.
46257         (func_usage): Document them.
46258         (vc_files): New variable.
46259         (func_import): Consider vc_files.
46260         (func_create_testdir): Set vc_files to empty.
46261         Suggested by Jim Meyering and Karl Berry.
46262
46263 2008-03-23  Bruno Haible  <bruno@clisp.org>
46264
46265         Fix regex compilation error on HP-UX 11.
46266         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
46267         * modules/regex (Files): Add m4/mbstate_t.m4.
46268         Reported by Ton Voon <ton.voon@altinity.com>.
46269
46270 2008-03-23  Bruno Haible  <bruno@clisp.org>
46271
46272         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
46273
46274 2008-03-23  Eric Blake  <ebb9@byu.net>
46275             Bruno Haible  <bruno@clisp.org>
46276
46277         Install files from top/ in the destination directory.
46278         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
46279         augmentation also for the files from top/.
46280         (func_import, func_create_testdir): Rewrite file names:
46281         top/filename -> filename.
46282
46283 2008-03-23  Bruno Haible  <bruno@clisp.org>
46284
46285         Tweak "gnulib --version" output.
46286         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
46287
46288 2008-03-23  Bruno Haible  <bruno@clisp.org>
46289
46290         Tweak "gnulib --version" output.
46291         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
46292         rather than contents of ChangeLog, when possible.
46293
46294 2008-03-21  Eric Blake  <ebb9@byu.net>
46295
46296         More --version tweaks.
46297         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
46298         date of last ChangeLog entry.
46299
46300 2008-03-21  Jim Meyering  <meyering@redhat.com>
46301
46302         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
46303
46304 2008-03-20  Eric Blake  <ebb9@byu.net>
46305
46306         VPATH fix.
46307         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
46308
46309 2008-03-20  Simon Josefsson  <simon@josefsson.org>
46310
46311         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
46312         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
46313
46314 2008-03-20  Eric Blake  <ebb9@byu.net>
46315
46316         Sync GNUmakefile with coreutils.
46317         * build-aux/GNUmakefile (have-Makefile): Rename...
46318         (_have-Makefile): ...to this, for namespace consideration.
46319         (GNUmakefile.cfg): Include, if present.
46320         (_autoreconf): Define a default.
46321         (_is-dist-target): New rule for rebuilds to pick up intra-release
46322         version.
46323         (maint-cfg.mk): Rename...
46324         (cfg.mk): ...to this.
46325
46326 2008-03-18  Jim Meyering  <meyering@redhat.com>
46327
46328         New script and module: mktempd
46329         * MODULES.html.sh (maint+release support): Add mktempd.
46330         * build-aux/mktempd: New file.
46331         * modules/mktempd: New file.
46332
46333 2008-03-15  Jim Meyering  <meyering@redhat.com>
46334
46335         Undo last change.
46336         * lib/sha1.c, lib/md5.c: 63 != ~63.
46337         Reported by Andreas Schwab.
46338
46339         sha1.c, md5.c: Hoist a redundant expression.
46340         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
46341         "ctx->buflen" only once, before calling *_process_block.
46342         * lib/md5.c (md5_process_bytes): Likewise.
46343
46344 2008-03-14  Eric Blake  <ebb9@byu.net>
46345
46346         Bump copyright year in files generated by gnulib-tool.
46347         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
46348         gnulib-tool, rather than hard-coding it.
46349
46350         Fix 'gnulib-tool --version' output to work with git.
46351         * gnulib-tool (func_gnulib_dir): New function, extracted from...
46352         (startup): ...here.
46353         (func_version): Use it to invoke git-version-gen, rather than
46354         relying on CVS keyword expansion.  Modernize wording.
46355         (cvsdatestamp, last_checkin_date, version): Kill unused
46356         variables.
46357
46358 2008-03-12  Jim Meyering  <meyering@redhat.com>
46359
46360         Recognize optional cast of the argument to free.
46361         * build-aux/useless-if-before-free: Update regexps.
46362
46363         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
46364
46365 2008-03-11  Bruno Haible  <bruno@clisp.org>
46366
46367         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
46368         by a single package.
46369         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
46370         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
46371         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
46372         Reported by Sam Steingold <sds@gnu.org>.
46373
46374 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
46375
46376         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
46377         repositories.
46378
46379 2008-03-11  Bruno Haible  <bruno@clisp.org>
46380
46381         Avoid conflicts between local macro definitions.
46382         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
46383         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
46384
46385 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
46386             Bruno Haible  <bruno@clisp.org>
46387
46388         Make va_copy work with some version of xlc on AIX 5.1.
46389         * lib/stdarg.in.h: New file.
46390         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
46391         On AIX, use a <stdarg.h> file substitute.
46392         * modules/stdarg (Files): Add lib/stdarg.in.h.
46393         (Depends-on): Add include_next.
46394         (Makefile.am): Build a stdarg.h substitute if requested.
46395         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
46396
46397 2008-03-10  Bruno Haible  <bruno@clisp.org>
46398
46399         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
46400         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
46401         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
46402
46403 2008-03-10  Bruno Haible  <bruno@clisp.org>
46404
46405         * modules/stdlib (Depends-on): Add include_next, remove
46406         absolute-header.
46407
46408 2008-03-09  Bruno Haible  <bruno@clisp.org>
46409
46410         * lib/freadahead.h (freadahead): Document more precisely.
46411         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
46412         the sum of both buffer sizes.
46413         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
46414         * NEWS: Document the change.
46415
46416 2008-03-09  Bruno Haible  <bruno@clisp.org>
46417
46418         Extend freadptr to return also the buffer size.
46419         * lib/freadptr.h (freadptr): Add sizep argument.
46420         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
46421         (freadptr): Add sizep argument. Determine buffer size like freadahead
46422         does.
46423         * tests/test-freadptr.c: Don't include freadahead.h.
46424         (main): Adapt for new calling convention of freadptr.
46425         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
46426         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
46427         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
46428         tests/test-freadptr2.sh.
46429         (Depends): Remove freadahead.
46430         (TESTS): Add test-freadptr2.sh.
46431         (check_PROGRAMS): Add test-freadptr2.
46432
46433 2008-03-09  Bruno Haible  <bruno@clisp.org>
46434
46435         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
46436         Report and solution by Simon Josefsson.
46437
46438 2008-03-06  Bruno Haible  <bruno@clisp.org>
46439
46440         Make fflush after ungetc work on BSD platforms.
46441         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
46442         * tests/test-fflush2.c: New file.
46443         * tests/test-fflush2.sh: New file.
46444         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
46445         tests/test-fflush2.c.
46446         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
46447         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
46448
46449 2008-03-06  Eric Blake  <ebb9@byu.net>
46450
46451         Likewise for ftello.
46452         * modules/ftello (Dependencies): Add extensions.
46453         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
46454
46455 2008-03-06  Bruno Haible  <bruno@clisp.org>
46456
46457         * modules/fseeko (Dependencies): Add extensions.
46458         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
46459         Needed on glibc systems.
46460
46461 2008-03-06  Bruno Haible  <bruno@clisp.org>
46462
46463         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
46464         email address.
46465         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
46466
46467 2008-03-06  Bruno Haible  <bruno@clisp.org>
46468
46469         * users.txt: Add libgnupdf.
46470
46471 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
46472
46473         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
46474         (Header File Substitutes, Function Substitutes,
46475         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
46476         (Build robot for gnulib): Fix typo.
46477
46478 2008-03-06  Bruno Haible  <bruno@clisp.org>
46479
46480         * doc/gnulib-tool.texi (VCS Issues): Small updates.
46481         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
46482
46483 2008-03-06  Bruno Haible  <bruno@clisp.org>
46484
46485         * doc/func.texi: New file, extracted from doc/gnulib.texi.
46486         * doc/gnulib.texi: Include it.
46487
46488 2008-03-06  Simon Josefsson  <simon@josefsson.org>
46489
46490         * modules/func (License): Change license to unlimited; there was
46491         no LGPL parts in the module anyway.
46492
46493 2008-03-06  Simon Josefsson  <simon@josefsson.org>
46494
46495         * modules/__func__: Renamed to modules/func.
46496         * modules/__func__-tests: Renamed to modules/func-tests.
46497         * tests/test-__func__.c: Renamed to tests/test-func.c.
46498         * m4/__func__.m4: Renamed to m4/func.m4.
46499         * doc/gnulib.texi (__func__): Section renamed to func.
46500         Suggested by Eric Blake <ebb9@byu.net>.
46501
46502 2008-03-06  Simon Josefsson  <simon@josefsson.org>
46503
46504         * doc/gnulib.texi (__func__): Use C99 terminology when talking
46505         about __func__.  Make example self-contained.  Suggested by Eric
46506         Blake <ebb9@byu.net>.
46507
46508         * tests/test-__func__.c (main): Avoid extraneous () around __func.
46509         Suggested by Eric Blake <ebb9@byu.net>.
46510
46511 2008-03-06  Simon Josefsson  <simon@josefsson.org>
46512
46513         * modules/__func__: New file.
46514         * modules/__func__-tests: New file.
46515         * tests/test-__func__.c: New file.
46516         * m4/__func__.m4: New file.
46517         * doc/gnulib.texi (__func__): Document __func__ module.
46518
46519 2008-03-05  Simon Josefsson  <simon@josefsson.org>
46520
46521         * modules/byteswap (License): Re-license as LGPLv2+.
46522
46523 2008-03-05  Simon Josefsson  <simon@josefsson.org>
46524
46525         * doc/Makefile: Add pdf target.
46526
46527 2008-03-05  Simon Josefsson  <simon@josefsson.org>
46528
46529         * modules/inline (License): Use 'unlimited', since there are only
46530         *.m4 files in this module.
46531
46532 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
46533             Bruno Haible  <bruno@clisp.org>
46534
46535         Add support for HP C 7.1 on OpenVMS 8.3.
46536         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
46537
46538 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
46539
46540         Update VMS specifics.
46541         * lib/getopt.c [VMS]: Remove include of unixlib.h.
46542
46543 2008-03-02  Jim Meyering  <meyering@redhat.com>
46544
46545         Remove the last dependency on the "free" module.
46546         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
46547         Reported by Bob Proulx.
46548
46549         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
46550
46551         Remove useless "if" tests before free.  Deprecate "free" module.
46552         * doc/posix-functions/free.texi: Mention that this
46553         module is no longer useful.
46554         * modules/free (Notice): Say this module is obsolete.
46555         * modules/readutmp (Depends-on): Remove free.
46556         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
46557         * lib/putenv.c (putenv): Likewise.
46558         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
46559         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
46560         * tests/test-c-strcasestr.c (main): Likewise.
46561         * tests/test-c-strstr.c (main): Likewise.
46562         * tests/test-mbscasestr1.c (main): Likewise.
46563         * tests/test-mbscasestr2.c (main): Likewise.
46564         * tests/test-mbsstr1.c (main): Likewise.
46565         * tests/test-mbsstr2.c (main): Likewise.
46566         * tests/test-memmem.c (main): Likewise.
46567         * tests/test-strcasestr.c (main): Likewise.
46568         * tests/test-striconv.c (main): Likewise.
46569         * tests/test-striconveh.c (main): Likewise.
46570         * tests/test-striconveha.c (main): Likewise.
46571         * tests/test-strstr.c (main): Likewise.
46572
46573         * build-aux/git-version-gen: Adjust a comment and the Usage string.
46574
46575         bootstrap: sync from coreutils again
46576         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
46577
46578 2008-03-01  Jim Meyering  <meyering@redhat.com>
46579
46580         bootstrap: sync from coreutils
46581         * build-aux/bootstrap (update_po_files): Copy a .po file into place
46582         also when the target doesn't exist.
46583
46584 2008-03-01  Eric Blake  <ebb9@byu.net>
46585
46586         Fix bugs in last patch.
46587         * lib/memchr2.c (memchr2): Fix typo.
46588         * tests/test-memchr2.c: Test previous bug, and don't use GNU
46589         extension.
46590         Reported by Bruce Korb.
46591
46592         New module 'memchr2'.
46593         * modules/memchr2: New file.
46594         * modules/memchr2-tests: Likewise.
46595         * lib/memchr2.h: Likewise.
46596         * lib/memchr2.c: Likewise, based on memchr.c.
46597         * tests/test-memchr2.c: New test.
46598         * MODULES.html.sh (String handling): Add memchr2.
46599
46600 2008-02-29  Bruno Haible  <bruno@clisp.org>
46601
46602         * modules/freadseek-tests: New file.
46603         * tests/test-freadseek.sh: New file.
46604         * tests/test-freadseek.c: New file.
46605
46606         New module 'freadseek'.
46607         * modules/freadseek: New file.
46608         * lib/freadseek.h: New file.
46609         * lib/freadseek.c: New file.
46610         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
46611
46612 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
46613
46614         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
46615         wydawca.
46616
46617         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
46618         program_invocation_name and program_invocation_short_name are
46619         present.
46620
46621 2008-02-28  Bruno Haible  <bruno@clisp.org>
46622
46623         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
46624         * tests/test-freadptr.sh: Also test non-seekable stdin.
46625
46626 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
46627
46628         * build-aux/bootstrap (source_base, m4_base)
46629         (doc_base, tests_base): New variables.
46630         (gnulib_tool_options): Do not hardcode base directories, use
46631         the above variables instead.
46632
46633 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
46634
46635         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
46636
46637 2008-02-28  Bruno Haible  <bruno@clisp.org>
46638
46639         * modules/freadptr-tests: New file.
46640         * tests/test-freadptr.sh: New file.
46641         * tests/test-freadptr.c: New file.
46642
46643         New module 'freadptr'.
46644         * modules/freadptr: New file.
46645         * lib/freadptr.h: New file.
46646         * lib/freadptr.c: New file.
46647         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
46648
46649 2008-02-26  Karl Berry  <karl@freefriends.org>
46650
46651         Sync from Libtool:
46652         * libltdl/argz.c (argz_add, argz_count): New functions.
46653         * libltdl/argz.in.h: Declare them.
46654         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
46655
46656 2008-02-22  Bruno Haible  <bruno@clisp.org>
46657
46658         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
46659         is a pointer type.  Needed for HP-UX 10.
46660         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
46661         * doc/posix-functions/gmtime_r.texi: Likewise.
46662         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
46663
46664 2008-02-24  Bruno Haible  <bruno@clisp.org>
46665
46666         * modules/environ-tests: New file.
46667         * tests/test-environ.c: New file.
46668
46669         New module 'environ'.
46670         * modules/environ: New file.
46671         * lib/unistd.in.h (environ): New declaration.
46672         * m4/environ.m4: New file.
46673         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
46674         after use.
46675         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
46676         HAVE_DECL_ENVIRON.
46677         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
46678         HAVE_DECL_ENVIRON.
46679         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
46680         wrong claim that 'environ' is missing on some systems.
46681         * modules/execute (Depends-on): Add environ.
46682         * lib/execute.c (environ): Remove fallback declaration.
46683         * modules/pipe (Depends-on): Add environ.
46684         * lib/pipe.c (environ): Remove fallback declaration.
46685         * modules/setenv (Depends-on): Add environ.
46686         * lib/setenv.c (environ): Remove fallback declaration.
46687         * modules/unsetenv (Depends-on): Add environ.
46688         * lib/unsetenv.c (environ): Remove fallback declaration.
46689         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
46690         m4/environ.m4.
46691         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
46692         (gl_PREREQ_UNSETENV): Likewise.
46693
46694 2008-02-24  Bruno Haible  <bruno@clisp.org>
46695
46696         * doc/posix-functions/environ.texi: Document the MacOS X problem.
46697
46698 2008-02-20  Bob Proulx  <bob@proulx.com>
46699
46700         Enable use of older two part flavor 'git describe'.
46701         * build-aux/git-version-gen: If using the older two part flavor of
46702         git version then recreate the third part now present in the
46703         newer three part flavor of git describe.
46704
46705 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
46706
46707         * lib/fts.c (fts_build): Typo correction to comment.
46708
46709 2008-02-17  Bruno Haible  <bruno@clisp.org>
46710
46711         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
46712         generating no-op conflicts.
46713
46714 2008-02-17  Bruno Haible  <bruno@clisp.org>
46715
46716         Speed up by 10%.
46717         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
46718         result_entries, rather than an index-based loop.
46719
46720 2008-02-17  Bruno Haible  <bruno@clisp.org>
46721
46722         Speed up by 25%.
46723         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
46724         'hashcode_cached'.
46725         (entry_create): New function.
46726         (entry_hashcode): Use the cached hashcode if possible.
46727         (read_changelog_file, try_split_merged_entry): Use entry_create.
46728
46729 2008-02-17  Bruno Haible  <bruno@clisp.org>
46730
46731         Speed up from O(n^2) to O(n) for long ChangeLog files.
46732         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
46733         (read_changelog_file): Change implementation of entries_reversed list
46734         to rbtreehash.
46735         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
46736
46737 2008-02-17  Bruno Haible  <bruno@clisp.org>
46738
46739         New option --split-merged-entry.
46740         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
46741         (find_paragraph_end, try_split_merged_entry): New functions.
46742         (long_options): Add option --split-merged-entry.
46743         (usage): Document option --split-merged-entry.
46744         (main): Implement option --split-merged-entry.
46745         Reported by Eric Blake.
46746
46747 2008-02-17  Bruno Haible  <bruno@clisp.org>
46748
46749         * lib/git-merge-changelog.c: Include c-strstr.h.
46750         (main): Support the "git pull --rebase" situation.
46751         * modules/git-merge-changelog (Depends-on): Add c-strstr.
46752         Reported by Eric Blake.
46753
46754 2008-02-16  Eric Blake  <ebb9@byu.net>
46755
46756         Avoid doubling \ in common case of "c-maybe" quoting style.
46757         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
46758         eliding outer quotes.
46759         * lib/quotearg.h: Document this.
46760         * tests/test-quotearg.c (result_strings, inputs, results_g)
46761         (flag_results, locale_results): Test it by adding a new string to
46762         each test group.
46763         (compare_strings): Test new string.
46764
46765 2008-02-13  Eric Blake  <ebb9@byu.net>
46766
46767         Avoid trigraph quoting in default output.
46768         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
46769         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
46770         unless explicitly requested.
46771         * tests/test-quotearg.c (flag_results, main): Add additional tests.
46772
46773 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
46774
46775         Don't rely on signed integer overflowing to negative value.
46776         * lib/getugroups.c (getugroups): Include <limits.h>.
46777         Instead, compare against INT_MAX, and increment only if the test passes.
46778
46779 2008-02-13  Jim Meyering  <meyering@redhat.com>
46780         and Eric Blake  <ebb9@byu.net>
46781
46782         Avoid shadowing warning and compile errors on Linux.
46783         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
46784         forwarding macros on Linux.
46785         (dcgettext): Define a stub, for Linux.
46786         (results_g, main): Avoid warnings.
46787
46788 2008-02-12  Eric Blake  <ebb9@byu.net>
46789
46790         Silence warning in last patch.
46791         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
46792
46793         Quotearg part 4: add tests, fix c-maybe colon quoting.
46794         * lib/quotearg.h: Improve documentation.
46795         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
46796         escapes when adding outer quotes.  When quoting trigraphs, use
46797         valid C notation.  When quoting NUL, omit extra characters if next
46798         character is not digit.  Alter prototype.
46799         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
46800         callers.
46801         * modules/quotearg-tests: New module.
46802         * tests/test-quotearg.c: New test.
46803
46804 2008-02-07  Eric Blake  <ebb9@byu.net>
46805
46806         Quotearg part 3: add flag to control outer quote elision.
46807         * lib/quotearg.h (c_maybe_quoting_style): New style.
46808         (enum quoting_flags): Better documentation of flags.
46809         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
46810         c-maybe style.
46811         (quotearg_buffer_restyled): Handle new flag to elide outer
46812         quotes.
46813
46814         Quotearg part 2: add flag that can control NUL elision.
46815         * lib/quotearg.h (set_quoting_flags): New prototype.
46816         * lib/quotearg.c (struct quoting_options): Add flag field.
46817         (set_quoting_flags): New function.
46818         (quotearg_buffer_restyled): Add flags parameter.
46819         (quotearg_alloc_mem): Set the flag if length cannot be returned.
46820         (quotearg_n_options): Set the flag, since length cannot be
46821         returned.
46822         (quoting_options_from_style): Default flags correctly.
46823
46824         Quotearg part 1: more wrappers, restore quotearg_char state.
46825         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
46826         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
46827         (quotearg_colon_mem): New wrappers.
46828         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
46829         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
46830         functions.
46831         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
46832         (quotearg_colon_mem): New functions.
46833
46834 2008-02-11  Bruno Haible  <bruno@clisp.org>
46835
46836         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
46837         library in the current directory: it does not work with parallel make.
46838         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
46839
46840 2008-02-11  Bruno Haible  <bruno@clisp.org>
46841
46842         * .gitattributes: New file.
46843
46844 2008-02-11  Jim Meyering  <meyering@redhat.com>
46845
46846         useless-if-before-free: Fix reversed exit values.
46847         * build-aux/useless-if-before-free: Use correct values
46848         for EXIT_MATCH and EXIT_NO_MATCH.
46849
46850         * build-aux/useless-if-before-free: Close stdout carefully.
46851
46852 2008-02-10  Bruno Haible  <bruno@clisp.org>
46853
46854         New module 'git-merge-changelog'.
46855         * modules/git-merge-changelog: New file.
46856         * lib/git-merge-changelog.c: New file.
46857
46858 2008-02-10  Jim Meyering  <meyering@redhat.com>
46859
46860         useless-if-before-free: New option: --list (-l).
46861
46862         useless-if-before-free: Don't exit immediately upon open failure.
46863         * build-aux/useless-if-before-free: Exit 2 for errors.
46864         Upon failure to open a file, don't exit immediately.
46865         Rather, just warn and continue with any remaining files.
46866
46867 2008-02-10  Bruno Haible  <bruno@clisp.org>
46868
46869         New abstract list operation 'node_set_value'.
46870         * lib/gl_list.h (gl_list_node_set_value): New function.
46871         (struct gl_list_implementation): New field node_set_value.
46872         * lib/gl_list.c (gl_list_node_set_value): New function.
46873         * lib/gl_array_list.c (gl_array_node_set_value): New function.
46874         (gl_array_list_implementation): Update.
46875         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
46876         (gl_carray_list_implementation): Update.
46877         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
46878         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
46879         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
46880         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
46881         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
46882         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
46883         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
46884         Update.
46885         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
46886         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
46887         (gl_sublist_list_implementation): Update.
46888
46889 2008-02-10  Bruno Haible  <bruno@clisp.org>
46890
46891         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
46892         Needed when ELEMENT is #defined to 'some_type *'.
46893
46894 2008-02-10  Jim Meyering  <meyering@redhat.com>
46895
46896         New script and module: useless-if-before-free
46897         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
46898         * build-aux/useless-if-before-free: New file.
46899         * modules/useless-if-before-free: New file.
46900
46901         * build-aux/gitlog-to-changelog: Use committer date, not author date.
46902
46903         xstrtol_error: Fix typo.
46904         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
46905         s/exit_failure/exit_status/.
46906
46907 2008-02-09  Jim Meyering  <meyering@redhat.com>
46908
46909         New script and module: gitlog-to-changelog
46910         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
46911         * modules/gitlog-to-changelog: New file.
46912         * build-aux/gitlog-to-changelog: New file.
46913
46914 2008-02-08  Jim Meyering  <meyering@redhat.com>
46915
46916         Avoid two "parameter unused" warnings.
46917         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
46918         Mark "st" as used.
46919
46920         Use "git COMMAND", not "git-COMMAND".
46921         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
46922         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
46923         * build-aux/git-version-gen: Use "git status", not "git-status".
46924
46925 2008-02-07  Bruno Haible  <bruno@clisp.org>
46926
46927         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
46928         Avoids a crash on Windows Vista.
46929         Reported by Adam Strzelecki <ono@java.pl> via
46930         Simon Josefsson <simon@josefsson.org>.
46931
46932 2008-02-06  Bruno Haible  <bruno@clisp.org>
46933
46934         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
46935         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
46936         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
46937         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
46938         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
46939         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
46940         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
46941         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
46942         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
46943         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
46944         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
46945         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
46946         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
46947         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
46948         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
46949         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
46950         left-adjust flag.
46951         * tests/test-snprintf-posix.h (test_function): Likewise.
46952         * tests/test-sprintf-posix.h (test_function): Likewise.
46953         * tests/test-vasprintf-posix.c (test_function): Likewise.
46954         * doc/posix-functions/fprintf.texi: Update.
46955         * doc/posix-functions/printf.texi: Update.
46956         * doc/posix-functions/snprintf.texi: Update.
46957         * doc/posix-functions/sprintf.texi: Update.
46958         * doc/posix-functions/vfprintf.texi: Update.
46959         * doc/posix-functions/vprintf.texi: Update.
46960         * doc/posix-functions/vsnprintf.texi: Update.
46961         * doc/posix-functions/vsprintf.texi: Update.
46962         Reported by Peter Fales <psfales@alcatel-lucent.com>.
46963
46964 2008-02-06  Bruno Haible  <bruno@clisp.org>
46965
46966         Fix bug introduced on 2008-01-26.
46967         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
46968
46969 2008-02-06  Bruno Haible  <bruno@clisp.org>
46970
46971         Fix bug introduced on 2007-06-10.
46972         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
46973         !NEED_PRINTF_FLAG_ZERO.
46974
46975 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
46976
46977         getloadavg: use libperfstat on AIX5
46978         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
46979
46980 2008-02-03  Bruno Haible  <bruno@clisp.org>
46981
46982         * lib/diffseq.h: Add comments about required #includes.
46983         Reported by Michael Biggs <gnulib@doubleplum.net>.
46984
46985 2008-02-01  Bruno Haible  <bruno@clisp.org>
46986
46987         * users.txt: Add gnuit.
46988
46989 2008-01-31  Bruno Haible  <bruno@clisp.org>
46990
46991         * lib/md4.c (set_uint32): Mark as inline.
46992         * lib/md5.c (set_uint32): Likewise.
46993         * lib/sha1.c (set_uint32): Likewise.
46994         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
46995         * m4/md5.m4 (gl_MD5): Likewise.
46996         * m4/sha1.m4 (gl_SHA1): Likewise.
46997
46998 2008-01-31  Jim Meyering  <meyering@redhat.com>
46999
47000         Use "sizeof VAR", rather than a literal "4".
47001         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
47002         * lib/md4.c (md4_read_ctx): Likewise.
47003         * lib/sha1.c (sha1_read_ctx): Likewise.
47004
47005 2008-01-31  Simon Josefsson  <simon@josefsson.org>
47006
47007         * tests/test-sha1.c: New file, based on test-md5.c.
47008
47009         * modules/crypto/sha1-tests: New file.
47010
47011 2008-01-31  Simon Josefsson  <simon@josefsson.org>
47012
47013         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
47014
47015 2008-01-31  Jim Meyering  <meyering@redhat.com>
47016
47017         Prefer "sizeof v" over the equivalent "4".
47018         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
47019         * lib/md5.c (set_uint32): Likewise.
47020         * lib/sha1.c (set_uint32): Likewise.
47021
47022 2008-01-31  Simon Josefsson  <simon@josefsson.org>
47023
47024         * lib/sha1.c (set_uint32): Mark function as static.
47025
47026 2008-01-31  Simon Josefsson  <simon@josefsson.org>
47027
47028         md2: clarify comments to say that alignment is not required.
47029         * lib/md2.h: Remove warning about alignment in comment.
47030         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
47031         never been required.
47032
47033 2008-01-31  Simon Josefsson  <simon@josefsson.org>
47034
47035         md4: adapt alignment constraint fix from sha1.
47036         * lib/md4.c (set_uint32): New function, from sha1.c
47037         (md4_read_ctx): Use it.
47038         (md4_finish_ctx): Doc fix.
47039         * lib/md4.h: Doc fix.
47040
47041 2008-01-31  Simon Josefsson  <simon@josefsson.org>
47042
47043         md5: adapt alignment constraint fix from sha1.
47044         * lib/md5.c (set_uint32): New function, from sha1.c
47045         (md5_read_ctx): Use it.
47046         (md5_finish_ctx): Doc fix.
47047         * lib/md5.h: Doc fix.
47048
47049 2008-01-30  Peter Palfrader  <weasel@debian.org>
47050
47051         sha1: remove the result buffer alignment constraint
47052         * lib/sha1.c (set_uint32): New function.
47053         (sha1_read_ctx): Rewrite to remove the result buffer alignment
47054         constraint.
47055         (sha1_finish_ctx): Remove comment warning about alignment constraint.
47056         * lib/sha1.h: Likewise.
47057
47058 2008-01-30  Andreas Schwab  <schwab@suse.de>
47059             Bruno Haible  <bruno@clisp.org>
47060
47061         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
47062         correct definition of LDBL_MIN_EXP.
47063
47064 2008-01-30  Karl Berry  <karl@gnu.org>
47065
47066         * config/srclist-update: try to preserve x bit on updates.
47067         * config/srclistvars.sh: update for karl.
47068
47069 2008-01-29  Jim Meyering  <meyering@redhat.com>
47070
47071         vasnprintf.c: Avoid warning about unused label
47072         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
47073         "overflow" label definition and associated code with the
47074         same cpp condition that guards the sole use of that label.
47075
47076 2008-01-26  Bruno Haible  <bruno@clisp.org>
47077
47078         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
47079         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
47080         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
47081         * lib/isnanl-nolibm.h (isnanl): Likewise.
47082         Reported by Paul Eggert <eggert@cs.ucla.edu>.
47083
47084 2008-01-26  Bruno Haible  <bruno@clisp.org>
47085
47086         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
47087         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
47088
47089 2008-01-26  Bruno Haible  <bruno@clisp.org>
47090
47091         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
47092         GCC >= 4.0 built-in.
47093         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
47094
47095 2008-01-26  Bruno Haible  <bruno@clisp.org>
47096
47097         Rename isnan, applicable to 'double' only, to isnand.
47098         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
47099         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
47100         (configure.ac): Update.
47101         (Include): Replace "isnan.h" with "isnand.h".
47102         * m4/isnand.m4: Renamed from m4/isnan.m4.
47103         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
47104         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
47105         instead of isnan.c.
47106         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
47107         instead of HAVE_ISNAN_IN_LIBC.
47108         (isnand): Renamed from isnan.
47109         * lib/isnand.c: New file.
47110         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
47111         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
47112         (Makefile.am): Update.
47113         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
47114         Include isnand.h instead of isnan.h.
47115         (main): Test isnand instead of isnan.
47116         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
47117         isnan-nolibm.
47118         * modules/frexp (Depends-on): Likewise.
47119         * modules/frexp-tests (Depends-on): Likewise.
47120         * modules/frexp-nolibm (Depends-on): Likewise.
47121         * modules/frexp-nolibm-tests (Depends-on): Likewise.
47122         * modules/isfinite (Depends-on): Likewise.
47123         * modules/round-tests (Depends-on): Likewise.
47124         * modules/signbit (Depends-on): Likewise.
47125         * modules/signbit-tests (Depends-on): Likewise.
47126         * modules/snprintf-posix (Depends-on): Likewise.
47127         * modules/sprintf-posix (Depends-on): Likewise.
47128         * modules/trunc-tests (Depends-on): Likewise.
47129         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
47130         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
47131         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
47132         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
47133         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
47134         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
47135         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
47136         * modules/vasnprintf-posix (Depends-on): Likewise.
47137         * modules/vasprintf-posix (Depends-on): Likewise.
47138         * modules/vfprintf-posix (Depends-on): Likewise.
47139         * modules/vsnprintf-posix (Depends-on): Likewise.
47140         * modules/vsprintf-posix (Depends-on): Likewise.
47141         * lib/frexp.c: Include isnand.h instead of isnan.h.
47142         (ISNAN): Set to isnand instead of isnan.
47143         * lib/isfinite.c: Include isnand.h instead of isnan.h.
47144         (gl_isfinited): Use isnand instead of isnan.
47145         * lib/signbitd.c: Include isnand.h instead of isnan.h.
47146         (gl_signbitd): Use isnand instead of isnan.
47147         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
47148         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
47149         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
47150         (main): Use isnand instead of isnan.
47151         * tests/test-round1.c: Include isnand.h.
47152         (main): Use isnand instead of isnan.
47153         * tests/test-round2.c: Include isnand.h instead of isnan.h.
47154         (ISNAN): Set to isnand instead of isnan.
47155         * tests/test-trunc1.c: Include isnand.h.
47156         (main): Use isnand instead of isnan.
47157         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
47158         (equal): Use isnand instead of isnan.
47159         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
47160         isnand-nolibm.
47161         * NEWS: Mention the change.
47162
47163 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
47164             Bruno Haible  <bruno@clisp.org>
47165
47166         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
47167         the GCC builtins for signbits are present and set
47168         REPLACE_SIGNBIT_USING_GCC if so.
47169         * lib/math.in.h (signbit): Define using GCC builtins if
47170         REPLACE_SIGNBIT_USING_GCC is set.
47171         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
47172         REPLACE_SIGNBIT_USING_GCC.
47173         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
47174
47175 2008-01-25  Jim Meyering  <meyering@redhat.com>
47176
47177         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
47178         * lib/poll.c: Include <config.h>, not "config.h".
47179         * tests/test-getaddrinfo.c: Likewise.
47180
47181 2008-01-25  Simon Josefsson  <simon@josefsson.org>
47182
47183         * modules/sockets-tests: New file.
47184
47185 2008-01-24  Simon Josefsson  <simon@josefsson.org>
47186
47187         * modules/sockets: New module, can be used to call WSA_Startup and
47188         WSA_Cleanup when needed.
47189
47190         * lib/sockets.h, lib/sockets.c: New files.
47191
47192         * m4/sockets.m4: New file.
47193
47194         * tests/test-sockets.c: New file.
47195
47196 2008-01-19  Bruno Haible  <bruno@clisp.org>
47197
47198         * doc/posix-headers: Renamed from doc/headers.
47199         * doc/posix-functions: Renamed from doc/functions.
47200         * doc/gnulib.texi: Update.
47201
47202 2008-01-19  Bruno Haible  <bruno@clisp.org>
47203
47204         * doc/glibc-functions/strcasestr.texi: Include contents of
47205         doc/functions/strcasestr.texi, fixing the list of platforms.
47206         * doc/functions/strcasestr.texi: Remove file.
47207
47208 2008-01-19  Bruno Haible  <bruno@clisp.org>
47209
47210         * doc/glibc-functions/memmem.texi: Include contents of
47211         doc/functions/memmem.texi.
47212         * doc/functions/memmem.texi: Remove file.
47213
47214 2008-01-18  Bruno Haible  <bruno@clisp.org>
47215
47216         * doc/glibc-functions/*.texi: New files.
47217         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
47218         to use the new files.
47219
47220 2008-01-17  Bruno Haible  <bruno@clisp.org>
47221
47222         * tests/test-gethostname.c (main): Fix printf statement.
47223
47224 2008-01-17  Simon Josefsson  <simon@josefsson.org>
47225
47226         * modules/gethostname-tests: New file.
47227
47228         * tests/test-gethostname.c: New file.
47229
47230 2008-01-17  Simon Josefsson  <simon@josefsson.org>
47231
47232         * lib/gethostname.c: Include string.h unconditionally, strncpy is
47233         used by the UNAME case.  Reported by Bruno Haible
47234         <bruno@clisp.org>.
47235
47236 2008-01-17  Eric Blake  <ebb9@byu.net>
47237
47238         Convert c-strcasestr to be more efficient.
47239         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
47240         (Depends-on): Add c-strcase, remove malloca, strnlen.
47241         * tests/test-c-strcasestr.c (main): Enhance test.
47242         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
47243
47244 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
47245
47246         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
47247         Use it in creating po/Makevars.
47248
47249 2008-01-15  Simon Josefsson  <simon@josefsson.org>
47250
47251         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
47252         Applications that requires it should initialize libgcrypt
47253         manually.
47254
47255 2008-01-16  Simon Josefsson  <simon@josefsson.org>
47256
47257         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
47258
47259 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
47260
47261         Fix problem with getdate on mingw32 reported by Simon Josefsson
47262         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
47263         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
47264         tzname", when deciding whether to declare tzname.
47265         * lib/strftime.c (tzname): Likewise.
47266
47267 2008-01-15  Bruno Haible  <bruno@clisp.org>
47268
47269         Work around a MacOS X 10.5 bug in frexpl().
47270         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
47271         * doc/functions/frexpl.texi: Document the bug.
47272         Reported by Elias Pipping <pipping@gentoo.org>.
47273
47274 2008-01-14  Eric Blake  <ebb9@byu.net>
47275
47276         Touch up previous patch.
47277         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
47278         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
47279
47280         Convert strcasestr module to use Two-Way algorithm.
47281         * modules/strcasestr-simple: New module, based on the old
47282         strcasestr, but with Two-Way rather than KMP.
47283         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
47284         * lib/string.in.h (rpl_strcasestr): Declare.
47285         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
47286         performance.
47287         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
47288         * modules/string (Makefile.am): Support strcasestr.
47289         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
47290         * modules/strcasestr-tests (Depends-on): Check for alarm.
47291         * tests/test-strcasestr.c: Augment test.
47292         * lib/str-two-way.h: Clean up stray macro.
47293         * NEWS: Document new module.
47294         * MODULES.html.sh (string handling): Likewise.
47295         * doc/functions/strcasestr.texi: New file.
47296         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
47297         here, since it is not a POSIX function.
47298
47299 2008-01-14  Colin Watson  <cjwatson@debian.org>
47300             Bruno Haible  <bruno@clisp.org>
47301
47302         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
47303         works fine; if not, set REPLACE_STRSIGNAL.
47304         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
47305         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
47306         REPLACE_STRSIGNAL.
47307         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
47308         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
47309         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
47310
47311 2008-01-14  Bruno Haible  <bruno@clisp.org>
47312
47313         * modules/strsignal (Include): Change to <string.h>.
47314
47315 2008-01-14  Colin Watson  <cjwatson@debian.org>
47316
47317         * modules/argp (Notice): Add a notice recommending to change
47318         XGETTEXT_OPTIONS.
47319         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
47320
47321 2008-01-13  Colin Watson  <cjwatson@debian.org>
47322
47323         * modules/strsignal-tests: New file.
47324         * tests/test-strsignal.c: New file.
47325
47326         * lib/strsignal.c: New file, from glibc with modifications.
47327         * lib/siglist.h: New file, from glibc with modifications.
47328         * lib/string.in.h (strsignal): New declaration.
47329         * m4/strsignal.m4: New file.
47330         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
47331         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
47332         * modules/strsignal: New file.
47333         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
47334         HAVE_DECL_STRSIGNAL.
47335
47336 2008-01-13  Bruno Haible  <bruno@clisp.org>
47337
47338         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
47339         locale encoding is not ASCII. Needed for OpenBSD 4.0.
47340         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
47341         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
47342
47343 2008-01-13  Bruno Haible  <bruno@clisp.org>
47344
47345         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
47346         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
47347         * lib/argp.h (__attribute__): Likewise.
47348         * lib/c-stack.c (__attribute__): Likewise.
47349         * lib/error.h (__attribute__): Likewise.
47350         * lib/fts.c (__attribute__): Likewise.
47351         * lib/openat.h (__attribute__): Likewise.
47352         * lib/stdio.in.h (__attribute__): Likewise.
47353         * lib/string.in.h (__attribute__): Likewise.
47354         * lib/utimens.c (__attribute__): Likewise.
47355         * lib/vasnprintf.h (__attribute__): Likewise.
47356         * lib/xalloc.h (__attribute__): Likewise.
47357         * lib/xprintf.h (__attribute__): Likewise.
47358         * lib/xstrtol.h (__attribute__): Likewise.
47359         * lib/xvasprintf.h (__attribute__): Likewise.
47360
47361 2008-01-12  Bruno Haible  <bruno@clisp.org>
47362
47363         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
47364         * doc/glibc-headers/a.out.texi: New file.
47365         * doc/glibc-headers/aliases.texi: New file.
47366         * doc/glibc-headers/alloca.texi: New file.
47367         * doc/glibc-headers/ar.texi: New file.
47368         * doc/glibc-headers/argp.texi: New file.
47369         * doc/glibc-headers/argz.texi: New file.
47370         * doc/glibc-headers/byteswap.texi: New file.
47371         * doc/glibc-headers/crypt.texi: New file.
47372         * doc/glibc-headers/endian.texi: New file.
47373         * doc/glibc-headers/envz.texi: New file.
47374         * doc/glibc-headers/err.texi: New file.
47375         * doc/glibc-headers/error.texi: New file.
47376         * doc/glibc-headers/execinfo.texi: New file.
47377         * doc/glibc-headers/fpu_control.texi: New file.
47378         * doc/glibc-headers/fstab.texi: New file.
47379         * doc/glibc-headers/fts.texi: New file.
47380         * doc/glibc-headers/getopt.texi: New file.
47381         * doc/glibc-headers/ieee754.texi: New file.
47382         * doc/glibc-headers/ifaddrs.texi: New file.
47383         * doc/glibc-headers/libintl.texi: New file.
47384         * doc/glibc-headers/mcheck.texi: New file.
47385         * doc/glibc-headers/mntent.texi: New file.
47386         * doc/glibc-headers/obstack.texi: New file.
47387         * doc/glibc-headers/paths.texi: New file.
47388         * doc/glibc-headers/printf.texi: New file.
47389         * doc/glibc-headers/pty.texi: New file.
47390         * doc/glibc-headers/resolv.texi: New file.
47391         * doc/glibc-headers/shadow.texi: New file.
47392         * doc/glibc-headers/sysexits.texi: New file.
47393         * doc/glibc-headers/ttyent.texi: New file.
47394
47395 2008-01-12  Jim Meyering  <meyering@redhat.com>
47396
47397         announce-gen: emit Gnulib's git-based version string.
47398         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
47399         New option --gnulib-version=V, where V is expected to be
47400         the output of running git describe in the gnulib directory.
47401         (get_tool_versions): Request feedback on xdelta.  I suspect it's
47402         not useful, and plan to stop publishing an xdelta file with each
47403         coreutils release.
47404
47405         * build-aux/announce-gen: Also check for lzma-compressed files.
47406
47407 2008-01-11  Bruno Haible  <bruno@clisp.org>
47408
47409         * tests/test-memmem.c (main): Increase maximum allowed time.
47410         * tests/test-strstr.c (main): Likewise.
47411
47412 2008-01-11  Bruno Haible  <bruno@clisp.org>
47413
47414         * doc/functions/memmem.texi: Add more precisions about platforms.
47415         * doc/functions/strstr.texi: Likewise.
47416
47417 2008-01-10  Eric Blake  <ebb9@byu.net>
47418
47419         * m4/strstr.m4: Delete cruft from copy-n-paste.
47420         Reported by Bruno Haible.
47421
47422 2008-01-10  Bruno Haible  <bruno@clisp.org>
47423
47424         Make c-strstr rely on strstr.
47425         * lib/c-strstr.c: Don't include str-kmp.h.
47426         (c_strstr): Define in terms of strstr.
47427         * modules/c-strstr (Files): Remove lib/str-kmp.h.
47428         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
47429
47430 2008-01-10  Bruno Haible  <bruno@clisp.org>
47431
47432         * doc/gnulib.texi (String Functions in C Locale): New section.
47433         * doc/c-ctype.texi: New file.
47434         * doc/c-strcase.texi: New file.
47435         * doc/c-strcaseeq.texi: New file.
47436         * doc/c-strcasestr.texi: New file.
47437         * doc/c-strstr.texi: New file.
47438         * doc/c-strtod.texi: New file.
47439         * doc/c-strtold.texi: New file.
47440
47441 2008-01-10  Eric Blake  <ebb9@byu.net>
47442
47443         * lib/relocatable.h: Fix a comment.
47444
47445 2008-01-10  Eric Blake  <ebb9@byu.net>
47446
47447         Share two-way algorithm.
47448         * lib/str-two-way.h: New file, merged from...
47449         * lib/memmem.c: ...here...
47450         * lib/strstr.c: ...and here.
47451         * modules/memmem (Files): Use it.
47452         * modules/strstr (Files): Likewise.
47453
47454         Avoid quadratic strstr implementations.
47455         * lib/strstr.c: New file.
47456         * m4/strstr.m4: Likewise.
47457         * modules/strstr: Likewise.
47458         * modules/strstr-tests: Likewise.
47459         * tests/test-strstr.c: Likewise.
47460         * lib/string.in.h (rpl_strstr): Declare.
47461         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
47462         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
47463         * modules/string (Makefile.am): Likewise.
47464         * MODULES.html.sh (string handling): Mention new module.
47465         * doc/functions/strstr.texi (strstr): Document the bug.
47466
47467 2008-01-10  Bruno Haible  <bruno@clisp.org>
47468
47469         * lib/relocatable.h (relocate): State whether result is freshly
47470         allocated or not.
47471         * lib/relocatable.c (relocate): Return a freshly allocated string
47472         instead of a pointer to a privately held string.
47473         Reported by Sylvain Beucler <beuc@gnu.org>.
47474
47475 2008-01-10  Colin Watson  <cjwatson@debian.org>
47476
47477         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
47478         s/S_ISNLK/S_ISLNK/.
47479
47480 2008-01-09  Bruno Haible  <bruno@clisp.org>
47481
47482         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
47483         and other files.
47484         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
47485         if it's only a guess.
47486         * modules/memmem: Simplify by depending on memmem-simple.
47487
47488 2008-01-09  Bruno Haible  <bruno@clisp.org>
47489
47490         Work around OpenBSD 4.0 tdelete() bug.
47491         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
47492         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
47493         macros and don't redefine the enum values.
47494         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
47495         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
47496         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
47497
47498 2008-01-09  Bruno Haible  <bruno@clisp.org>
47499
47500         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
47501         (main): Don't perform the tests if setlocale did not install a UTF-8
47502         locale. Needed on OpenBSD 4.0.
47503         * modules/wcwidth-tests (Depends-on): Add localcharset.
47504
47505 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
47506
47507         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
47508         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
47509         * NEWS: announce this.
47510         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
47511
47512 2008-01-09  Simon Josefsson  <simon@josefsson.org>
47513         and Eric Blake  <ebb9@byu.net>
47514
47515         Add memmem-simple module.
47516         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
47517         (gl_FUNC_MEMMEM): Separate performance from presence checks.
47518         * modules/memmem-simple: New file.
47519         * modules/memmem (Description): Tweak.
47520         * MODULES.html.sh (string handling): Mention new module.
47521         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
47522         addressed by memmem-simple.
47523         * NEWS: Document the difference.
47524
47525 2008-01-09  Eric Blake  <ebb9@byu.net>
47526
47527         Give gcc some memmem optimization hints.
47528         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
47529         (strcasestr): Declare as pure.
47530         * modules/memmem (Maintainer): Claim my implementation.
47531
47532 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47533
47534         Support AIX 6.1 and higher.
47535         * build-aux/config.libpath: Likewise.
47536         * build-aux/config.rpath: Likewise.
47537
47538 2008-01-08  Jim Meyering  <meyering@redhat.com>
47539             Bruno Haible  <bruno@clisp.org>
47540
47541         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
47542         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
47543         Reported by Peter Fales in
47544         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
47545
47546 2008-01-08  Bruno Haible  <bruno@clisp.org>
47547
47548         * modules/unictype/category-of (Depends-on): Add
47549         unictype/category-none.
47550         * modules/unictype/category-and-tests (Depends-on): Add
47551         unictype/category-{L,N,Lu,Nd}.
47552         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
47553         * modules/unictype/category-or-tests (Depends-on): Add
47554         unictype/category-{L,N}.
47555         * modules/unictype/category-name-tests (Depends-on): Add
47556         unictype/category-{Z,Nl}.
47557         Reported by Simon Josefsson.
47558
47559 2008-01-08  Bruno Haible  <bruno@clisp.org>
47560
47561         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
47562         convention better.
47563         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
47564         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
47565         Reported by Peter Miller <millerp@canb.auug.org.au>.
47566
47567 2008-01-08  Eric Blake  <ebb9@byu.net>
47568
47569         Rewrite memmem to guarantee linear complexity without malloc.
47570         * lib/memmem.c (memmem): Use Two-Way rather than
47571         Knuth-Morris-Pratt, to allow O(1) space usage.
47572         (critical_factorization, two_way_short_needle)
47573         (two_way_long_needle): New functions.
47574         (knuth_morris_pratt): Delete.
47575         * modules/memmem (Depends-on): No longer need malloca or stdbool.
47576         Add stdint.
47577         * tests/test-memmem.c (main): Add tests for periodic needle and
47578         sublinear performance.
47579         * doc/functions/memmem.texi (memmem): Document other deficiencies
47580         in cygwin and older glibc.
47581
47582 2008-01-08  Bruno Haible  <bruno@clisp.org>
47583
47584         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
47585         augmentation.
47586
47587 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
47588
47589         Add a configure time option: --disable-acl.
47590         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
47591         AC_ARG_ENABLE(acl).
47592
47593 2008-01-06  Simon Josefsson  <simon@josefsson.org>
47594
47595         * tests/test-localename.c: Don't include obsolete "setenv.h".
47596
47597         * modules/localename-tests (Depends-on): Need unsetenv.
47598
47599 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47600
47601         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
47602
47603 2008-01-06  Colin Watson  <cjwatson@debian.org>
47604
47605         * users.txt: Add man-db.
47606
47607 2008-01-07  Bruno Haible  <bruno@clisp.org>
47608
47609         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
47610         previous section name.
47611
47612 2008-01-07  Bruno Haible  <bruno@clisp.org>
47613
47614         * lib/progname.c (set_program_name): Don't strip off a leading
47615         "lt-" prefix outside a .libs directory.
47616         Suggested by Paul Eggert.
47617
47618 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
47619             Bruno Haible  <bruno@clisp.org>
47620
47621         Improve memory cleanup in 'relocatable' module.
47622         * lib/relocatable.h (compute_curr_prefix): Change return type to
47623         'char *'.
47624         * lib/relocatable.c (compute_curr_prefix): Change return type to
47625         'char *'. Free curr_installdir after use.
47626         (relocate): Free curr_prefix_better after use.
47627         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
47628
47629 2008-01-01  Bruno Haible  <bruno@clisp.org>
47630
47631         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
47632         failure on older glibc systems.
47633         Reported by Peter Fales <psfales@alcatel-lucent.com>.
47634
47635 2008-01-05  Eric Blake  <ebb9@byu.net>
47636
47637         Avoid quadratic system memmem.
47638         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
47639         Reported by Ralf Wildenhues.
47640
47641         Fix memmem test for mingw.
47642         * modules/memmem-tests (configure.ac): Check for alarm.
47643         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
47644         it.
47645         * doc/functions/memmem.texi: New file.
47646         * doc/gnulib.texi (Function Substitutes): Add memmem.
47647         Reported by Bruno Haible.
47648
47649 2008-01-04  Bruno Haible  <bruno@clisp.org>
47650
47651         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
47652         Require gl_HEADER_STRINGS_H_DEFAULTS, not
47653         gl_HEADER_STRING_H_DEFAULTS.
47654
47655 2008-01-04  Eric Blake  <ebb9@byu.net>
47656
47657         Shorten duration of memmem test.
47658         * tests/test-memmem.c (main): Use alarm to declare failure if test
47659         is taking too long.
47660         Reported by Ralf Wildenhues.
47661
47662 2007-12-21  Simon Josefsson  <simon@josefsson.org>
47663
47664         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
47665         string, needed by strerror.
47666
47667 2008-01-03  Colin Watson  <cjwatson@debian.org>
47668             Bruno Haible  <bruno@clisp.org>
47669
47670         * doc/gnulib-tool.texi (Localization): New section.
47671
47672 2008-01-02  Bruno Haible  <bruno@clisp.org>
47673
47674         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
47675         variables to 'unsigned char *' type.
47676         Reported by Paul Eggert.
47677
47678 2008-01-02  Jim Meyering  <jim@meyering.net>
47679
47680         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
47681
47682 2007-12-31  Jim Meyering  <jim@meyering.net>
47683
47684         Avoid use of private FTS type name.
47685         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
47686
47687 2007-12-30  Karl Berry  <karl@gnu.org>
47688
47689         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
47690         work around defect in Texinfo and/or the standalone Info browser.
47691
47692 2007-12-30  Bruno Haible  <bruno@clisp.org>
47693
47694         Unify 5 copies of the KMP code.
47695         * lib/str-kmp.h: New file.
47696         * lib/c-strcasestr.c: Include str-kmp.h.
47697         (knuth_morris_pratt): Remove function.
47698         (c_strcasestr): Update.
47699         * lib/c-strstr.c: Include str-kmp.h.
47700         (knuth_morris_pratt): Remove function.
47701         (c_strcasestr): Update.
47702         * lib/mbscasestr.c: Include str-kmp.h.
47703         (knuth_morris_pratt_unibyte): Remove function.
47704         * lib/mbsstr.c: Include str-kmp.h.
47705         (knuth_morris_pratt_unibyte): Remove function.
47706         * lib/strcasestr.c: Include str-kmp.h.
47707         (knuth_morris_pratt): Remove function.
47708         (strcasestr): Update.
47709         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
47710         * modules/c-strstr (Files): Likewise.
47711         * modules/mbscasestr (Files): Likewise.
47712         * modules/mbsstr (Files): Likewise.
47713         * modules/strcasestr (Files): Likewise.
47714         Suggested by Paul Eggert.
47715
47716 2007-12-30  Bruno Haible  <bruno@clisp.org>
47717
47718         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
47719         defined.
47720
47721 2007-12-30  Bruno Haible  <bruno@clisp.org>
47722
47723         * lib/xmalloca.h: Include xalloc.h.
47724         (xnmalloca): New macro.
47725
47726 2007-12-30  Bruno Haible  <bruno@clisp.org>
47727
47728         * lib/malloca.h (nmalloca): New macro.
47729         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
47730         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
47731         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
47732         knuth_morris_pratt_multibyte): Likewise.
47733         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
47734         knuth_morris_pratt_multibyte): Likewise.
47735         * lib/memmem.c (knuth_morris_pratt): Likewise.
47736         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
47737
47738 2007-12-25  Bruno Haible  <bruno@clisp.org>
47739
47740         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
47741         * lib/glob.c: Don't include openat.h.
47742         (link_exists2_p): Add back the code that deals with the
47743         !GLOB_ALTDIRFUNC case.
47744         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
47745         let it do the filename concatenation.
47746         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
47747         * modules/glob (Depends-on): Remove openat.
47748
47749 2007-12-31  Bruno Haible  <bruno@clisp.org>
47750
47751         * modules/dirfd (License): Change to LGPLv2+.
47752         Approved by Jim Meyering.
47753
47754 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
47755
47756         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
47757         when multiplying M by sizeof (size_t).
47758
47759 2007-12-10  Martin Lambers  <marlam@marlam.de>
47760
47761         Override getpagesize on mingw.
47762         * lib/getpagesize.c: New file.
47763         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
47764         * modules/getpagesize (Files): Add lib/getpagesize.c.
47765         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
47766         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
47767         REPLACE_GETPAGESIZE.
47768         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
47769
47770 2007-12-25  Bruno Haible  <bruno@clisp.org>
47771
47772         * modules/localcharset (Notice): New field.
47773         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
47774         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
47775
47776 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
47777             Bruno Haible  <bruno@clisp.org>
47778
47779         Avoid using the syntax symbol() in formatted documentation.
47780         * MODULES.html.sh (func_module): When replacing symbol() with a
47781         hyperlink, remove the parentheses. Show an error if some remain.
47782         Recognize and render the '...' syntax.
47783         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
47784         Rework. Add paragraph about GCC's inlining.
47785         * doc/alloca.texi: Likewise.
47786         * doc/error.texi: Remove parentheses from symbol reference.
47787         * doc/gnulib-intro.texi: Likewise.
47788         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
47789         * modules/fnmatch (Description): Reword to say "the ... function".
47790         * modules/full-read (Description): Likewise.
47791         * modules/full-write (Description): Likewise.
47792         * modules/safe-read (Description): Likewise.
47793         * modules/safe-write (Description): Likewise.
47794         * modules/strchrnul (Description): Likewise.
47795         * modules/trim (Description): Likewise.
47796         * modules/error (Description): Remove parentheses from symbol
47797         references.
47798         * modules/verror (Description): Likewise.
47799         Reported by Karl Berry.
47800
47801 2007-12-25  Bruno Haible  <bruno@clisp.org>
47802
47803         Fixup after 2007-10-16 commit.
47804         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
47805
47806 2007-12-24  Bruno Haible  <bruno@clisp.org>
47807
47808         Make --enable-relocatable work with DESTDIR.
47809         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
47810         to compute installdir from destprog.
47811         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
47812         also set the RELOC_DESTDIR variable.
47813         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
47814
47815 2007-12-24  Bruno Haible  <bruno@clisp.org>
47816
47817         Fix link error due to xalloc_die().
47818         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
47819         of xreadlink.
47820         * lib/relocwrapper.c: Update comments.
47821         * build-aux/install-reloc: Remove xreadlink.c from file list.
47822         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
47823         xreadlink.c.
47824         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
47825
47826 2007-12-24  Bruno Haible  <bruno@clisp.org>
47827
47828         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
47829         * lib/setenv.h: Remove file.
47830         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
47831         lib/setenv.h.
47832         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
47833         (Depends-on): Add stdlib.
47834         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
47835         gl_FUNC_UNSETENV.
47836         (Include): Replace setenv.h with <stdlib.h>.
47837         * modules/unsetenv: New file.
47838         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
47839         * lib/unsetenv.c: Include <stdlib.h> first.
47840         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
47841         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
47842         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
47843         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
47844         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
47845         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
47846         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
47847         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
47848         * doc/functions/unsetenv.texi: Update.
47849         * modules/xsetenv (Depends-on): Add unsetenv.
47850         * modules/getdate (Depends-on): Likewise.
47851         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
47852         * lib/xsetenv.c: Don't include setenv.h.
47853         * lib/getdate.y: Likewise.
47854         * lib/relocwrapper.c: Likewise.
47855         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
47856         (Depends-on): Add stdlib.
47857         * NEWS: Mention the changes.
47858         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
47859
47860 2007-12-23  Bruno Haible  <bruno@clisp.org>
47861
47862         * lib/memmem.c (memmem): Use lowercase variable names. Tab
47863         indentation.
47864
47865 2007-12-23  Bruno Haible  <bruno@clisp.org>
47866
47867         * lib/c-strcasestr.c: Add more comments.
47868         * lib/c-strstr.c: Likewise.
47869         * lib/mbscasestr.c: Likewise.
47870         * lib/mbsstr.c: Likewise.
47871         * lib/strcasestr.c: Likewise.
47872         * lib/memmem.c: Likewise.
47873
47874 2007-12-23  Bruno Haible  <bruno@clisp.org>
47875
47876         * tests/test-memmem.c: Include <string.h> first.
47877
47878 2007-12-22  Bruno Haible  <bruno@clisp.org>
47879
47880         * gnulib-tool (func_create_testdir): Change $auxdir while generating
47881         the contents of $testsbase.
47882         Reported by Ralf Wildenhues.
47883
47884 2007-12-22  Bruno Haible  <bruno@clisp.org>
47885
47886         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
47887         two variables local_ldadd_before, local_ldadd_last.
47888
47889 2007-12-20  Eric Blake  <ebb9@byu.net>
47890
47891         Work around circular library issue when cross-compiling.
47892         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
47893         that progname.o does not need to pull in rpl_memcmp.
47894
47895 2007-12-19  Eric Blake  <ebb9@byu.net>
47896
47897         Fix memmem to avoid O(n^2) worst-case complexity.
47898         * lib/memmem.c (knuth_morris_pratt): New function.
47899         (memmem): Use it if first few naive iterations fail.
47900         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
47901         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
47902         * modules/memchr (License): Likewise.
47903         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
47904         malloca.
47905         * tests/test-memmem.c: Rewrite, borrowing ideas from
47906         test-mbsstr1.c; the old version wouldn't even compile!
47907         * modules/memmem-tests: New file.
47908         * lib/string.in.h (rpl_memmem): Add declaration.
47909         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
47910         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
47911         REPLACE_MEMMEM.
47912
47913 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
47914
47915         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
47916         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
47917         before any system include files, and undef after them all.  This
47918         should fix a problem on VMS reported by John E. Malmberg in
47919         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
47920
47921 2007-12-17  Eric Blake  <ebb9@byu.net>
47922
47923         Revert addition of verify, for BSD/OS.
47924         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
47925         can't handle large files, for the sake of obsolete platforms.
47926         * modules/fseeko (Depends-on): Remove verify.
47927         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
47928         * doc/functions/ftello.texi (ftello): Likewise.
47929         * doc/functions/fgetpos.texi (fgetpos): Likewise.
47930         Reported by Larry Jones.
47931
47932 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
47933
47934         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
47935         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
47936
47937 2007-12-17  Jim Meyering  <meyering@redhat.com>
47938
47939         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
47940         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
47941         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
47942         * modules/getcwd (Depends-on): Add openat.
47943         Reported by Petr Salinger.
47944
47945 2007-12-17  Bruno Haible  <bruno@clisp.org>
47946
47947         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
47948         avoid a segmentation fault of the configure test on x86_64 systems.
47949
47950 2007-12-15  Jim Meyering  <meyering@redhat.com>
47951
47952         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
47953
47954 2007-12-13  Eric Blake  <ebb9@byu.net>
47955
47956         Another fseek test.
47957         * tests/test-fseek.c (main): Also test ungetc handling.
47958         * tests/test-fseeko.c (main): Likewise.
47959         * modules/fseeko (Depends-on): Add verify.
47960         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
47961         large.
47962         Reported by Larry Jones.
47963
47964         Fix fseeko on mingw.
47965         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
47966         seek.
47967
47968         Beef up fseek tests.
47969         * tests/test-fseek.c (main): Also test eof handling.
47970         * tests/test-fseeko.c (main): Likewise.
47971         Reported by Larry Jones.
47972
47973 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
47974
47975         Fix fseeko on BSD-based platforms.
47976         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
47977         successful seek.
47978
47979 2007-12-12  Eric Blake  <ebb9@byu.net>
47980
47981         Allow circular dependency of separate libtests.a
47982         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
47983         when use_libtests.
47984
47985 2007-12-11  Eric Blake  <ebb9@byu.net>
47986
47987         Fix bug with -0.0L in previous patch.
47988         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
47989         * tests/test-isnan.c (main): Also test on zeroes.
47990         * tests/test-isnanf.c (main): Likewise.
47991         * tests/test-isnanl.h (main): Likewise.
47992
47993         Detect pseudo-denormals on x86 even when cross-compiling.
47994         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
47995         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
47996         invalid bit patterns that happen to satisfy ==.
47997
47998         Avoid link failures with separate libtests.a.
47999         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
48000         last, to satisfy circular dependencies.
48001
48002 2007-12-11  Eric Blake  <ebb9@byu.net>
48003         and Bruno Haible  <bruno@clisp.org>
48004
48005         Fix OpenBSD 4.0 <float.h> handling of long double.
48006         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
48007         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
48008         * doc/headers/float.texi (float.h): Document OpenBSD bug.
48009
48010 2007-12-11  Jim Meyering  <meyering@redhat.com>
48011
48012         * users.txt: Add libvirt.
48013
48014         Support versions of autoconf prior to 2.59c.
48015         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
48016         if it is not already defined.
48017
48018 2007-12-09  Bruno Haible  <bruno@clisp.org>
48019
48020         Let 'gnulib-tool --import' collect sources needed for the tests in
48021         tests/ rather than in lib/.
48022         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
48023         argument. If true, add rules to generate libtests.a, and put libtests.a
48024         into $(LDADD). Consider source files in subdirectories and set
48025         uses_subdirs.
48026         (func_emit_initmacro_start, func_emit_initmacro_end,
48027         func_emit_initmacro_done): Pass all arguments explicitly.
48028         (func_import): Determine two module lists main_modules,
48029         testsrelated_modules. Determine use_libtests. Determine two variables
48030         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
48031         instead of just sed_transform_lib_file. Determine two variables
48032         main_files and testsrelated_files. Compute 'files' as the union of
48033         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
48034         func_add_or_update. In the generated gnulib-comp.m4, collect the
48035         object files for tests/ in different variables than those for lib/.
48036         Substitute LIBTESTS_LIBDEPS.
48037         (func_create_testdir): Combine the uses_subdirs results from
48038         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
48039
48040 2007-12-09  Bruno Haible  <bruno@clisp.org>
48041
48042         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
48043         the build-aux directory.
48044
48045 2007-12-09  Bruno Haible  <bruno@clisp.org>
48046
48047         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
48048         introduced on 2006-09-09.
48049
48050 2007-12-07  Jim Meyering  <meyering@redhat.com>
48051
48052         Let these macros work also with autoconf-2.59.
48053         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
48054         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
48055         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
48056
48057 2007-12-06  Jim Meyering  <meyering@redhat.com>
48058
48059         Avoid a configure-time syntax error in gl_FUNC_ACL.
48060         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
48061         function in each branch, before testing the cache variable.
48062
48063 2007-12-04  Eric Blake  <ebb9@byu.net>
48064
48065         Make scripts executable.
48066         * build-aux/config.guess: Add execute permissions.
48067         * build-aux/config.sub: Likewise.
48068         * build-aux/gendocs.sh: Likewise.
48069
48070         Fix frexp on mingw.
48071         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
48072         cross-compiling.
48073         * doc/functions/frexp.texi (frexp): Document the bug.
48074
48075         Make cygwin fseeko check more reliable.
48076         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
48077         version numbers, rather than unrelated feature check.
48078         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
48079         * doc/functions/ftello.texi (ftello): Likewise.
48080         Reported by Bruno Haible.
48081
48082         * m4/strerror.m4: Bump version number.
48083
48084 2007-12-03  Bruno Haible  <bruno@clisp.org>
48085
48086         * doc/functions/mprotect.texi: Mention the mingw problem.
48087
48088 2007-12-03  Eric Blake  <ebb9@byu.net>
48089
48090         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
48091         REPLACE_STRERROR is initialized before this macro.
48092
48093 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
48094
48095         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
48096         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
48097         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
48098         put -lsec in even for programs other than 'ls'.  This fixes a problem
48099         for gettext reported by Bruno Haible in
48100         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
48101         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
48102         Add support for Solaris 10.  This isn't efficient, but should get the
48103         job done for now.
48104
48105 2007-12-03  James Youngman  <jay@gnu.org>
48106
48107         * doc/regexprops-generic.texi: change "an close-group" to "a
48108         close-group" and "illegal" to "not allowed".
48109
48110 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48111
48112         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
48113         pr_byname.h. Needed for the rare case when the maintainer has done
48114         "make maintainer-clean" in the source directory and then attempts a
48115         build outside the source directory.
48116         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
48117         scripts_byname.h.
48118
48119 2007-12-02  Martin Lambers <marlam@marlam.de>
48120             Bruno Haible  <bruno@clisp.org>
48121
48122         * lib/getpagesize.h: Remove file.
48123         * lib/unistd.in.h: Include declaration of getpagesize here.
48124         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
48125         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
48126         HAVE_SYS_PARAM_H.
48127         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
48128         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
48129         * modules/getpagesize (Files): Remove lib/getpagesize.h.
48130         (Depends-on): Add unistd.
48131         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
48132         (Include): Use <unistd.h> instead of getpagesize.h.
48133         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
48134         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
48135         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
48136         gl_GETPAGESIZE invocation, already handled by module dependency.
48137         * lib/pagealign_alloc.c: Don't include getpagesize.h.
48138
48139 2007-12-02  Bruno Haible  <bruno@clisp.org>
48140
48141         * modules/strings-tests: New file.
48142         * tests/test-strings.c: New file.
48143
48144         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
48145         * lib/strings.in.h: New file.
48146         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
48147         * m4/strings_h.m4: New file.
48148         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
48149         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
48150         * modules/strings: New file.
48151         * modules/string (Makefile.am): Update.
48152         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
48153         Reported by Karl Berry.
48154
48155 2007-12-01  Eric Blake  <ebb9@byu.net>
48156
48157         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
48158         accomodate fix in cygwin 1.5.25.
48159
48160 2007-12-01  Jim Meyering  <meyering@redhat.com>
48161
48162         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
48163         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
48164         that would inhibit utf8-optimization of a regexp containing line-
48165         or buffer-anchors, e.g., `^', `$'.
48166
48167 2007-11-30  Bruno Haible  <bruno@clisp.org>
48168
48169         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
48170         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
48171         glthread_recursive_lock_init.
48172         * lib/lock.c (glthread_recursive_lock_init)
48173         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
48174         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
48175
48176 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
48177
48178         New function qset_acl, like set_acl but with syscall semantics.
48179         * lib/acl.h (qset_acl): New decl.
48180         * lib/acl.c (qset_acl): New function.
48181         (set_acl): Use new function.  Use more-consistent diagnostics.
48182
48183 2007-11-28  Jim Meyering  <meyering@redhat.com>
48184
48185         * modules/physmem (License): Change from GPL to LGPLv2+.
48186
48187 2007-11-26  Bruno Haible  <bruno@clisp.org>
48188
48189         * lib/vasnprintf.c (decode_long_double): Don't abort if the
48190         'long double' type has excess precision.
48191         Reported by Jim Meyering in
48192         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
48193
48194 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48195
48196         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
48197         Sync from <http://gnu.org/licenses>.
48198         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
48199         with license text from same location.
48200         * doc/maintain.texi, doc/standards.texi:  Sync from
48201         <http://savannah.gnu.org/projects/gnustandards>.
48202
48203 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
48204         and Jim Meyering  <meyering@redhat.com>
48205
48206         Adjust getdate' grammar to accept a slightly more regular language.
48207         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
48208         Before, the former was rejected.
48209         * lib/getdate.y (digits_to_date_time): New function, factored
48210         out of ...
48211         (number): ...here.  Just call digits_to_date_time.
48212         (hybrid): New non-terminal to handle an <unsigned number,
48213         signed relative offset> sequence consistently.
48214
48215 2007-11-18  Jim Meyering  <meyering@redhat.com>
48216
48217         Pull my changes from coreutils:
48218         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
48219         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
48220         use of $gnulib_tool_option_extras, so that it's separated from the
48221         preceding argument.
48222
48223         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
48224         * build-aux/bootstrap (cp_mark_as_generated): Create any required
48225         parent destination directories before copying a file into place.
48226
48227 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
48228
48229         bootstrap: work also with 4-argument variant of AC_INIT
48230         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
48231
48232 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
48233
48234         Port test-getaddrinfo to Solaris.
48235         Problem reported by Bruno Haible in
48236         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
48237         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
48238         explanation of setting 'hints'.
48239         Don't reject an implementation merely because it returns EAI_SERVICE.
48240         (EAI_SERVICE): Define to 0 if not defined.
48241
48242 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
48243
48244         The license of gnu-make and posix-shell is now "GPLed build tool".
48245         * modules/gnu-make (License): Likewise.
48246         * modules/posix-shell (License): Likewise.
48247
48248         New module posix-shell, for determining a POSIX shell
48249         or perhaps something that is close enough to a POSIX shell.
48250         * m4/posix-shell.m4: New file.
48251         * modules/posix-shell: New file.
48252
48253         * MODULES.html.sh: Mention new module.
48254
48255         New module gnu-make, for determining whether we're using GNU Make.
48256         * m4/gnu-make.m4: New file.
48257         * modules/gnu-make: New file.
48258         * MODULES.html.sh: Mention new module.
48259
48260 2007-11-14  Jim Meyering  <meyering@redhat.com>
48261
48262         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
48263         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
48264         use this macro to create a function _definition_.
48265         Remove useless "#undef ARGMATCH_DIE".
48266
48267 2007-11-14  Bruno Haible  <bruno@clisp.org>
48268
48269         * lib/config.charset: Update for OpenBSD 4.1.
48270         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
48271
48272 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
48273
48274         Document 64-bit #if problems in stdint.texi.
48275         * doc/headers/stdint.texi (stdint.h): Mention problems with
48276         64-bit-#if, and how to work around them.
48277
48278         Don't insist on 'long long int' support in the preprocessor.  It
48279         breaks too many things.  For example, PRIdMAX still uses a 'long
48280         long int' format with the latest Sun compiler, even though
48281         HAVE_LONG_LONG_INT isn't defined due to that compiler's
48282         preprocessor problem.  This causes the latest coreutils to dump
48283         core on Solaris 10 sparc with the Sun C compiler.
48284         Instead, fix the 2007-10-16 problem in a different way, by evaluating
48285         the troublesome expressions at configure-time, not at #if-time.
48286         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
48287         preprocessor.
48288         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
48289         compile-time C checks, done at 'configure'-time.
48290         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
48291         * modules/inttypes (Makefile): Substitute the new symbols that
48292         gl_INTTYPES_H now generates.
48293         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
48294
48295 2007-11-12  Bruno Haible  <bruno@clisp.org>
48296
48297         Tests for Unicode character classification functions.
48298
48299         * modules/unictype/bidicategory-byname-tests: New file.
48300         * modules/unictype/bidicategory-name-tests: New file.
48301         * modules/unictype/bidicategory-of-tests: New file.
48302         * modules/unictype/bidicategory-test-tests: New file.
48303         * modules/unictype/block-list-tests: New file.
48304         * modules/unictype/block-of-tests: New file.
48305         * modules/unictype/block-test-tests: New file.
48306         * modules/unictype/category-C-tests: New file.
48307         * modules/unictype/category-Cc-tests: New file.
48308         * modules/unictype/category-Cf-tests: New file.
48309         * modules/unictype/category-Cn-tests: New file.
48310         * modules/unictype/category-Co-tests: New file.
48311         * modules/unictype/category-Cs-tests: New file.
48312         * modules/unictype/category-L-tests: New file.
48313         * modules/unictype/category-Ll-tests: New file.
48314         * modules/unictype/category-Lm-tests: New file.
48315         * modules/unictype/category-Lo-tests: New file.
48316         * modules/unictype/category-Lt-tests: New file.
48317         * modules/unictype/category-Lu-tests: New file.
48318         * modules/unictype/category-M-tests: New file.
48319         * modules/unictype/category-Mc-tests: New file.
48320         * modules/unictype/category-Me-tests: New file.
48321         * modules/unictype/category-Mn-tests: New file.
48322         * modules/unictype/category-N-tests: New file.
48323         * modules/unictype/category-Nd-tests: New file.
48324         * modules/unictype/category-Nl-tests: New file.
48325         * modules/unictype/category-No-tests: New file.
48326         * modules/unictype/category-P-tests: New file.
48327         * modules/unictype/category-Pc-tests: New file.
48328         * modules/unictype/category-Pd-tests: New file.
48329         * modules/unictype/category-Pe-tests: New file.
48330         * modules/unictype/category-Pf-tests: New file.
48331         * modules/unictype/category-Pi-tests: New file.
48332         * modules/unictype/category-Po-tests: New file.
48333         * modules/unictype/category-Ps-tests: New file.
48334         * modules/unictype/category-S-tests: New file.
48335         * modules/unictype/category-Sc-tests: New file.
48336         * modules/unictype/category-Sk-tests: New file.
48337         * modules/unictype/category-Sm-tests: New file.
48338         * modules/unictype/category-So-tests: New file.
48339         * modules/unictype/category-Z-tests: New file.
48340         * modules/unictype/category-Zl-tests: New file.
48341         * modules/unictype/category-Zp-tests: New file.
48342         * modules/unictype/category-Zs-tests: New file.
48343         * modules/unictype/category-and-not-tests: New file.
48344         * modules/unictype/category-and-tests: New file.
48345         * modules/unictype/category-byname-tests: New file.
48346         * modules/unictype/category-name-tests: New file.
48347         * modules/unictype/category-none-tests: New file.
48348         * modules/unictype/category-of-tests: New file.
48349         * modules/unictype/category-or-tests: New file.
48350         * modules/unictype/category-test-withtable-tests: New file.
48351         * modules/unictype/combining-class-tests: New file.
48352         * modules/unictype/ctype-alnum-tests: New file.
48353         * modules/unictype/ctype-alpha-tests: New file.
48354         * modules/unictype/ctype-blank-tests: New file.
48355         * modules/unictype/ctype-cntrl-tests: New file.
48356         * modules/unictype/ctype-digit-tests: New file.
48357         * modules/unictype/ctype-graph-tests: New file.
48358         * modules/unictype/ctype-lower-tests: New file.
48359         * modules/unictype/ctype-print-tests: New file.
48360         * modules/unictype/ctype-punct-tests: New file.
48361         * modules/unictype/ctype-space-tests: New file.
48362         * modules/unictype/ctype-upper-tests: New file.
48363         * modules/unictype/ctype-xdigit-tests: New file.
48364         * modules/unictype/decimal-digit-tests: New file.
48365         * modules/unictype/digit-tests: New file.
48366         * modules/unictype/mirror-tests: New file.
48367         * modules/unictype/numeric-tests: New file.
48368         * modules/unictype/property-alphabetic-tests: New file.
48369         * modules/unictype/property-ascii-hex-digit-tests: New file.
48370         * modules/unictype/property-bidi-arabic-digit-tests: New file.
48371         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
48372         * modules/unictype/property-bidi-block-separator-tests: New file.
48373         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
48374         * modules/unictype/property-bidi-common-separator-tests: New file.
48375         * modules/unictype/property-bidi-control-tests: New file.
48376         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
48377         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
48378         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
48379         * modules/unictype/property-bidi-european-digit-tests: New file.
48380         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
48381         * modules/unictype/property-bidi-left-to-right-tests: New file.
48382         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
48383         * modules/unictype/property-bidi-other-neutral-tests: New file.
48384         * modules/unictype/property-bidi-pdf-tests: New file.
48385         * modules/unictype/property-bidi-segment-separator-tests: New file.
48386         * modules/unictype/property-bidi-whitespace-tests: New file.
48387         * modules/unictype/property-byname-tests: New file.
48388         * modules/unictype/property-combining-tests: New file.
48389         * modules/unictype/property-composite-tests: New file.
48390         * modules/unictype/property-currency-symbol-tests: New file.
48391         * modules/unictype/property-dash-tests: New file.
48392         * modules/unictype/property-decimal-digit-tests: New file.
48393         * modules/unictype/property-default-ignorable-code-point-tests: New file.
48394         * modules/unictype/property-deprecated-tests: New file.
48395         * modules/unictype/property-diacritic-tests: New file.
48396         * modules/unictype/property-extender-tests: New file.
48397         * modules/unictype/property-format-control-tests: New file.
48398         * modules/unictype/property-grapheme-base-tests: New file.
48399         * modules/unictype/property-grapheme-extend-tests: New file.
48400         * modules/unictype/property-grapheme-link-tests: New file.
48401         * modules/unictype/property-hex-digit-tests: New file.
48402         * modules/unictype/property-hyphen-tests: New file.
48403         * modules/unictype/property-id-continue-tests: New file.
48404         * modules/unictype/property-id-start-tests: New file.
48405         * modules/unictype/property-ideographic-tests: New file.
48406         * modules/unictype/property-ids-binary-operator-tests: New file.
48407         * modules/unictype/property-ids-trinary-operator-tests: New file.
48408         * modules/unictype/property-ignorable-control-tests: New file.
48409         * modules/unictype/property-iso-control-tests: New file.
48410         * modules/unictype/property-join-control-tests: New file.
48411         * modules/unictype/property-left-of-pair-tests: New file.
48412         * modules/unictype/property-line-separator-tests: New file.
48413         * modules/unictype/property-logical-order-exception-tests: New file.
48414         * modules/unictype/property-lowercase-tests: New file.
48415         * modules/unictype/property-math-tests: New file.
48416         * modules/unictype/property-non-break-tests: New file.
48417         * modules/unictype/property-not-a-character-tests: New file.
48418         * modules/unictype/property-numeric-tests: New file.
48419         * modules/unictype/property-other-alphabetic-tests: New file.
48420         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
48421         * modules/unictype/property-other-grapheme-extend-tests: New file.
48422         * modules/unictype/property-other-id-continue-tests: New file.
48423         * modules/unictype/property-other-id-start-tests: New file.
48424         * modules/unictype/property-other-lowercase-tests: New file.
48425         * modules/unictype/property-other-math-tests: New file.
48426         * modules/unictype/property-other-uppercase-tests: New file.
48427         * modules/unictype/property-paired-punctuation-tests: New file.
48428         * modules/unictype/property-paragraph-separator-tests: New file.
48429         * modules/unictype/property-pattern-syntax-tests: New file.
48430         * modules/unictype/property-pattern-white-space-tests: New file.
48431         * modules/unictype/property-private-use-tests: New file.
48432         * modules/unictype/property-punctuation-tests: New file.
48433         * modules/unictype/property-quotation-mark-tests: New file.
48434         * modules/unictype/property-radical-tests: New file.
48435         * modules/unictype/property-sentence-terminal-tests: New file.
48436         * modules/unictype/property-soft-dotted-tests: New file.
48437         * modules/unictype/property-space-tests: New file.
48438         * modules/unictype/property-terminal-punctuation-tests: New file.
48439         * modules/unictype/property-test-tests: New file.
48440         * modules/unictype/property-titlecase-tests: New file.
48441         * modules/unictype/property-unassigned-code-value-tests: New file.
48442         * modules/unictype/property-unified-ideograph-tests: New file.
48443         * modules/unictype/property-uppercase-tests: New file.
48444         * modules/unictype/property-variation-selector-tests: New file.
48445         * modules/unictype/property-white-space-tests: New file.
48446         * modules/unictype/property-xid-continue-tests: New file.
48447         * modules/unictype/property-xid-start-tests: New file.
48448         * modules/unictype/property-zero-width-tests: New file.
48449         * modules/unictype/scripts-tests: New file.
48450         * modules/unictype/syntax-c-ident-tests: New file.
48451         * modules/unictype/syntax-c-whitespace-tests: New file.
48452         * modules/unictype/syntax-java-ident-tests: New file.
48453         * modules/unictype/syntax-java-whitespace-tests: New file.
48454         * tests/unictype/test-bidi_byname.c: New file.
48455         * tests/unictype/test-bidi_name.c: New file.
48456         * tests/unictype/test-bidi_of.c: New file.
48457         * tests/unictype/test-bidi_test.c: New file.
48458         * tests/unictype/test-block_list.c: New file.
48459         * tests/unictype/test-block_of.c: New file.
48460         * tests/unictype/test-block_test.c: New file.
48461         * tests/unictype/test-categ_and.c: New file.
48462         * tests/unictype/test-categ_and_not.c: New file.
48463         * tests/unictype/test-categ_byname.c: New file.
48464         * tests/unictype/test-categ_name.c: New file.
48465         * tests/unictype/test-categ_none.c: New file.
48466         * tests/unictype/test-categ_of.c: New file.
48467         * tests/unictype/test-categ_or.c: New file.
48468         * tests/unictype/test-categ_test_withtable.c: New file.
48469         * tests/unictype/test-combining.c: New file.
48470         * tests/unictype/test-decdigit.c: New file.
48471         * tests/unictype/test-digit.c: New file.
48472         * tests/unictype/test-mirror.c: New file.
48473         * tests/unictype/test-numeric.c: New file.
48474         * tests/unictype/test-pr_byname.c: New file.
48475         * tests/unictype/test-pr_test.c: New file.
48476         * tests/unictype/test-predicate-part1.h: New file.
48477         * tests/unictype/test-predicate-part2.h: New file.
48478         * tests/unictype/test-scripts.c: New file.
48479         * tests/unictype/test-sy_c_ident.c: New file.
48480         * tests/unictype/test-sy_java_ident.c: New file.
48481
48482         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
48483         for Unicode 5.0.0.
48484         * tests/unictype/test-categ_Cc.c: Likewise.
48485         * tests/unictype/test-categ_Cf.c: Likewise.
48486         * tests/unictype/test-categ_Cn.c: Likewise.
48487         * tests/unictype/test-categ_Co.c: Likewise.
48488         * tests/unictype/test-categ_Cs.c: Likewise.
48489         * tests/unictype/test-categ_L.c: Likewise.
48490         * tests/unictype/test-categ_Ll.c: Likewise.
48491         * tests/unictype/test-categ_Lm.c: Likewise.
48492         * tests/unictype/test-categ_Lo.c: Likewise.
48493         * tests/unictype/test-categ_Lt.c: Likewise.
48494         * tests/unictype/test-categ_Lu.c: Likewise.
48495         * tests/unictype/test-categ_M.c: Likewise.
48496         * tests/unictype/test-categ_Mc.c: Likewise.
48497         * tests/unictype/test-categ_Me.c: Likewise.
48498         * tests/unictype/test-categ_Mn.c: Likewise.
48499         * tests/unictype/test-categ_N.c: Likewise.
48500         * tests/unictype/test-categ_Nd.c: Likewise.
48501         * tests/unictype/test-categ_Nl.c: Likewise.
48502         * tests/unictype/test-categ_No.c: Likewise.
48503         * tests/unictype/test-categ_P.c: Likewise.
48504         * tests/unictype/test-categ_Pc.c: Likewise.
48505         * tests/unictype/test-categ_Pd.c: Likewise.
48506         * tests/unictype/test-categ_Pe.c: Likewise.
48507         * tests/unictype/test-categ_Pf.c: Likewise.
48508         * tests/unictype/test-categ_Pi.c: Likewise.
48509         * tests/unictype/test-categ_Po.c: Likewise.
48510         * tests/unictype/test-categ_Ps.c: Likewise.
48511         * tests/unictype/test-categ_S.c: Likewise.
48512         * tests/unictype/test-categ_Sc.c: Likewise.
48513         * tests/unictype/test-categ_Sk.c: Likewise.
48514         * tests/unictype/test-categ_Sm.c: Likewise.
48515         * tests/unictype/test-categ_So.c: Likewise.
48516         * tests/unictype/test-categ_Z.c: Likewise.
48517         * tests/unictype/test-categ_Zl.c: Likewise.
48518         * tests/unictype/test-categ_Zp.c: Likewise.
48519         * tests/unictype/test-categ_Zs.c: Likewise.
48520         * tests/unictype/test-ctype_alnum.c: Likewise.
48521         * tests/unictype/test-ctype_alpha.c: Likewise.
48522         * tests/unictype/test-ctype_blank.c: Likewise.
48523         * tests/unictype/test-ctype_cntrl.c: Likewise.
48524         * tests/unictype/test-ctype_digit.c: Likewise.
48525         * tests/unictype/test-ctype_graph.c: Likewise.
48526         * tests/unictype/test-ctype_lower.c: Likewise.
48527         * tests/unictype/test-ctype_print.c: Likewise.
48528         * tests/unictype/test-ctype_punct.c: Likewise.
48529         * tests/unictype/test-ctype_space.c: Likewise.
48530         * tests/unictype/test-ctype_upper.c: Likewise.
48531         * tests/unictype/test-ctype_xdigit.c: Likewise.
48532         * tests/unictype/test-decdigit.h: Likewise.
48533         * tests/unictype/test-digit.h: Likewise.
48534         * tests/unictype/test-numeric.h: Likewise.
48535         * tests/unictype/test-pr_alphabetic.c: Likewise.
48536         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
48537         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
48538         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
48539         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
48540         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
48541         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
48542         * tests/unictype/test-pr_bidi_control.c: Likewise.
48543         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
48544         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
48545         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
48546         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
48547         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
48548         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
48549         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
48550         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
48551         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
48552         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
48553         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
48554         * tests/unictype/test-pr_combining.c: Likewise.
48555         * tests/unictype/test-pr_composite.c: Likewise.
48556         * tests/unictype/test-pr_currency_symbol.c: Likewise.
48557         * tests/unictype/test-pr_dash.c: Likewise.
48558         * tests/unictype/test-pr_decimal_digit.c: Likewise.
48559         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
48560         * tests/unictype/test-pr_deprecated.c: Likewise.
48561         * tests/unictype/test-pr_diacritic.c: Likewise.
48562         * tests/unictype/test-pr_extender.c: Likewise.
48563         * tests/unictype/test-pr_format_control.c: Likewise.
48564         * tests/unictype/test-pr_grapheme_base.c: Likewise.
48565         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
48566         * tests/unictype/test-pr_grapheme_link.c: Likewise.
48567         * tests/unictype/test-pr_hex_digit.c: Likewise.
48568         * tests/unictype/test-pr_hyphen.c: Likewise.
48569         * tests/unictype/test-pr_id_continue.c: Likewise.
48570         * tests/unictype/test-pr_id_start.c: Likewise.
48571         * tests/unictype/test-pr_ideographic.c: Likewise.
48572         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
48573         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
48574         * tests/unictype/test-pr_ignorable_control.c: Likewise.
48575         * tests/unictype/test-pr_iso_control.c: Likewise.
48576         * tests/unictype/test-pr_join_control.c: Likewise.
48577         * tests/unictype/test-pr_left_of_pair.c: Likewise.
48578         * tests/unictype/test-pr_line_separator.c: Likewise.
48579         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
48580         * tests/unictype/test-pr_lowercase.c: Likewise.
48581         * tests/unictype/test-pr_math.c: Likewise.
48582         * tests/unictype/test-pr_non_break.c: Likewise.
48583         * tests/unictype/test-pr_not_a_character.c: Likewise.
48584         * tests/unictype/test-pr_numeric.c: Likewise.
48585         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
48586         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
48587         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
48588         * tests/unictype/test-pr_other_id_continue.c: Likewise.
48589         * tests/unictype/test-pr_other_id_start.c: Likewise.
48590         * tests/unictype/test-pr_other_lowercase.c: Likewise.
48591         * tests/unictype/test-pr_other_math.c: Likewise.
48592         * tests/unictype/test-pr_other_uppercase.c: Likewise.
48593         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
48594         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
48595         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
48596         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
48597         * tests/unictype/test-pr_private_use.c: Likewise.
48598         * tests/unictype/test-pr_punctuation.c: Likewise.
48599         * tests/unictype/test-pr_quotation_mark.c: Likewise.
48600         * tests/unictype/test-pr_radical.c: Likewise.
48601         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
48602         * tests/unictype/test-pr_soft_dotted.c: Likewise.
48603         * tests/unictype/test-pr_space.c: Likewise.
48604         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
48605         * tests/unictype/test-pr_titlecase.c: Likewise.
48606         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
48607         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
48608         * tests/unictype/test-pr_uppercase.c: Likewise.
48609         * tests/unictype/test-pr_variation_selector.c: Likewise.
48610         * tests/unictype/test-pr_white_space.c: Likewise.
48611         * tests/unictype/test-pr_xid_continue.c: Likewise.
48612         * tests/unictype/test-pr_xid_start.c: Likewise.
48613         * tests/unictype/test-pr_zero_width.c: Likewise.
48614         * tests/unictype/test-sy_c_whitespace.c: Likewise.
48615         * tests/unictype/test-sy_java_whitespace.c: Likewise.
48616
48617 2007-11-12  Bruno Haible  <bruno@clisp.org>
48618
48619         Unicode character classification functions.
48620         * lib/unictype.h: New file.
48621         * modules/unictype/base: New file.
48622         * modules/unictype/category-L: New file.
48623         * modules/unictype/category-Lu: New file.
48624         * modules/unictype/category-Ll: New file.
48625         * modules/unictype/category-Lt: New file.
48626         * modules/unictype/category-Lm: New file.
48627         * modules/unictype/category-Lo: New file.
48628         * modules/unictype/category-M: New file.
48629         * modules/unictype/category-Mn: New file.
48630         * modules/unictype/category-Mc: New file.
48631         * modules/unictype/category-Me: New file.
48632         * modules/unictype/category-N: New file.
48633         * modules/unictype/category-Nd: New file.
48634         * modules/unictype/category-Nl: New file.
48635         * modules/unictype/category-No: New file.
48636         * modules/unictype/category-P: New file.
48637         * modules/unictype/category-Pc: New file.
48638         * modules/unictype/category-Pd: New file.
48639         * modules/unictype/category-Ps: New file.
48640         * modules/unictype/category-Pe: New file.
48641         * modules/unictype/category-Pi: New file.
48642         * modules/unictype/category-Pf: New file.
48643         * modules/unictype/category-Po: New file.
48644         * modules/unictype/category-S: New file.
48645         * modules/unictype/category-Sm: New file.
48646         * modules/unictype/category-Sc: New file.
48647         * modules/unictype/category-Sk: New file.
48648         * modules/unictype/category-So: New file.
48649         * modules/unictype/category-Z: New file.
48650         * modules/unictype/category-Zs: New file.
48651         * modules/unictype/category-Zl: New file.
48652         * modules/unictype/category-Zp: New file.
48653         * modules/unictype/category-C: New file.
48654         * modules/unictype/category-Cc: New file.
48655         * modules/unictype/category-Cf: New file.
48656         * modules/unictype/category-Cs: New file.
48657         * modules/unictype/category-Co: New file.
48658         * modules/unictype/category-Cn: New file.
48659         * modules/unictype/category-or: New file.
48660         * modules/unictype/category-of: New file.
48661         * modules/unictype/category-test: New file.
48662         * modules/unictype/category-test-withtable: New file.
48663         * modules/unictype/category-byname: New file.
48664         * modules/unictype/category-none: New file.
48665         * modules/unictype/category-and: New file.
48666         * modules/unictype/category-and-not: New file.
48667         * modules/unictype/category-name: New file.
48668         * modules/unictype/combining-class: New file.
48669         * modules/unictype/category-all: New file.
48670         * modules/unictype/bidicategory-all: New file.
48671         * modules/unictype/bidicategory-byname: New file.
48672         * modules/unictype/bidicategory-name: New file.
48673         * modules/unictype/bidicategory-of: New file.
48674         * modules/unictype/bidicategory-test: New file.
48675         * modules/unictype/decimal-digit: New file.
48676         * modules/unictype/digit: New file.
48677         * modules/unictype/numeric: New file.
48678         * modules/unictype/mirror: New file.
48679         * modules/unictype/property-white-space: New file.
48680         * modules/unictype/property-alphabetic: New file.
48681         * modules/unictype/property-other-alphabetic: New file.
48682         * modules/unictype/property-not-a-character: New file.
48683         * modules/unictype/property-default-ignorable-code-point: New file.
48684         * modules/unictype/property-other-default-ignorable-code-point: New
48685         file.
48686         * modules/unictype/property-deprecated: New file.
48687         * modules/unictype/property-logical-order-exception: New file.
48688         * modules/unictype/property-variation-selector: New file.
48689         * modules/unictype/property-private-use: New file.
48690         * modules/unictype/property-unassigned-code-value: New file.
48691         * modules/unictype/property-uppercase: New file.
48692         * modules/unictype/property-other-uppercase: New file.
48693         * modules/unictype/property-lowercase: New file.
48694         * modules/unictype/property-other-lowercase: New file.
48695         * modules/unictype/property-titlecase: New file.
48696         * modules/unictype/property-soft-dotted: New file.
48697         * modules/unictype/property-id-start: New file.
48698         * modules/unictype/property-other-id-start: New file.
48699         * modules/unictype/property-id-continue: New file.
48700         * modules/unictype/property-other-id-continue: New file.
48701         * modules/unictype/property-xid-start: New file.
48702         * modules/unictype/property-xid-continue: New file.
48703         * modules/unictype/property-pattern-white-space: New file.
48704         * modules/unictype/property-pattern-syntax: New file.
48705         * modules/unictype/property-join-control: New file.
48706         * modules/unictype/property-grapheme-base: New file.
48707         * modules/unictype/property-grapheme-extend: New file.
48708         * modules/unictype/property-other-grapheme-extend: New file.
48709         * modules/unictype/property-grapheme-link: New file.
48710         * modules/unictype/property-bidi-control: New file.
48711         * modules/unictype/property-bidi-left-to-right: New file.
48712         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
48713         * modules/unictype/property-bidi-arabic-right-to-left: New file.
48714         * modules/unictype/property-bidi-european-digit: New file.
48715         * modules/unictype/property-bidi-eur-num-separator: New file.
48716         * modules/unictype/property-bidi-eur-num-terminator: New file.
48717         * modules/unictype/property-bidi-arabic-digit: New file.
48718         * modules/unictype/property-bidi-common-separator: New file.
48719         * modules/unictype/property-bidi-block-separator: New file.
48720         * modules/unictype/property-bidi-segment-separator: New file.
48721         * modules/unictype/property-bidi-whitespace: New file.
48722         * modules/unictype/property-bidi-non-spacing-mark: New file.
48723         * modules/unictype/property-bidi-boundary-neutral: New file.
48724         * modules/unictype/property-bidi-pdf: New file.
48725         * modules/unictype/property-bidi-embedding-or-override: New file.
48726         * modules/unictype/property-bidi-other-neutral: New file.
48727         * modules/unictype/property-hex-digit: New file.
48728         * modules/unictype/property-ascii-hex-digit: New file.
48729         * modules/unictype/property-ideographic: New file.
48730         * modules/unictype/property-unified-ideograph: New file.
48731         * modules/unictype/property-radical: New file.
48732         * modules/unictype/property-ids-binary-operator: New file.
48733         * modules/unictype/property-ids-trinary-operator: New file.
48734         * modules/unictype/property-zero-width: New file.
48735         * modules/unictype/property-space: New file.
48736         * modules/unictype/property-non-break: New file.
48737         * modules/unictype/property-iso-control: New file.
48738         * modules/unictype/property-format-control: New file.
48739         * modules/unictype/property-dash: New file.
48740         * modules/unictype/property-hyphen: New file.
48741         * modules/unictype/property-punctuation: New file.
48742         * modules/unictype/property-line-separator: New file.
48743         * modules/unictype/property-paragraph-separator: New file.
48744         * modules/unictype/property-quotation-mark: New file.
48745         * modules/unictype/property-sentence-terminal: New file.
48746         * modules/unictype/property-terminal-punctuation: New file.
48747         * modules/unictype/property-currency-symbol: New file.
48748         * modules/unictype/property-math: New file.
48749         * modules/unictype/property-other-math: New file.
48750         * modules/unictype/property-paired-punctuation: New file.
48751         * modules/unictype/property-left-of-pair: New file.
48752         * modules/unictype/property-combining: New file.
48753         * modules/unictype/property-composite: New file.
48754         * modules/unictype/property-decimal-digit: New file.
48755         * modules/unictype/property-numeric: New file.
48756         * modules/unictype/property-diacritic: New file.
48757         * modules/unictype/property-extender: New file.
48758         * modules/unictype/property-ignorable-control: New file.
48759         * modules/unictype/property-test: New file.
48760         * modules/unictype/property-byname: New file.
48761         * modules/unictype/property-all: New file.
48762         * modules/unictype/scripts: New file.
48763         * modules/unictype/scripts-all: New file.
48764         * modules/unictype/block-of: New file.
48765         * modules/unictype/block-test: New file.
48766         * modules/unictype/block-list: New file.
48767         * modules/unictype/block-all: New file.
48768         * modules/unictype/syntax-c-whitespace: New file.
48769         * modules/unictype/syntax-java-whitespace: New file.
48770         * modules/unictype/syntax-c-ident: New file.
48771         * modules/unictype/syntax-java-ident: New file.
48772         * modules/unictype/ctype-alnum: New file.
48773         * modules/unictype/ctype-alpha: New file.
48774         * modules/unictype/ctype-cntrl: New file.
48775         * modules/unictype/ctype-digit: New file.
48776         * modules/unictype/ctype-graph: New file.
48777         * modules/unictype/ctype-lower: New file.
48778         * modules/unictype/ctype-print: New file.
48779         * modules/unictype/ctype-punct: New file.
48780         * modules/unictype/ctype-space: New file.
48781         * modules/unictype/ctype-upper: New file.
48782         * modules/unictype/ctype-xdigit: New file.
48783         * modules/unictype/ctype-blank: New file.
48784         * lib/unictype/bidi_byname.c: New file.
48785         * lib/unictype/bidi_name.c: New file.
48786         * lib/unictype/bidi_of.c: New file.
48787         * lib/unictype/bidi_test.c: New file.
48788         * lib/unictype/bitmap.h: New file.
48789         * lib/unictype/block_test.c: New file.
48790         * lib/unictype/blocks.c: New file.
48791         * lib/unictype/categ_C.c: New file.
48792         * lib/unictype/categ_Cc.c: New file.
48793         * lib/unictype/categ_Cf.c: New file.
48794         * lib/unictype/categ_Cn.c: New file.
48795         * lib/unictype/categ_Co.c: New file.
48796         * lib/unictype/categ_Cs.c: New file.
48797         * lib/unictype/categ_L.c: New file.
48798         * lib/unictype/categ_Ll.c: New file.
48799         * lib/unictype/categ_Lm.c: New file.
48800         * lib/unictype/categ_Lo.c: New file.
48801         * lib/unictype/categ_Lt.c: New file.
48802         * lib/unictype/categ_Lu.c: New file.
48803         * lib/unictype/categ_M.c: New file.
48804         * lib/unictype/categ_Mc.c: New file.
48805         * lib/unictype/categ_Me.c: New file.
48806         * lib/unictype/categ_Mn.c: New file.
48807         * lib/unictype/categ_N.c: New file.
48808         * lib/unictype/categ_Nd.c: New file.
48809         * lib/unictype/categ_Nl.c: New file.
48810         * lib/unictype/categ_No.c: New file.
48811         * lib/unictype/categ_P.c: New file.
48812         * lib/unictype/categ_Pc.c: New file.
48813         * lib/unictype/categ_Pd.c: New file.
48814         * lib/unictype/categ_Pe.c: New file.
48815         * lib/unictype/categ_Pf.c: New file.
48816         * lib/unictype/categ_Pi.c: New file.
48817         * lib/unictype/categ_Po.c: New file.
48818         * lib/unictype/categ_Ps.c: New file.
48819         * lib/unictype/categ_S.c: New file.
48820         * lib/unictype/categ_Sc.c: New file.
48821         * lib/unictype/categ_Sk.c: New file.
48822         * lib/unictype/categ_Sm.c: New file.
48823         * lib/unictype/categ_So.c: New file.
48824         * lib/unictype/categ_Z.c: New file.
48825         * lib/unictype/categ_Zl.c: New file.
48826         * lib/unictype/categ_Zp.c: New file.
48827         * lib/unictype/categ_Zs.c: New file.
48828         * lib/unictype/categ_and.c: New file.
48829         * lib/unictype/categ_and_not.c: New file.
48830         * lib/unictype/categ_byname.c: New file.
48831         * lib/unictype/categ_name.c: New file.
48832         * lib/unictype/categ_none.c: New file.
48833         * lib/unictype/categ_of.c: New file.
48834         * lib/unictype/categ_or.c: New file.
48835         * lib/unictype/categ_test.c: New file.
48836         * lib/unictype/combining.c: New file.
48837         * lib/unictype/ctype_alnum.c: New file.
48838         * lib/unictype/ctype_alpha.c: New file.
48839         * lib/unictype/ctype_blank.c: New file.
48840         * lib/unictype/ctype_cntrl.c: New file.
48841         * lib/unictype/ctype_digit.c: New file.
48842         * lib/unictype/ctype_graph.c: New file.
48843         * lib/unictype/ctype_lower.c: New file.
48844         * lib/unictype/ctype_print.c: New file.
48845         * lib/unictype/ctype_punct.c: New file.
48846         * lib/unictype/ctype_space.c: New file.
48847         * lib/unictype/ctype_upper.c: New file.
48848         * lib/unictype/ctype_xdigit.c: New file.
48849         * lib/unictype/decdigit.c: New file.
48850         * lib/unictype/digit.c: New file.
48851         * lib/unictype/identsyntaxmap.h: New file.
48852         * lib/unictype/mirror.c: New file.
48853         * lib/unictype/numeric.c: New file.
48854         * lib/unictype/pr_alphabetic.c: New file.
48855         * lib/unictype/pr_ascii_hex_digit.c: New file.
48856         * lib/unictype/pr_bidi_arabic_digit.c: New file.
48857         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
48858         * lib/unictype/pr_bidi_block_separator.c: New file.
48859         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
48860         * lib/unictype/pr_bidi_common_separator.c: New file.
48861         * lib/unictype/pr_bidi_control.c: New file.
48862         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
48863         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
48864         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
48865         * lib/unictype/pr_bidi_european_digit.c: New file.
48866         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
48867         * lib/unictype/pr_bidi_left_to_right.c: New file.
48868         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
48869         * lib/unictype/pr_bidi_other_neutral.c: New file.
48870         * lib/unictype/pr_bidi_pdf.c: New file.
48871         * lib/unictype/pr_bidi_segment_separator.c: New file.
48872         * lib/unictype/pr_bidi_whitespace.c: New file.
48873         * lib/unictype/pr_byname.c: New file.
48874         * lib/unictype/pr_byname.gperf: New file.
48875         * lib/unictype/pr_combining.c: New file.
48876         * lib/unictype/pr_composite.c: New file.
48877         * lib/unictype/pr_currency_symbol.c: New file.
48878         * lib/unictype/pr_dash.c: New file.
48879         * lib/unictype/pr_decimal_digit.c: New file.
48880         * lib/unictype/pr_default_ignorable_code_point.c: New file.
48881         * lib/unictype/pr_deprecated.c: New file.
48882         * lib/unictype/pr_diacritic.c: New file.
48883         * lib/unictype/pr_extender.c: New file.
48884         * lib/unictype/pr_format_control.c: New file.
48885         * lib/unictype/pr_grapheme_base.c: New file.
48886         * lib/unictype/pr_grapheme_extend.c: New file.
48887         * lib/unictype/pr_grapheme_link.c: New file.
48888         * lib/unictype/pr_hex_digit.c: New file.
48889         * lib/unictype/pr_hyphen.c: New file.
48890         * lib/unictype/pr_id_continue.c: New file.
48891         * lib/unictype/pr_id_start.c: New file.
48892         * lib/unictype/pr_ideographic.c: New file.
48893         * lib/unictype/pr_ids_binary_operator.c: New file.
48894         * lib/unictype/pr_ids_trinary_operator.c: New file.
48895         * lib/unictype/pr_ignorable_control.c: New file.
48896         * lib/unictype/pr_iso_control.c: New file.
48897         * lib/unictype/pr_join_control.c: New file.
48898         * lib/unictype/pr_left_of_pair.c: New file.
48899         * lib/unictype/pr_line_separator.c: New file.
48900         * lib/unictype/pr_logical_order_exception.c: New file.
48901         * lib/unictype/pr_lowercase.c: New file.
48902         * lib/unictype/pr_math.c: New file.
48903         * lib/unictype/pr_non_break.c: New file.
48904         * lib/unictype/pr_not_a_character.c: New file.
48905         * lib/unictype/pr_numeric.c: New file.
48906         * lib/unictype/pr_other_alphabetic.c: New file.
48907         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
48908         * lib/unictype/pr_other_grapheme_extend.c: New file.
48909         * lib/unictype/pr_other_id_continue.c: New file.
48910         * lib/unictype/pr_other_id_start.c: New file.
48911         * lib/unictype/pr_other_lowercase.c: New file.
48912         * lib/unictype/pr_other_math.c: New file.
48913         * lib/unictype/pr_other_uppercase.c: New file.
48914         * lib/unictype/pr_paired_punctuation.c: New file.
48915         * lib/unictype/pr_paragraph_separator.c: New file.
48916         * lib/unictype/pr_pattern_syntax.c: New file.
48917         * lib/unictype/pr_pattern_white_space.c: New file.
48918         * lib/unictype/pr_private_use.c: New file.
48919         * lib/unictype/pr_punctuation.c: New file.
48920         * lib/unictype/pr_quotation_mark.c: New file.
48921         * lib/unictype/pr_radical.c: New file.
48922         * lib/unictype/pr_sentence_terminal.c: New file.
48923         * lib/unictype/pr_soft_dotted.c: New file.
48924         * lib/unictype/pr_space.c: New file.
48925         * lib/unictype/pr_terminal_punctuation.c: New file.
48926         * lib/unictype/pr_test.c: New file.
48927         * lib/unictype/pr_titlecase.c: New file.
48928         * lib/unictype/pr_unassigned_code_value.c: New file.
48929         * lib/unictype/pr_unified_ideograph.c: New file.
48930         * lib/unictype/pr_uppercase.c: New file.
48931         * lib/unictype/pr_variation_selector.c: New file.
48932         * lib/unictype/pr_white_space.c: New file.
48933         * lib/unictype/pr_xid_continue.c: New file.
48934         * lib/unictype/pr_xid_start.c: New file.
48935         * lib/unictype/pr_zero_width.c: New file.
48936         * lib/unictype/scripts.c: New file.
48937         * lib/unictype/sy_c_ident.c: New file.
48938         * lib/unictype/sy_c_whitespace.c: New file.
48939         * lib/unictype/sy_java_ident.c: New file.
48940         * lib/unictype/sy_java_whitespace.c: New file.
48941
48942         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
48943         Unicode 5.0.0.
48944         * lib/unictype/blocks.h: Likewise.
48945         * lib/unictype/categ_C.h: Likewise.
48946         * lib/unictype/categ_Cc.h: Likewise.
48947         * lib/unictype/categ_Cf.h: Likewise.
48948         * lib/unictype/categ_Cn.h: Likewise.
48949         * lib/unictype/categ_Co.h: Likewise.
48950         * lib/unictype/categ_Cs.h: Likewise.
48951         * lib/unictype/categ_L.h: Likewise.
48952         * lib/unictype/categ_Ll.h: Likewise.
48953         * lib/unictype/categ_Lm.h: Likewise.
48954         * lib/unictype/categ_Lo.h: Likewise.
48955         * lib/unictype/categ_Lt.h: Likewise.
48956         * lib/unictype/categ_Lu.h: Likewise.
48957         * lib/unictype/categ_M.h: Likewise.
48958         * lib/unictype/categ_Mc.h: Likewise.
48959         * lib/unictype/categ_Me.h: Likewise.
48960         * lib/unictype/categ_Mn.h: Likewise.
48961         * lib/unictype/categ_N.h: Likewise.
48962         * lib/unictype/categ_Nd.h: Likewise.
48963         * lib/unictype/categ_Nl.h: Likewise.
48964         * lib/unictype/categ_No.h: Likewise.
48965         * lib/unictype/categ_P.h: Likewise.
48966         * lib/unictype/categ_Pc.h: Likewise.
48967         * lib/unictype/categ_Pd.h: Likewise.
48968         * lib/unictype/categ_Pe.h: Likewise.
48969         * lib/unictype/categ_Pf.h: Likewise.
48970         * lib/unictype/categ_Pi.h: Likewise.
48971         * lib/unictype/categ_Po.h: Likewise.
48972         * lib/unictype/categ_Ps.h: Likewise.
48973         * lib/unictype/categ_S.h: Likewise.
48974         * lib/unictype/categ_Sc.h: Likewise.
48975         * lib/unictype/categ_Sk.h: Likewise.
48976         * lib/unictype/categ_Sm.h: Likewise.
48977         * lib/unictype/categ_So.h: Likewise.
48978         * lib/unictype/categ_Z.h: Likewise.
48979         * lib/unictype/categ_Zl.h: Likewise.
48980         * lib/unictype/categ_Zp.h: Likewise.
48981         * lib/unictype/categ_Zs.h: Likewise.
48982         * lib/unictype/categ_of.h: Likewise.
48983         * lib/unictype/combining.h: Likewise.
48984         * lib/unictype/ctype_alnum.h: Likewise.
48985         * lib/unictype/ctype_alpha.h: Likewise.
48986         * lib/unictype/ctype_blank.h: Likewise.
48987         * lib/unictype/ctype_cntrl.h: Likewise.
48988         * lib/unictype/ctype_digit.h: Likewise.
48989         * lib/unictype/ctype_graph.h: Likewise.
48990         * lib/unictype/ctype_lower.h: Likewise.
48991         * lib/unictype/ctype_print.h: Likewise.
48992         * lib/unictype/ctype_punct.h: Likewise.
48993         * lib/unictype/ctype_space.h: Likewise.
48994         * lib/unictype/ctype_upper.h: Likewise.
48995         * lib/unictype/ctype_xdigit.h: Likewise.
48996         * lib/unictype/decdigit.h: Likewise.
48997         * lib/unictype/digit.h: Likewise.
48998         * lib/unictype/mirror.h: Likewise.
48999         * lib/unictype/numeric.h: Likewise.
49000         * lib/unictype/pr_alphabetic.h: Likewise.
49001         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
49002         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
49003         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
49004         * lib/unictype/pr_bidi_block_separator.h: Likewise.
49005         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
49006         * lib/unictype/pr_bidi_common_separator.h: Likewise.
49007         * lib/unictype/pr_bidi_control.h: Likewise.
49008         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
49009         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
49010         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
49011         * lib/unictype/pr_bidi_european_digit.h: Likewise.
49012         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
49013         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
49014         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
49015         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
49016         * lib/unictype/pr_bidi_pdf.h: Likewise.
49017         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
49018         * lib/unictype/pr_bidi_whitespace.h: Likewise.
49019         * lib/unictype/pr_combining.h: Likewise.
49020         * lib/unictype/pr_composite.h: Likewise.
49021         * lib/unictype/pr_currency_symbol.h: Likewise.
49022         * lib/unictype/pr_dash.h: Likewise.
49023         * lib/unictype/pr_decimal_digit.h: Likewise.
49024         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
49025         * lib/unictype/pr_deprecated.h: Likewise.
49026         * lib/unictype/pr_diacritic.h: Likewise.
49027         * lib/unictype/pr_extender.h: Likewise.
49028         * lib/unictype/pr_format_control.h: Likewise.
49029         * lib/unictype/pr_grapheme_base.h: Likewise.
49030         * lib/unictype/pr_grapheme_extend.h: Likewise.
49031         * lib/unictype/pr_grapheme_link.h: Likewise.
49032         * lib/unictype/pr_hex_digit.h: Likewise.
49033         * lib/unictype/pr_hyphen.h: Likewise.
49034         * lib/unictype/pr_id_continue.h: Likewise.
49035         * lib/unictype/pr_id_start.h: Likewise.
49036         * lib/unictype/pr_ideographic.h: Likewise.
49037         * lib/unictype/pr_ids_binary_operator.h: Likewise.
49038         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
49039         * lib/unictype/pr_ignorable_control.h: Likewise.
49040         * lib/unictype/pr_iso_control.h: Likewise.
49041         * lib/unictype/pr_join_control.h: Likewise.
49042         * lib/unictype/pr_left_of_pair.h: Likewise.
49043         * lib/unictype/pr_line_separator.h: Likewise.
49044         * lib/unictype/pr_logical_order_exception.h: Likewise.
49045         * lib/unictype/pr_lowercase.h: Likewise.
49046         * lib/unictype/pr_math.h: Likewise.
49047         * lib/unictype/pr_non_break.h: Likewise.
49048         * lib/unictype/pr_not_a_character.h: Likewise.
49049         * lib/unictype/pr_numeric.h: Likewise.
49050         * lib/unictype/pr_other_alphabetic.h: Likewise.
49051         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
49052         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
49053         * lib/unictype/pr_other_id_continue.h: Likewise.
49054         * lib/unictype/pr_other_id_start.h: Likewise.
49055         * lib/unictype/pr_other_lowercase.h: Likewise.
49056         * lib/unictype/pr_other_math.h: Likewise.
49057         * lib/unictype/pr_other_uppercase.h: Likewise.
49058         * lib/unictype/pr_paired_punctuation.h: Likewise.
49059         * lib/unictype/pr_paragraph_separator.h: Likewise.
49060         * lib/unictype/pr_pattern_syntax.h: Likewise.
49061         * lib/unictype/pr_pattern_white_space.h: Likewise.
49062         * lib/unictype/pr_private_use.h: Likewise.
49063         * lib/unictype/pr_punctuation.h: Likewise.
49064         * lib/unictype/pr_quotation_mark.h: Likewise.
49065         * lib/unictype/pr_radical.h: Likewise.
49066         * lib/unictype/pr_sentence_terminal.h: Likewise.
49067         * lib/unictype/pr_soft_dotted.h: Likewise.
49068         * lib/unictype/pr_space.h: Likewise.
49069         * lib/unictype/pr_terminal_punctuation.h: Likewise.
49070         * lib/unictype/pr_titlecase.h: Likewise.
49071         * lib/unictype/pr_unassigned_code_value.h: Likewise.
49072         * lib/unictype/pr_unified_ideograph.h: Likewise.
49073         * lib/unictype/pr_uppercase.h: Likewise.
49074         * lib/unictype/pr_variation_selector.h: Likewise.
49075         * lib/unictype/pr_white_space.h: Likewise.
49076         * lib/unictype/pr_xid_continue.h: Likewise.
49077         * lib/unictype/pr_xid_start.h: Likewise.
49078         * lib/unictype/pr_zero_width.h: Likewise.
49079         * lib/unictype/scripts.h: Likewise.
49080         * lib/unictype/scripts_byname.gperf: Likewise.
49081         * lib/unictype/sy_c_ident.h: Likewise.
49082         * lib/unictype/sy_c_whitespace.h: Likewise.
49083         * lib/unictype/sy_java_ident.h: Likewise.
49084         * lib/unictype/sy_java_whitespace.h: Likewise.
49085
49086         * lib/unictype/Makefile: New file.
49087         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
49088         glibc.
49089         * lib/unictype/3level.h: New file, copied from glibc.
49090         * lib/unictype/3levelbit.h: New file.
49091
49092 2007-11-11  Bruno Haible  <bruno@clisp.org>
49093
49094         * modules/gperf: New file.
49095         * modules/iconv_open (Depends-on): Add it.
49096         (Makefile.am): Remove the GPERF definition.
49097
49098 2007-11-11  Bruno Haible  <bruno@clisp.org>
49099
49100         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
49101         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
49102
49103 2007-11-11  Bruno Haible  <bruno@clisp.org>
49104
49105         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
49106         (usage): Remove function.
49107
49108 2007-11-11  Bruno Haible  <bruno@clisp.org>
49109
49110         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
49111         gl_FUNC_CEILF_LIBS.
49112         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
49113         gl_FUNC_CEIL_LIBS.
49114         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
49115         gl_FUNC_CEILL_LIBS.
49116         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
49117         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
49118         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
49119
49120 2007-11-11  Bruno Haible  <bruno@clisp.org>
49121
49122         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
49123         roundf were declared but do not exist on functions.
49124         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
49125         roundl were declared but do not exist on functions.
49126         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
49127         HAVE_FLOORL_AND_CEILL, respectively.
49128         Needed for Sun C on Solaris 10.
49129
49130 2007-11-11  Bruno Haible  <bruno@clisp.org>
49131
49132         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
49133         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
49134         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
49135         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
49136         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
49137         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
49138         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
49139         HAVE_DECL_ROUNDF.
49140         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
49141         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
49142         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
49143         of HAVE_DECL_ROUND*.
49144         * modules/math (Makefile.am): Update.
49145
49146 2007-11-10  Bruno Haible  <bruno@clisp.org>
49147
49148         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
49149         ptrdiff_t as m4/intl.m4.
49150
49151 2007-11-10  Jim Meyering  <meyering@redhat.com>
49152
49153         Avoid link failure for the argmatch test.
49154         * tests/test-argmatch.c (usage): Define function to avoid a link
49155         failure: argmatch_die requires a usage function.
49156
49157 2007-11-09  Bruno Haible  <bruno@clisp.org>
49158
49159         * doc/functions/snprintf.texi: Mention BeOS deficiency.
49160         * doc/functions/vsnprintf.texi: Likewise.
49161         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
49162         with a size argument < 2.
49163
49164 2007-11-09  Bruno Haible  <bruno@clisp.org>
49165
49166         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
49167         buffer. Fixes an inefficiency introduced on 2007-11-03.
49168
49169 2007-11-09  Bruno Haible  <bruno@clisp.org>
49170
49171         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
49172         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
49173
49174 2007-11-08  Jim Meyering  <meyering@redhat.com>
49175
49176         Change cache variable name prefix "jm_" to "gl_" everywhere.
49177         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
49178         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
49179         * m4/uptime.m4: s/gl_/jm_/
49180
49181 2007-11-07  Bruno Haible  <bruno@clisp.org>
49182
49183         Update to GNU gettext 0.17.
49184         * m4/intl.m4: Update to GNU gettext 0.17.
49185         * m4/po.m4: Likewise.
49186         * modules/gettext (Files): Remove m4/ulonglong.m4.
49187         (configure.ac): Require gettext infrastructure from version 0.17.
49188
49189 2007-11-06  Bruno Haible  <bruno@clisp.org>
49190
49191         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
49192         symbolic values are not defined in a public header.
49193         * lib/freadable.c (freadable) [QNX]: Likewise.
49194         * lib/freadahead.c (freadahead) [QNX]: Likewise.
49195         * lib/freading.c (freading) [QNX]: Likewise.
49196         * lib/fseterr.c (fseterr) [QNX]: Likewise.
49197         * lib/fwritable.c (fwritable) [QNX]: Likewise.
49198         * lib/fwriting.c (fwriting) [QNX]: Likewise.
49199         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
49200         Reported by Alain Magloire.
49201
49202         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
49203
49204 2007-11-05  Bruno Haible  <bruno@clisp.org>
49205
49206         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
49207         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
49208         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
49209         Reported by Eric Blake.
49210
49211 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49212             Bruno Haible  <bruno@clisp.org>
49213
49214         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
49215         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
49216         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
49217         (malloc): Undefine also before including <stdlib.h>.
49218         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
49219         Needed on OSF/1 4.0.
49220
49221 2007-11-05  Jim Meyering  <meyering@redhat.com>
49222
49223         git-version-gen: sync from coreutils.
49224         * build-aux/git-version-gen: Add comments.
49225         Change the first '-' to '.' in the snapshot version string,
49226         e.g., 6.9-377-08144 -> 6.9.377-08144
49227         Remove first parameter.
49228         Don't declare a version "-dirty" merely because a time
49229         stamp has changed.
49230
49231 2007-11-04  Bruno Haible  <bruno@clisp.org>
49232
49233         * lib/lock.h: Protect all macro definitions containing an 'if'
49234         statement through a "do { ... } while (0)".
49235         * lib/tls.h: Likewise.
49236
49237 2007-11-04  Bruno Haible  <bruno@clisp.org>
49238
49239         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
49240
49241 2007-11-04  Bruno Haible  <bruno@clisp.org>
49242
49243         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
49244         * modules/fprintf-posix (Depends-on): Add nocrash.
49245         * modules/snprintf-posix (Depends-on): Likewise.
49246         * modules/sprintf-posix (Depends-on): Likewise.
49247         * modules/vasnprintf-posix (Depends-on): Likewise.
49248         * modules/vasprintf-posix (Depends-on): Likewise.
49249         * modules/vfprintf-posix (Depends-on): Likewise.
49250         * modules/vsnprintf-posix (Depends-on): Likewise.
49251         * modules/vsprintf-posix (Depends-on): Likewise.
49252         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
49253         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
49254         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
49255         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
49256         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
49257         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
49258         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
49259
49260 2007-11-04  Bruno Haible  <bruno@clisp.org>
49261
49262         * modules/nocrash: New file.
49263         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
49264         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
49265
49266 2007-11-04  Bruno Haible  <bruno@clisp.org>
49267
49268         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
49269         precision handling.
49270         * tests/test-vasprintf-posix.c (test_function): Likewise.
49271         * tests/test-snprintf-posix.h (test_function): Likewise.
49272         * tests/test-sprintf-posix.h (test_function): Likewise.
49273
49274         Fix *printf behaviour for large precisions on mingw and BeOS.
49275         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
49276         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
49277         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
49278         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
49279         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
49280         gl_PRINTF_PRECISION and test its result. Invoke
49281         gl_PREREQ_VASNPRINTF_PRECISION.
49282         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
49283         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
49284         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
49285         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
49286         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
49287         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49288         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
49289         * doc/functions/fprintf.texi: Update.
49290         * doc/functions/printf.texi: Update.
49291         * doc/functions/snprintf.texi: Update.
49292         * doc/functions/sprintf.texi: Update.
49293         * doc/functions/vfprintf.texi: Update.
49294         * doc/functions/vprintf.texi: Update.
49295         * doc/functions/vsnprintf.texi: Update.
49296         * doc/functions/vsprintf.texi: Update.
49297
49298 2007-11-04  Bruno Haible  <bruno@clisp.org>
49299
49300         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
49301
49302 2007-11-04  Bruno Haible  <bruno@clisp.org>
49303
49304         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
49305         Reported by Sylvain Beucler <beuc@gnu.org>.
49306
49307 2007-11-03  Bruno Haible  <bruno@clisp.org>
49308
49309         * tests/test-fprintf-posix2.sh: New file.
49310         * tests/test-fprintf-posix2.c: New file.
49311         * modules/fprintf-posix-tests (Files): Add them.
49312         (TESTS): Add test-fprintf-posix2.sh.
49313         (configure.ac): Check for getrlimit and setrlimit.
49314         (check_PROGRAMS): Add test-fprintf-posix2.
49315
49316         * tests/test-printf-posix2.sh: New file.
49317         * tests/test-printf-posix2.c: New file.
49318         * modules/printf-posix-tests (Files): Add them.
49319         (TESTS): Add test-printf-posix2.sh.
49320         (configure.ac): Check for getrlimit and setrlimit.
49321         (check_PROGRAMS): Add test-printf-posix2.
49322
49323         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
49324         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
49325         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
49326         (decode_double): New function, copied from decode_long_double.
49327         (scale10_round_decimal_decoded): New function, extracted from
49328         scale10_round_decimal_long_double.
49329         (scale10_round_decimal_long_double): Use it.
49330         (scale10_round_decimal_double): New function.
49331         (floorlog10): New function.
49332         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
49333         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
49334         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
49335         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
49336         gl_PRINTF_ENOMEM and test its result. Invoke
49337         gl_PREREQ_VASNPRINTF_ENOMEM.
49338         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
49339         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
49340         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
49341         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
49342         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
49343         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49344         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
49345         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
49346         * modules/snprintf-posix (Depends-on): Likewise.
49347         * modules/sprintf-posix (Depends-on): Likewise.
49348         * modules/vasnprintf-posix (Depends-on): Likewise.
49349         * modules/vasprintf-posix (Depends-on): Likewise.
49350         * modules/vfprintf-posix (Depends-on): Likewise.
49351         * modules/vsnprintf-posix (Depends-on): Likewise.
49352         * modules/vsprintf-posix (Depends-on): Likewise.
49353         * doc/functions/fprintf.texi: Update.
49354         * doc/functions/printf.texi: Update.
49355         * doc/functions/snprintf.texi: Update.
49356         * doc/functions/sprintf.texi: Update.
49357         * doc/functions/vfprintf.texi: Update.
49358         * doc/functions/vprintf.texi: Update.
49359         * doc/functions/vsnprintf.texi: Update.
49360         * doc/functions/vsprintf.texi: Update.
49361
49362 2007-11-03  Bruno Haible  <bruno@clisp.org>
49363
49364         * modules/frexp-nolibm-tests: New file.
49365
49366         * modules/frexp-nolibm: New file.
49367         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
49368
49369 2007-11-03  Bruno Haible  <bruno@clisp.org>
49370
49371         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
49372         value is C99 compliant.
49373         Needed for OSF/1 5.1.
49374
49375 2007-11-03  Bruno Haible  <bruno@clisp.org>
49376
49377         Fix out-of-memory handling of vasnprintf.
49378         * lib/printf-parse.c: Include <errno.h>.
49379         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
49380         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
49381         is already set.
49382
49383 2007-11-02  Eric Blake  <ebb9@byu.net>
49384
49385         Fix tests on cygwin.
49386         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
49387
49388 2007-11-01  Bruno Haible  <bruno@clisp.org>
49389
49390         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
49391         warning.
49392         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
49393         needed for POSIX compatibility.
49394
49395 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
49396
49397         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
49398         for compatibility with GNU.
49399
49400 2007-11-01  Bruno Haible  <bruno@clisp.org>
49401
49402         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
49403         (putenv): Renamed from rpl_putenv. Change argument type from
49404         'const char *' to 'char *'.
49405         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
49406         of defining putenv in config.h, just set REPLACE_PUTENV.
49407         * modules/putenv (Depends-on): Add stdlib.
49408         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
49409         (Include): Use <stdlib.h>.
49410         * lib/stdlib.in.h (putenv): New declaration.
49411         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
49412         REPLACE_PUTENV.
49413         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
49414         REPLACE_PUTENV.
49415         Needed for MacOS X 10.5.0.
49416         Reported by Peter O'Gorman <peter@pogma.com>.
49417
49418 2007-11-01  Jim Meyering  <meyering@redhat.com>
49419
49420         Treat an empty date string exactly like "0".
49421         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
49422         if the remaining date string (to be parsed) is empty, use "0".
49423         Reported by Mischa Molhoek and discussed in this thread:
49424         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
49425
49426 2007-10-31  Bruno Haible  <bruno@clisp.org>
49427
49428         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
49429         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
49430         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
49431         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
49432         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
49433         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
49434
49435 2007-10-31  Bruno Haible  <bruno@clisp.org>
49436
49437         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
49438         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
49439         (AC_TYPE_LONG_LONG_INT): Use it.
49440         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
49441         it as well.
49442         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
49443         to m4/longlong.m4.
49444         * modules/stdint (Files): Remove m4/ulonglong.m4.
49445         * modules/strtoull (Files): Use m4/longlong.m4 instead of
49446         m4/ulonglong.m4.
49447         * modules/strtoumax (Files): Likewise.
49448
49449 2007-10-30  Bruno Haible  <bruno@clisp.org>
49450
49451         * modules/xvasprintf-posix: New file.
49452         Suggested by Eric Blake.
49453
49454 2007-10-30  Bruno Haible  <bruno@clisp.org>
49455
49456         * modules/xprintf-posix-tests: New file.
49457         * tests/test-xprintf-posix.sh: New file.
49458         * tests/test-xprintf-posix.c: New file.
49459         * tests/test-xfprintf-posix.c: New file.
49460
49461         * modules/xprintf-posix: New file.
49462
49463 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49464
49465         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
49466         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
49467         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
49468
49469 2007-10-29  Bruno Haible  <bruno@clisp.org>
49470
49471         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
49472         contain the special marker '_cv_'.
49473         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
49474         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
49475         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
49476         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
49477         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
49478         Reported by Ralf Wildenhues.
49479
49480 2007-10-29  Bruno Haible  <bruno@clisp.org>
49481
49482         * gnulib-tool (func_import): When --lgpl is not specified, set
49483         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
49484         GPLv3.
49485         Reported by Simon Josefsson.
49486
49487 2007-10-28  Bruno Haible  <bruno@clisp.org>
49488
49489         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
49490         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
49491         HAVE_DECL_ISFINITE.
49492         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
49493         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
49494         HAVE_DECL_ISFINITE.
49495
49496 2007-10-28  Bruno Haible  <bruno@clisp.org>
49497
49498         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
49499         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
49500
49501 2007-10-28  Bruno Haible  <bruno@clisp.org>
49502
49503         Fix link errors with Sun C 5.0 on Solaris 10.
49504         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
49505         function is declared but not present in the compiler's libm.
49506         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
49507         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
49508         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
49509         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
49510         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
49511         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
49512         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
49513         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
49514         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
49515         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
49516         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
49517         HAVE_DECL_FLOORL.
49518
49519 2007-10-28  Bruno Haible  <bruno@clisp.org>
49520
49521         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
49522         gl_FUNC_FLOORL. Cache the result.
49523         (gl_FUNC_FLOORL): Use it.
49524         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
49525         gl_FUNC_CEILL. Cache the result.
49526         (gl_FUNC_CEILL): Use it.
49527
49528         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
49529         gl_FUNC_FLOOR. Cache the result.
49530         (gl_FUNC_FLOOR): Use it.
49531         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
49532         gl_FUNC_CEIL. Cache the result.
49533         (gl_FUNC_CEIL): Use it.
49534
49535         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
49536         gl_FUNC_FLOORF. Cache the result.
49537         (gl_FUNC_FLOORF): Use it.
49538         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
49539         gl_FUNC_CEILF. Cache the result.
49540         (gl_FUNC_CEILF): Use it.
49541
49542 2007-10-28  Bruno Haible  <bruno@clisp.org>
49543
49544         * gnulib-tool: Allow specifying the LGPL version number through
49545         --lgpl=2 or --lgpl=3.
49546         (func_usage): Document --lgpl with argument.
49547         Handle --lgpl=... arguments.
49548         (func_import): Recognize also gl_LGPL calls with an argument. When
49549         --lgpl=2 is used and the module's license is just LGPL, report an
49550         error. Set sed_transform_lib_file according to the lgpl variable. In
49551         the generated files, use --lgpl or gl_LGPL invocations with argument,
49552         if necessary.
49553         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
49554         an LGPv2+ license.
49555         * doc/gnulib-tool.texi (Modified imports): Update explanation of
49556         gl_LGPL macro.
49557
49558 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49559             Bruno Haible  <bruno@clisp.org>
49560
49561         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
49562         (u16_uctomb_aux): Likewise.
49563         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
49564         !HAVE_INLINE.
49565         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
49566
49567 2007-10-28  Bruno Haible  <bruno@clisp.org>
49568
49569         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
49570         Invoke AM_GETTEXT_OPTION if it exists.
49571         * modules/vasprintf: Likewise.
49572         * modules/verror: Likewise.
49573         * modules/xprintf: Likewise.
49574         * modules/xvasprintf: Likewise.
49575
49576 2007-10-27  Ben Pfaff  <blp@gnu.org>
49577
49578         * lib/math.in.h: Define isfinite macro and prototypes for
49579         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
49580         implementations.
49581         * m4/math_h.m4: New substitutions for isfinite module.
49582         * lib/isfinite.c: New file.
49583         * m4/isfinite.m4: New file.
49584         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
49585         * modules/isfinite: New file.
49586         * modules/isfinite-tests: New file.
49587         * tests/tests-isfinite.c: New file.
49588         * doc/functions/isfinite.texi: Mention isfinite module.
49589         * MODULES.html.sh: Mention new module.
49590
49591 2007-10-27  Ben Pfaff  <blp@gnu.org>
49592
49593         Ralf Wildenhues reported that Tru64 4.0D declares the round
49594         functions but does not have definitions.
49595         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
49596         cannot be found in any library, set the output variable to
49597         "missing" instead of "".
49598         * m4/round.m4: Also use our substitute if we cannot find round in
49599         any library, even if it is declared.
49600         * m4/roundf.m4: Likewise for roundf.
49601         * m4/roundl.m4: Likewise for roundl.
49602         * lib/math.in.h: Undefine roundf, round, roundl before defining
49603         their replacements, to allow for hypothetical systems where these
49604         may be defined as macros but not available in libraries.
49605
49606 2007-10-27  Bruno Haible  <bruno@clisp.org>
49607
49608         * doc/gnulib.texi: Invoke @firstparagraphindent.
49609         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
49610         changes in gnulib.
49611         (Source changes): New section.
49612
49613 2007-10-26  Bruno Haible  <bruno@clisp.org>
49614
49615         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
49616         borrowed from autoconf.
49617
49618 2007-10-26  Bruno Haible  <bruno@clisp.org>
49619
49620         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
49621         strerror returned the empty string. Needed on HP-UX 11.00.
49622
49623 2007-10-24  Micah Cowan  <micah@cowan.name>
49624
49625         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
49626         * build-aux/bootstrap: Remove support for now-unnecessary option,
49627         --cvs-user, and envvars CVS_USER, CVS_RSH.
49628
49629 2007-10-24  Jim Meyering  <meyering@redhat.com>
49630
49631         Avoid diagnostics from sha1sum when there is no cached checksum.
49632         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
49633         if the po.s1 file hasn't been created yet.
49634
49635         * build-aux/bootstrap: Sync from coreutils:
49636         2007-10-24  Jim Meyering  <meyering@redhat.com>
49637         Get gnulib from the git repository, not from an obsolete cvs one.
49638         * build-aux/bootstrap: Suggestion from Micah Cowan.
49639         2007-10-04  Jim Meyering  <jim@meyering.net>
49640         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
49641         (update_po_files): Work also when there are no .po files in po/.
49642
49643 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
49644
49645         * README: Append ".git" to git and cg examples.
49646         Problem reported by Benoit Sigoure.
49647
49648 2007-10-23  Micah Cowan  <micah@cowan.name>
49649
49650         * users.txt: Add wget.
49651
49652 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49653
49654         Fix linking of some unistdio tests on FreeBSD.
49655         * modules/unistdio/u16-vsnprintf-tests
49656         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
49657         * modules/unistdio/u16-vsprintf-tests
49658         (test_u16_vsnprintf1_LDADD): Likewise.
49659         * modules/unistdio/u32-vsnprintf-tests
49660         (test_u32_vsnprintf1_LDADD): Likewise.
49661         * modules/unistdio/u32-vsprintf-tests
49662         (test_u32_vsprintf1_LDADD): Likewise.
49663         * modules/unistdio/u8-vsnprintf-tests
49664         (test_u8_vsnprintf1_LDADD): Likewise.
49665         * modules/unistdio/u8-vsprintf-tests
49666         (test_u8_vsprintf1_LDADD): Likewise.
49667         * modules/unistdio/ulc-vsnprintf-tests
49668         (test_ulc_vsnprintf1_LDADD): Likewise.
49669         * modules/unistdio/ulc-vsprintf-tests
49670         (test_ulc_vsprintf1_LDADD): Likewise.
49671
49672         Fix linking of some uniconv tests on FreeBSD.
49673         * modules/uniconv/u16-conv-from-enc-tests
49674         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
49675         * modules/uniconv/u16-conv-to-enc-tests
49676         (test_u16_conv_to_enc_LDADD): Likewise.
49677         * modules/uniconv/u16-strconv-from-enc-tests
49678         (test_u16_strconv_from_enc_LDADD): Likewise.
49679         * modules/uniconv/u16-strconv-to-enc-tests
49680         (test_u16_strconv_to_enc_LDADD): Likewise.
49681         * modules/uniconv/u32-conv-from-enc-tests
49682         (test_u32_conv_from_enc_LDADD): Likewise.
49683         * modules/uniconv/u32-conv-to-enc-tests
49684         (test_u32_conv_to_enc_LDADD): Likewise.
49685         * modules/uniconv/u32-strconv-from-enc-tests
49686         (test_u32_strconv_from_enc_LDADD): Likewise.
49687         * modules/uniconv/u32-strconv-to-enc-tests
49688         (test_u32_strconv_to_enc_LDADD): Likewise.
49689         * modules/uniconv/u8-conv-from-enc-tests
49690         (test_u8_conv_from_enc_LDADD): Likewise.
49691         * modules/uniconv/u8-conv-to-enc-tests
49692         (test_u8_conv_to_enc_LDADD): Likewise.
49693         * modules/uniconv/u8-strconv-from-enc-tests
49694         (test_u8_strconv_from_enc_LDADD): Likewise.
49695         * modules/uniconv/u8-strconv-to-enc-tests
49696         (test_u8_strconv_to_enc_LDADD): Likewise.
49697
49698 2007-10-22  Bruno Haible  <bruno@clisp.org>
49699
49700         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
49701         size.
49702
49703 2007-10-22  Eric Blake  <ebb9@byu.net>
49704
49705         Tweak x*printf documentation.
49706         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
49707         variable name and comments.
49708         Suggested by Bruno Haible.
49709
49710 2007-10-22  Bruno Haible  <bruno@clisp.org>
49711
49712         * lib/acl.c (copy_acl): Fix file name in comment.
49713
49714 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
49715
49716         Fix Tru64 problem with stdbool.h.
49717         * lib/stdbool.in.h (false, true):
49718         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
49719         Don't declare as an enum in this situation; it runs afoul of Tru64.
49720         Problem reported by Steven M. Schweda in
49721         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
49722
49723 2007-10-22  Eric Blake  <ebb9@byu.net>
49724
49725         Also wrap vf?printf.
49726         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
49727         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
49728         (xvprintf, xvfprintf): New functions.
49729
49730 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49731
49732         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
49733         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
49734
49735         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
49736         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
49737
49738 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
49739
49740         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
49741         by Bruno Haible.
49742
49743 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49744
49745         * lib/getloadavg.c
49746         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
49747         Undef `sys' after including sys/table.h, for Tru64 4.0D.
49748
49749         * tests/test-i-ring.c: Work for C89.
49750
49751 2007-10-22  Bruno Haible  <bruno@clisp.org>
49752
49753         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
49754         -1u, in preprocessor expression, so that we don't test for the bug
49755         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
49756         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
49757
49758 2007-10-22  Eric Blake  <ebb9@byu.net>
49759
49760         * tests/test-yesno.sh: Silence stderr during test.
49761
49762 2007-10-22  Simon Josefsson  <simon@josefsson.org>
49763
49764         * modules/crypto/gc-camellia: New file.
49765
49766         * m4/gc-camellia.m4: New file.
49767
49768         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
49769
49770         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
49771
49772 2007-10-22  Simon Josefsson  <simon@josefsson.org>
49773
49774         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
49775         --help to stdout.  Reported by sms@antinode.org (Steven
49776         M. Schweda).
49777
49778 2007-10-22  Simon Josefsson  <simon@josefsson.org>
49779
49780         * users.txt: Fix link to libksba.
49781
49782 2007-10-21  Ben Pfaff  <blp@gnu.org>
49783
49784         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
49785         round.c roundf implementation that depends on floorf and ceilf to
49786         be tested unconditionally.
49787
49788 2007-10-21  Ben Pfaff  <blp@gnu.org>
49789
49790         * m4/check-libm-func.m4: Removed.
49791         * m4/check-math-lib.m4: New file.
49792         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
49793         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
49794         definition and lack of AC_LIBOBJ([roundf]).
49795         * m4/roundl.m4: Ditto, and similarly for roundl.
49796         * modules/round: Reference new m4 file.
49797         * modules/roundf: Ditto.
49798         * modules/roundl: Ditto.
49799         * tests/test-round2.c (main): Use ROUND instead of round.
49800         Bug report from Bruno Haible.
49801
49802 2007-10-21  Bruno Haible  <bruno@clisp.org>
49803
49804         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
49805         context.
49806
49807 2007-10-21  Bruno Haible  <bruno@clisp.org>
49808
49809         * tests/test-wcwidth.c (main): Allow negative result for some control
49810         characters.
49811
49812         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
49813         Needed on OSF/1 5.1.
49814
49815 2007-10-21  Bruno Haible  <bruno@clisp.org>
49816
49817         * tests/test-floorf1.c: Include isnanf.h.
49818         (main): Use isnanf() instead of isnan().
49819         * tests/test-ceilf1.c: Include isnanf.h.
49820         (main): Use isnanf() instead of isnan().
49821         * tests/test-truncf1.c: Include isnanf.h.
49822         (main): Use isnanf() instead of isnan().
49823         * tests/test-roundf1.c: Include isnanf.h.
49824         (main): Use isnanf() instead of isnan().
49825
49826 2007-10-21  Eric Blake  <ebb9@byu.net>
49827
49828         * users.txt: Update URL for m4.
49829
49830 2007-10-21  Bruno Haible  <bruno@clisp.org>
49831
49832         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
49833
49834 2007-10-21  Bruno Haible  <bruno@clisp.org>
49835
49836         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
49837         Git's management files if the CVS files are not present.
49838
49839 2007-10-20  Bruno Haible  <bruno@clisp.org>
49840
49841         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
49842         gcc-3.4.x.
49843
49844 2007-10-20  Ben Pfaff  <blp@gnu.org>
49845
49846         * lib/math.in.h: Declare round, roundf, roundl if we are providing
49847         implementations.
49848         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
49849         * lib/round.c: New file.
49850         * lib/roundf.c: New file.
49851         * lib/roundl.c: New file.
49852         * m4/round.m4: New file.
49853         * m4/roundf.m4: New file.
49854         * m4/roundl.m4: New file.
49855         * m4/check-libm-func-m4: New file.
49856         * modules/math: Replace round, roundf, roundl related @VARS@ in
49857         math.in.h.
49858         * modules/round: New file.
49859         * modules/round-tests: New file.
49860         * modules/roundf: New file.
49861         * modules/roundf-tests: New file.
49862         * modules/roundl: New file.
49863         * modules/roundl-tests: New file.
49864         * tests/test-round1.c: New file.
49865         * tests/test-round2.c: New file.
49866         * tests/test-roundf1.c: New file.
49867         * tests/test-roundf2.c: New file.
49868         * tests/test-roundl.c: New file.
49869         * doc/functions/round.texi: Mention round module.
49870         * doc/functions/roundf.texi: Mention roundf module.
49871         * doc/functions/roundl.texi: Mention roundl module.
49872         * MODULES.html.sh: Mention new modules.
49873         Thanks to Bruno Haible for suggestions.
49874
49875 2007-10-20  Jim Meyering  <meyering@redhat.com>
49876
49877         * lib/xprintf.c: Include <config.h> unconditionally.
49878
49879         Change xprintf's license to GPL.
49880         * modules/xprintf (License): s/LGPL/GPL/, since this module
49881         depends on modules (exit and exitfail) which are GPL.
49882         Suggestion from Bruno Haible.
49883
49884         xprintf fixes.
49885         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
49886         Use a clearer diagnostic.
49887         Patch from Bruno Haible.
49888
49889 2007-10-20  Bruno Haible  <bruno@clisp.org>
49890
49891         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
49892         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
49893         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49894
49895 2007-10-20  Bruno Haible  <bruno@clisp.org>
49896
49897         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
49898         precision in the comparison result > x - 1 or similar.
49899         * tests/test-ceilf2.c (correct_result_p): Likewise.
49900         * tests/test-truncf2.c (correct_result_p): Likewise.
49901         * tests/test-trunc2.c (correct_result_p): Likewise.
49902         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49903
49904 2007-10-20  Bruno Haible  <bruno@clisp.org>
49905
49906         * modules/ceil: New file.
49907         * m4/ceil.m4: New file.
49908         * doc/functions/ceil.texi: Mention the 'ceil' module.
49909
49910 2007-10-20  Bruno Haible  <bruno@clisp.org>
49911
49912         * modules/floor: New file.
49913         * m4/floor.m4: New file.
49914         * doc/functions/floor.texi: Mention the 'floor' module.
49915
49916 2007-10-20  Bruno Haible  <bruno@clisp.org>
49917
49918         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
49919         of %a.
49920         * modules/floorf-tests (Depends-on): Likewise.
49921         * modules/truncf-tests (Depends-on): Likewise.
49922         * modules/trunc-tests (Depends-on): Likewise.
49923         Reported by Ben Pfaff.
49924
49925 2007-10-19  Jim Meyering  <meyering@redhat.com>
49926
49927         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
49928         Don't bother testing specific errno values.  Just test ferror.
49929
49930         New module: xprintf
49931         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
49932
49933 2007-10-19  Bruno Haible  <bruno@clisp.org>
49934
49935         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
49936         syntax.
49937         * modules/javaexec (Makefile.am): Likewise.
49938         * modules/relocatable-prog (Makefile.am): Likewise.
49939         Suggested by Jim Meyering.
49940
49941 2007-10-18  Bruno Haible  <bruno@clisp.org>
49942
49943         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
49944         Reported by Jim Meyering.
49945
49946 2007-10-18  Eric Blake  <ebb9@byu.net>
49947
49948         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
49949
49950 2007-10-18  Bruno Haible  <bruno@clisp.org>
49951
49952         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
49953         the format string into writable memory. Needed in Fortify conditions.
49954
49955 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
49956             Bruno Haible  <bruno@clisp.org>
49957
49958         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
49959         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
49960         * modules/trim (Depends-on): Add mbchar.
49961         (configure.ac): Add gl_FUNC_MBRTOWC.
49962         (Makefile.am): Augment lib_SOURCES.
49963
49964 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
49965
49966         Modify glob.c to use fstatat and dirfd, to simplify it.
49967         Suggested by Eric Blake.
49968         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
49969         Don't include <stdbool.h>; not used.
49970         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
49971         (link_exists_p): Simplify implementation, since we can now assume
49972         dirfd and fstatat.
49973         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
49974
49975 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49976
49977         * gnulib-tool (func_get_dependencies): Fix sed script to
49978         match only tests.
49979
49980 2007-10-17  Bruno Haible  <bruno@clisp.org>
49981
49982         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
49983         allow locale names without encoding suffix.
49984         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
49985         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
49986
49987 2007-10-16  Bruno Haible  <bruno@clisp.org>
49988
49989         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
49990         * lib/getgroups.c (getgroups): Likewise.
49991         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
49992
49993 2007-10-16  Bruno Haible  <bruno@clisp.org>
49994
49995         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
49996         * modules/malloc-posix (License): Likewise.
49997         * modules/realloc-posix (License): Likewise.
49998         * modules/calloc-posix (License): Likewise.
49999         * modules/intprops (License): Change from GPL to LGPL, with
50000         Paul Eggert's approval.
50001
50002 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
50003
50004         Merge glibc changes into lib/glob.c.
50005
50006         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
50007         2007-10-15 04:59:03 UTC.  Here are the changes:
50008
50009         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
50010
50011         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
50012
50013         * lib/glob.c: Add some branch prediction throughout.
50014
50015         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
50016
50017         [BZ #5103]
50018         * lib/glob.c (glob): Recognize patterns starting \/.
50019
50020         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
50021
50022         [BZ #3996]
50023         * lib/glob.c (attribute_hidden): Define if not defined.
50024         (glob): Unescape dirname, filename or username when needed and not
50025         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
50026         is NULL.  Handle unescaped [ in pattern without closing ].
50027         Don't pass GLOB_CHECK down to recursive glob for directories.
50028         (__glob_pattern_type): New function.
50029         (__glob_pattern_p): Implement using __glob_pattern_type.
50030         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
50031         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
50032         Remove unreachable code.
50033
50034         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
50035
50036         * lib/glob.c (glob_in_dir): Add some comments and asserts to
50037         explain why there are no leaks.
50038
50039         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
50040
50041         [BZ #3253]
50042         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
50043         time, rather allocate increasingly bigger arrays of pointers, if
50044         possible with alloca, if too large with malloc.
50045
50046 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
50047
50048         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
50049         Problem reported by H.Merijn Brand in
50050         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
50051         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
50052         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
50053
50054 2007-10-15  Bruno Haible  <bruno@clisp.org>
50055
50056         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
50057         with explicit rpl_ prefix.
50058         * lib/fopen.c (fopen): Likewise.
50059         * lib/freopen.c (freopen): Likewise.
50060         * lib/iconv.c (iconv): Likewise.
50061         * lib/iconv_close.c (iconv_close): Likewise.
50062
50063 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50064
50065         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
50066
50067 2007-10-15  Bruno Haible  <bruno@clisp.org>
50068
50069         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
50070         <stddef.h> instead of <stdlib.h> since we only need NULL.
50071         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50072
50073 2007-10-15  Bruno Haible  <bruno@clisp.org>
50074
50075         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
50076         Replace paragraph talking about LIBOBJS.
50077         Reported by Colin Watson <cjwatson@debian.org>.
50078
50079 2007-10-15  Bruno Haible  <bruno@clisp.org>
50080
50081         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
50082         <stdlib.h> before using NULL.
50083
50084 2007-10-15  Simon Josefsson  <simon@josefsson.org>
50085
50086         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
50087         Reported by Albert Chin <china@thewrittenword.com>.
50088
50089 2007-10-14  Bruno Haible  <bruno@clisp.org>
50090
50091         * modules/iconv_open-utf-tests: New file.
50092         * tests/test-iconv-utf.c: New file.
50093
50094         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
50095         * modules/iconv_open-utf: New file.
50096         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
50097         (iconv, iconv_close): New declarations.
50098         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
50099         be defined.
50100         (iconv_open): Add special handling of conversion between UTF-8 and
50101         UTF-{16,32}{BE,LE}.
50102         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
50103         * lib/iconv_close.c: New file.
50104         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
50105         gl_FUNC_ICONV_OPEN.
50106         (gl_FUNC_ICONV_OPEN): Use it.
50107         (gl_FUNC_ICONV_OPEN_UTF): New macro.
50108         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
50109         and REPLACE_ICONV_UTF.
50110         * modules/iconv_open (Depends-on): Add c-strcase.
50111         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
50112         ICONV_CONST.
50113         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
50114
50115 2007-10-13  Albert Chin  <china@thewrittenword.com>
50116             Bruno Haible  <bruno@clisp.org>
50117
50118         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
50119         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
50120
50121 2007-10-13  Bruno Haible  <bruno@clisp.org>
50122
50123         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
50124         defined, use the ISO C99 inline semantics.
50125         * lib/argp.h (ARGP_EI): Likewise.
50126
50127 2007-10-13  Bruno Haible  <bruno@clisp.org>
50128
50129         Handle 'inline' change in gcc 4.3.0.
50130         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
50131         argp_fmtstream_write, argp_fmtstream_set_lmargin,
50132         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
50133         argp_fmtstream_point): Disable 'extern' declaration if the function
50134         definition is going to be provided inline.
50135         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
50136         semantics, not the ISO C99 inline semantics.
50137         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
50138         'extern' declaration if the function definition is going to be provided
50139         inline.
50140         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
50141         the GNU C inline semantics, not the ISO C99 inline semantics. With
50142         GCC 4.2, avoid a warning.
50143
50144 2007-10-13  Bruno Haible  <bruno@clisp.org>
50145
50146         * lib/freading.h (freading): Enable the use of __freading for
50147         glibc >= 2.7.
50148         * lib/freading.c (freading): Likewise.
50149
50150 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
50151
50152         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
50153         "warning: C99 inline functions are not supported; using GNU89".
50154
50155 2007-10-12  Bruno Haible  <bruno@clisp.org>
50156
50157         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
50158         of 2.
50159         * tests/test-ceilf2.c: New file.
50160         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
50161
50162         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
50163         * modules/ceilf-tests: Update.
50164
50165 2007-10-12  Bruno Haible  <bruno@clisp.org>
50166
50167         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
50168         of 2.
50169         * tests/test-floorf2.c: New file.
50170         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
50171
50172         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
50173         * modules/floorf-tests: Update.
50174
50175 2007-10-12  Bruno Haible  <bruno@clisp.org>
50176
50177         * tests/test-trunc2.c: New file.
50178         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
50179
50180         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
50181         * modules/trunc-tests: Update.
50182
50183 2007-10-12  Bruno Haible  <bruno@clisp.org>
50184
50185         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
50186         of 2.
50187         * tests/test-truncf2.c: New file.
50188         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
50189
50190         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
50191         * modules/truncf-tests: Update.
50192
50193 2007-10-11  Eric Blake  <ebb9@byu.net>
50194
50195         Don't claim strerror is broken on Interix.
50196         * doc/functions/strerror.texi (strerror): Known broken systems are
50197         now Solaris 8, and not Interix.
50198         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
50199         Interix on cross-compile.
50200         Reported by Martin Koeppe in
50201         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
50202
50203 2007-10-11  Bruno Haible  <bruno@clisp.org>
50204
50205         * modules/i-ring-tests: New file.
50206         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
50207         instead of assert.
50208
50209 2007-10-11  Bruno Haible  <bruno@clisp.org>
50210
50211         * modules/filenamecat-tests: New file.
50212         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
50213         * lib/filenamecat.c: Remove test code.
50214
50215 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
50216
50217         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
50218
50219         * lib/strerror.c: Include <string.h> always, to test interface,
50220         and to remove the need for the dummy.
50221         Include intprops.h to compute width instead of doing it ourselves
50222         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
50223         (strerror): Define it to return NULL if there's no system strerror.
50224         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
50225         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
50226         ancient pre-strerror Unix systems well any more.  Saying "unknown
50227         system error" is enough.
50228         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
50229         simpler strerror.c implementation.
50230         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
50231         Simplify the tests to reflect the simpler strerror implementation.
50232         * modules/strerror (Depends-on): Add intprops.
50233
50234 2007-10-09  Eric Blake  <ebb9@byu.net>
50235
50236         Silence test-fpending.
50237         * modules/fpending-tests (Files): Add wrapper script.
50238         * tests/test-fpending.sh: New file.
50239
50240 2007-10-09  Bruno Haible  <bruno@clisp.org>
50241
50242         * MODULES.html.sh (func_module): Don't create a hyperlink for
50243         function names like 'printf_frexp'.
50244         (Misc): Add crc, memxor.
50245         (Characteristics of floating types): New section.
50246         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
50247         isnanf-nolibm, signbit, trunc, truncf, truncl.
50248         (Enhancements for ISO C 99 functions): New subsection Input/output.
50249         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
50250         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
50251         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
50252         (Compatibility checks for POSIX:2001 functions): Add clock-time.
50253         (Enhancements for POSIX:2001 functions): Add chdir-long.
50254         (File system functions): Add areadlink, chdir-safer, read-file.
50255         Remove cycle-check.
50256         (File system as inode set): New section.
50257         (Date and time): Add gethrxtime.
50258         (Multithreading): Add openmp.
50259         (Internationalization functions): Add localename.
50260         (Unicode string functions): Add unistr/u*-mbsnlen.
50261         (Support for maintaining and releasing projects): Add git-version-gen.
50262         (Lone files): Remove directories.
50263
50264 2007-10-08  Ben Pfaff  <blp@gnu.org>
50265
50266         * lib/xmalloca.h: Fix typo in comment.
50267
50268 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
50269
50270         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
50271         when avoiding problems with integer overflow.  Use a portable test
50272         instead.
50273
50274 2007-10-08  Simon Josefsson  <simon@josefsson.org>
50275
50276         * modules/dummy (License): Change to LGPLv2+.
50277         * modules/float (License): Likewise
50278         * modules/realloc (License): Likewise
50279         * modules/stdlib (License): Likewise
50280
50281 2007-10-07  Bruno Haible  <bruno@clisp.org>
50282
50283         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
50284         * floor.c (TWO_MANT_DIG): Likewise.
50285         * ceil.c (TWO_MANT_DIG): Likewise.
50286         Reported by Ben Pfaff.
50287
50288 2007-10-07  Bruno Haible  <bruno@clisp.org>
50289
50290         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
50291         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
50292         * lib/frexp.c (FUNC): Likewise.
50293         * lib/printf-frexp.h (printf_frexp): Likewise.
50294         * lib/printf-frexpl.h (printf_frexpl): Likewise.
50295         * lib/printf-frexp.c (FUNC): Likewise.
50296         Suggested by Jim Meyering.
50297
50298 2007-10-07  Jim Meyering  <meyering@redhat.com>
50299
50300         Make xnanosleep's integer overflow test more robust.
50301         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
50302         so that gcc-4.3.0 doesn't optimize away this test for overflow.
50303
50304 2007-10-07  Bruno Haible  <bruno@clisp.org>
50305
50306         * NEWS: Mention the license change.
50307
50308         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
50309         abbreviations in the modules files.
50310
50311         Change copyright notice from GPLv2+ to GPLv3+.
50312         * README: Change copyright notice.
50313         * MODULES.html.sh: Likewise.
50314         * build-aux/bootstrap.conf: Likewise.
50315         * build-aux/config.libpath: Likewise.
50316         * build-aux/csharpcomp.sh.in: Likewise.
50317         * build-aux/csharpexec.sh.in: Likewise.
50318         * build-aux/install-reloc: Likewise.
50319         * build-aux/javacomp.sh.in: Likewise.
50320         * build-aux/javaexec.sh.in: Likewise.
50321         * build-aux/ldd.sh.in: Likewise.
50322         * build-aux/reloc-ldflags: Likewise.
50323         * build-aux/relocatable.sh.in: Likewise.
50324         * build-aux/x-to-1.in: Likewise.
50325         * check-module: Likewise.
50326         * config/srclistvars.sh: Likewise.
50327         * gnulib-tool: Likewise.
50328         * lib/acl-internal.h: Likewise.
50329         * lib/acl.c: Likewise.
50330         * lib/acl.h: Likewise.
50331         * lib/acl_entries.c: Likewise.
50332         * lib/areadlink-with-size.c: Likewise.
50333         * lib/areadlink.c: Likewise.
50334         * lib/areadlink.h: Likewise.
50335         * lib/argmatch.c: Likewise.
50336         * lib/argmatch.h: Likewise.
50337         * lib/argp-ba.c: Likewise.
50338         * lib/argp-eexst.c: Likewise.
50339         * lib/argp-fmtstream.c: Likewise.
50340         * lib/argp-fmtstream.h: Likewise.
50341         * lib/argp-fs-xinl.c: Likewise.
50342         * lib/argp-help.c: Likewise.
50343         * lib/argp-namefrob.h: Likewise.
50344         * lib/argp-parse.c: Likewise.
50345         * lib/argp-pin.c: Likewise.
50346         * lib/argp-pv.c: Likewise.
50347         * lib/argp-pvh.c: Likewise.
50348         * lib/argp-xinl.c: Likewise.
50349         * lib/argp.h: Likewise.
50350         * lib/at-func.c: Likewise.
50351         * lib/atanl.c: Likewise.
50352         * lib/backupfile.c: Likewise.
50353         * lib/backupfile.h: Likewise.
50354         * lib/basename.c: Likewise.
50355         * lib/binary-io.h: Likewise.
50356         * lib/byteswap.in.h: Likewise.
50357         * lib/c-stack.c: Likewise.
50358         * lib/c-stack.h: Likewise.
50359         * lib/c-strcasestr.c: Likewise.
50360         * lib/c-strcasestr.h: Likewise.
50361         * lib/c-strstr.c: Likewise.
50362         * lib/c-strstr.h: Likewise.
50363         * lib/c-strtod.c: Likewise.
50364         * lib/calloc.c: Likewise.
50365         * lib/canon-host.c: Likewise.
50366         * lib/canon-host.h: Likewise.
50367         * lib/canonicalize-lgpl.c: Likewise.
50368         * lib/canonicalize.c: Likewise.
50369         * lib/canonicalize.h: Likewise.
50370         * lib/ceil.c: Likewise.
50371         * lib/ceilf.c: Likewise.
50372         * lib/ceill.c: Likewise.
50373         * lib/chdir-long.c: Likewise.
50374         * lib/chdir-long.h: Likewise.
50375         * lib/chdir-safer.c: Likewise.
50376         * lib/chdir-safer.h: Likewise.
50377         * lib/chown.c: Likewise.
50378         * lib/classpath.c: Likewise.
50379         * lib/classpath.h: Likewise.
50380         * lib/clean-temp.c: Likewise.
50381         * lib/clean-temp.h: Likewise.
50382         * lib/cloexec.c: Likewise.
50383         * lib/close-stream.c: Likewise.
50384         * lib/closein.c: Likewise.
50385         * lib/closein.h: Likewise.
50386         * lib/closeout.c: Likewise.
50387         * lib/closeout.h: Likewise.
50388         * lib/concat-filename.c: Likewise.
50389         * lib/copy-file.c: Likewise.
50390         * lib/copy-file.h: Likewise.
50391         * lib/count-one-bits.h: Likewise.
50392         * lib/crc.c: Likewise.
50393         * lib/crc.h: Likewise.
50394         * lib/creat-safer.c: Likewise.
50395         * lib/csharpcomp.c: Likewise.
50396         * lib/csharpcomp.h: Likewise.
50397         * lib/csharpexec.c: Likewise.
50398         * lib/csharpexec.h: Likewise.
50399         * lib/cycle-check.c: Likewise.
50400         * lib/cycle-check.h: Likewise.
50401         * lib/diacrit.c: Likewise.
50402         * lib/diacrit.h: Likewise.
50403         * lib/diffseq.h: Likewise.
50404         * lib/dirchownmod.c: Likewise.
50405         * lib/dirent.in.h: Likewise.
50406         * lib/dirfd.c: Likewise.
50407         * lib/dirfd.h: Likewise.
50408         * lib/dirname.c: Likewise.
50409         * lib/dirname.h: Likewise.
50410         * lib/dummy.c: Likewise.
50411         * lib/dup-safer.c: Likewise.
50412         * lib/dup2.c: Likewise.
50413         * lib/eealloc.h: Likewise.
50414         * lib/error.c: Likewise.
50415         * lib/error.h: Likewise.
50416         * lib/euidaccess.c: Likewise.
50417         * lib/exclude.c: Likewise.
50418         * lib/exclude.h: Likewise.
50419         * lib/execute.c: Likewise.
50420         * lib/execute.h: Likewise.
50421         * lib/exitfail.c: Likewise.
50422         * lib/exitfail.h: Likewise.
50423         * lib/expl.c: Likewise.
50424         * lib/fatal-signal.c: Likewise.
50425         * lib/fatal-signal.h: Likewise.
50426         * lib/fbufmode.c: Likewise.
50427         * lib/fbufmode.h: Likewise.
50428         * lib/fchdir.c: Likewise.
50429         * lib/fchmodat.c: Likewise.
50430         * lib/fchownat.c: Likewise.
50431         * lib/fcntl--.h: Likewise.
50432         * lib/fcntl-safer.h: Likewise.
50433         * lib/fcntl.in.h: Likewise.
50434         * lib/fd-safer.c: Likewise.
50435         * lib/fflush.c: Likewise.
50436         * lib/file-has-acl.c: Likewise.
50437         * lib/file-set.c: Likewise.
50438         * lib/file-type.c: Likewise.
50439         * lib/file-type.h: Likewise.
50440         * lib/fileblocks.c: Likewise.
50441         * lib/filemode.c: Likewise.
50442         * lib/filemode.h: Likewise.
50443         * lib/filename.h: Likewise.
50444         * lib/filenamecat.c: Likewise.
50445         * lib/filenamecat.h: Likewise.
50446         * lib/findprog.c: Likewise.
50447         * lib/findprog.h: Likewise.
50448         * lib/float.in.h: Likewise.
50449         * lib/floor.c: Likewise.
50450         * lib/floorf.c: Likewise.
50451         * lib/floorl.c: Likewise.
50452         * lib/fopen-safer.c: Likewise.
50453         * lib/fopen.c: Likewise.
50454         * lib/fpending.c: Likewise.
50455         * lib/fpending.h: Likewise.
50456         * lib/fprintf.c: Likewise.
50457         * lib/fprintftime.h: Likewise.
50458         * lib/fpucw.h: Likewise.
50459         * lib/fpurge.c: Likewise.
50460         * lib/fpurge.h: Likewise.
50461         * lib/freadable.c: Likewise.
50462         * lib/freadable.h: Likewise.
50463         * lib/freadahead.c: Likewise.
50464         * lib/freadahead.h: Likewise.
50465         * lib/freading.c: Likewise.
50466         * lib/freading.h: Likewise.
50467         * lib/free.c: Likewise.
50468         * lib/freopen.c: Likewise.
50469         * lib/frexp.c: Likewise.
50470         * lib/frexpl.c: Likewise.
50471         * lib/fseek.c: Likewise.
50472         * lib/fseterr.c: Likewise.
50473         * lib/fseterr.h: Likewise.
50474         * lib/fstatat.c: Likewise.
50475         * lib/fstrcmp.c: Likewise.
50476         * lib/fstrcmp.h: Likewise.
50477         * lib/fsusage.c: Likewise.
50478         * lib/fsusage.h: Likewise.
50479         * lib/ftell.c: Likewise.
50480         * lib/ftello.c: Likewise.
50481         * lib/fts-cycle.c: Likewise.
50482         * lib/fts.c: Likewise.
50483         * lib/fts_.h: Likewise.
50484         * lib/full-read.c: Likewise.
50485         * lib/full-read.h: Likewise.
50486         * lib/full-write.c: Likewise.
50487         * lib/full-write.h: Likewise.
50488         * lib/fwritable.c: Likewise.
50489         * lib/fwritable.h: Likewise.
50490         * lib/fwriteerror.c: Likewise.
50491         * lib/fwriteerror.h: Likewise.
50492         * lib/fwriting.c: Likewise.
50493         * lib/fwriting.h: Likewise.
50494         * lib/gcd.c: Likewise.
50495         * lib/gcd.h: Likewise.
50496         * lib/getcwd.c: Likewise.
50497         * lib/getdate.h: Likewise.
50498         * lib/getdate.y: Likewise.
50499         * lib/getdomainname.c: Likewise.
50500         * lib/getdomainname.h: Likewise.
50501         * lib/getgroups.c: Likewise.
50502         * lib/gethostname.c: Likewise.
50503         * lib/gethrxtime.c: Likewise.
50504         * lib/gethrxtime.h: Likewise.
50505         * lib/getloadavg.c: Likewise.
50506         * lib/getndelim2.c: Likewise.
50507         * lib/getndelim2.h: Likewise.
50508         * lib/getnline.c: Likewise.
50509         * lib/getnline.h: Likewise.
50510         * lib/getopt.c: Likewise.
50511         * lib/getopt.in.h: Likewise.
50512         * lib/getopt1.c: Likewise.
50513         * lib/getopt_int.h: Likewise.
50514         * lib/getpagesize.h: Likewise.
50515         * lib/getsubopt.c: Likewise.
50516         * lib/gettime.c: Likewise.
50517         * lib/getugroups.c: Likewise.
50518         * lib/getugroups.h: Likewise.
50519         * lib/getusershell.c: Likewise.
50520         * lib/gl_anyavltree_list1.h: Likewise.
50521         * lib/gl_anyavltree_list2.h: Likewise.
50522         * lib/gl_anyhash_list1.h: Likewise.
50523         * lib/gl_anyhash_list2.h: Likewise.
50524         * lib/gl_anylinked_list1.h: Likewise.
50525         * lib/gl_anylinked_list2.h: Likewise.
50526         * lib/gl_anyrbtree_list1.h: Likewise.
50527         * lib/gl_anyrbtree_list2.h: Likewise.
50528         * lib/gl_anytree_list1.h: Likewise.
50529         * lib/gl_anytree_list2.h: Likewise.
50530         * lib/gl_anytree_oset.h: Likewise.
50531         * lib/gl_anytreehash_list1.h: Likewise.
50532         * lib/gl_anytreehash_list2.h: Likewise.
50533         * lib/gl_array_list.c: Likewise.
50534         * lib/gl_array_list.h: Likewise.
50535         * lib/gl_array_oset.c: Likewise.
50536         * lib/gl_array_oset.h: Likewise.
50537         * lib/gl_avltree_list.c: Likewise.
50538         * lib/gl_avltree_list.h: Likewise.
50539         * lib/gl_avltree_oset.c: Likewise.
50540         * lib/gl_avltree_oset.h: Likewise.
50541         * lib/gl_avltreehash_list.c: Likewise.
50542         * lib/gl_avltreehash_list.h: Likewise.
50543         * lib/gl_carray_list.c: Likewise.
50544         * lib/gl_carray_list.h: Likewise.
50545         * lib/gl_linked_list.c: Likewise.
50546         * lib/gl_linked_list.h: Likewise.
50547         * lib/gl_linkedhash_list.c: Likewise.
50548         * lib/gl_linkedhash_list.h: Likewise.
50549         * lib/gl_list.c: Likewise.
50550         * lib/gl_list.h: Likewise.
50551         * lib/gl_oset.c: Likewise.
50552         * lib/gl_oset.h: Likewise.
50553         * lib/gl_rbtree_list.c: Likewise.
50554         * lib/gl_rbtree_list.h: Likewise.
50555         * lib/gl_rbtree_oset.c: Likewise.
50556         * lib/gl_rbtree_oset.h: Likewise.
50557         * lib/gl_rbtreehash_list.c: Likewise.
50558         * lib/gl_rbtreehash_list.h: Likewise.
50559         * lib/gl_sublist.c: Likewise.
50560         * lib/gl_sublist.h: Likewise.
50561         * lib/group-member.c: Likewise.
50562         * lib/group-member.h: Likewise.
50563         * lib/hard-locale.c: Likewise.
50564         * lib/hard-locale.h: Likewise.
50565         * lib/hash-pjw.c: Likewise.
50566         * lib/hash-pjw.h: Likewise.
50567         * lib/hash-triple.c: Likewise.
50568         * lib/hash.c: Likewise.
50569         * lib/hash.h: Likewise.
50570         * lib/human.c: Likewise.
50571         * lib/human.h: Likewise.
50572         * lib/i-ring.c: Likewise.
50573         * lib/i-ring.h: Likewise.
50574         * lib/idcache.c: Likewise.
50575         * lib/imaxabs.c: Likewise.
50576         * lib/imaxdiv.c: Likewise.
50577         * lib/inet_pton.c: Likewise.
50578         * lib/inet_pton.h: Likewise.
50579         * lib/intprops.h: Likewise.
50580         * lib/inttostr.c: Likewise.
50581         * lib/inttostr.h: Likewise.
50582         * lib/inttypes.in.h: Likewise.
50583         * lib/isapipe.c: Likewise.
50584         * lib/isdir.c: Likewise.
50585         * lib/isnan.c: Likewise.
50586         * lib/isnan.h: Likewise.
50587         * lib/isnanf.c: Likewise.
50588         * lib/isnanf.h: Likewise.
50589         * lib/isnanl-nolibm.h: Likewise.
50590         * lib/isnanl.c: Likewise.
50591         * lib/isnanl.h: Likewise.
50592         * lib/javacomp.c: Likewise.
50593         * lib/javacomp.h: Likewise.
50594         * lib/javaexec.c: Likewise.
50595         * lib/javaexec.h: Likewise.
50596         * lib/javaversion.c: Likewise.
50597         * lib/javaversion.h: Likewise.
50598         * lib/javaversion.java: Likewise.
50599         * lib/lbrkprop.h: Likewise.
50600         * lib/lchmod.h: Likewise.
50601         * lib/lchown.c: Likewise.
50602         * lib/ldexpl.c: Likewise.
50603         * lib/linebreak.c: Likewise.
50604         * lib/linebreak.h: Likewise.
50605         * lib/linebuffer.c: Likewise.
50606         * lib/linebuffer.h: Likewise.
50607         * lib/locale.in.h: Likewise.
50608         * lib/logl.c: Likewise.
50609         * lib/long-options.c: Likewise.
50610         * lib/long-options.h: Likewise.
50611         * lib/lstat.c: Likewise.
50612         * lib/lstat.h: Likewise.
50613         * lib/math.in.h: Likewise.
50614         * lib/mbchar.c: Likewise.
50615         * lib/mbchar.h: Likewise.
50616         * lib/mbfile.h: Likewise.
50617         * lib/mbiter.h: Likewise.
50618         * lib/mbscasecmp.c: Likewise.
50619         * lib/mbscasestr.c: Likewise.
50620         * lib/mbschr.c: Likewise.
50621         * lib/mbscspn.c: Likewise.
50622         * lib/mbslen.c: Likewise.
50623         * lib/mbsncasecmp.c: Likewise.
50624         * lib/mbsnlen.c: Likewise.
50625         * lib/mbspbrk.c: Likewise.
50626         * lib/mbspcasecmp.c: Likewise.
50627         * lib/mbsrchr.c: Likewise.
50628         * lib/mbssep.c: Likewise.
50629         * lib/mbsspn.c: Likewise.
50630         * lib/mbsstr.c: Likewise.
50631         * lib/mbstok_r.c: Likewise.
50632         * lib/mbswidth.c: Likewise.
50633         * lib/mbswidth.h: Likewise.
50634         * lib/mbuiter.h: Likewise.
50635         * lib/memcasecmp.c: Likewise.
50636         * lib/memcasecmp.h: Likewise.
50637         * lib/memchr.c: Likewise.
50638         * lib/memcmp.c: Likewise.
50639         * lib/memcoll.c: Likewise.
50640         * lib/memcoll.h: Likewise.
50641         * lib/memcpy.c: Likewise.
50642         * lib/memrchr.c: Likewise.
50643         * lib/mkancesdirs.c: Likewise.
50644         * lib/mkdir-p.c: Likewise.
50645         * lib/mkdir-p.h: Likewise.
50646         * lib/mkdir.c: Likewise.
50647         * lib/mkdirat.c: Likewise.
50648         * lib/mkdtemp.c: Likewise.
50649         * lib/mkstemp-safer.c: Likewise.
50650         * lib/mkstemp.c: Likewise.
50651         * lib/modechange.c: Likewise.
50652         * lib/modechange.h: Likewise.
50653         * lib/mountlist.c: Likewise.
50654         * lib/mountlist.h: Likewise.
50655         * lib/mpsort.c: Likewise.
50656         * lib/nanosleep.c: Likewise.
50657         * lib/obstack.c: Likewise.
50658         * lib/obstack.h: Likewise.
50659         * lib/open-safer.c: Likewise.
50660         * lib/open.c: Likewise.
50661         * lib/openat-die.c: Likewise.
50662         * lib/openat-priv.h: Likewise.
50663         * lib/openat-proc.c: Likewise.
50664         * lib/openat.c: Likewise.
50665         * lib/openat.h: Likewise.
50666         * lib/pagealign_alloc.c: Likewise.
50667         * lib/pagealign_alloc.h: Likewise.
50668         * lib/physmem.c: Likewise.
50669         * lib/physmem.h: Likewise.
50670         * lib/pipe-safer.c: Likewise.
50671         * lib/pipe.c: Likewise.
50672         * lib/pipe.h: Likewise.
50673         * lib/posixtm.c: Likewise.
50674         * lib/posixtm.h: Likewise.
50675         * lib/posixver.c: Likewise.
50676         * lib/printf-frexp.c: Likewise.
50677         * lib/printf-frexp.h: Likewise.
50678         * lib/printf-frexpl.c: Likewise.
50679         * lib/printf-frexpl.h: Likewise.
50680         * lib/printf.c: Likewise.
50681         * lib/progname.c: Likewise.
50682         * lib/progname.h: Likewise.
50683         * lib/progreloc.c: Likewise.
50684         * lib/putenv.c: Likewise.
50685         * lib/quote.c: Likewise.
50686         * lib/quote.h: Likewise.
50687         * lib/quotearg.c: Likewise.
50688         * lib/quotearg.h: Likewise.
50689         * lib/raise.c: Likewise.
50690         * lib/readline.c: Likewise.
50691         * lib/readline.h: Likewise.
50692         * lib/readlink.c: Likewise.
50693         * lib/readtokens.c: Likewise.
50694         * lib/readtokens.h: Likewise.
50695         * lib/readtokens0.c: Likewise.
50696         * lib/readtokens0.h: Likewise.
50697         * lib/readutmp.c: Likewise.
50698         * lib/readutmp.h: Likewise.
50699         * lib/realloc.c: Likewise.
50700         * lib/relocwrapper.c: Likewise.
50701         * lib/rename-dest-slash.c: Likewise.
50702         * lib/rename.c: Likewise.
50703         * lib/rmdir.c: Likewise.
50704         * lib/rpmatch.c: Likewise.
50705         * lib/safe-read.c: Likewise.
50706         * lib/safe-read.h: Likewise.
50707         * lib/safe-write.c: Likewise.
50708         * lib/safe-write.h: Likewise.
50709         * lib/same-inode.h: Likewise.
50710         * lib/same.c: Likewise.
50711         * lib/same.h: Likewise.
50712         * lib/save-cwd.c: Likewise.
50713         * lib/save-cwd.h: Likewise.
50714         * lib/savedir.c: Likewise.
50715         * lib/savedir.h: Likewise.
50716         * lib/savewd.c: Likewise.
50717         * lib/savewd.h: Likewise.
50718         * lib/search.in.h: Likewise.
50719         * lib/setenv.c: Likewise.
50720         * lib/setenv.h: Likewise.
50721         * lib/settime.c: Likewise.
50722         * lib/sh-quote.c: Likewise.
50723         * lib/sh-quote.h: Likewise.
50724         * lib/sig2str.c: Likewise.
50725         * lib/sig2str.h: Likewise.
50726         * lib/signal.in.h: Likewise.
50727         * lib/signbitd.c: Likewise.
50728         * lib/signbitf.c: Likewise.
50729         * lib/signbitl.c: Likewise.
50730         * lib/sigprocmask.c: Likewise.
50731         * lib/sincosl.c: Likewise.
50732         * lib/sleep.c: Likewise.
50733         * lib/sprintf.c: Likewise.
50734         * lib/sqrtl.c: Likewise.
50735         * lib/stat-time.h: Likewise.
50736         * lib/stdio--.h: Likewise.
50737         * lib/stdio-safer.h: Likewise.
50738         * lib/stdlib--.h: Likewise.
50739         * lib/stdlib-safer.h: Likewise.
50740         * lib/stdlib.in.h: Likewise.
50741         * lib/stpcpy.c: Likewise.
50742         * lib/stpncpy.c: Likewise.
50743         * lib/strchrnul.c: Likewise.
50744         * lib/strcspn.c: Likewise.
50745         * lib/strerror.c: Likewise.
50746         * lib/strftime.c: Likewise.
50747         * lib/strftime.h: Likewise.
50748         * lib/striconveh.c: Likewise.
50749         * lib/striconveh.h: Likewise.
50750         * lib/striconveha.c: Likewise.
50751         * lib/striconveha.h: Likewise.
50752         * lib/stripslash.c: Likewise.
50753         * lib/strnlen1.c: Likewise.
50754         * lib/strnlen1.h: Likewise.
50755         * lib/strtod.c: Likewise.
50756         * lib/strtoimax.c: Likewise.
50757         * lib/strtok_r.c: Likewise.
50758         * lib/strtol.c: Likewise.
50759         * lib/strtoll.c: Likewise.
50760         * lib/strtoul.c: Likewise.
50761         * lib/strtoull.c: Likewise.
50762         * lib/sysexits.in.h: Likewise.
50763         * lib/tempname.c: Likewise.
50764         * lib/tempname.h: Likewise.
50765         * lib/timespec.h: Likewise.
50766         * lib/tls.c: Likewise.
50767         * lib/tls.h: Likewise.
50768         * lib/tmpdir.c: Likewise.
50769         * lib/tmpdir.h: Likewise.
50770         * lib/tmpfile-safer.c: Likewise.
50771         * lib/tmpfile.c: Likewise.
50772         * lib/trigl.c: Likewise.
50773         * lib/trigl.h: Likewise.
50774         * lib/trim.c: Likewise.
50775         * lib/trim.h: Likewise.
50776         * lib/trunc.c: Likewise.
50777         * lib/truncf.c: Likewise.
50778         * lib/truncl.c: Likewise.
50779         * lib/tsearch.c: Likewise.
50780         * lib/unicodeio.c: Likewise.
50781         * lib/unicodeio.h: Likewise.
50782         * lib/unistd--.h: Likewise.
50783         * lib/unistd-safer.h: Likewise.
50784         * lib/unistdio/ulc-fprintf.c: Likewise.
50785         * lib/unistdio/ulc-vfprintf.c: Likewise.
50786         * lib/unlinkdir.c: Likewise.
50787         * lib/unlinkdir.h: Likewise.
50788         * lib/unlocked-io.h: Likewise.
50789         * lib/unsetenv.c: Likewise.
50790         * lib/userspec.c: Likewise.
50791         * lib/utime.c: Likewise.
50792         * lib/utimecmp.c: Likewise.
50793         * lib/utimecmp.h: Likewise.
50794         * lib/utimens.c: Likewise.
50795         * lib/verify.h: Likewise.
50796         * lib/verror.c: Likewise.
50797         * lib/verror.h: Likewise.
50798         * lib/version-etc-fsf.c: Likewise.
50799         * lib/version-etc.c: Likewise.
50800         * lib/version-etc.h: Likewise.
50801         * lib/vfprintf.c: Likewise.
50802         * lib/vprintf.c: Likewise.
50803         * lib/vsprintf.c: Likewise.
50804         * lib/w32spawn.h: Likewise.
50805         * lib/wait-process.c: Likewise.
50806         * lib/wait-process.h: Likewise.
50807         * lib/wcwidth.c: Likewise.
50808         * lib/write-any-file.c: Likewise.
50809         * lib/xalloc-die.c: Likewise.
50810         * lib/xalloc.h: Likewise.
50811         * lib/xasprintf.c: Likewise.
50812         * lib/xgetcwd.c: Likewise.
50813         * lib/xgetcwd.h: Likewise.
50814         * lib/xgetdomainname.c: Likewise.
50815         * lib/xgetdomainname.h: Likewise.
50816         * lib/xgethostname.c: Likewise.
50817         * lib/xmalloc.c: Likewise.
50818         * lib/xmalloca.c: Likewise.
50819         * lib/xmalloca.h: Likewise.
50820         * lib/xmemcoll.c: Likewise.
50821         * lib/xnanosleep.c: Likewise.
50822         * lib/xreadlink.c: Likewise.
50823         * lib/xreadlink.h: Likewise.
50824         * lib/xsetenv.c: Likewise.
50825         * lib/xsetenv.h: Likewise.
50826         * lib/xstriconv.c: Likewise.
50827         * lib/xstriconv.h: Likewise.
50828         * lib/xstrndup.c: Likewise.
50829         * lib/xstrndup.h: Likewise.
50830         * lib/xstrtod.c: Likewise.
50831         * lib/xstrtod.h: Likewise.
50832         * lib/xstrtol-error.c: Likewise.
50833         * lib/xstrtol.c: Likewise.
50834         * lib/xstrtol.h: Likewise.
50835         * lib/xtime.h: Likewise.
50836         * lib/xvasprintf.c: Likewise.
50837         * lib/xvasprintf.h: Likewise.
50838         * lib/yesno.c: Likewise.
50839         * lib/yesno.h: Likewise.
50840         * posix-modules: Likewise.
50841         * tests/test-alloca-opt.c: Likewise.
50842         * tests/test-arcfour.c: Likewise.
50843         * tests/test-arctwo.c: Likewise.
50844         * tests/test-argmatch.c: Likewise.
50845         * tests/test-argp-2.sh: Likewise.
50846         * tests/test-argp.c: Likewise.
50847         * tests/test-arpa_inet.c: Likewise.
50848         * tests/test-array_list.c: Likewise.
50849         * tests/test-array_oset.c: Likewise.
50850         * tests/test-atexit.c: Likewise.
50851         * tests/test-avltree_list.c: Likewise.
50852         * tests/test-avltree_oset.c: Likewise.
50853         * tests/test-avltreehash_list.c: Likewise.
50854         * tests/test-base64.c: Likewise.
50855         * tests/test-binary-io.c: Likewise.
50856         * tests/test-byteswap.c: Likewise.
50857         * tests/test-c-ctype.c: Likewise.
50858         * tests/test-c-strcasecmp.c: Likewise.
50859         * tests/test-c-strcasestr.c: Likewise.
50860         * tests/test-c-strncasecmp.c: Likewise.
50861         * tests/test-c-strstr.c: Likewise.
50862         * tests/test-canonicalize-lgpl.c: Likewise.
50863         * tests/test-canonicalize.c: Likewise.
50864         * tests/test-carray_list.c: Likewise.
50865         * tests/test-ceilf.c: Likewise.
50866         * tests/test-ceill.c: Likewise.
50867         * tests/test-count-one-bits.c: Likewise.
50868         * tests/test-crc.c: Likewise.
50869         * tests/test-dirname.c: Likewise.
50870         * tests/test-fbufmode.c: Likewise.
50871         * tests/test-fcntl.c: Likewise.
50872         * tests/test-fflush.c: Likewise.
50873         * tests/test-floorf.c: Likewise.
50874         * tests/test-floorl.c: Likewise.
50875         * tests/test-fopen.c: Likewise.
50876         * tests/test-fprintf-posix.c: Likewise.
50877         * tests/test-fprintf-posix.h: Likewise.
50878         * tests/test-fpurge.c: Likewise.
50879         * tests/test-freadable.c: Likewise.
50880         * tests/test-freadahead.c: Likewise.
50881         * tests/test-freading.c: Likewise.
50882         * tests/test-freopen.c: Likewise.
50883         * tests/test-frexp.c: Likewise.
50884         * tests/test-frexpl.c: Likewise.
50885         * tests/test-fseek.c: Likewise.
50886         * tests/test-fseeko.c: Likewise.
50887         * tests/test-fseterr.c: Likewise.
50888         * tests/test-fstrcmp.c: Likewise.
50889         * tests/test-ftell.c: Likewise.
50890         * tests/test-ftello.c: Likewise.
50891         * tests/test-fwritable.c: Likewise.
50892         * tests/test-fwriting.c: Likewise.
50893         * tests/test-getaddrinfo.c: Likewise.
50894         * tests/test-getpass.c: Likewise.
50895         * tests/test-gettimeofday.c: Likewise.
50896         * tests/test-hmac-md5.c: Likewise.
50897         * tests/test-hmac-sha1.c: Likewise.
50898         * tests/test-iconv.c: Likewise.
50899         * tests/test-iconvme.c: Likewise.
50900         * tests/test-inttypes.c: Likewise.
50901         * tests/test-isnan.c: Likewise.
50902         * tests/test-isnanf.c: Likewise.
50903         * tests/test-isnanl-nolibm.c: Likewise.
50904         * tests/test-isnanl.c: Likewise.
50905         * tests/test-isnanl.h: Likewise.
50906         * tests/test-ldexpl.c: Likewise.
50907         * tests/test-linked_list.c: Likewise.
50908         * tests/test-linkedhash_list.c: Likewise.
50909         * tests/test-locale.c: Likewise.
50910         * tests/test-localename.c: Likewise.
50911         * tests/test-lock.c: Likewise.
50912         * tests/test-lseek.c: Likewise.
50913         * tests/test-malloca.c: Likewise.
50914         * tests/test-math.c: Likewise.
50915         * tests/test-mbscasecmp.c: Likewise.
50916         * tests/test-mbscasestr1.c: Likewise.
50917         * tests/test-mbscasestr2.c: Likewise.
50918         * tests/test-mbscasestr3.c: Likewise.
50919         * tests/test-mbscasestr4.c: Likewise.
50920         * tests/test-mbschr.c: Likewise.
50921         * tests/test-mbscspn.c: Likewise.
50922         * tests/test-mbsncasecmp.c: Likewise.
50923         * tests/test-mbspbrk.c: Likewise.
50924         * tests/test-mbspcasecmp.c: Likewise.
50925         * tests/test-mbsrchr.c: Likewise.
50926         * tests/test-mbsspn.c: Likewise.
50927         * tests/test-mbsstr1.c: Likewise.
50928         * tests/test-mbsstr2.c: Likewise.
50929         * tests/test-mbsstr3.c: Likewise.
50930         * tests/test-md5.c: Likewise.
50931         * tests/test-memmem.c: Likewise.
50932         * tests/test-netinet_in.c: Likewise.
50933         * tests/test-open.c: Likewise.
50934         * tests/test-printf-frexp.c: Likewise.
50935         * tests/test-printf-frexpl.c: Likewise.
50936         * tests/test-printf-posix.c: Likewise.
50937         * tests/test-printf-posix.h: Likewise.
50938         * tests/test-rbtree_list.c: Likewise.
50939         * tests/test-rbtree_oset.c: Likewise.
50940         * tests/test-rbtreehash_list.c: Likewise.
50941         * tests/test-read-file.c: Likewise.
50942         * tests/test-rijndael.c: Likewise.
50943         * tests/test-search.c: Likewise.
50944         * tests/test-signbit.c: Likewise.
50945         * tests/test-sleep.c: Likewise.
50946         * tests/test-snprintf-posix.c: Likewise.
50947         * tests/test-snprintf-posix.h: Likewise.
50948         * tests/test-snprintf.c: Likewise.
50949         * tests/test-sprintf-posix.c: Likewise.
50950         * tests/test-sprintf-posix.h: Likewise.
50951         * tests/test-stat-time.c: Likewise.
50952         * tests/test-stdbool.c: Likewise.
50953         * tests/test-stdint.c: Likewise.
50954         * tests/test-stdio.c: Likewise.
50955         * tests/test-stdlib.c: Likewise.
50956         * tests/test-stpncpy.c: Likewise.
50957         * tests/test-strcasestr.c: Likewise.
50958         * tests/test-striconv.c: Likewise.
50959         * tests/test-striconveh.c: Likewise.
50960         * tests/test-striconveha.c: Likewise.
50961         * tests/test-string.c: Likewise.
50962         * tests/test-sys_select.c: Likewise.
50963         * tests/test-sys_socket.c: Likewise.
50964         * tests/test-sys_stat.c: Likewise.
50965         * tests/test-sys_time.c: Likewise.
50966         * tests/test-sysexits.c: Likewise.
50967         * tests/test-time.c: Likewise.
50968         * tests/test-tls.c: Likewise.
50969         * tests/test-trunc.c: Likewise.
50970         * tests/test-truncf.c: Likewise.
50971         * tests/test-truncl.c: Likewise.
50972         * tests/test-unistd.c: Likewise.
50973         * tests/test-vasnprintf-posix.c: Likewise.
50974         * tests/test-vasnprintf-posix2.c: Likewise.
50975         * tests/test-vasnprintf.c: Likewise.
50976         * tests/test-vasprintf-posix.c: Likewise.
50977         * tests/test-vasprintf.c: Likewise.
50978         * tests/test-verify.c: Likewise.
50979         * tests/test-vfprintf-posix.c: Likewise.
50980         * tests/test-vprintf-posix.c: Likewise.
50981         * tests/test-vsnprintf-posix.c: Likewise.
50982         * tests/test-vsnprintf.c: Likewise.
50983         * tests/test-vsprintf-posix.c: Likewise.
50984         * tests/test-wchar.c: Likewise.
50985         * tests/test-wctype.c: Likewise.
50986         * tests/test-wcwidth.c: Likewise.
50987         * tests/test-xstrtol.c: Likewise.
50988         * tests/test-xvasprintf.c: Likewise.
50989         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
50990         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
50991         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
50992         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
50993         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
50994         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
50995         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
50996         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
50997         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
50998         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
50999         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
51000         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
51001         * tests/uniname/test-uninames.c: Likewise.
51002         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
51003         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
51004         * tests/unistdio/test-u16-printf1.h: Likewise.
51005         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
51006         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
51007         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
51008         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
51009         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
51010         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
51011         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
51012         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
51013         * tests/unistdio/test-u32-printf1.h: Likewise.
51014         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
51015         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
51016         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
51017         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
51018         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
51019         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
51020         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
51021         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
51022         * tests/unistdio/test-u8-printf1.h: Likewise.
51023         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
51024         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
51025         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
51026         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
51027         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
51028         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
51029         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
51030         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
51031         * tests/unistdio/test-ulc-printf1.h: Likewise.
51032         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
51033         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
51034         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
51035         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
51036         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
51037         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
51038         * tests/uniwidth/test-u16-strwidth.c: Likewise.
51039         * tests/uniwidth/test-u16-width.c: Likewise.
51040         * tests/uniwidth/test-u32-strwidth.c: Likewise.
51041         * tests/uniwidth/test-u32-width.c: Likewise.
51042         * tests/uniwidth/test-u8-strwidth.c: Likewise.
51043         * tests/uniwidth/test-u8-width.c: Likewise.
51044         * tests/uniwidth/test-uc_width.c: Likewise.
51045         * config/srclist-update: Likewise.
51046         (fixlicense): Update to GPLv3+.
51047
51048         Change copyright notice from LGPLv2.1+ to LGPLv3+.
51049         * tests/test-tsearch.c: Change copyright notice.
51050
51051         Change copyright notice from LGPLv2.0+ to LGPLv3+.
51052         * lib/c-strcaseeq.h: Change copyright notice.
51053         * lib/streq.h: Likewise.
51054         * lib/uniconv.h: Likewise.
51055         * lib/uniconv/u-conv-from-enc.h: Likewise.
51056         * lib/uniconv/u-conv-to-enc.h: Likewise.
51057         * lib/uniconv/u-strconv-from-enc.h: Likewise.
51058         * lib/uniconv/u-strconv-to-enc.h: Likewise.
51059         * lib/uniconv/u16-conv-from-enc.c: Likewise.
51060         * lib/uniconv/u16-conv-to-enc.c: Likewise.
51061         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
51062         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
51063         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
51064         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
51065         * lib/uniconv/u32-conv-from-enc.c: Likewise.
51066         * lib/uniconv/u32-conv-to-enc.c: Likewise.
51067         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
51068         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
51069         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
51070         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
51071         * lib/uniconv/u8-conv-from-enc.c: Likewise.
51072         * lib/uniconv/u8-conv-to-enc.c: Likewise.
51073         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
51074         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
51075         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
51076         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
51077         * lib/uniname.h: Likewise.
51078         * lib/uniname/uniname.c: Likewise.
51079         * lib/unistdio.h: Likewise.
51080         * lib/unistdio/u-asnprintf.h: Likewise.
51081         * lib/unistdio/u-asprintf.h: Likewise.
51082         * lib/unistdio/u-printf-args.c: Likewise.
51083         * lib/unistdio/u-printf-args.h: Likewise.
51084         * lib/unistdio/u-printf-parse.h: Likewise.
51085         * lib/unistdio/u-snprintf.h: Likewise.
51086         * lib/unistdio/u-sprintf.h: Likewise.
51087         * lib/unistdio/u-vasprintf.h: Likewise.
51088         * lib/unistdio/u-vsnprintf.h: Likewise.
51089         * lib/unistdio/u-vsprintf.h: Likewise.
51090         * lib/unistdio/u16-asnprintf.c: Likewise.
51091         * lib/unistdio/u16-asprintf.c: Likewise.
51092         * lib/unistdio/u16-printf-parse.c: Likewise.
51093         * lib/unistdio/u16-snprintf.c: Likewise.
51094         * lib/unistdio/u16-sprintf.c: Likewise.
51095         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
51096         * lib/unistdio/u16-u16-asprintf.c: Likewise.
51097         * lib/unistdio/u16-u16-snprintf.c: Likewise.
51098         * lib/unistdio/u16-u16-sprintf.c: Likewise.
51099         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
51100         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
51101         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
51102         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
51103         * lib/unistdio/u16-vasnprintf.c: Likewise.
51104         * lib/unistdio/u16-vasprintf.c: Likewise.
51105         * lib/unistdio/u16-vsnprintf.c: Likewise.
51106         * lib/unistdio/u16-vsprintf.c: Likewise.
51107         * lib/unistdio/u32-asnprintf.c: Likewise.
51108         * lib/unistdio/u32-asprintf.c: Likewise.
51109         * lib/unistdio/u32-printf-parse.c: Likewise.
51110         * lib/unistdio/u32-snprintf.c: Likewise.
51111         * lib/unistdio/u32-sprintf.c: Likewise.
51112         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
51113         * lib/unistdio/u32-u32-asprintf.c: Likewise.
51114         * lib/unistdio/u32-u32-snprintf.c: Likewise.
51115         * lib/unistdio/u32-u32-sprintf.c: Likewise.
51116         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
51117         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
51118         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
51119         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
51120         * lib/unistdio/u32-vasnprintf.c: Likewise.
51121         * lib/unistdio/u32-vasprintf.c: Likewise.
51122         * lib/unistdio/u32-vsnprintf.c: Likewise.
51123         * lib/unistdio/u32-vsprintf.c: Likewise.
51124         * lib/unistdio/u8-asnprintf.c: Likewise.
51125         * lib/unistdio/u8-asprintf.c: Likewise.
51126         * lib/unistdio/u8-printf-parse.c: Likewise.
51127         * lib/unistdio/u8-snprintf.c: Likewise.
51128         * lib/unistdio/u8-sprintf.c: Likewise.
51129         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
51130         * lib/unistdio/u8-u8-asprintf.c: Likewise.
51131         * lib/unistdio/u8-u8-snprintf.c: Likewise.
51132         * lib/unistdio/u8-u8-sprintf.c: Likewise.
51133         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
51134         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
51135         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
51136         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
51137         * lib/unistdio/u8-vasnprintf.c: Likewise.
51138         * lib/unistdio/u8-vasprintf.c: Likewise.
51139         * lib/unistdio/u8-vsnprintf.c: Likewise.
51140         * lib/unistdio/u8-vsprintf.c: Likewise.
51141         * lib/unistdio/ulc-asnprintf.c: Likewise.
51142         * lib/unistdio/ulc-asprintf.c: Likewise.
51143         * lib/unistdio/ulc-printf-parse.c: Likewise.
51144         * lib/unistdio/ulc-snprintf.c: Likewise.
51145         * lib/unistdio/ulc-sprintf.c: Likewise.
51146         * lib/unistdio/ulc-vasnprintf.c: Likewise.
51147         * lib/unistdio/ulc-vasprintf.c: Likewise.
51148         * lib/unistdio/ulc-vsnprintf.c: Likewise.
51149         * lib/unistdio/ulc-vsprintf.c: Likewise.
51150         * lib/unistr.h: Likewise.
51151         * lib/unistr/u-cpy-alloc.h: Likewise.
51152         * lib/unistr/u-cpy.h: Likewise.
51153         * lib/unistr/u-endswith.h: Likewise.
51154         * lib/unistr/u-move.h: Likewise.
51155         * lib/unistr/u-set.h: Likewise.
51156         * lib/unistr/u-startswith.h: Likewise.
51157         * lib/unistr/u-stpcpy.h: Likewise.
51158         * lib/unistr/u-stpncpy.h: Likewise.
51159         * lib/unistr/u-strcat.h: Likewise.
51160         * lib/unistr/u-strcpy.h: Likewise.
51161         * lib/unistr/u-strcspn.h: Likewise.
51162         * lib/unistr/u-strdup.h: Likewise.
51163         * lib/unistr/u-strlen.h: Likewise.
51164         * lib/unistr/u-strncat.h: Likewise.
51165         * lib/unistr/u-strncpy.h: Likewise.
51166         * lib/unistr/u-strnlen.h: Likewise.
51167         * lib/unistr/u-strpbrk.h: Likewise.
51168         * lib/unistr/u-strspn.h: Likewise.
51169         * lib/unistr/u-strstr.h: Likewise.
51170         * lib/unistr/u-strtok.h: Likewise.
51171         * lib/unistr/u16-check.c: Likewise.
51172         * lib/unistr/u16-chr.c: Likewise.
51173         * lib/unistr/u16-cmp.c: Likewise.
51174         * lib/unistr/u16-cpy-alloc.c: Likewise.
51175         * lib/unistr/u16-cpy.c: Likewise.
51176         * lib/unistr/u16-endswith.c: Likewise.
51177         * lib/unistr/u16-mblen.c: Likewise.
51178         * lib/unistr/u16-mbsnlen.c: Likewise.
51179         * lib/unistr/u16-mbtouc-aux.c: Likewise.
51180         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
51181         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
51182         * lib/unistr/u16-mbtouc.c: Likewise.
51183         * lib/unistr/u16-mbtoucr.c: Likewise.
51184         * lib/unistr/u16-move.c: Likewise.
51185         * lib/unistr/u16-next.c: Likewise.
51186         * lib/unistr/u16-prev.c: Likewise.
51187         * lib/unistr/u16-set.c: Likewise.
51188         * lib/unistr/u16-startswith.c: Likewise.
51189         * lib/unistr/u16-stpcpy.c: Likewise.
51190         * lib/unistr/u16-stpncpy.c: Likewise.
51191         * lib/unistr/u16-strcat.c: Likewise.
51192         * lib/unistr/u16-strchr.c: Likewise.
51193         * lib/unistr/u16-strcmp.c: Likewise.
51194         * lib/unistr/u16-strcpy.c: Likewise.
51195         * lib/unistr/u16-strcspn.c: Likewise.
51196         * lib/unistr/u16-strdup.c: Likewise.
51197         * lib/unistr/u16-strlen.c: Likewise.
51198         * lib/unistr/u16-strmblen.c: Likewise.
51199         * lib/unistr/u16-strmbtouc.c: Likewise.
51200         * lib/unistr/u16-strncat.c: Likewise.
51201         * lib/unistr/u16-strncmp.c: Likewise.
51202         * lib/unistr/u16-strncpy.c: Likewise.
51203         * lib/unistr/u16-strnlen.c: Likewise.
51204         * lib/unistr/u16-strpbrk.c: Likewise.
51205         * lib/unistr/u16-strrchr.c: Likewise.
51206         * lib/unistr/u16-strspn.c: Likewise.
51207         * lib/unistr/u16-strstr.c: Likewise.
51208         * lib/unistr/u16-strtok.c: Likewise.
51209         * lib/unistr/u16-to-u32.c: Likewise.
51210         * lib/unistr/u16-to-u8.c: Likewise.
51211         * lib/unistr/u16-uctomb-aux.c: Likewise.
51212         * lib/unistr/u16-uctomb.c: Likewise.
51213         * lib/unistr/u32-check.c: Likewise.
51214         * lib/unistr/u32-chr.c: Likewise.
51215         * lib/unistr/u32-cmp.c: Likewise.
51216         * lib/unistr/u32-cpy-alloc.c: Likewise.
51217         * lib/unistr/u32-cpy.c: Likewise.
51218         * lib/unistr/u32-endswith.c: Likewise.
51219         * lib/unistr/u32-mblen.c: Likewise.
51220         * lib/unistr/u32-mbsnlen.c: Likewise.
51221         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
51222         * lib/unistr/u32-mbtouc.c: Likewise.
51223         * lib/unistr/u32-mbtoucr.c: Likewise.
51224         * lib/unistr/u32-move.c: Likewise.
51225         * lib/unistr/u32-next.c: Likewise.
51226         * lib/unistr/u32-prev.c: Likewise.
51227         * lib/unistr/u32-set.c: Likewise.
51228         * lib/unistr/u32-startswith.c: Likewise.
51229         * lib/unistr/u32-stpcpy.c: Likewise.
51230         * lib/unistr/u32-stpncpy.c: Likewise.
51231         * lib/unistr/u32-strcat.c: Likewise.
51232         * lib/unistr/u32-strchr.c: Likewise.
51233         * lib/unistr/u32-strcmp.c: Likewise.
51234         * lib/unistr/u32-strcpy.c: Likewise.
51235         * lib/unistr/u32-strcspn.c: Likewise.
51236         * lib/unistr/u32-strdup.c: Likewise.
51237         * lib/unistr/u32-strlen.c: Likewise.
51238         * lib/unistr/u32-strmblen.c: Likewise.
51239         * lib/unistr/u32-strmbtouc.c: Likewise.
51240         * lib/unistr/u32-strncat.c: Likewise.
51241         * lib/unistr/u32-strncmp.c: Likewise.
51242         * lib/unistr/u32-strncpy.c: Likewise.
51243         * lib/unistr/u32-strnlen.c: Likewise.
51244         * lib/unistr/u32-strpbrk.c: Likewise.
51245         * lib/unistr/u32-strrchr.c: Likewise.
51246         * lib/unistr/u32-strspn.c: Likewise.
51247         * lib/unistr/u32-strstr.c: Likewise.
51248         * lib/unistr/u32-strtok.c: Likewise.
51249         * lib/unistr/u32-to-u16.c: Likewise.
51250         * lib/unistr/u32-to-u8.c: Likewise.
51251         * lib/unistr/u32-uctomb.c: Likewise.
51252         * lib/unistr/u8-check.c: Likewise.
51253         * lib/unistr/u8-chr.c: Likewise.
51254         * lib/unistr/u8-cmp.c: Likewise.
51255         * lib/unistr/u8-cpy-alloc.c: Likewise.
51256         * lib/unistr/u8-cpy.c: Likewise.
51257         * lib/unistr/u8-endswith.c: Likewise.
51258         * lib/unistr/u8-mblen.c: Likewise.
51259         * lib/unistr/u8-mbsnlen.c: Likewise.
51260         * lib/unistr/u8-mbtouc-aux.c: Likewise.
51261         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
51262         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
51263         * lib/unistr/u8-mbtouc.c: Likewise.
51264         * lib/unistr/u8-mbtoucr.c: Likewise.
51265         * lib/unistr/u8-move.c: Likewise.
51266         * lib/unistr/u8-next.c: Likewise.
51267         * lib/unistr/u8-prev.c: Likewise.
51268         * lib/unistr/u8-set.c: Likewise.
51269         * lib/unistr/u8-startswith.c: Likewise.
51270         * lib/unistr/u8-stpcpy.c: Likewise.
51271         * lib/unistr/u8-stpncpy.c: Likewise.
51272         * lib/unistr/u8-strcat.c: Likewise.
51273         * lib/unistr/u8-strchr.c: Likewise.
51274         * lib/unistr/u8-strcmp.c: Likewise.
51275         * lib/unistr/u8-strcpy.c: Likewise.
51276         * lib/unistr/u8-strcspn.c: Likewise.
51277         * lib/unistr/u8-strdup.c: Likewise.
51278         * lib/unistr/u8-strlen.c: Likewise.
51279         * lib/unistr/u8-strmblen.c: Likewise.
51280         * lib/unistr/u8-strmbtouc.c: Likewise.
51281         * lib/unistr/u8-strncat.c: Likewise.
51282         * lib/unistr/u8-strncmp.c: Likewise.
51283         * lib/unistr/u8-strncpy.c: Likewise.
51284         * lib/unistr/u8-strnlen.c: Likewise.
51285         * lib/unistr/u8-strpbrk.c: Likewise.
51286         * lib/unistr/u8-strrchr.c: Likewise.
51287         * lib/unistr/u8-strspn.c: Likewise.
51288         * lib/unistr/u8-strstr.c: Likewise.
51289         * lib/unistr/u8-strtok.c: Likewise.
51290         * lib/unistr/u8-to-u16.c: Likewise.
51291         * lib/unistr/u8-to-u32.c: Likewise.
51292         * lib/unistr/u8-uctomb-aux.c: Likewise.
51293         * lib/unistr/u8-uctomb.c: Likewise.
51294         * lib/unitypes.h: Likewise.
51295         * lib/uniwidth.h: Likewise.
51296         * lib/uniwidth/cjk.h: Likewise.
51297         * lib/uniwidth/u16-strwidth.c: Likewise.
51298         * lib/uniwidth/u16-width.c: Likewise.
51299         * lib/uniwidth/u32-strwidth.c: Likewise.
51300         * lib/uniwidth/u32-width.c: Likewise.
51301         * lib/uniwidth/u8-strwidth.c: Likewise.
51302         * lib/uniwidth/u8-width.c: Likewise.
51303         * lib/uniwidth/width.c: Likewise.
51304
51305 2007-10-07  Bruno Haible  <bruno@clisp.org>
51306
51307         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
51308         The file is still under LGPL (see modules/inttypes).
51309
51310 2007-10-06  Bruno Haible  <bruno@clisp.org>
51311
51312         * modules/trunc (Dependencies): Add 'extensions'.
51313         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
51314         Reported by Ben Pfaff <blp@gnu.org>.
51315
51316 2007-10-06  Bruno Haible  <bruno@clisp.org>
51317
51318         * modules/freopen-tests: New file.
51319         * tests/test-freopen.c: New file.
51320
51321         * modules/fopen-tests: New file.
51322         * tests/test-fopen.c: New file.
51323
51324         * modules/fopen: New file.
51325         * lib/fopen.c: New file.
51326         * m4/fopen.m4: New file.
51327         * modules/freopen: New file.
51328         * lib/freopen.c: New file.
51329         * m4/freopen.m4: New file.
51330         * lib/stdio.in.h (fopen, freopen): New declarations.
51331         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
51332         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
51333         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
51334         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
51335         * doc/functions/fopen.texi: Mention the 'fopen' module.
51336         * doc/functions/freopen.texi: Mention the 'freopen' module.
51337
51338 2007-10-06  Bruno Haible  <bruno@clisp.org>
51339
51340         * modules/open-tests: New file.
51341         * tests/test-open.c: New file.
51342
51343         * modules/open: New file.
51344         * lib/open.c: New file.
51345         * m4/open.m4: New file.
51346         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
51347         lib/open.c does.
51348         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
51349         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
51350         macros.
51351         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
51352         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
51353         REPLACE_OPEN.
51354         * doc/functions/open.texi: Mention the 'open' module.
51355
51356 2007-10-04  Bruno Haible  <bruno@clisp.org>
51357
51358         * modules/ceill-tests: New file.
51359         * tests/test-ceill.c: New file.
51360
51361         * modules/ceill: New file.
51362         * lib/ceill.c: Replace entire file.
51363         * m4/ceill.m4: New file.
51364         * lib/math.in.h (ceill): Replace declaration.
51365         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
51366         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
51367         * doc/functions/ceill.texi: Mention the 'ceill' module.
51368         * modules/mathl (Files): Remove lib/ceill.c.
51369         (Depends-on): Add ceill.
51370
51371 2007-10-04  Bruno Haible  <bruno@clisp.org>
51372
51373         * modules/ceilf-tests: New file.
51374         * tests/test-ceilf.c: New file.
51375
51376         * modules/ceilf: New file.
51377         * lib/ceil.c: New file.
51378         * lib/ceilf.c: New file.
51379         * m4/ceilf.m4: New file.
51380         * lib/math.in.h (ceilf): New declaration.
51381         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
51382         HAVE_DECL_CEILF.
51383         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
51384         HAVE_DECL_CEILF.
51385         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
51386
51387 2007-10-04  Bruno Haible  <bruno@clisp.org>
51388
51389         * modules/floorl-tests: New file.
51390         * tests/test-floorl.c: New file.
51391
51392         * modules/floorl: New file.
51393         * lib/floorl.c: Replace entire file.
51394         * m4/floorl.m4: New file.
51395         * lib/math.in.h (floorl): Replace declaration.
51396         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
51397         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
51398         * doc/functions/floorl.texi: Mention the 'floorl' module.
51399         * modules/mathl (Files): Remove lib/floorl.c.
51400         (Depends-on): Add floorl.
51401
51402 2007-10-04  Bruno Haible  <bruno@clisp.org>
51403
51404         * modules/floorf-tests: New file.
51405         * tests/test-floorf.c: New file.
51406
51407         * modules/floorf: New file.
51408         * lib/floor.c: New file.
51409         * lib/floorf.c: New file.
51410         * m4/floorf.m4: New file.
51411         * lib/math.in.h (floorf): New declaration.
51412         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
51413         HAVE_DECL_FLOORF.
51414         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
51415         HAVE_DECL_FLOORF.
51416         * doc/functions/floorf.texi: Mention the 'floorf' module.
51417
51418 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
51419             Bruno Haible  <bruno@clisp.org>
51420
51421         Advertise for the Git server instead of the CVS server.
51422         * doc/gnulib-intro.texi (Steady Development): Mention the Git
51423         repository instead of the CVS one.
51424         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
51425         about all VCS systems generically.
51426         * doc/gnulib.texi (Introduction): Capitalize `Git'.
51427
51428 2007-10-04  Bruno Haible  <bruno@clisp.org>
51429
51430         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
51431         means.
51432         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
51433
51434 2007-10-04  Bruno Haible  <bruno@clisp.org>
51435
51436         * modules/truncl-tests: New file.
51437         * tests/test-truncl.c: New file.
51438
51439         * modules/truncl: New file.
51440         * lib/truncl.c: New file.
51441         * m4/truncl.m4: New file.
51442         * lib/math.in.h (truncl): New declaration.
51443         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
51444         HAVE_DECL_TRUNCL.
51445         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
51446         HAVE_DECL_TRUNCL.
51447         * doc/functions/truncl.texi: Mention the 'truncl' module.
51448
51449 2007-10-04  Bruno Haible  <bruno@clisp.org>
51450
51451         * modules/truncf-tests: New file.
51452         * tests/test-truncf.c: New file.
51453
51454         * modules/truncf: New file.
51455         * lib/trunc.c: Make paramerizable through USE_* macros.
51456         * lib/truncf.c: New file.
51457         * m4/truncf.m4: New file.
51458         * lib/math.in.h (truncf): New declaration.
51459         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
51460         HAVE_DECL_TRUNCF.
51461         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
51462         HAVE_DECL_TRUNCF.
51463         * doc/functions/truncf.texi: Mention the 'truncf' module.
51464
51465 2007-10-03  Bruno Haible  <bruno@clisp.org>
51466
51467         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
51468         augmentation also for tests modules.
51469         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
51470         * modules/atexit-tests (Makefile.am): Likewise.
51471         * modules/binary-io-tests (Makefile.am): Likewise.
51472         * modules/c-strcase-tests (Makefile.am): Likewise.
51473         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
51474         * modules/canonicalize-tests (Makefile.am): Likewise.
51475         * modules/closein-tests (Makefile.am): Likewise.
51476         * modules/fprintf-posix-tests (Makefile.am): Likewise.
51477         * modules/freadahead-tests (Makefile.am): Likewise.
51478         * modules/fseek-tests (Makefile.am): Likewise.
51479         * modules/fseeko-tests (Makefile.am): Likewise.
51480         * modules/ftell-tests (Makefile.am): Likewise.
51481         * modules/ftello-tests (Makefile.am): Likewise.
51482         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
51483         * modules/isnanl-tests (Makefile.am): Likewise.
51484         * modules/lseek-tests (Makefile.am): Likewise.
51485         * modules/mbscasecmp-tests (Makefile.am): Likewise.
51486         * modules/mbscasestr-tests (Makefile.am): Likewise.
51487         * modules/mbschr-tests (Makefile.am): Likewise.
51488         * modules/mbscspn-tests (Makefile.am): Likewise.
51489         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
51490         * modules/mbspbrk-tests (Makefile.am): Likewise.
51491         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
51492         * modules/mbsrchr-tests (Makefile.am): Likewise.
51493         * modules/mbsspn-tests (Makefile.am): Likewise.
51494         * modules/mbsstr-tests (Makefile.am): Likewise.
51495         * modules/printf-posix-tests (Makefile.am): Likewise.
51496         * modules/snprintf-posix-tests (Makefile.am): Likewise.
51497         * modules/sprintf-posix-tests (Makefile.am): Likewise.
51498         * modules/tsearch-tests (Makefile.am): Likewise.
51499         * modules/uniname/uniname-tests (Makefile.am): Likewise.
51500         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
51501         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
51502         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
51503         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
51504         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
51505         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
51506         * modules/vprintf-posix-tests (Makefile.am): Likewise.
51507         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
51508         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
51509         * modules/xstrtoimax-tests (Makefile.am): Likewise.
51510         * modules/xstrtol-tests (Makefile.am): Likewise.
51511         * modules/xstrtoumax-tests (Makefile.am): Likewise.
51512         * modules/yesno-tests (Makefile.am): Likewise.
51513
51514 2007-10-03  Bruno Haible  <bruno@clisp.org>
51515
51516         * modules/trunc-tests: New file.
51517         * tests/test-trunc.c: New file.
51518
51519         * modules/trunc: New file.
51520         * lib/trunc.c: New file.
51521         * m4/trunc.m4: New file.
51522         * lib/math.in.h (trunc): New declaration.
51523         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
51524         HAVE_DECL_TRUNC.
51525         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
51526         HAVE_DECL_TRUNC.
51527         * doc/functions/trunc.texi: Mention the 'trunc' module.
51528
51529 2007-10-03  Bruno Haible  <bruno@clisp.org>
51530
51531         * tests/test-fpending.c: New file, mostly copied
51532         from coreutils/lib/t-fpending.c.
51533         * modules/fpending-tests: New file.
51534
51535 2007-10-03  Bruno Haible  <bruno@clisp.org>
51536
51537         Port the stdio extensions to QNX (untested).
51538         * lib/fseterr.c (fseterr): Add support for QNX.
51539         * lib/fbufmode.c (fbufmode): Likewise.
51540         * lib/freadable.c (freadable): Likewise.
51541         * lib/fwritable.c (fwritable): Likewise.
51542         * lib/freading.c (freading): Likewise.
51543         * lib/fwriting.c (fwriting): Likewise.
51544         * lib/freadahead.c (freadahed): Likewise.
51545         * lib/fpurge.c (fpurge): Likewise.
51546         * lib/fseeko.c (rpl_fseeko): Likewise.
51547
51548 2007-10-03  Bruno Haible  <bruno@clisp.org>
51549             Jim Meyering  <jim@meyering.net>
51550             Eric Blake  <ebb9@byu.net>
51551
51552         * doc/relocatable.texi: Use @command instead of @program.
51553
51554 2007-10-02  Jim Meyering  <jim@meyering.net>
51555
51556         Perform one more "_.h" -> ".in.h" substitution.
51557         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
51558         instead of unistd_.h here, too.
51559
51560 2007-10-01  Bruno Haible  <bruno@clisp.org>
51561
51562         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
51563         Needed for the alloca-opt module.
51564
51565 2007-09-30  Bruno Haible  <bruno@clisp.org>
51566
51567         * lib/alloca.in.h: Renamed from lib/alloca_.h.
51568         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
51569         alloca_.h.
51570         * lib/argz.in.h: Renamed from lib/argz_.h.
51571         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
51572         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
51573         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
51574         byteswap_.h.
51575         * lib/dirent.in.h: Renamed from lib/dirent_.h.
51576         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
51577         dirent_.h.
51578         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
51579         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
51580         fcntl_.h.
51581         * lib/float.in.h: Renamed from lib/float_.h.
51582         * modules/float (Files, Makefile.am): Use float.in.h instead of
51583         float_.h.
51584         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
51585         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
51586         fnmatch_.h.
51587         * lib/getopt.in.h: Renamed from lib/getopt_.h.
51588         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
51589         getopt_.h.
51590         * lib/glob.in.h: Renamed from lib/glob_.h.
51591         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
51592         * lib/iconv.in.h: Renamed from lib/iconv_.h.
51593         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
51594         iconv_.h.
51595         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
51596         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
51597         inttypes_.h.
51598         * lib/locale.in.h: Renamed from lib/locale_.h.
51599         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
51600         locale_.h.
51601         * lib/math.in.h: Renamed from lib/math_.h.
51602         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
51603         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
51604         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
51605         of netinet_in_.h. Add dependency.
51606         * lib/poll.in.h: Renamed from lib/poll_.h.
51607         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
51608         * lib/search.in.h: Renamed from lib/search_.h.
51609         * modules/search (Files, Makefile.am): Use search.in.h instead of
51610         search_.h.
51611         * lib/signal.in.h: Renamed from lib/signal_.h.
51612         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
51613         _signal.h.
51614         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
51615         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
51616         stdbool_.h.
51617         * lib/stdint.in.h: Renamed from lib/stdint_.h.
51618         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
51619         stdint_.h.
51620         * lib/stdio.in.h: Renamed from lib/stdio_.h.
51621         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
51622         stdio_.h.
51623         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
51624         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
51625         stdlib_.h.
51626         * lib/string.in.h: Renamed from lib/string_.h.
51627         * modules/string (Files, Makefile.am): Use string.in.h instead of
51628         string_.h.
51629         * doc/gnulib-tool.texi (Initial import): Update.
51630         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
51631         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
51632         of sys_select_.h. Add dependency.
51633         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
51634         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
51635         of sys_socket_.h.
51636         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
51637         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
51638         sys_stat_.h.
51639         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
51640         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
51641         sys_time_.h.
51642         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
51643         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
51644         sysexits_.h.
51645         * lib/time.in.h: Renamed from lib/time_.h.
51646         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
51647         * lib/unistd.in.h: Renamed from lib/unistd_.h.
51648         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
51649         unistd_.h.
51650         * lib/wchar.in.h: Renamed from lib/wchar_.h.
51651         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
51652         wchar_.h.
51653         * lib/wctype.in.h: Renamed from lib/wctype_.h.
51654         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
51655         wctype_.h.
51656         * build-aux/bootstrap (slurp): Update.
51657         * lib/.cppi-disable: Update.
51658
51659 2007-09-30  Bruno Haible  <bruno@clisp.org>
51660
51661         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
51662         Needed on BeOS.
51663
51664 2007-09-30  Bruno Haible  <bruno@clisp.org>
51665
51666         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
51667
51668 2007-09-29  Bruno Haible  <bruno@clisp.org>
51669
51670         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
51671
51672 2007-09-29  Bruno Haible  <bruno@clisp.org>
51673
51674         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
51675         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
51676         * build-aux/install-reloc: Compile also areadlink.c.
51677         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
51678
51679 2007-09-29  Bruno Haible  <bruno@clisp.org>
51680
51681         * gnulib-tool (func_emit_initmacro_done): Indentation.
51682
51683 2007-09-29  Bruno Haible  <bruno@clisp.org>
51684
51685         * README: Add CVS checkout update instructions.
51686         Info from Bob Proulx <bob@proulx.com>.
51687
51688 2007-09-28  Eric Blake  <ebb9@byu.net>
51689
51690         Provide move-if-change.
51691         * build-aux/move-if-change: New file, based on best practice
51692         rather than any canonical upstream location.
51693
51694 2007-09-28  Jim Meyering  <jim@meyering.net>
51695
51696         Fix canonicalize loop-detection corner case.
51697         Do not attempt to stat the symlink values stored via seen_triple.
51698         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
51699         on linux-2.6.18, (but not 2.6.22).
51700         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
51701         triple_compare.  The former compares dev,ino,filename, while the latter
51702         would actually stat dirname(filename) when dev and ino were equal.
51703         * lib/hash-triple.c: Install <string.h>.
51704         (STREQ): Define.
51705         (triple_compare_ino_str): New function.
51706         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
51707
51708 2007-09-28  Eric Blake  <ebb9@byu.net>
51709
51710         Enforce that AC_REPLACE_FUNCS files exist.
51711         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
51712         override check for typos.
51713
51714         Fix test-closein on Solaris 10.
51715         * tests/test-closein.c (main): Don't assume stdin can be inherited
51716         closed on all systems.
51717         * tests/test-closein.sh: Likewise.
51718         Reported by Piotr Tarnowski.
51719
51720 2007-09-28  Jim Meyering  <jim@meyering.net>
51721
51722         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
51723
51724 2007-09-27  Jim Meyering  <jim@meyering.net>
51725
51726         canonicalize: Avoid a false-positive cycle failure.
51727         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
51728         Sort.  Remove cycle-check.
51729         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
51730         not cycle-check.h.
51731         (seen_triple): New function.
51732         (canonicalize_filename_mode): Use it instead of cycle-check.
51733         * tests/test-canonicalize.c: Add a test for this bug.
51734         * tests/test-canonicalize.sh: Set up and run the test.
51735
51736         New module, file-set, from coreutils.
51737         * modules/file-set: Define it.
51738         * lib/file-set.c, lib/file-set.h: Implement.
51739
51740         New module, hash-triple, from coreutils.
51741         * modules/hash-triple: Define it.
51742         * lib/hash-triple.c, lib/hash-triple.h: Implement.
51743
51744 2007-09-25  Eric Blake  <ebb9@byu.net>
51745
51746         Fix strerror on Interix.
51747         * lib/string_.h (strerror): Declare replacement.
51748         * doc/functions/strerror.texi (strerror): Document the Interix
51749         shortcoming.
51750         * modules/string (Makefile.am): Support new hooks.
51751         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
51752         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
51753         gl_FUNC_STRERROR_SEPARATE.
51754         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
51755         * lib/strerror.c (rpl_strerror): Provide replacement.
51756         * modules/strerror (Depends-on): Add string.
51757         (configure.ac): Detect use of module.
51758         * tests/test-strerror.c: New file.
51759         * modules/strerror-tests: New test module.
51760         * modules/argp (Depends-on): Add strerror.
51761         * modules/error (Depends-on): Likewise.
51762         Reported by Martin Koeppe.
51763
51764 2007-09-24  Bruno Haible  <bruno@clisp.org>
51765
51766         * README: Update git instructions.
51767
51768 2007-09-24  Eric Blake  <ebb9@byu.net>
51769
51770         Revert fpending breakage from 2007-09-08.
51771         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
51772         __fpending.c.
51773
51774 2007-09-24  Jim Meyering  <jim@meyering.net>
51775
51776         filenamecat.c: Add a test.
51777         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
51778         showing how the function works when DIR is the empty string.
51779
51780 2007-09-21  Simon Josefsson  <simon@josefsson.org>
51781
51782         * tests/test-canonicalize.sh: Turn on executable bit.
51783
51784 2007-09-19  Eric Blake  <ebb9@byu.net>
51785
51786         * README: Update CVS instructions.
51787
51788 2007-09-18  Bruno Haible  <bruno@clisp.org>
51789
51790         * modules/areadlink: New file.
51791         * lib/areadlink.h (areadlink): New declaration.
51792         * lib/areadlink.c: New file, based on lib/xreadlink.c.
51793
51794 2007-09-17  Jim Meyering  <jim@meyering.net>
51795
51796         * lib/savewd.c (ESTALE) [!defined]: Define.
51797         Reported to be required on Interix by Martin Koeppe.
51798
51799 2007-09-17  Bruno Haible  <bruno@clisp.org>
51800
51801         * gnulib-tool (func_version): Use $version.
51802
51803 2007-09-16  Bruno Haible  <bruno@clisp.org>
51804
51805         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
51806         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
51807         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
51808         Reported by Greg Schafer <gschafer@zip.com.au>.
51809
51810 2007-09-15  Bruno Haible  <bruno@clisp.org>
51811
51812         * gnulib-tool (sed): Try a little harder to make bash understand the
51813         alias.
51814         Reported by Bruce Korb <bruce.korb@gmail.com>.
51815
51816 2007-09-13  Eric Blake  <ebb9@byu.net>
51817
51818         * ChangeLog: Remove conflict markers.
51819
51820 2007-09-13  Simon Josefsson  <simon@josefsson.org>
51821
51822         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
51823         Reported by Bruno Haible <bruno@clisp.org>.
51824
51825 2007-09-12  Bruno Haible  <bruno@clisp.org>
51826
51827         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
51828         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
51829         is not defined.
51830
51831 2007-09-12  Eric Blake  <ebb9@byu.net>
51832
51833         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
51834         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
51835         Autoconf definition.
51836         * modules/euidaccess (Depends-on): Add extensions, for
51837         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
51838         * modules/fnmatch (Depends-on): Likewise.
51839         * modules/getaddrinfo (Depends-on): Likewise.
51840         * modules/getdelim (Depends-on): Likewise.
51841         * modules/getline (Depends-on): Likewise.
51842         * modules/getsubopt (Depends-on): Likewise.
51843         * modules/gettext (Depends-on): Likewise.
51844         * modules/group-member (Depends-on): Likewise.
51845         * modules/mbchar (Depends-on): Likewise.
51846         * modules/memmem (Depends-on): Likewise.
51847         * modules/mempcpy (Depends-on): Likewise.
51848         * modules/memrchr (Depends-on): Likewise.
51849         * modules/pagealign_alloc (Depends-on): Likewise.
51850         * modules/readutmp (Depends-on): Likewise.
51851         * modules/stpcpy (Depends-on): Likewise.
51852         * modules/stpncpy (Depends-on): Likewise.
51853         * modules/strchrnul (Depends-on): Likewise.
51854         * modules/strndup (Depends-on): Likewise.
51855         * modules/strsep (Depends-on): Likewise.
51856         * modules/strverscmp (Depends-on): Likewise.
51857         * modules/vasprintf (Depends-on): Likewise.
51858         * modules/wcwidth (Depends-on): Likewise.
51859         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
51860         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
51861         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
51862         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
51863         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
51864         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
51865         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
51866         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
51867         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
51868         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
51869         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
51870         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
51871         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
51872         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
51873         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
51874         * m4/readutmp.m4 (gl_READUTMP): Likewise.
51875         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
51876         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
51877         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
51878         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
51879         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
51880         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
51881         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
51882         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
51883         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
51884         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
51885         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
51886         so that lock.m4 can be used in gettext without extensions module.
51887
51888 2007-09-11  Bruno Haible  <bruno@clisp.org>
51889
51890         * m4/isc-posix.m4: Remove file.
51891         Suggested by Eric Blake.
51892
51893 2007-09-11  Eric Blake  <ebb9@byu.net>
51894
51895         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
51896
51897 2007-09-10  Bruno Haible  <bruno@clisp.org>
51898
51899         * posix-modules: Fix typo in error message.
51900         Reported by Matt <mkraai@beckman.com>.
51901
51902 2007-09-09  Bruno Haible  <bruno@clisp.org>
51903
51904         * doc/functions/getdelim.texi: Update list of platforms lacking the
51905         function.
51906         * doc/functions/getline.texi: Likewise.
51907
51908 2007-09-09  Jim Meyering  <jim@meyering.net>
51909
51910         * lib/hash.c (hash_initialize): Detect calloc failure.
51911         Reported by Bruno Haible.
51912
51913 2007-09-09  Bruno Haible  <bruno@clisp.org>
51914
51915         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
51916         malloc or realloc fails.
51917
51918 2007-09-09  Bruno Haible  <bruno@clisp.org>
51919
51920         * modules/getcwd (Depends-on): Add malloc-posix.
51921         * modules/glob (Depends-on): Likewise.
51922         * modules/putenv (Depends-on): Likewise.
51923         * modules/strdup (Depends-on): Likewise.
51924         * modules/getdelim (Depends-on): Add realloc-posix.
51925         * modules/read-file (Depends-on): Likewise.
51926
51927 2007-09-09  Bruno Haible  <bruno@clisp.org>
51928
51929         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
51930         (gl_FUNC_MALLOC_POSIX): Require it.
51931         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
51932         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
51933         * modules/realloc (Files): Add m4/malloc.m4.
51934         * modules/calloc (Files): Likewise.
51935
51936 2007-09-09  Bruno Haible  <bruno@clisp.org>
51937
51938         * modules/malloc-posix: New file.
51939         * modules/malloc (Depends-on): Add malloc-posix.
51940         * lib/malloc.c: Include errno.h.
51941         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
51942         and a POSIX-compatible malloc into a single function. Set ENOMEM
51943         when returning NULL.
51944         * m4/malloc.m4: New file.
51945         * doc/functions/malloc.texi: Mention the malloc-posix module.
51946         * lib/stdlib_.h (malloc): New declaration.
51947         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
51948         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
51949         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
51950         and HAVE_MALLOC_POSIX.
51951
51952 2007-09-09  Bruno Haible  <bruno@clisp.org>
51953
51954         * modules/realloc-posix: New file.
51955         * modules/realloc (Depends-on): Add realloc-posix.
51956         * lib/realloc.c: Include errno.h.
51957         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
51958         and a POSIX-compatible realloc into a single function. Set ENOMEM
51959         when returning NULL.
51960         * m4/realloc.m4: New file.
51961         * doc/functions/realloc.texi: Mention the realloc-posix module.
51962         * lib/stdlib_.h (realloc): New declaration.
51963         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
51964         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
51965         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
51966         and HAVE_REALLOC_POSIX.
51967
51968 2007-09-09  Bruno Haible  <bruno@clisp.org>
51969
51970         * modules/calloc-posix: New file.
51971         * modules/calloc (Depends-on): Add calloc-posix.
51972         * lib/calloc.c: Include errno.h.
51973         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
51974         and a POSIX-compatible calloc into a single function. Set ENOMEM
51975         when returning NULL.
51976         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
51977         * doc/functions/calloc.texi: Mention the calloc-posix module.
51978         * lib/stdlib_.h (calloc): New declaration.
51979         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
51980         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
51981         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
51982         and HAVE_CALLOC_POSIX.
51983
51984 2007-09-09  Bruno Haible  <bruno@clisp.org>
51985
51986         Allow for modules to show an arbitrary notice.
51987         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
51988         * gnulib-tool: New option --extract-notice.
51989         (func_usage): Document it.
51990         (sed_extract_prog): Update.
51991         (func_get_notice): New function.
51992         (func_modules_notice): New function.
51993         (func_import, func_create_testdir): Invoke it.
51994         Suggested by Jim Meyering.
51995
51996 2007-09-09  Bruno Haible  <bruno@clisp.org>
51997
51998         * gnulib-tool: New options --verbose, --quiet.
51999         (func_usage): Document them.
52000         (verbose): New variable.
52001         (func_execute_command): New function.
52002         (func_import): Don't show the module list and the file list if
52003         $verbose < 0.
52004         (func_create_testdir): Likewise. Use func_execute_command.
52005         (func_create_megatestdir): Use func_execute_command.
52006
52007 2007-09-08  Bruno Haible  <bruno@clisp.org>
52008
52009         * gnulib-tool (func_import): Prefer rsync over wget when available,
52010         for fetching the PO files.
52011
52012 2007-09-08  Bruno Haible  <bruno@clisp.org>
52013
52014         * posix-modules: New file. Portions copied from gnulib-tool.
52015         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
52016
52017 2007-09-08  Jim Meyering  <jim@meyering.net>
52018
52019         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
52020         * lib/fpending.h: Rename from __fpending.h.
52021         * lib/fpending.c: Rename from __fpending.c.
52022         Include "fpending.h", not "__fpending.h".
52023         * lib/__fpending.h, lib/__fpending.c: Remove files.
52024         * modules/fpending (Files): Reflect new file names.
52025         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
52026
52027 2007-09-08  Bruno Haible  <bruno@clisp.org>
52028
52029         * m4/inttypes-h.m4: Remove stub file.
52030
52031 2007-09-07  Simon Josefsson  <simon@josefsson.org>
52032
52033         * doc/headers/stdint.texi: Discuss #include_next issue.
52034
52035 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
52036
52037         * build-aux/bootstrap: Remove obsolete comment about wget --help.
52038
52039 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52040
52041         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
52042         in variable name.
52043
52044 2007-09-03  Jim Meyering  <jim@meyering.net>
52045
52046         New module: git-version-gen.
52047         * modules/git-version-gen: New file.
52048
52049         Import changes from coreutils for bootstrap script.
52050
52051         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
52052
52053         bootstrap: uses rsync to download the .po files
52054         * build-aux/bootstrap (po_download_command_format): New global.
52055         (download_po_files): Use rsync.
52056         (update_po_files): Don't remove .po files after download,
52057         so future rsync runs can take advantage of the copies.
52058
52059         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
52060
52061         Solve the unnecessary-.po-file-regeneration problem once and for all.
52062         * build-aux/bootstrap (download_po_files): New function, renamed from
52063         get_translations.  Now, downloads, but doesn't update LINGUAS.
52064         (update_po_files): New function.
52065
52066         bootstrap: Ignore more.
52067         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
52068         uniwidth to e.g., lib/.gitignore.
52069         (slurp): Handle the sys_stat_.h -> sys mapping, too.
52070
52071         * build-aux/bootstrap: New setting: vc_ignore.
52072         (insert_sorted_if_absent): Create $file if absent.
52073         Adapt to new, possibly empty, list: $vc_ignore.
52074
52075         bootstrap: generate more ignorable names
52076         * build-aux/bootstrap (slurp): When generating ignorable names,
52077         also map .sin to .sed, .gperf to .c, and .y to .c.
52078
52079 2007-09-03  Jim Meyering  <jim@meyering.net>
52080
52081         * build-aux/git-version-gen: New file, from coreutils.  For details, see
52082         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
52083
52084 2007-09-02  Bruno Haible  <bruno@clisp.org>
52085
52086         Fix mis-recognition of 'mcs' on QNX 6.
52087         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
52088         output contains the string "Mono".
52089         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
52090         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
52091
52092 2007-09-01  Bruno Haible  <bruno@clisp.org>
52093
52094         Fix collision between uniwidth/* and linebreak modules.
52095         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
52096         u32_width): Remove declarations.
52097         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
52098         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
52099         streq3, streq2, streq1, streq0): Remove functions.
52100         (STREQ): Remove macro.
52101         (is_cjk_encoding): Remove function.
52102         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
52103         (uc_width, u8_width, u16_width, u32_width): Remove functions.
52104         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
52105         * NEWS: Document the change.
52106
52107 2007-09-01  Bruno Haible  <bruno@clisp.org>
52108
52109         * lib/streq.h: Add double-inclusion guard.
52110
52111 2007-09-01  Karl Berry  <karl@gnu.org>
52112
52113         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
52114
52115 2007-08-28  Jim Meyering  <jim@meyering.net>
52116
52117         Rename mreadlink_with_size to areadlink_with_size.
52118         * NEWS: Document the change.
52119         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
52120         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
52121         * lib/mreadlink.h: Rename this to...
52122         * lib/areadlink.h: ...this.
52123         * modules/mreadlink-with-size: Rename this to...
52124         * modules/areadlink-with-size: ...this.
52125         * lib/canonicalize.c: Reflect the renaming.
52126         * modules/canonicalize: Likewise.
52127
52128 2007-08-26  Bruno Haible  <bruno@clisp.org>
52129
52130         * gnulib-tool (func_import): When deciding which files to remove,
52131         consider also dangling symbolic links.
52132         Reported by Eric Blake.
52133
52134 2007-08-26  Bruno Haible  <bruno@clisp.org>
52135
52136         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
52137
52138 2007-08-23  Simon Josefsson  <simon@josefsson.org>
52139
52140         * lib/readline.c: Don't include getline.h, the prototype is now
52141         found in stdio.h.
52142
52143 2007-08-23  Jim Meyering  <jim@meyering.net>
52144
52145         Getdelim touchup.
52146         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
52147         around the funlockfile call, since funlockfile never sets errno.
52148         Don't set errno upon failed realloc.
52149
52150 2007-08-22  Eric Blake  <ebb9@byu.net>
52151
52152         Getline touchups.
52153         * lib/getdelim.c (getdelim): Revert regression that required *n to
52154         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
52155         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
52156         getdelim, rather than whether implementation is missing.
52157         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
52158         * lib/stdio_.h (getline): Also declare if replacement is
52159         required.
52160         * doc/functions/getdelim.texi: New file.
52161         * doc/functions/getline.texi: Likewise.
52162         * doc/gnulib.texi (Function Substitutes): Add new files.
52163         Reported by Bruno Haible.
52164
52165 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
52166
52167         * users.txt: Add Guile.
52168
52169 2007-08-22  Eric Blake  <ebb9@byu.net>
52170
52171         * tests/test-getdelim.c (main): Use remove, not unlink.
52172         * tests/test-getline.c (main): Likewise.
52173
52174         Move getline and getdelim into stdio.h, per POSIX 200x.
52175         * modules/getline (Files): Remove getline.h.
52176         (Depends-on): Add stdio.
52177         (configure.ac): Add module indicator.
52178         * modules/getdelim (Files): Remove getdelim.h.
52179         (Depends-on): Add stdio.
52180         (configure.ac): Add module indicator.
52181         * modules/stdio (Makefile.am): Work with new indicators.
52182         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
52183         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
52184         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
52185         * lib/getdelim.h: Delete.
52186         * lib/getline.h: Delete.
52187         * lib/stdio_.h (getdelim, getline): Declare.
52188         * modules/getdelim-tests: New module.
52189         * modules/getline-tests: Likewise.
52190         * tests/test-getdelim.c: New file.
52191         * tests/test-getline.c: Likewise.
52192         * NEWS: Document the change.
52193         * lib/getline.c: Update choice of header.
52194         * lib/csharpcomp.c: Likewise.
52195         * lib/getpass.c: Likewise.
52196         * lib/javacomp.c: Likewise.
52197         * lib/javaversion.c: Likewise.
52198         * lib/yesno.c: Likewise.
52199         * lib/getdelim.c: Likewise.
52200         (getdelim): Set errno on failure, and avoid memory leak.
52201
52202 2007-08-19  Bruno Haible  <bruno@clisp.org>
52203
52204         * modules/closein (Depends-on): Add freadahead.
52205         * lib/closein.c: Include freadahead.h.
52206         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
52207         is zero.
52208
52209 2007-08-19  Bruno Haible  <bruno@clisp.org>
52210
52211         * modules/freadahead-tests: New file.
52212         * tests/test-freadahead.sh: New file.
52213         * tests/test-freadahead.c: New file.
52214
52215         * modules/freadahead: New file.
52216         * lib/freadahead.h: New file.
52217         * lib/freadahead.c: New file.
52218         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
52219         fbufmode, fpurge, freadable, fwritable.
52220
52221 2007-08-19  Eric Blake  <ebb9@byu.net>
52222
52223         Test yesno in combination with closein.
52224         * lib/yesno.c (yesno): Document use of stdin.
52225         * modules/yesno-tests (Files): New module.
52226         * tests/test-yesno.c (main): New file.
52227         * tests/test-yesno.sh: Likewise.
52228
52229 2007-08-19  Bruno Haible  <bruno@clisp.org>
52230
52231         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
52232         * lib/fseeko.c (rpl_fseeko): Likewise.
52233         * lib/fseterr.c (fseterr): Likewise.
52234
52235 2007-08-19  Bruno Haible  <bruno@clisp.org>
52236
52237         * tests/test-lseek.c (main): Disable a test for BeOS.
52238         * doc/functions/lseek.texi: Document the BeOS bug.
52239
52240 2007-08-19  Bruno Haible  <bruno@clisp.org>
52241             Eric Blake  <ebb9@byu.net>
52242
52243         * lib/lseek.c: Include <sys/stat.h>.
52244         (rpl_lseek): Add workaround code also for Unix platforms.
52245         Needed for BeOS.
52246         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
52247         * doc/functions/lseek.texi: Document BeOS definiency.
52248
52249 2007-08-18  Bruno Haible  <bruno@clisp.org>
52250
52251         * modules/fstrcmp-tests: New file.
52252         * tests/test-fstrcmp.c: New file.
52253
52254 2007-08-18  Bruno Haible  <bruno@clisp.org>
52255
52256         * modules/fstrcmp: New file, from GNU gettext with modifications.
52257         * lib/fstrcmp.h: New file, from GNU gettext.
52258         * lib/fstrcmp.c: New file, from GNU gettext.
52259         * MODULES.html.sh (String handling): Add fstrcmp.
52260
52261 2007-08-18  Bruno Haible  <bruno@clisp.org>
52262
52263         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
52264         'bool'.
52265         (diag, compareseq): Remove const from the ctxt argument.
52266         (USE_HEURISTIC): Undefine at the end.
52267
52268 2007-08-18  Jim Meyering  <jim@meyering.net>
52269
52270         New file: lib/idcache.h
52271         * NEWS: Mention the addition.
52272         * modules/idcache (Files): Add lib/idcache.h
52273         * lib/idcache.c: Include "idcache.h".
52274         Don't include <sys/types.h>.
52275         Add a FIXME comment.
52276         Move file-scoped "static" declarations to the top.
52277         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
52278
52279 2007-08-17  Bruno Haible  <bruno@clisp.org>
52280         and Paul Eggert  <eggert@cs.ucla.edu>
52281
52282         * MODULES.html.sh: Add diffseq.
52283         * modules/diffseq: New file.
52284         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
52285         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
52286
52287 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
52288
52289         Import changes from coreutils for bootstrap script.
52290
52291         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
52292
52293         * build-aux/bootstrap (slurp): Work even in environments where
52294         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
52295         current code does not slurp files whose names start with ".", and
52296         this looks like it might be a troublesome area.
52297
52298         2007-07-11  Jim Meyering  <jim@meyering.net>
52299
52300         If there's a GPL vN copyright comment, require that N == 3.
52301
52302         2007-07-08  Jim Meyering  <jim@meyering.net>
52303
52304         Run the coreutils-specific code only if tests/Makefile.am.in exists.
52305         * build-aux/bootstrap (mam_template): Move definition out of loop.
52306
52307         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
52308
52309         * build-aux/bootstrap (symlink_to_dir): Rename function from
52310         symlink_to_gnulib.  Add a directory parameter.  Update all
52311         callers.
52312         (cp_mark_as_generated): Also check for -- and link to -- files in
52313         gl/.
52314
52315         2007-07-08  Jim Meyering  <jim@meyering.net>
52316
52317         Adapt to deeper hierarchy in gnulib.
52318         * build-aux/bootstrap (symlink_to_dir): If the destination
52319         directory doesn't exist, create it. This is required at least for
52320         "lib/uniwidth/cjk.h".
52321
52322         2007-05-15  Jim Meyering  <jim@meyering.net>
52323
52324         * build-aux/bootstrap: Now that generated Makefile.am files
52325         are no longer under version control, they must be created at
52326         bootstrap time.
52327
52328 2007-08-14  Ben Pfaff  <blp@gnu.org>
52329
52330         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
52331
52332 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
52333
52334         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
52335         given the changes below.
52336         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
52337         even on hosts that have padding bits beyond the supported 64.
52338
52339 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
52340
52341         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
52342         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
52343         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
52344         depends on it.
52345         (xstrtol_error): Remove.
52346         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
52347         but with a different signature.
52348         (ATTRIBUTE_NORETURN, __attribute__): New macros.
52349         * lib/xstrtol-error.c: Include exitfail.h.
52350         (xstrtol_fatal): New function, with a different signature from the
52351         old xstrtol_error, so that the caller need not worry about passing
52352         in an exit status, or about storage management of the option argument.
52353         (xstrtol_error): Now a static function.  Redo signature to
52354         implement xstrtol_fatal.  Output the correct number of hyphens in
52355         front of the option so that the caller need not worry about
52356         storage management.
52357         (N_): New macro.
52358         (_): Remove; not used now.
52359         * modules/xstrtol: Depend on getopt.
52360         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
52361         of old STRTOL_FATAL_ERROR macro.
52362         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
52363         of test program.
52364         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
52365         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
52366
52367 2007-08-08  Eric Blake  <ebb9@byu.net>
52368
52369         * lib/xstrtol-error.c: Add missing include.
52370
52371         Move xstrtol messages into gnulib domain, when --pobase is used.
52372         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
52373         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
52374         * modules/xstrtol (Files): Distribute new file.
52375         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
52376         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
52377         * tests/test-xstrtol.c: ...into new file.
52378         * tests/test-xstrtoul.c: Also test xstrtoul.
52379         * tests/test-xstrtoimax.c: Also test xstrtoimax.
52380         * tests/test-xstrtoumax.c: Also test xstrtoumax.
52381         * tests/test-xstrtol.sh: Drive the tests.
52382         * tests/test-xstrtoimax.sh: Likewise.
52383         * tests/test-xstrtoumax.sh: Likewise.
52384         * modules/xstrtol-tests: New module.
52385         * modules/xstrtoimax-tests: Likewise.
52386         * modules/xstrtoumax-tests: Likewise.
52387
52388 2007-08-08  Jim Meyering  <jim@meyering.net>
52389
52390         New function: mfile_name_concat.
52391         * lib/filenamecat.c (mfile_name_concat): New function, just like
52392         file_name_concat, but return NULL upon failure rather than exiting
52393         with a diagnostic.
52394         * lib/filenamecat.h: Declare it.
52395
52396 2007-08-07  Bruno Haible  <bruno@clisp.org>
52397
52398         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
52399         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
52400         warning from gcc.
52401         Reported by Eric Blake.
52402
52403 2007-08-07  Simon Josefsson  <simon@josefsson.org>
52404
52405         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
52406         * modules/crypto/arcfour (License): Likewise.
52407         * modules/crypto/des-tests (License): Likewise.
52408         * modules/crypto/gc-arctwo-tests (License): Likewise.
52409         * modules/crypto/gc-des-tests (License): Likewise.
52410         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
52411         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
52412         * modules/crypto/gc-md2-tests (License): Likewise.
52413         * modules/crypto/gc-md4-tests (License): Likewise.
52414         * modules/crypto/gc-md5-tests (License): Likewise.
52415         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
52416         * modules/crypto/gc-rijndael-tests (License): Likewise.
52417         * modules/crypto/gc-sha1-tests (License): Likewise.
52418         * modules/crypto/gc-tests (License): Likewise.
52419         * modules/crypto/hmac-md5 (License): Likewise.
52420         * modules/crypto/hmac-sha1 (License): Likewise.
52421         * modules/crypto/md2-tests (License): Likewise.
52422         * modules/crypto/md4-tests (License): Likewise.
52423         * modules/crypto/md5 (License): Likewise.
52424         * modules/crypto/rijndael (License): Likewise.
52425         * modules/crypto/sha1 (License): Likewise.
52426         * modules/memxor (License): Likewise.
52427
52428 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
52429         and Bruno Haible  <bruno@clisp.org>
52430
52431         * NEWS: Describe interface changes to human, xstrtol.
52432         * lib/human.h: Include <xstrtol.h>.
52433         (human_options): Return enum strtol_error, not int.  Remove
52434         bool arg; take int * instead.
52435         * lib/human.c: Don't include "gettext.h".
52436         (_): Remove; no longer used.
52437         Don't include <xstrtol.h>, since human.h does it.
52438         (human_options): Adjust to abovementioned interface changes.
52439         Do not report error to stderr; that's now the caller's
52440         responsibility.
52441         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
52442         interface change.
52443         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
52444         Str, Argument_type_string.  All uses changed.  Put " argument"
52445         in diagnostics to make them clearer.  Change wording of suffix
52446         message for clarity.
52447         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
52448         Argument_type_string.
52449         (STRTOL_FATAL_WARN): Remove; no longer used.
52450         * modules/human (Depends-on): Remove gettext-h.
52451
52452 2007-08-06  Simon Josefsson  <simon@josefsson.org>
52453
52454         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
52455
52456 2007-07-31  Bruno Haible  <bruno@clisp.org>
52457
52458         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
52459         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
52460         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
52461
52462 2007-07-31  Bruno Haible  <bruno@clisp.org>
52463
52464         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
52465         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
52466
52467 2007-07-30  Bruno Haible  <bruno@clisp.org>
52468
52469         * modules/base64 (License): Use the synonymous term "LGPLv2+".
52470         * modules/c-ctype (License): Likewise.
52471         * modules/c-strcase (License): Likewise.
52472         * modules/check-version (License): Likewise.
52473         * modules/iconv (License): Likewise.
52474         * modules/iconv_open (License): Likewise.
52475         * modules/read-file (License): Likewise.
52476         * modules/striconv (License): Likewise.
52477         * modules/strverscmp (License): Likewise.
52478         * modules/vasprintf (License): Likewise.
52479         * modules/crypto/des (License): Likewise.
52480         * modules/crypto/gc (License): Likewise.
52481         * modules/crypto/gc-arcfour (License): Likewise.
52482         * modules/crypto/gc-arctwo (License): Likewise.
52483         * modules/crypto/gc-des (License): Likewise.
52484         * modules/crypto/gc-hmac-md5 (License): Likewise.
52485         * modules/crypto/gc-hmac-sha1 (License): Likewise.
52486         * modules/crypto/gc-md2 (License): Likewise.
52487         * modules/crypto/gc-md4 (License): Likewise.
52488         * modules/crypto/gc-md5 (License): Likewise.
52489         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
52490         * modules/crypto/gc-random (License): Likewise.
52491         * modules/crypto/gc-rijndael (License): Likewise.
52492         * modules/crypto/gc-sha1 (License): Likewise.
52493         * modules/crypto/md2 (License): Likewise.
52494         * modules/crypto/md4 (License): Likewise.
52495
52496 2007-07-30  Jim Meyering  <jim@meyering.net>
52497
52498         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
52499         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
52500         it has valid stat data.  This bug would cause du not to count the
52501         sizes of inaccessible directories.
52502         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
52503         in <http://bugzilla.redhat.com/250077>.
52504
52505 2007-07-25  Peter O'Gorman  <peter@pogma.com>
52506             Bruno Haible  <bruno@clisp.org>
52507
52508         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
52509         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
52510         #include_next, gives a diagnostic about it, but reports no error in
52511         the exit code.
52512         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
52513
52514 2007-07-24  Ben Pfaff  <blp@gnu.org>
52515
52516         Improve name: "count-one-bits" is better than "popcount".
52517         * MODULES.html.sh: Update name.
52518         * lib/popcount.h: Renamed lib/count-one-bits.h.
52519         (popcount): Renamed count_one_bits.
52520         (popcountl): Renamed count_one_bits_l.
52521         (popcountll): Renamed count_one_bits_ll.
52522         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
52523         * modules/popcount: Renamed module/count-one-bits.
52524         * modules/popcount-tests: Renamed module/count-one-bits-tests.
52525         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
52526
52527 2007-07-23  Ben Pfaff  <blp@gnu.org>
52528
52529         * lib/popcount.h (popcount32): Reduce size of constants, to allow
52530         better code generation, and add U to large constants to avoid
52531         warnings, in non-GCC case.
52532         Suggested by Bruno Haible.
52533
52534 2007-07-23  Ben Pfaff  <blp@gnu.org>
52535
52536         * lib/popcount.h: Use verify_true instead of if...abort.
52537         * modules/popcount: Depend on verify module.
52538         Suggested by Jim Meyering.
52539
52540 2007-07-23  Bruno Haible  <bruno@clisp.org>
52541
52542         * gnulib-tool (func_import): Create a .cvsignore file also when the
52543         directory is not yet in CVS but the toplevel directory is. When
52544         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
52545         Reported by Karl Berry.
52546
52547 2007-07-22  Ben Pfaff  <blp@gnu.org>
52548
52549         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
52550         case.
52551         Suggested by Eric Blake.
52552
52553 2007-07-22  Ben Pfaff  <blp@gnu.org>
52554
52555         New module: popcount.
52556         * MODULES.html.sh: Add popcount.
52557         * modules/popcount: New file.
52558         * modules/popcount-tests: New file.
52559         * tests/test-popcount.c: New file.
52560         * lib/popcount.h: New file.
52561         * m4/popcount.m4: New file.
52562
52563 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
52564
52565         * build-aux/announce-gen: Update to GPLv3.
52566
52567         * build-aux/config.guess: Update from config.
52568
52569 2007-07-21  Bruno Haible  <bruno@clisp.org>
52570
52571         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
52572         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
52573
52574 2007-07-20  Jim Meyering  <jim@meyering.net>
52575
52576         * check-module: Diagnose a self-dependency.
52577
52578 2007-07-19  Bruno Haible  <bruno@clisp.org>
52579
52580         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
52581         empty.
52582         Reported by Eric Blake.
52583
52584 2007-07-18  Bruno Haible  <bruno@clisp.org>
52585
52586         * gnulib-tool: New options --po-base, --po-domain.
52587         (func_usage): Document them.
52588         (pobase, po_domain): New variables.
52589         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
52590         DEFAULT_TEXT_DOMAIN.
52591         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
52592         (func_import): Consider pobase and po_domain. Create a po/ directory.
52593         (func_create_testdir): Set pobase and po_domain to empty.
52594         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
52595         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
52596
52597 2007-07-18  Bruno Haible  <bruno@clisp.org>
52598
52599         * gnulib-tool (func_get_automake_snippet): Synthesize also an
52600         EXTRA_DIST augmentation for files in build-aux/.
52601
52602 2007-07-16  Bruno Haible  <bruno@clisp.org>
52603
52604         * modules/lseek (License): Use the synonymous term "LGPLv2+".
52605         * modules/getdelim (License): Likewise.
52606
52607 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52608
52609         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
52610         * modules/d-type (License): Likewise.
52611         * modules/extensions (License): Likewise.
52612         * modules/fnmatch (License): Likewise.
52613         * modules/fseeko (License): Likewise.
52614         * modules/getaddrinfo (License): Likewise.
52615         * modules/getline (License): Likewise.
52616         * modules/getlogin_r (License): Likewise.
52617         * modules/getpass (License): Likewise.
52618         * modules/gettimeofday (License): Likewise.
52619         * modules/glob (License): Likewise.
52620         * modules/inet_ntop (License): Likewise.
52621         * modules/malloc (License): Likewise.
52622         * modules/malloca (License): Likewise.
52623         * modules/memmem (License): Likewise.
52624         * modules/mempcpy (License): Likewise.
52625         * modules/memset (License): Likewise.
52626         * modules/minmax (License): Likewise.
52627         * modules/mktime (License): Likewise.
52628         * modules/netinet_in (License): Likewise.
52629         * modules/pathmax (License): Likewise.
52630         * modules/poll (License): Likewise.
52631         * modules/regex (License): Likewise.
52632         * modules/snprintf (License): Likewise.
52633         * modules/stdbool (License): Likewise.
52634         * modules/stdint (License): Likewise.
52635         * modules/stdio (License): Likewise.
52636         * modules/strcase (License): Likewise.
52637         * modules/strcasestr (License): Likewise.
52638         * modules/strdup (License): Likewise.
52639         * modules/string (License): Likewise.
52640         * modules/strndup (License): Likewise.
52641         * modules/strnlen (License): Likewise.
52642         * modules/strpbrk (License): Likewise.
52643         * modules/strptime (License): Likewise.
52644         * modules/strsep (License): Likewise.
52645         * modules/sys_select (License): Likewise.
52646         * modules/sys_socket (License): Likewise.
52647         * modules/sys_stat (License): Likewise.
52648         * modules/sys_time (License): Likewise.
52649         * modules/time (License): Likewise.
52650         * modules/time_r (License): Likewise.
52651         * modules/timegm (License): Likewise.
52652         * modules/unistd (License): Likewise.
52653         * modules/vsnprintf (License): Likewise.
52654         * modules/wctype (License): Likewise.
52655
52656 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52657
52658         * modules/argz (License): LGPLv2+.
52659
52660 2007-07-15  Karl Berry  <karl@gnu.org>
52661
52662         * doc/gnulib.texi: revise node structure per new fdl.texi.
52663
52664 2007-07-14  Bruno Haible  <bruno@clisp.org>
52665
52666         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
52667         the output file.
52668         * lib/uniname/uninames.h: Regenerated.
52669
52670 2007-07-14  Karl Berry  <karl@gnu.org>
52671
52672         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
52673         omitting sectioning and index commands.
52674
52675 2007-07-13  Bruno Haible  <bruno@clisp.org>
52676
52677         New gnulib-tool option --more-symlinks.
52678         * gnulib-tool (func_usage): Document --more-symlinks.
52679         (do_copyrights): New variable.
52680         Recognize option --more-symlinks.
52681         (func_import): Don't add a copyright notice transform to
52682         sed_transform_lib_file if do_copyrights is empty.
52683
52684 2007-07-13  Bruno Haible  <bruno@clisp.org>
52685
52686         * lib/vasnprintf.c (decimal_point_char): Define also if
52687         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
52688         && !NEED_PRINTF_DIRECTIVE_A.
52689         Reported by Clemens Koller <clemens.koller@anagramm.de> via
52690         Gary V. Vaughan <gary@gnu.org>.
52691
52692 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
52693
52694         * lib/inttypes_.h: Undo previous change, since it was fixed
52695         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
52696
52697 2007-07-13  Bruno Haible  <bruno@clisp.org>
52698
52699         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
52700         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
52701
52702 2007-07-13  Jim Meyering  <jim@meyering.net>
52703
52704         df: Don't fail for Tru64's "file-on-file mount".
52705         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
52706         so we fall through and use statfs instead.  Details here:
52707         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
52708         Reported by Albert Chin.
52709
52710 2007-07-13  Bruno Haible  <bruno@clisp.org>
52711
52712         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
52713         * modules/configmake (License): Likewise.
52714         * modules/gettext (License): Likewise.
52715         * modules/gettext-h (License): Likewise.
52716         * modules/include_next (License): Likewise.
52717         * modules/link-warning (License): Likewise.
52718         * modules/localcharset (License): Likewise.
52719         * modules/localename (License): Likewise.
52720         * modules/lock (License): Likewise.
52721         * modules/relocatable-lib-lgpl (License): Likewise.
52722         * modules/size_max (License): Likewise.
52723         * modules/vasnprintf (License): Likewise.
52724         * modules/wchar (License): Likewise.
52725         * modules/xsize (License): Likewise.
52726
52727 2007-07-13  Bruno Haible  <bruno@clisp.org>
52728
52729         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
52730         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
52731
52732 2007-07-12  Bruno Haible  <bruno@clisp.org>
52733
52734         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
52735         in the modules files.
52736
52737 2007-07-11  Karl Berry  <karl@gnu.org>
52738
52739         * MODULES.html.sh (func_module): use
52740          sed -e '\|^'"${includefile}"'$|d'
52741          instead of /.../d, to avoid errors on $includefile's containing /.
52742
52743 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
52744
52745         * gnulib-tool (func_import): Avoid duplication of --avoid
52746         statements
52747         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
52748         names to `_' in variable names.
52749
52750 2007-07-10  Eric Blake  <ebb9@byu.net>
52751
52752         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
52753         * NEWS: Document this change.
52754
52755 2007-07-08  Bruno Haible  <bruno@clisp.org>
52756
52757         Update to Unicode 5.0.
52758         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
52759         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
52760         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
52761         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
52762         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
52763         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
52764         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
52765         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
52766         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
52767         U+10A3F, U+1D242..U+1D244.
52768         (nonspacing_table_ind): Update.
52769         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
52770         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
52771
52772 2007-07-08  Bruno Haible  <bruno@clisp.org>
52773
52774         Update to Unicode 5.0.
52775         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
52776         code transform. Extend the name index field of unicode_name_to_code and
52777         unicode_code_to_name from 16 to 24 bits.
52778         * lib/uniname/uniname.c (unicode_character_name,
52779         unicode_name_character): Add the range 0x12xxx to the code transform.
52780         * lib/uniname/uninames.h: Regenerated.
52781         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
52782
52783 2007-07-07  Bruno Haible  <bruno@clisp.org>
52784
52785         * modules/wcwidth-tests: New file.
52786         * tests/test-wcwidth.c: New file.
52787
52788         Work around MacOS X wcwidth() bug.
52789         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
52790         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
52791         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
52792         original wcwidth in non-UTF-8 locales.
52793         * modules/wcwidth (Depends-on): Add localcharset, streq,
52794         uniwidth/width.
52795         * doc/functions/wcwidth.texi: Update.
52796
52797 2007-07-07  Bruno Haible  <bruno@clisp.org>
52798
52799         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
52800         (wcwidth): New declaration.
52801         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
52802         macros.
52803         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
52804         here. Prepare for creating <wchar.h> unconditionally.
52805         * modules/wchar (Depends-on): Add link-warning.
52806         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
52807         REPLACE_WCWIDTH, and GL_LINK_WARNING.
52808         * lib/wcwidth.h: Remove file.
52809         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
52810         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
52811         * modules/wcwidth (Files): Remove lib/wcwidth.h.
52812         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
52813         (Include): Replace wcwidth.h with <wchar.h>.
52814         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
52815         * lib/mbchar.h: Don't include wcwidth.h.
52816         * lib/mbswidth.c: Likewise.
52817         * NEWS: Mention the change.
52818
52819 2007-07-07  Bruno Haible  <bruno@clisp.org>
52820
52821         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
52822         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
52823         definition with an external declaration.
52824         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
52825         defined as a function. Remove AC_C_INLINE requirement.
52826         * modules/wcwidth (Files): Add lib/wcwidth.c.
52827         (Makefile.am): Remove redundant statement.
52828
52829 2007-07-07  Bruno Haible  <bruno@clisp.org>
52830
52831         * MODULES.html.sh (Unicode string functions): Add the new modules.
52832
52833         * tests/uniwidth/test-u32-strwidth.c: New file.
52834         * modules/uniwidth/u32-strwidth-tests: New file.
52835
52836         * lib/uniwidth/u32-strwidth.c: New file.
52837         * modules/uniwidth/u32-strwidth: New file.
52838
52839         * tests/uniwidth/test-u16-strwidth.c: New file.
52840         * modules/uniwidth/u16-strwidth-tests: New file.
52841
52842         * lib/uniwidth/u16-strwidth.c: New file.
52843         * modules/uniwidth/u16-strwidth: New file.
52844
52845         * tests/uniwidth/test-u8-strwidth.c: New file.
52846         * modules/uniwidth/u8-strwidth-tests: New file.
52847
52848         * lib/uniwidth/u8-strwidth.c: New file.
52849         * modules/uniwidth/u8-strwidth: New file.
52850
52851         * tests/uniwidth/test-u32-width.c: New file.
52852         * modules/uniwidth/u32-width-tests: New file.
52853
52854         * lib/uniwidth/u32-width.c: New file.
52855         * modules/uniwidth/u32-width: New file.
52856
52857         * tests/uniwidth/test-u16-width.c: New file.
52858         * modules/uniwidth/u16-width-tests: New file.
52859
52860         * lib/uniwidth/u16-width.c: New file.
52861         * modules/uniwidth/u16-width: New file.
52862
52863         * tests/uniwidth/test-u8-width.c: New file.
52864         * modules/uniwidth/u8-width-tests: New file.
52865
52866         * lib/uniwidth/u8-width.c: New file.
52867         * modules/uniwidth/u8-width: New file.
52868
52869         * tests/uniwidth/test-uc_width.c: New file.
52870         * modules/uniwidth/width-tests: New file.
52871
52872         * lib/uniwidth/width.c: New file, from GNU libiconv.
52873         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
52874         * modules/uniwidth/width: New file.
52875
52876         * lib/uniwidth.h: New file, from GNU libiconv.
52877         * modules/uniwidth/base: New file.
52878
52879 2007-07-07  Bruno Haible  <bruno@clisp.org>
52880
52881         * lib/uniname.h: New file, from GNU gettext.
52882         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
52883         * lib/uniname/uninames.h: New file, from GNU gettext.
52884         * lib/uniname/uniname.c: New file, from GNU gettext.
52885         * tests/uniname/test-uninames.sh: New file.
52886         * tests/uniname/test-uninames.c: New file, from GNU gettext.
52887         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
52888         * modules/uniname/base: New file.
52889         * modules/uniname/uniname: New file.
52890         * modules/uniname/uniname-tests: New file.
52891         * MODULES.html.sh (Unicode string functions): Add the new modules.
52892
52893 2007-07-06  Bruno Haible  <bruno@clisp.org>
52894
52895         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
52896
52897 2007-07-06  Bruno Haible  <bruno@clisp.org>
52898
52899         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
52900         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
52901         includes <cygwin/sys_time.h> which includes <sys/select.h> which
52902         include <sys/time.h>.
52903         Reported by Eric Blake.
52904
52905 2007-07-06  Eric Blake  <ebb9@byu.net>
52906
52907         Fix testing canonicalize on cygwin.
52908         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
52909         Revert patch from 2007-06-19.
52910         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
52911         canonicalize module is also in use.
52912         * tests/test-canonicalize.c: New file.
52913         * tests/test-canonicalize.sh: Likewise.
52914         * modules/canonicalize-tests: Likewise.
52915
52916 2007-07-06  Jim Meyering  <jim@meyering.net>
52917
52918         * lib/getugroups.c (getugroups): Detect getgrent failure.
52919         Adjust comment to reflect reality: this function may return -1.
52920
52921 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
52922
52923         * build-aux/bootstrap (TP_URL,get_translations): Update to use
52924         the new TP address.
52925         (usage): Fix typo
52926         (gnulib_mk): New variable.
52927
52928 2007-07-05  Jim Meyering  <jim@meyering.net>
52929
52930         Don't let endgrent clobber errno, no matter how improbable.
52931         * lib/getugroups.c (getugroups): Save and restore errno around
52932         endgrent call.
52933
52934         Close the group DB even when failing with 2^31 or more members.
52935         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
52936
52937 2007-07-04  Jim Meyering  <jim@meyering.net>
52938
52939         * lib/getugroups.h: New file.
52940         * lib/getugroups.c: Include "getugroups.h".
52941         Remove uses of "register" keyword.
52942         Move local variable, "cp", down into scope where used.
52943         Give "username" parameter the "const" attribute.
52944         * modules/getugroups (Files): Add lib/getugroups.h
52945
52946 2007-07-04  Karl Berry  <karl@gnu.org>
52947
52948         * MODULES.html.sh (func_all_modules): Complete rename of
52949         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
52950
52951 2007-07-02  Bruno Haible  <bruno@clisp.org>
52952
52953         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
52954         mode, when inttypes.h comes from gnulib.
52955         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
52956
52957 2007-07-02  Simon Josefsson  <simon@josefsson.org>
52958
52959         * NEWS: Mention lgpl module name change.
52960
52961         * modules/lgpl-2.1: Renamed from lgpl.
52962
52963         * NEWS: Mention gpl module name change.
52964
52965         * modules/gpl-3.0: New file, based on gpl-2.0.
52966
52967         * modules/gpl-2.0: Renamed from gpl.
52968
52969         * modules/gpl: Fix filename, doc/gpl.texi is now found at
52970         doc/gpl-2.0.texi.
52971
52972 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
52973
52974         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
52975         #define __STDC_LIMIT_MACROS temporarily while including
52976         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
52977         Problem reported by Joel E. Denny in
52978         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
52979
52980 2007-07-01  Bruno Haible  <bruno@clisp.org>
52981
52982         * lib/unistdio.h: New file.
52983         * lib/unistdio/u-asnprintf.h: New file.
52984         * lib/unistdio/u-asprintf.h: New file.
52985         * lib/unistdio/u-printf-args.c: New file.
52986         * lib/unistdio/u-printf-args.h: New file.
52987         * lib/unistdio/u-printf-parse.h: New file.
52988         * lib/unistdio/u-snprintf.h: New file.
52989         * lib/unistdio/u-sprintf.h: New file.
52990         * lib/unistdio/u-vasprintf.h: New file.
52991         * lib/unistdio/u-vsnprintf.h: New file.
52992         * lib/unistdio/u-vsprintf.h: New file.
52993         * lib/unistdio/ulc-asnprintf.c: New file.
52994         * lib/unistdio/ulc-asprintf.c: New file.
52995         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
52996         * lib/unistdio/ulc-printf-parse.c: New file.
52997         * lib/unistdio/ulc-snprintf.c: New file.
52998         * lib/unistdio/ulc-sprintf.c: New file.
52999         * lib/unistdio/ulc-vasnprintf.c: New file.
53000         * lib/unistdio/ulc-vasprintf.c: New file.
53001         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
53002         * lib/unistdio/ulc-vsnprintf.c: New file.
53003         * lib/unistdio/ulc-vsprintf.c: New file.
53004         * lib/unistdio/u8-asnprintf.c: New file.
53005         * lib/unistdio/u8-asprintf.c: New file.
53006         * lib/unistdio/u8-printf-parse.c: New file.
53007         * lib/unistdio/u8-snprintf.c: New file.
53008         * lib/unistdio/u8-sprintf.c: New file.
53009         * lib/unistdio/u8-vasnprintf.c: New file.
53010         * lib/unistdio/u8-vasprintf.c: New file.
53011         * lib/unistdio/u8-vsnprintf.c: New file.
53012         * lib/unistdio/u8-vsprintf.c: New file.
53013         * lib/unistdio/u8-u8-asnprintf.c: New file.
53014         * lib/unistdio/u8-u8-asprintf.c: New file.
53015         * lib/unistdio/u8-u8-snprintf.c: New file.
53016         * lib/unistdio/u8-u8-sprintf.c: New file.
53017         * lib/unistdio/u8-u8-vasnprintf.c: New file.
53018         * lib/unistdio/u8-u8-vasprintf.c: New file.
53019         * lib/unistdio/u8-u8-vsnprintf.c: New file.
53020         * lib/unistdio/u8-u8-vsprintf.c: New file.
53021         * lib/unistdio/u16-asnprintf.c: New file.
53022         * lib/unistdio/u16-asprintf.c: New file.
53023         * lib/unistdio/u16-printf-parse.c: New file.
53024         * lib/unistdio/u16-snprintf.c: New file.
53025         * lib/unistdio/u16-sprintf.c: New file.
53026         * lib/unistdio/u16-vasnprintf.c: New file.
53027         * lib/unistdio/u16-vasprintf.c: New file.
53028         * lib/unistdio/u16-vsnprintf.c: New file.
53029         * lib/unistdio/u16-vsprintf.c: New file.
53030         * lib/unistdio/u16-u16-asnprintf.c: New file.
53031         * lib/unistdio/u16-u16-asprintf.c: New file.
53032         * lib/unistdio/u16-u16-snprintf.c: New file.
53033         * lib/unistdio/u16-u16-sprintf.c: New file.
53034         * lib/unistdio/u16-u16-vasnprintf.c: New file.
53035         * lib/unistdio/u16-u16-vasprintf.c: New file.
53036         * lib/unistdio/u16-u16-vsnprintf.c: New file.
53037         * lib/unistdio/u16-u16-vsprintf.c: New file.
53038         * lib/unistdio/u32-asnprintf.c: New file.
53039         * lib/unistdio/u32-asprintf.c: New file.
53040         * lib/unistdio/u32-printf-parse.c: New file.
53041         * lib/unistdio/u32-snprintf.c: New file.
53042         * lib/unistdio/u32-sprintf.c: New file.
53043         * lib/unistdio/u32-vasnprintf.c: New file.
53044         * lib/unistdio/u32-vasprintf.c: New file.
53045         * lib/unistdio/u32-vsnprintf.c: New file.
53046         * lib/unistdio/u32-vsprintf.c: New file.
53047         * lib/unistdio/u32-u32-asnprintf.c: New file.
53048         * lib/unistdio/u32-u32-asprintf.c: New file.
53049         * lib/unistdio/u32-u32-snprintf.c: New file.
53050         * lib/unistdio/u32-u32-sprintf.c: New file.
53051         * lib/unistdio/u32-u32-vasnprintf.c: New file.
53052         * lib/unistdio/u32-u32-vasprintf.c: New file.
53053         * lib/unistdio/u32-u32-vsnprintf.c: New file.
53054         * lib/unistdio/u32-u32-vsprintf.c: New file.
53055         * tests/unistdio/test-ulc-asnprintf1.c: New file.
53056         * tests/unistdio/test-ulc-asnprintf1.h: New file.
53057         * tests/unistdio/test-ulc-printf1.h: New file.
53058         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
53059         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
53060         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
53061         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
53062         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
53063         * tests/unistdio/test-ulc-vasprintf1.c: New file.
53064         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
53065         * tests/unistdio/test-ulc-vsprintf1.c: New file.
53066         * tests/unistdio/test-u8-asnprintf1.c: New file.
53067         * tests/unistdio/test-u8-asnprintf1.h: New file.
53068         * tests/unistdio/test-u8-printf1.h: New file.
53069         * tests/unistdio/test-u8-vasnprintf1.c: New file.
53070         * tests/unistdio/test-u8-vasnprintf2.c: New file.
53071         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
53072         * tests/unistdio/test-u8-vasnprintf3.c: New file.
53073         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
53074         * tests/unistdio/test-u8-vasprintf1.c: New file.
53075         * tests/unistdio/test-u8-vsnprintf1.c: New file.
53076         * tests/unistdio/test-u8-vsprintf1.c: New file.
53077         * tests/unistdio/test-u16-asnprintf1.c: New file.
53078         * tests/unistdio/test-u16-asnprintf1.h: New file.
53079         * tests/unistdio/test-u16-printf1.h: New file.
53080         * tests/unistdio/test-u16-vasnprintf1.c: New file.
53081         * tests/unistdio/test-u16-vasnprintf2.c: New file.
53082         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
53083         * tests/unistdio/test-u16-vasnprintf3.c: New file.
53084         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
53085         * tests/unistdio/test-u16-vasprintf1.c: New file.
53086         * tests/unistdio/test-u16-vsnprintf1.c: New file.
53087         * tests/unistdio/test-u16-vsprintf1.c: New file.
53088         * tests/unistdio/test-u32-asnprintf1.c: New file.
53089         * tests/unistdio/test-u32-asnprintf1.h: New file.
53090         * tests/unistdio/test-u32-printf1.h: New file.
53091         * tests/unistdio/test-u32-vasnprintf1.c: New file.
53092         * tests/unistdio/test-u32-vasnprintf2.c: New file.
53093         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
53094         * tests/unistdio/test-u32-vasnprintf3.c: New file.
53095         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
53096         * tests/unistdio/test-u32-vasprintf1.c: New file.
53097         * tests/unistdio/test-u32-vsnprintf1.c: New file.
53098         * tests/unistdio/test-u32-vsprintf1.c: New file.
53099         * modules/unistdio/base: New file.
53100         * modules/unistdio/u-printf-args: New file.
53101         * modules/unistdio/ulc-asnprintf: New file.
53102         * modules/unistdio/ulc-asprintf: New file.
53103         * modules/unistdio/ulc-fprintf: New file.
53104         * modules/unistdio/ulc-printf-parse: New file.
53105         * modules/unistdio/ulc-snprintf: New file.
53106         * modules/unistdio/ulc-sprintf: New file.
53107         * modules/unistdio/ulc-vasnprintf: New file.
53108         * modules/unistdio/ulc-vasprintf: New file.
53109         * modules/unistdio/ulc-vfprintf: New file.
53110         * modules/unistdio/ulc-vsnprintf: New file.
53111         * modules/unistdio/ulc-vsprintf: New file.
53112         * modules/unistdio/u8-asnprintf: New file.
53113         * modules/unistdio/u8-asprintf: New file.
53114         * modules/unistdio/u8-printf-parse: New file.
53115         * modules/unistdio/u8-snprintf: New file.
53116         * modules/unistdio/u8-sprintf: New file.
53117         * modules/unistdio/u8-vasnprintf: New file.
53118         * modules/unistdio/u8-vasprintf: New file.
53119         * modules/unistdio/u8-vsnprintf: New file.
53120         * modules/unistdio/u8-vsprintf: New file.
53121         * modules/unistdio/u8-u8-asnprintf: New file.
53122         * modules/unistdio/u8-u8-asprintf: New file.
53123         * modules/unistdio/u8-u8-snprintf: New file.
53124         * modules/unistdio/u8-u8-sprintf: New file.
53125         * modules/unistdio/u8-u8-vasnprintf: New file.
53126         * modules/unistdio/u8-u8-vasprintf: New file.
53127         * modules/unistdio/u8-u8-vsnprintf: New file.
53128         * modules/unistdio/u8-u8-vsprintf: New file.
53129         * modules/unistdio/u16-asnprintf: New file.
53130         * modules/unistdio/u16-asprintf: New file.
53131         * modules/unistdio/u16-printf-parse: New file.
53132         * modules/unistdio/u16-snprintf: New file.
53133         * modules/unistdio/u16-sprintf: New file.
53134         * modules/unistdio/u16-vasnprintf: New file.
53135         * modules/unistdio/u16-vasprintf: New file.
53136         * modules/unistdio/u16-vsnprintf: New file.
53137         * modules/unistdio/u16-vsprintf: New file.
53138         * modules/unistdio/u16-u16-asnprintf: New file.
53139         * modules/unistdio/u16-u16-asprintf: New file.
53140         * modules/unistdio/u16-u16-snprintf: New file.
53141         * modules/unistdio/u16-u16-sprintf: New file.
53142         * modules/unistdio/u16-u16-vasnprintf: New file.
53143         * modules/unistdio/u16-u16-vasprintf: New file.
53144         * modules/unistdio/u16-u16-vsnprintf: New file.
53145         * modules/unistdio/u16-u16-vsprintf: New file.
53146         * modules/unistdio/u32-asnprintf: New file.
53147         * modules/unistdio/u32-asprintf: New file.
53148         * modules/unistdio/u32-printf-parse: New file.
53149         * modules/unistdio/u32-snprintf: New file.
53150         * modules/unistdio/u32-sprintf: New file.
53151         * modules/unistdio/u32-vasnprintf: New file.
53152         * modules/unistdio/u32-vasprintf: New file.
53153         * modules/unistdio/u32-vsnprintf: New file.
53154         * modules/unistdio/u32-vsprintf: New file.
53155         * modules/unistdio/u32-u32-asnprintf: New file.
53156         * modules/unistdio/u32-u32-asprintf: New file.
53157         * modules/unistdio/u32-u32-snprintf: New file.
53158         * modules/unistdio/u32-u32-sprintf: New file.
53159         * modules/unistdio/u32-u32-vasnprintf: New file.
53160         * modules/unistdio/u32-u32-vasprintf: New file.
53161         * modules/unistdio/u32-u32-vsnprintf: New file.
53162         * modules/unistdio/u32-u32-vsprintf: New file.
53163         * modules/unistdio/ulc-asnprintf-tests: New file.
53164         * modules/unistdio/ulc-vasnprintf-tests: New file.
53165         * modules/unistdio/ulc-vasprintf-tests: New file.
53166         * modules/unistdio/ulc-vsnprintf-tests: New file.
53167         * modules/unistdio/ulc-vsprintf-tests: New file.
53168         * modules/unistdio/u8-asnprintf-tests: New file.
53169         * modules/unistdio/u8-vasnprintf-tests: New file.
53170         * modules/unistdio/u8-vasprintf-tests: New file.
53171         * modules/unistdio/u8-vsnprintf-tests: New file.
53172         * modules/unistdio/u8-vsprintf-tests: New file.
53173         * modules/unistdio/u16-asnprintf-tests: New file.
53174         * modules/unistdio/u16-vasnprintf-tests: New file.
53175         * modules/unistdio/u16-vasprintf-tests: New file.
53176         * modules/unistdio/u16-vsnprintf-tests: New file.
53177         * modules/unistdio/u16-vsprintf-tests: New file.
53178         * modules/unistdio/u32-asnprintf-tests: New file.
53179         * modules/unistdio/u32-vasnprintf-tests: New file.
53180         * modules/unistdio/u32-vasprintf-tests: New file.
53181         * modules/unistdio/u32-vsnprintf-tests: New file.
53182         * modules/unistdio/u32-vsprintf-tests: New file.
53183         * MODULES.html.sh (Unicode string functions): Add the new modules.
53184
53185 2007-07-01  Bruno Haible  <bruno@clisp.org>
53186
53187         * lib/sprintf.c (sprintf): Limit the available length estimation,
53188         to avoid address wraparound.
53189         * lib/vsprintf.c (vsprintf): Likewise.
53190         * modules/sprintf-posix (Dependencies): Add stdint.
53191         * modules/vsprintf-posix (Dependencies): Likewise.
53192
53193 2007-07-01  Bruno Haible  <bruno@clisp.org>
53194
53195         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
53196         Windows PATH as well. Conservative double-quoting. Comments.
53197
53198 2007-07-01  Bruno Haible  <bruno@clisp.org>
53199             Eric Blake  <ebb9@byu.net>
53200             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53201
53202         * gnulib-tool (self_abspathname): Fix algorithm to cope with
53203         empty components in $PATH, denoting '.'.
53204
53205 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53206
53207         * gnulib-tool: Fix indentation.
53208         (func_create_megatestdir): Likewise.
53209         Report by Bruno Haible.
53210
53211 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53212
53213         Sync from Automake.
53214         * build-aux/gnupload: Fix shell portability issues with for loops.
53215         Report by Karl Berry.
53216
53217 2007-06-29  Simon Josefsson  <simon@josefsson.org>
53218
53219         * build-aux/maint.mk (POURL): Use translationproject.org.
53220
53221 2007-06-27  Simon Josefsson  <simon@josefsson.org>
53222             Bruno Haible  <bruno@clisp.org>
53223
53224         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
53225         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
53226         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
53227         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
53228         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
53229
53230 2007-06-27  Bruno Haible  <bruno@clisp.org>
53231
53232         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
53233         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
53234
53235 2007-06-26  Karl Berry  <karl@gnu.org>
53236
53237         * MODULES.html.sh: remove xreadlink-with-size.
53238
53239 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
53240
53241         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
53242         method that I hope also handles the double-include problem noted
53243         by Bruno Haible in
53244         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
53245
53246 2007-06-23  Bruno Haible  <bruno@clisp.org>
53247
53248         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
53249         Don't let the 'mostlyclean' target fail if the last subdirectory could
53250         not be removed.
53251         Reported by Karl Berry.
53252
53253 2007-06-23  Bruno Haible  <bruno@clisp.org>
53254
53255         * gnulib-tool (echo): Add a speedier workaround for ksh.
53256         * tests/test-echo.sh: Likewise.
53257
53258 2007-06-23  Bruno Haible  <bruno@clisp.org>
53259
53260         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
53261         * tests/test-echo.sh: Likewise.
53262
53263 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53264
53265         * gnulib-tool (IFS): Initialize early, so we don't set it to
53266         empty later.
53267         (self_abspathname): Rewrite algorithm to set it, reindent.
53268         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
53269         (func_create_megatestdir): Merge some sed scripts.
53270
53271 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
53272
53273         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
53274         exposed by Sun Studio 11 cc on Solaris 8.
53275
53276 2007-06-22  Bruno Haible  <bruno@clisp.org>
53277
53278         * gnulib-tool (echo): Ensure the echo primitive does not interpret
53279         backslashes.
53280         * tests/test-echo.sh: New file.
53281
53282 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53283
53284         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
53285         simplify `sed_replace_build_aux' scripts, they are portable but
53286         echoing them with `echo' is not.
53287         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
53288
53289 2007-06-21  Karl Berry  <karl@gnu.org>
53290
53291         * config/srclist.txt: guess we can't handle the licenses via
53292         srclist at the moment.
53293
53294 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
53295
53296         * MODULES.html.sh: Add include_next.
53297         * modules/include_next: New file.
53298
53299 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
53300
53301         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
53302         INCLUDE_NEXT.
53303         (gl_CHECK_NEXT_HEADERS): New macro.
53304         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
53305         the obsolescent gl_ABSOLUTE_HEADER.
53306         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
53307         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
53308         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
53309         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
53310         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
53311         * m4/math_h.m4 (gl_MATH_H): Likewise.
53312         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
53313         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
53314         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
53315         * m4/stdint.m4 (gl_STDINT_H): Likewise.
53316         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
53317         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
53318         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
53319         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
53320         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
53321         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
53322         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
53323         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
53324         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
53325         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
53326         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
53327         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
53328         * m4/inttypes.m4 (gl_INTTYPES_H): Define
53329         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
53330         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
53331         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
53332         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
53333         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
53334         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
53335         * lib/float_.h: Likewise.
53336         * lib/inttypes_.h: Likewise.
53337         * lib/math_.h: Likewise.
53338         * lib/search_.h: Likewise.
53339         * lib/signal_.h: Likewise.
53340         * lib/stdint_.h: Likewise.
53341         * lib/stdio_.h: Likewise.
53342         * lib/stdlib_.h: Likewise.
53343         * lib/string_.h: Likewise.
53344         * lib/sys_stat_.h: Likewise.
53345         * lib/sys_time_.h: Likewise.
53346         * lib/time_.h: Likewise.
53347         * lib/unistd_.h: Likewise.
53348         * lib/wchar_.h: Likewise.
53349         * lib/wctype_.h: Likewise.
53350         * lib/dirent_.h: Likewise.
53351         * lib/iconv_.h: Likewise.
53352         * lib/locale_.h: Likewise.
53353         * lib/netinet_in_.h: Likewise.
53354         * lib/sys_select_.h: Likewise.
53355         * lib/sys_socket_.h: Likewise.
53356         * lib/sysexits_.h: Likewise.
53357         * modules/fcntl (Depends-on): Depend on include_next, not
53358         absolute_header.
53359         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
53360         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
53361         * modules/fchdir: Likewise.
53362         * modules/float: Likewise.
53363         * modules/iconv_open: Likewise.
53364         * modules/inttypes: Likewise.
53365         * modules/locale: Likewise.
53366         * modules/math: Likewise.
53367         * modules/netinet_in: Likewise.
53368         * modules/search: Likewise.
53369         * modules/signal: Likewise.
53370         * modules/stdint: Likewise.
53371         * modules/stdio: Likewise.
53372         * modules/stdlib: Likewise.
53373         * modules/string: Likewise.
53374         * modules/sys_select: Likewise.
53375         * modules/sys_socket: Likewise.
53376         * modules/sys_stat: Likewise.
53377         * modules/sys_time: Likewise.
53378         * modules/sysexits: Likewise.
53379         * modules/time: Likewise.
53380         * modules/unistd: Likewise.
53381         * modules/wchar: Likewise.
53382         * modules/wctype: Likewise.
53383         * modules/sys_stat: Change maintainer to "all".
53384         * modules/unistd: Likewise.
53385
53386 2007-06-20  Karl Berry  <karl@gnu.org>
53387
53388         * config/srclist.txt: track www changes in license files.
53389
53390 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
53391
53392         * build-aux/bootstrap: Remove stray dot.
53393         Make sure build_aux settings are honored when linking
53394         gnulib_extra_files.
53395
53396 2007-06-19  Eric Blake  <ebb9@byu.net>
53397
53398         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
53399         Allow compilation on cygwin.
53400
53401 2007-06-19  Jim Meyering  <jim@meyering.net>
53402
53403         xreadlink-with-size: Remove module.  No longer used.
53404         Ex-callers now use xreadlink or mreadlink-with-size.
53405         * modules/xreadlink-with-size: Remove module.
53406         * lib/xreadlink-with-size.c: Remove file.
53407         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
53408         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
53409         just before the function definition *is* accurate.
53410
53411         Eliminate one way canonicalize_filename_mode could exit.
53412         * lib/canonicalize.c (canonicalize_filename_mode):
53413         Use mreadlink_with_size, not xreadlink_with_size.
53414
53415 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
53416
53417         Detect porting problems to FreeBSD/arm, which has time_t wider than
53418         long int.  Original problem reported for GNU diff by Xin Li in
53419         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
53420         * modules/getdate (Depends-on): Add intprops, verify.
53421         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
53422         is an integer type no wider than long int.
53423
53424 2007-06-18  Jim Meyering  <jim@meyering.net>
53425
53426         New module: mreadlink-with-size.
53427         * MODULES.html.sh: Add mreadlink-with-size.
53428         * modules/mreadlink-with-size: New module
53429         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
53430         not xreadlink-with-size.
53431         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
53432
53433 2007-06-16  Bruno Haible  <bruno@clisp.org>
53434
53435         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
53436         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
53437         Reported by Gary V. Vaughan <gary@gnu.org>.
53438
53439 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
53440
53441         Revamp lchown so that it lives in unistd.h where it belongs.
53442         * lib/lchown.h: Remove.
53443         * lib/dirchownmod.c: Don't include lib/lchown.h.
53444         * lib/fchownat.c: Likewise.
53445         * lib/openat.c: Likewise.
53446         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
53447         does not follow symlinks.
53448         (EOPNOTSUPP): Define if not defined.
53449         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
53450         is defined to 0.
53451         (lchown): New decl.
53452         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
53453         Do not check for lchown decl.
53454         Set REPLACE_LCHOWN.
53455         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
53456         REPLACE_LCHOWN.
53457         * modules/chown: Make it clear it follows symlinks.
53458         * modules/lchown: Make it clear it doesn't follow symlinks.
53459         (Files): Remove lib/lchown.h
53460         (Depends-on): Add unistd.
53461         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
53462         (Include): Include <unistd.h>, not "lchown.h".
53463         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
53464         REPLACE_LCHOWN.
53465
53466 2007-06-15  Jim Meyering  <jim@meyering.net>
53467
53468         Change license (GPL to LGPL) of fsusage and dependents.
53469         * modules/fsusage (License): Change to LGPL.
53470         * modules/full-read (License): Likewise.
53471         * modules/full-write (License): Likewise.
53472         * modules/safe-read (License): Likewise.
53473         * modules/safe-write (License): Likewise.
53474
53475 2007-06-14  Ben Pfaff  <blp@gnu.org>
53476
53477         Missing part of allocsa -> malloca transition.
53478         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
53479         gl_MALLOCA.
53480
53481 2007-06-12  Bruno Haible  <bruno@clisp.org>
53482
53483         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
53484         to ia64, x86_64, i386.
53485         Reported by Eric Blake.
53486
53487 2007-06-12  Bruno Haible  <bruno@clisp.org>
53488
53489         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
53490         cross-compiling to x86_64.
53491
53492 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
53493
53494         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
53495         glitch reported by Ralf Wildenhues in
53496         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
53497
53498         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
53499         Vin Shelton.
53500
53501 2007-06-11  Bruno Haible  <bruno@clisp.org>
53502
53503         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
53504         replacement string.
53505         Reported by Eric Blake.
53506
53507 2007-06-10  Bruno Haible  <bruno@clisp.org>
53508
53509         Prepare vasnprintf code for use with Unicode strings.
53510         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
53511         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
53512         TYPE_U32_STRING.
53513         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
53514         a_u32_string variants.
53515         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
53516         * lib/printf-args.c: Don't include config.h and the specification
53517         header if PRINTF_FETCHARGS is already defined.
53518         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
53519         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
53520         TYPE_U16_STRING, TYPE_U32_STRING.
53521         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
53522         u16_directive, u16_directives, u32_directive, u32_directives): New
53523         types.
53524         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
53525         New declarations.
53526         * lib/printf-parse.c: Don't include config.h and the specification
53527         header if PRINTF_PARSE is already defined. Eliminate the set of
53528         parameters for WIDE_CHAR_VERSION; the user of this file must provide
53529         them now. Include c-ctype.h.
53530         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
53531         directive and CHAR_T_ONLY_ASCII.
53532         * lib/vasnprintf.c: Don't include config.h and the specification header
53533         if VASNPRINTF is already defined.
53534         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
53535         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
53536         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
53537         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
53538         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
53539         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
53540         code accordingly.
53541         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
53542         pad_ourselves also in this case, with the 'c' and 's' directives, and
53543         with a different notion of "width".
53544         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
53545
53546 2007-06-10  Bruno Haible  <bruno@clisp.org>
53547
53548         * modules/unistr/u32-mbsnlen: New file.
53549         * lib/unistr/u32-mbsnlen.c: New file.
53550
53551         * modules/unistr/u16-mbsnlen: New file.
53552         * lib/unistr/u16-mbsnlen.c: New file.
53553
53554         * modules/unistr/u8-mbsnlen: New file.
53555         * lib/unistr/u8-mbsnlen.c: New file.
53556
53557         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
53558         declarations.
53559
53560 2007-06-10  Bruno Haible  <bruno@clisp.org>
53561
53562         * lib/string_.h (mbsnlen): New declaration.
53563         * lib/mbsnlen.c: New file.
53564         * m4/mbsnlen.m4: New file.
53565         * modules/mbsnlen: New file.
53566         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
53567         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
53568         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
53569
53570 2007-06-10  Bruno Haible  <bruno@clisp.org>
53571
53572         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
53573
53574 2007-06-10  Bruno Haible  <bruno@clisp.org>
53575
53576         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
53577         * lib/mbuiter.h: Likewise.
53578
53579 2007-06-10  Bruno Haible  <bruno@clisp.org>
53580
53581         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
53582         declaration.
53583
53584 2007-06-10  Karl Berry  <karl@gnu.org>
53585
53586         * config/srclist.txt: remove gettext entries, Bruno prefers
53587         to update individually.
53588
53589 2007-06-10  Bruno Haible  <bruno@clisp.org>
53590
53591         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
53592         'maxlen'. Ensure only length + width bytes are allocated, not
53593         length + 1 + width.
53594
53595 2007-06-09  Bruno Haible  <bruno@clisp.org>
53596
53597         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
53598         (CHAR_T): Remove macro.
53599         (VASNPRINTF): Update.
53600
53601 2007-06-09  Bruno Haible  <bruno@clisp.org>
53602
53603         * MODULES.html.sh (Unicode string functions): Add the new modules.
53604
53605         * modules/uniconv/u32-conv-to-enc: New file.
53606         * lib/uniconv/u32-conv-to-enc.c: New file.
53607         * modules/uniconv/u32-conv-to-enc-tests: New file.
53608         * tests/uniconv/test-u32-conv-to-enc.c: New file.
53609
53610         * modules/uniconv/u16-conv-to-enc: New file.
53611         * lib/uniconv/u16-conv-to-enc.c: New file.
53612         * lib/uniconv/u-conv-to-enc.h: New file.
53613         * modules/uniconv/u16-conv-to-enc-tests: New file.
53614         * tests/uniconv/test-u16-conv-to-enc.c: New file.
53615
53616         * modules/uniconv/u8-conv-to-enc: New file.
53617         * lib/uniconv/u8-conv-to-enc.c: New file.
53618         * modules/uniconv/u8-conv-to-enc-tests: New file.
53619         * tests/uniconv/test-u8-conv-to-enc.c: New file.
53620
53621         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
53622         u32_conv_to_encoding): New declarations.
53623
53624 2007-06-09  Bruno Haible  <bruno@clisp.org>
53625
53626         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
53627
53628 2007-06-09  Bruno Haible  <bruno@clisp.org>
53629
53630         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
53631         * modules/malloca: Renamed from modules/allocsa, updated.
53632         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
53633         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
53634         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
53635         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
53636         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
53637         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
53638         * modules/xmalloca: Renamed from modules/xallocsa, updated.
53639         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
53640         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
53641         * modules/c-strcasestr (Depends-on): Update.
53642         * lib/c-strcasestr.c: Update.
53643         * modules/c-strstr (Depends-on): Update.
53644         * lib/c-strstr.c: Update.
53645         * modules/canonicalize-lgpl (Depends-on): Update.
53646         * lib/canonicalize-lgpl.c: Update.
53647         * modules/clean-temp (Depends-on): Update.
53648         * lib/clean-temp.c: Update.
53649         * modules/csharpcomp (Depends-on): Update.
53650         * lib/csharpcomp.c: Update.
53651         * modules/csharpexec (Depends-on): Update.
53652         * lib/csharpexec.c: Update.
53653         * modules/javacomp (Depends-on): Update.
53654         * lib/javacomp.c: Update.
53655         * modules/javaexec (Depends-on): Update.
53656         * lib/javaexec.c: Update.
53657         * modules/mbscasestr (Depends-on): Update.
53658         * lib/mbscasestr.c: Update.
53659         * modules/mbsstr (Depends-on): Update.
53660         * lib/mbsstr.c: Update.
53661         * modules/setenv (Depends-on): Update.
53662         * lib/setenv.c: Update.
53663         * modules/strcasestr (Depends-on): Update.
53664         * lib/strcasestr.c: Update.
53665         * modules/striconveha (Depends-on): Update.
53666         * lib/striconveha.c: Update.
53667         * modules/relocatable-prog-wrapper (Files): Update.
53668         * lib/relocwrapper.c: Update.
53669         * build-aux/install-reloc: Update.
53670         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
53671
53672 2007-06-08  Bruno Haible  <bruno@clisp.org>
53673
53674         Port to uClibc.
53675         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
53676         * lib/fpurge.c (fpurge): Likewise.
53677         * lib/freading.c (freading): Likewise.
53678         * lib/fseeko.c (rpl_fseeko): Likewise.
53679         * lib/fseterr.c (fseterr): Likewise.
53680         * lib/fwriting.c (fwriting): Likewise.
53681         * tests/test-fflush.c (main): Avoid a failure on uClibc.
53682
53683 2007-06-08  Bruno Haible  <bruno@clisp.org>
53684
53685         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
53686         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
53687         * modules/gettext (Files): Add m4/intlmacosx.m4.
53688
53689 2007-06-07  Bruno Haible  <bruno@clisp.org>
53690
53691         * modules/localename-tests: New file.
53692         * tests/test-localename.c: New file.
53693
53694         New module 'localename'.
53695         * lib/localename.h: New file.
53696         * lib/localename.c: New file, from GNU gettext.
53697         * m4/localename.m4: New file.
53698         * modules/localename: New file.
53699
53700 2007-06-07  Bruno Haible  <bruno@clisp.org>
53701
53702         Work around the lack of <wchar.h> on some builds of uClibc.
53703         * doc/headers/wchar.texi: Update.
53704         * lib/wchar_.h: Include <wchar.h> only if it exists.
53705         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
53706         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
53707         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
53708         doesn't exist.
53709         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
53710         * modules/mbfile (Depends-on): Add wchar.
53711         * modules/mbiter (Depends-on): Likewise.
53712         * modules/mbuiter (Depends-on): Likewise.
53713         Reported by Simon Josefsson.
53714
53715 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
53716
53717         Work around problem reported by Steven M. Schweda in
53718         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
53719         Tru64 5.1B with the Compaq compiler environment installed declares
53720         an 'isblank' function but does not define it in the C library.
53721         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
53722         * lib/regex_internal.h (isblank): Likewise.
53723         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
53724         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
53725
53726 2007-06-05  Bruno Haible  <bruno@clisp.org>
53727
53728         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
53729         ia64.
53730         * modules/printf-safe: New file.
53731         * modules/fprintf-posix (Depends-on): Add printf-safe.
53732         * modules/printf-posix (Depends-on): Likewise.
53733         * modules/snprintf-posix (Depends-on): Likewise.
53734         * modules/sprintf-posix (Depends-on): Likewise.
53735         * modules/vasnprintf-posix (Depends-on): Likewise.
53736         * modules/vasprintf-posix (Depends-on): Likewise.
53737         * modules/vfprintf-posix (Depends-on): Likewise.
53738         * modules/vprintf-posix (Depends-on): Likewise.
53739         * modules/vsnprintf-posix (Depends-on): Likewise.
53740         * modules/vsprintf-posix (Depends-on): Likewise.
53741         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
53742         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
53743         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
53744         "no" on i386, x86_64, ia64.
53745         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
53746         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
53747         on i386, x86_64, ia64.
53748         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
53749         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
53750         on i386, x86_64, ia64.
53751         * tests/test-vasnprintf-posix.c: Include float.h.
53752         (LDBL80_WORDS): New macro.
53753         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
53754         on i386, x86_64, ia64.
53755         * tests/test-vasprintf-posix.c: Include float.h.
53756         (LDBL80_WORDS): New macro.
53757         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
53758         on i386, x86_64, ia64.
53759         * tests/test-snprintf-posix.c: Include float.h.
53760         * tests/test-sprintf-posix.c: Likewise.
53761         * tests/test-vsnprintf-posix.c: Likewise.
53762         * tests/test-vsprintf-posix.c: Likewise.
53763
53764 2007-06-05  Bruno Haible  <bruno@clisp.org>
53765
53766         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
53767         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
53768         non-IEEE numbers on i386, x86_64, ia64.
53769         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
53770         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
53771         * tests/test-isnanl.h: Include float.h.
53772         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
53773
53774 2007-06-05  Bruno Haible  <bruno@clisp.org>
53775
53776         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
53777         also the %a / %A. Handle the %a / %A code before this extra handling.
53778
53779 2007-06-05  Bruno Haible  <bruno@clisp.org>
53780
53781         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
53782         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
53783
53784 2007-06-05  Bruno Haible  <bruno@clisp.org>
53785
53786         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
53787         typo in variable name.
53788
53789 2007-06-05  Eric Blake  <ebb9@byu.net>
53790
53791         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
53792         Reported by Simon Josefsson.
53793
53794 2007-06-04  Bruno Haible  <bruno@clisp.org>
53795
53796         Avoid test failures on some PowerPC platforms.
53797         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
53798         Define differently for PowerPC.
53799         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
53800         Reported by Gary V. Vaughan <gary@gnu.org>.
53801
53802 2007-06-02  Bruno Haible  <bruno@clisp.org>
53803
53804         Fix test-stdint failure on FreeBSD/ia64.
53805         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
53806         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
53807         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
53808         * doc/headers/stdint.texi: Update.
53809
53810 2007-06-01  Bruno Haible  <bruno@clisp.org>
53811
53812         * tests/test-binary-io.c (main): Pass a third argument to open().
53813         Reported by Gary V. Vaughan <gary@gnu.org>.
53814
53815 2007-06-01  Bruno Haible  <bruno@clisp.org>
53816
53817         * doc/functions/frexpl.texi: Update for mingw.
53818
53819 2007-06-01  Bruno Haible  <bruno@clisp.org>
53820
53821         * tests/test-lseek.c (main): Disable test of errno for invalid third
53822         argument.
53823         * doc/functions/lseek.texi: Update.
53824         Reported by Gary V. Vaughan <gary@gnu.org>.
53825
53826 2007-05-28  Bruno Haible  <bruno@clisp.org>
53827
53828         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
53829
53830 2007-05-31  Eric Blake  <ebb9@byu.net>
53831
53832         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
53833         cross compiling.
53834
53835 2007-05-30  Eric Blake  <ebb9@byu.net>
53836         and Bruno Haible  <bruno@clisp.org>
53837
53838         Work around mingw test failures exposed by m4-1.4.9b.
53839         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
53840         * tests/test-unistd.c: Disable uid_t and git_t tests for the
53841         moment.
53842
53843 2007-05-30  Bruno Haible  <bruno@clisp.org>
53844
53845         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
53846         assuming that they are closed. Needed on HP-UX 11.
53847
53848 2007-05-29  Bruno Haible  <bruno@clisp.org>
53849
53850         Fix a problem with #include_next.
53851         * lib/dirent_.h: Split the double-inclusion guard.
53852         * lib/fcntl_.h: Likewise.
53853         * lib/float_.h: Likewise.
53854         * lib/iconv_.h: Likewise.
53855         * lib/inttypes_.h: Likewise.
53856         * lib/locale_.h: Likewise.
53857         * lib/math_.h: Likewise.
53858         * lib/netinet_in_.h: Likewise.
53859         * lib/search_.h: Likewise.
53860         * lib/signal_.h: Likewise.
53861         * lib/stdint_.h: Likewise.
53862         * lib/stdio_.h: Likewise.
53863         * lib/stdlib_.h: Likewise.
53864         * lib/string_.h: Likewise.
53865         * lib/sys_select_.h: Likewise.
53866         * lib/sys_socket_.h: Likewise.
53867         * lib/sys_stat_.h: Likewise.
53868         * lib/sys_time_.h: Likewise.
53869         * lib/sysexits_.h: Likewise.
53870         * lib/time_.h: Likewise.
53871         * lib/unistd_.h: Likewise.
53872         * lib/wchar_.h: Likewise.
53873         * lib/wctype_.h: Likewise.
53874
53875 2007-05-29  Bruno Haible  <bruno@clisp.org>
53876
53877         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
53878         for the moment.
53879
53880 2007-05-29  Bruno Haible  <bruno@clisp.org>
53881
53882         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
53883         invocation.
53884         Reported by Eric Blake.
53885
53886 2007-05-29  Bruno Haible  <bruno@clisp.org>
53887
53888         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
53889         compiling case.
53890
53891 2007-05-29  Eric Blake  <ebb9@byu.net>
53892             Bruno Haible  <bruno@clisp.org>
53893
53894         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
53895         cross compiles.
53896
53897 2007-05-28  Eric Blake  <ebb9@byu.net>
53898
53899         * modules/closein-tests (test_closein_LDADD): Support test on
53900         cygwin with libtool.
53901
53902 2007-05-28  Bruno Haible  <bruno@clisp.org>
53903
53904         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
53905         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
53906         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
53907         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
53908         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
53909         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
53910         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
53911         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
53912         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
53913
53914 2007-05-28  Eric Blake  <ebb9@byu.net>
53915
53916         Unconditionally include <config.h> in unit tests.
53917         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
53918         * tests/test-allocsa.c, tests/test-arcfour.c,
53919         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
53920         tests/test-array_list.c, tests/test-array_oset.c,
53921         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
53922         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
53923         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
53924         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
53925         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
53926         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
53927         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
53928         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
53929         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
53930         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
53931         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
53932         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
53933         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
53934         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
53935         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
53936         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
53937         test-md5.c, test-memmem.c, test-printf-posix.c,
53938         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
53939         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
53940         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
53941         test-strcasestr.c, test-striconv.c, test-striconveh.c,
53942         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
53943         test-vasnprintf-posix2.c, test-vasnprintf.c,
53944         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
53945         test-vfprintf-posix.c, test-vprintf-posix.c,
53946         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
53947         test-xvasprintf.c: Likewise.
53948
53949 2007-05-28  Bruno Haible  <bruno@clisp.org>
53950
53951         * gnulib-tool (func_import): Remember the --with-tests command-line
53952         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
53953         Reported by Eric Blake.
53954
53955 2007-05-28  Bruno Haible  <bruno@clisp.org>
53956
53957         * modules/ftell-tests: New file.
53958         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
53959         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
53960
53961         * lib/ftell.c: New file.
53962         * modules/ftell: New file.
53963         * m4/ftell.m4: New file.
53964         * doc/functions/ftell.texi: Update.
53965         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
53966         REPLACE_FTELL.
53967         * lib/stdio_.h (rpl_ftell): New declaration.
53968         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
53969         REPLACE_FTELL.
53970
53971 2007-05-28  Eric Blake  <ebb9@byu.net>
53972
53973         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
53974
53975 2007-05-28  Bruno Haible  <bruno@clisp.org>
53976
53977         * modules/fseek-tests: New file.
53978         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
53979         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
53980
53981         * lib/fseek.c: New file.
53982         * modules/fseek: New file.
53983         * m4/fseek.m4: New file.
53984         * doc/functions/fseek.texi: Update.
53985         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
53986         REPLACE_FSEEK.
53987         * lib/stdio_.h (rpl_fseek): New declaration.
53988         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
53989         REPLACE_FSEEK.
53990
53991 2007-05-28  Bruno Haible  <bruno@clisp.org>
53992
53993         * lib/stdio_.h (fflush): More comments.
53994
53995 2007-05-28  Bruno Haible  <bruno@clisp.org>
53996
53997         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
53998         runtime test.
53999
54000 2007-05-28  Eric Blake  <ebb9@byu.net>
54001
54002         Improve lseek module.
54003         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
54004         * lib/unistd_.h (lseek): Scale back link warning message.
54005         * tests/test-lseek.c: Beef up test.
54006         * tests/test-lseek.sh: Exercise more facets of lseek.
54007         Reported by Bruno Haible.
54008
54009 2007-05-28  Bruno Haible  <bruno@clisp.org>
54010
54011         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
54012         to define.
54013
54014 2007-05-27  Bruno Haible  <bruno@clisp.org>
54015
54016         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
54017
54018 2007-05-27  Bruno Haible  <bruno@clisp.org>
54019
54020         * modules/openmp: New file.
54021         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
54022         Noah Misch.
54023
54024 2007-05-26  Bruno Haible  <bruno@clisp.org>
54025
54026         * modules/chdir-long (Depends-on): Add fchdir.
54027         * modules/chdir-safer (Depends-on): Likewise.
54028         * modules/fts (Depends-on): Likewise.
54029         * modules/fts-lgpl (Depends-on): Likewise.
54030         * modules/openat (Depends-on): Likewise.
54031         * modules/savewd (Depends-on): Likewise.
54032
54033 2007-05-24  Eric Blake  <ebb9@byu.net>
54034
54035         Fix lseek on mingw.
54036         * modules/lseek: New module.
54037         * m4/lseek.m4: New file.
54038         * lib/lseek.c: New file.
54039         * modules/lseek-tests: New file.
54040         * tests/test-lseek.c: New file.
54041         * tests/test-lseek.sh: New file.
54042         * MODULES.html.sh: Document lseek module.
54043         * modules/fflush (Depends-on): Add lseek, fseeko.
54044         * modules/fseeko (Depends-on): Likewise.
54045         * modules/ftello (Depends-on): Likewise.
54046         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
54047         broken.
54048         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
54049         broken.
54050         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
54051         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
54052         * lib/ftello.c (rpl_ftello): Likewise.
54053         * tests/test-fseeko.c (main): Test this.
54054         * tests/test-fseeko.sh: Likewise.
54055         * tests/test-ftello.c (main): Likewise.
54056         * tests/test-ftello.sh: Likewise.
54057         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
54058         implies replacing fseek.
54059         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
54060         HAVE_FTELLO.
54061         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
54062         * modules/unistd (Makefile.am): Likewise.
54063         * lib/unistd_.h (lseek): Declare a replacement.
54064         * doc/functions/lseek.texi (lseek): Document this fix.
54065         * doc/functions/fseek.texi (fseek): Likewise.
54066         * doc/functions/ftell.texi (ftell): Likewise.
54067
54068 2007-05-24  Bruno Haible  <bruno@clisp.org>
54069
54070         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
54071         in the printed representation of a NaN.
54072         * tests/test-vasprintf-posix.c (test_function): Likewise.
54073         * tests/test-snprintf-posix.h (test_function): Likewise.
54074         * tests/test-sprintf-posix.h (test_function): Likewise.
54075         Reported by Eric Blake.
54076
54077 2007-05-23  Eric Blake  <ebb9@byu.net>
54078
54079         Fix fseeko/ftello on cygwin 1.5.24.
54080         * doc/functions/fseeko.texi (fseeko): Document the fix.
54081         * doc/functions/ftello.texi (ftello): Document the fix.
54082         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
54083         * doc/functions/stdout.text (stdout): New file.
54084         * doc/functions/stderr.text (stderr): New file.
54085         * doc/gnulib.texi (Function Substitutes): Use new files.
54086         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
54087         prior to 1.7.0.
54088         * tests/test-ftello.c (main): Likewise for ftello.
54089         * tests/test-fseeko.sh: New file.
54090         * tests/test-ftello.sh: New file.
54091         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
54092         with seekable stdin.
54093         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
54094         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
54095         (gl_REPLACE_FSEEKO): New macro.
54096         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
54097         * modules/fseeko (Files): Distribute fseeko.c.
54098         * modules/ftello (Files): Distribute ftello.c.
54099         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
54100         mode.
54101         * lib/ftello.c (rpl_ftello): New file.
54102         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
54103         fseeko, ftello.
54104         (gl_STDIN_LARGE_OFFSET): New macro.
54105         * modules/stdio (Makefile.am): Perform the replacement.
54106         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
54107
54108 2007-05-23  Bruno Haible  <bruno@clisp.org>
54109
54110         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
54111         GNULIB_POSIXCHECK is defined.
54112
54113 2007-05-21  Bruno Haible  <bruno@clisp.org>
54114
54115         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
54116         Check also the output for NaN arguments. When cross-compiling, guess
54117         no on IRIX.
54118         * lib/vasnprintf.c: Update comments.
54119         * tests/test-vasnprintf-posix.c (strisnan): New function.
54120         (test_function): Use it.
54121         * tests/test-vasprintf-posix.c (strisnan): New function.
54122         (test_function): Use it.
54123         * tests/test-snprintf-posix.h (strisnan): New function.
54124         (test_function): Use it.
54125         * tests/test-sprintf-posix.h (strisnan): New function.
54126         (test_function): Use it.
54127         Reported by Eric Blake.
54128
54129 2007-05-20  Bruno Haible  <bruno@clisp.org>
54130
54131         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
54132         numbers that fails on BeOS.
54133         * doc/functions/frexpl.texi: Update.
54134
54135 2007-05-20  Jim Meyering  <jim@meyering.net>
54136
54137         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
54138         forced upon us by glibc-2.6.
54139
54140 2007-05-20  Bruno Haible  <bruno@clisp.org>
54141
54142         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
54143         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
54144         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
54145         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
54146         NEED_PRINTF_INFINITE.
54147         (is_infinitel): New function.
54148         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
54149         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
54150         gl_PREREQ_VASNPRINTF_INFINITE.
54151         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
54152         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
54153         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
54154         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
54155         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
54156         gl_PREREQ_VASNPRINTF_INFINITE.
54157         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
54158         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54159         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54160         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54161         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
54162         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54163         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54164         * doc/functions/fprintf.texi: Update.
54165         * doc/functions/printf.texi: Update.
54166         * doc/functions/snprintf.texi: Update.
54167         * doc/functions/sprintf.texi: Update.
54168         * doc/functions/vfprintf.texi: Update.
54169         * doc/functions/vprintf.texi: Update.
54170         * doc/functions/vsnprintf.texi: Update.
54171         * doc/functions/vsprintf.texi: Update.
54172
54173 2007-05-20  Bruno Haible  <bruno@clisp.org>
54174
54175         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
54176         was not found in libc.
54177         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
54178
54179 2007-05-20  Bruno Haible  <bruno@clisp.org>
54180
54181         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
54182         printed as "-nan" instead of "nan".
54183         * tests/test-vasprintf-posix.c (test_function): Likewise.
54184         * tests/test-snprintf-posix.h (test_function): Likewise.
54185         * tests/test-sprintf-posix.h (test_function): Likewise.
54186         Needed for HP-UX 11.
54187
54188 2007-05-20  Jim Meyering  <jim@meyering.net>
54189
54190         Fix buggy test for the fchownat-deref bug.
54191         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
54192         symlink required for the run-test.  Without it, this test would
54193         always declare that fchownat doesn't work, and client code would
54194         unnecessarily use the replacement function with fixed libc.
54195         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
54196         Reported by Greg Schafer.
54197
54198 2007-05-19  Bruno Haible  <bruno@clisp.org>
54199
54200         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
54201         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
54202         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
54203         Needed for IRIX 6.5 and Solaris 2.5.1.
54204
54205 2007-05-19  Bruno Haible  <bruno@clisp.org>
54206
54207         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
54208         (test_function): Skip tests involving -0.0 on platforms where
54209         -0.0 = 0.0.
54210         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
54211         (test_function): Skip tests involving -0.0 on platforms where
54212         -0.0 = 0.0.
54213         * tests/test-snprintf-posix.h (have_minus_zero): New function.
54214         (test_function): Skip tests involving -0.0 on platforms where
54215         -0.0 = 0.0.
54216         * tests/test-sprintf-posix.h (have_minus_zero): New function.
54217         (test_function): Skip tests involving -0.0 on platforms where
54218         -0.0 = 0.0.
54219         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
54220         tests.
54221         * tests/test-printf-posix.h (test_function): Likewise.
54222         * tests/test-printf-posix.output: Remove all -0.0 related results.
54223         Needed for IRIX 6.5.
54224
54225 2007-05-19  Bruno Haible  <bruno@clisp.org>
54226
54227         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
54228         printed as "nan0x7fffffff" instead of "nan".
54229         * tests/test-vasprintf-posix.c (test_function): Likewise.
54230         * tests/test-snprintf-posix.h (test_function): Likewise.
54231         * tests/test-sprintf-posix.h (test_function): Likewise.
54232         * tests/test-fprintf-posix.h (NaN): Remove macro.
54233         (test_function): Remove all NaN related tests.
54234         * tests/test-printf-posix.h (NaN): Remove macro.
54235         (test_function): Remove all NaN related tests.
54236         * tests/test-printf-posix.output: Remove all NaN related results.
54237         Needed for IRIX 6.5.
54238
54239 2007-05-19  Bruno Haible  <bruno@clisp.org>
54240
54241         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
54242         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
54243
54244 2007-05-19  Bruno Haible  <bruno@clisp.org>
54245
54246         * lib/float_.h: New file.
54247         * m4/float_h.m4: New file.
54248         * modules/float: New file.
54249         * modules/isnanl (Dependencies): Add float.
54250         * modules/isnanl-nolibm (Dependencies): Likewise.
54251         * modules/mathl (Dependencies): Likewise.
54252         * modules/printf-frexpl (Dependencies): Likewise.
54253         * modules/signbit (Dependencies): Likewise.
54254         * modules/vasnprintf (Dependencies): Likewise.
54255         * doc/headers/float.texi: Update.
54256
54257 2007-05-19  Jim Meyering  <jim@meyering.net>
54258
54259         * lib/utimens.c (gl_futimens): Rename from futimens,
54260         now that glibc-2.6 declares futimens.
54261         * lib/utimens.h: Likewise.
54262
54263 2007-05-19  Bruno Haible  <bruno@clisp.org>
54264
54265         Avoid test failures on mingw.
54266         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
54267         * tests/test-printf-posix.sh: Likewise.
54268         * tests/test-vfprintf-posix.sh: Likewise.
54269         * tests/test-vprintf-posix.sh: Likewise.
54270
54271 2007-05-19  Bruno Haible  <bruno@clisp.org>
54272
54273         Fix *printf result for NaN, Inf, -0.0 on mingw.
54274         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
54275         * lib/vasnprintf.c: Include math.h and isnan.h.
54276         (is_infinite_or_zero): New function.
54277         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
54278         values in the %f, %F, %e, %E, %g, %G directives.
54279         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
54280         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
54281         gl_PRINTF_INFINITE and test its result. Invoke
54282         gl_PREREQ_VASNPRINTF_INFINITE.
54283         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
54284         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54285         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54286         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54287         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
54288         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54289         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54290         * doc/functions/fprintf.texi: Update.
54291         * doc/functions/printf.texi: Update.
54292         * doc/functions/snprintf.texi: Update.
54293         * doc/functions/sprintf.texi: Update.
54294         * doc/functions/vfprintf.texi: Update.
54295         * doc/functions/vprintf.texi: Update.
54296         * doc/functions/vsnprintf.texi: Update.
54297         * doc/functions/vsprintf.texi: Update.
54298
54299 2007-05-19  Bruno Haible  <bruno@clisp.org>
54300
54301         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
54302         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
54303         Instead of multiplying with 10^k, set extra_zeroes to k.
54304         (scale10_round_long_double): Remove function.
54305
54306 2007-05-18  Bruno Haible  <bruno@clisp.org>
54307
54308         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
54309         introduced on 2007-05-06.
54310
54311 2007-05-18  Bruno Haible  <bruno@clisp.org>
54312
54313         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
54314         %g directives.
54315         * tests/test-vasprintf-posix.c (test_function): Likewise.
54316         * tests/test-snprintf-posix.h (test_function): Likewise.
54317         * tests/test-sprintf-posix.h (test_function): Likewise.
54318
54319 2007-05-18  Bruno Haible  <bruno@clisp.org>
54320
54321         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
54322         (strmatch): New function.
54323         (test_function): Test the %f directive on numbers of various exponents.
54324         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
54325         (strmatch): New function.
54326         (test_function): Test the %f directive on numbers of various exponents.
54327         * tests/test-snprintf-posix.h (strmatch): New function.
54328         (test_function): Test the %f directive on numbers of various exponents.
54329         * tests/test-sprintf-posix.h (strmatch): New function.
54330         (test_function): Test the %f directive on numbers of various exponents.
54331         * tests/test-snprintf-posix.c (SIZEOF): New macro.
54332         * tests/test-sprintf-posix.c (SIZEOF): New macro.
54333         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
54334         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
54335
54336 2007-05-18  Bruno Haible  <bruno@clisp.org>
54337
54338         Add support for 'long double' number output.
54339         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
54340         * lib/vasnprintf.c: Include math.h and float+.h.
54341         (mp_limb_t): New type.
54342         (GMP_LIMB_BITS): New macro.
54343         (mp_twolimb_t): New type.
54344         (GMP_TWOLIMB_BITS): New macro.
54345         (mpn_t): New type.
54346         (multiply, divide, convert_to_decimal, decode_long_double,
54347         scale10_round_long_double, scale10_round_decimal_long_double,
54348         floorlog10l): New functions.
54349         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
54350         for the %f, %F, %e, %E, %g, %G directives.
54351         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
54352         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
54353         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
54354         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
54355         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
54356         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54357         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54358         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54359         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
54360         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54361         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54362         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
54363         * modules/snprintf-posix (Depends-on): Likewise.
54364         * modules/sprintf-posix (Depends-on): Likewise.
54365         * modules/vasnprintf-posix (Depends-on): Likewise.
54366         * modules/vasprintf-posix (Depends-on): Likewise.
54367         * modules/vfprintf-posix (Depends-on): Likewise.
54368         * modules/vsnprintf-posix (Depends-on): Likewise.
54369         * modules/vsprintf-posix (Depends-on): Likewise.
54370         * modules/vasnprintf (Files): Add lib/float+.h.
54371         * doc/functions/fprintf.texi: Update.
54372         * doc/functions/printf.texi: Update.
54373         * doc/functions/snprintf.texi: Update.
54374         * doc/functions/sprintf.texi: Update.
54375         * doc/functions/vfprintf.texi: Update.
54376         * doc/functions/vprintf.texi: Update.
54377         * doc/functions/vsnprintf.texi: Update.
54378         * doc/functions/vsprintf.texi: Update.
54379
54380 2007-05-18  Bruno Haible  <bruno@clisp.org>
54381
54382         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
54383
54384 2007-05-18  Bruno Haible  <bruno@clisp.org>
54385
54386         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
54387         for printing 64-bit integers. Needed for mingw.
54388
54389 2007-05-18  Bruno Haible  <bruno@clisp.org>
54390
54391         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
54392         gl_FUNC_FREXPL_WORKS.
54393         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
54394
54395 2007-05-18  Bruno Haible  <bruno@clisp.org>
54396
54397         * modules/frexpl-nolibm-tests: New file.
54398
54399         * modules/frexpl-nolibm: New file.
54400         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
54401
54402 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
54403
54404         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
54405         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
54406         GCC 4.2, which otherwise issues a lot of warnings.
54407         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
54408         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
54409         Likewise.
54410         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
54411         * modules/iconv_open (iconv.h): Likewise.
54412         * modules/locale (locale.h): Likewise.
54413         * modules/netinet_in (netinet/in.h): Likewise.
54414         * modules/sys_select (sys_select.h): Likewise.
54415         * modules/sys_socket (sys/socket.h): Likewise.
54416         * modules/sys_stat (sys/stat.h): Likewise.
54417         * modules/sysexits (sysexits.h): Likewise.
54418         * modules/unistd (unistd.h): Likewise.
54419
54420 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54421
54422         * modules/closein-tests (Makefile.am): Distribute
54423         `test-closein.sh'.
54424
54425 2007-05-17  Bruno Haible  <bruno@clisp.org>
54426
54427         * tests/test-printf-posix.output: Renamed from
54428         tests/test-fprintf-posix.out.
54429         * modules/fprintf-posix-tests: Update.
54430         * modules/printf-posix-tests: Update.
54431         * modules/vfprintf-posix-tests: Update.
54432         * modules/vprintf-posix-tests: Update.
54433         * tests/test-fprintf-posix.sh: Update.
54434         * tests/test-printf-posix.sh: Update.
54435         * tests/test-vfprintf-posix.sh: Update.
54436         * tests/test-vprintf-posix.sh: Update.
54437         Reported by Ralf Wildenhues.
54438
54439 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
54440
54441         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
54442         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
54443         GCC 4.2, which otherwise issues a lot of warnings.
54444         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
54445         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
54446         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
54447         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
54448         it should no longer be needed.
54449         * lib/string_.h: Likewise.
54450         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
54451         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
54452         * modules/inttypes (inttypes.h): Likewise.
54453         * modules/math (math.h): Likewise.
54454         * modules/search (search.h): Likewise.
54455         * modules/signal (signal.h): Likewise.
54456         * modules/stdint (stdint.h): Likewise.
54457         * modules/stdio (stdio.h): Likewise.
54458         * modules/stdlib (stdlib.h): Likewise.
54459         * modules/string (string.h): Likewise.
54460         * modules/sys_time (sys/time.h): Likewise.
54461         * modules/time (time.h): Likewise.
54462         * modules/wchar (wchar.h): Likewise.
54463         * modules/wctype (wtype.h): Likewise.
54464
54465 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
54466
54467         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
54468
54469 2007-05-13  Bruno Haible  <bruno@clisp.org>
54470
54471         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
54472         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
54473         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
54474         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
54475         (gl_PREREQ_STRTOK_R): Don't require it here.
54476
54477 2007-05-13  Bruno Haible  <bruno@clisp.org>
54478
54479         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
54480         when used in C++ mode.
54481
54482 2007-05-12  Bruno Haible  <bruno@clisp.org>
54483
54484         * lib/linebuffer.h: Tweak doc.
54485         * lib/linebuffer.c: Likewise.
54486
54487 2007-05-12  James Youngman  <jay@gnu.org>
54488
54489         * lib/linebuffer.c (readlinebuffer_delim): New function,
54490         like readlinebuffer, but use a caller-specified delimiter.
54491         (readlinebuffer): Just call readlinebuffer_delim with '\n'
54492         as the delimiter.
54493         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
54494
54495 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
54496
54497         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
54498         * modules/openat (Files): Remove openat-die.c.
54499         (Depends-on): Add openat-die.
54500         * modules/openat-die: New module.
54501
54502 2007-05-06  Bruno Haible  <bruno@clisp.org>
54503
54504         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
54505         Update with info about Cygwin.
54506         * doc/functions/fprintf.texi: Update.
54507         * doc/functions/printf.texi: Update.
54508         * doc/functions/snprintf.texi: Update.
54509         * doc/functions/sprintf.texi: Update.
54510         * doc/functions/vfprintf.texi: Update.
54511         * doc/functions/vprintf.texi: Update.
54512         * doc/functions/vsnprintf.texi: Update.
54513         * doc/functions/vsprintf.texi: Update.
54514         Reported by Eric Blake.
54515
54516 2007-05-06  Bruno Haible  <bruno@clisp.org>
54517
54518         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
54519         padding ourselves for the floating-point directives.
54520         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
54521         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
54522         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
54523         gl_PRINTF_FLAG_ZERO and test its result. Invoke
54524         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
54525         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54526         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
54527         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54528         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54529         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
54530         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54531         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54532         * tests/test-snprintf-posix.h (test_function): Also check the width
54533         and some flags in the %f directive.
54534         * tests/test-sprintf-posix.h (test_function): Likewise.
54535         * tests/test-vasnprintf-posix.c (test_function): Likewise.
54536         * tests/test-vasprintf-posix.c (test_function): Likewise.
54537         * doc/functions/fprintf.texi: Update.
54538         * doc/functions/printf.texi: Update.
54539         * doc/functions/snprintf.texi: Update.
54540         * doc/functions/sprintf.texi: Update.
54541         * doc/functions/vfprintf.texi: Update.
54542         * doc/functions/vprintf.texi: Update.
54543         * doc/functions/vsnprintf.texi: Update.
54544         * doc/functions/vsprintf.texi: Update.
54545
54546 2007-05-06  Bruno Haible  <bruno@clisp.org>
54547
54548         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
54549         pass the ' flag character to sprintf or snprintf.
54550         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
54551         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
54552         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
54553         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
54554         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
54555         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54556         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
54557         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54558         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54559         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
54560         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54561         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54562         * tests/test-snprintf-posix.h (test_function): Also check the grouping
54563         flag.
54564         * tests/test-sprintf-posix.h (test_function): Likewise.
54565         * tests/test-vasnprintf-posix.c (test_function): Likewise.
54566         * tests/test-vasprintf-posix.c (test_function): Likewise.
54567         * doc/functions/fprintf.texi: Update.
54568         * doc/functions/printf.texi: Update.
54569         * doc/functions/snprintf.texi: Update.
54570         * doc/functions/sprintf.texi: Update.
54571         * doc/functions/vfprintf.texi: Update.
54572         * doc/functions/vprintf.texi: Update.
54573         * doc/functions/vsnprintf.texi: Update.
54574         * doc/functions/vsprintf.texi: Update.
54575
54576 2007-05-01  Bruno Haible  <bruno@clisp.org>
54577
54578         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
54579
54580 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
54581
54582         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
54583         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
54584
54585 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
54586
54587         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
54588         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
54589         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
54590
54591 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
54592
54593         * lib/argp-help.c (struct hol_entry): New member `ord'.
54594         (HOL_ENTRY_PTRCMP): Use ord for comparison
54595         (hol_sort): Initialize ord.
54596
54597 2007-05-01  Bruno Haible  <bruno@clisp.org>
54598
54599         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
54600         Reported by Eric Blake.
54601         * doc/gnulib.texi (Function Substitutes): Update.
54602
54603 2007-05-01  Bruno Haible  <bruno@clisp.org>
54604
54605         * doc/functions.texi: Remove file, now redundant through
54606         doc/functions/*.texi.
54607
54608 2007-05-01  Bruno Haible  <bruno@clisp.org>
54609
54610         * modules/argp (Depends-on): Add sleep.
54611
54612 2007-05-01  Bruno Haible  <bruno@clisp.org>
54613
54614         * modules/sleep-tests: New file.
54615         * tests/test-sleep.c: New file.
54616
54617         * modules/sleep: New file.
54618         * lib/sleep.c: New file.
54619         * m4/sleep.m4: New file.
54620         * lib/unistd_.h (sleep): New declaration.
54621         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
54622         HAVE_SLEEP.
54623         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
54624         * doc/functions/sleep.texi: Document the sleep module.
54625
54626 2007-05-01  Bruno Haible  <bruno@clisp.org>
54627
54628         * lib/sigprocmask.h: Remove file.
54629         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
54630         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
54631         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
54632         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
54633         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
54634         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
54635         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
54636         HAVE_SIGSET_T as a shell variable.
54637         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
54638         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
54639         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
54640         (Depends-on): Add signal. Remove verify.
54641         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
54642         (Include): Mention <signal.h> instead of sigprocmask.h.
54643         * NEWS: Mention the change.
54644         * lib/fatal-signal.c: Don't include sigprocmask.h.
54645
54646 2007-05-01  Bruno Haible  <bruno@clisp.org>
54647
54648         * modules/signal: New file.
54649         * lib/signal_.h: New file.
54650         * m4/signal_h.m4: New file.
54651
54652 2007-05-01  Bruno Haible  <bruno@clisp.org>
54653
54654         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
54655         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
54656         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
54657         HAVE_WCTYPE_CTMP_BUG into wctype.h.
54658
54659 2007-05-01  Bruno Haible  <bruno@clisp.org>
54660
54661         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
54662         configure time.
54663         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
54664         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
54665         * modules/sys_stat (Makefile.am): Substitute their values into
54666         sys/stat.h.
54667
54668 2007-05-01  Bruno Haible  <bruno@clisp.org>
54669
54670         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
54671         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
54672         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
54673
54674 2007-05-01  Bruno Haible  <bruno@clisp.org>
54675
54676         * doc/header/assert.texi: Undo last change: don't mention the gnulib
54677         'assert' module here.
54678
54679 2007-05-01  Bruno Haible  <bruno@clisp.org>
54680
54681         * doc/functions/*.texi: New files.
54682         * doc/functions/google-ranking.txt: New file.
54683         * doc/gnulib.texi (Function Substitutes): New chapter.
54684         (ctime, inet_ntoa): Remove sections.
54685         * doc/ctime.texi: Remove file.
54686         * doc/inet_ntoa.texi: Remove file.
54687         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
54688         dependencies.
54689         (%.info): New rule, specifying a --reference-limit.
54690
54691 2007-05-01  Bruno Haible  <bruno@clisp.org>
54692
54693         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
54694
54695 2007-05-01  Bruno Haible  <bruno@clisp.org>
54696
54697         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
54698         the portability of 'mkdir' to mingw systems.
54699
54700 2007-05-01  Bruno Haible  <bruno@clisp.org>
54701
54702         * doc/headers/google-ranking.txt: New file.
54703
54704 2007-04-30  Eric Blake  <ebb9@byu.net>
54705
54706         Prefer fseeko to fseek.
54707         * modules/getpass (Depends-on): Add fseeko.
54708         * lib/getpass.c (getpass): Use fseeko, not fseek.
54709
54710 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
54711
54712         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
54713         assumes the sorting is stable, while most qsort implementations
54714         are not.  Use argument addresses to ensure they never compare as
54715         equal.
54716
54717         * tests/test-argp-2.sh (usage-indent test): Fix output
54718         (func_compare): Restore diff options
54719         * tests/test-argp.c: Restore #include "progname.h"
54720
54721 2007-04-29  Bruno Haible  <bruno@clisp.org>
54722
54723         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
54724         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
54725         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
54726         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54727         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
54728         (configure.ac): Define CHECK_SNPRINTF_POSIX.
54729         (TESTS, check_PROGRAMS): Add test-snprintf.
54730         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
54731         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
54732         (TESTS, check_PROGRAMS): Add test-vsnprintf.
54733         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
54734         assertions that fail on HP-UX, OSF/1, or IRIX.
54735         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
54736
54737 2007-04-29  Bruno Haible  <bruno@clisp.org>
54738
54739         * MODULES.html.sh (posix_functions): Remove 'contents'.
54740
54741 2007-04-29  Karl Berry  <karl@gnu.org>
54742
54743         * config/srclist.txt (gendocs_template_min): new entry.
54744
54745 2007-04-29  Bruno Haible  <bruno@clisp.org>
54746
54747         Work around fpurge bug on BSD systems.
54748         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
54749         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
54750         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
54751         fpurge to rpl_fpurge if the system already has this function.
54752         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
54753         the case where the system already has this function. Correct invariants
54754         on BSD systems.
54755         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
54756         BSD systems.
54757
54758 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
54759
54760         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
54761         proposed by Sven Verdoolaege.
54762
54763         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
54764         options.
54765         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
54766         (usage and help tests): Update
54767
54768 2007-04-29  Bruno Haible  <bruno@clisp.org>
54769
54770         * tests/test-fflush.c (main): Use a file of size 17, not 10.
54771         Print more information in case of failure. Disable a test on BeOS.
54772
54773 2007-04-29  Bruno Haible  <bruno@clisp.org>
54774
54775         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
54776         This helps debugging on systems on which no gdb is available.
54777
54778 2007-04-29  Bruno Haible  <bruno@clisp.org>
54779
54780         * lib/freading.h: Improve comments.
54781         * lib/fwriting.h: Likewise.
54782         * tests/test-freading.c (main): Don't check freading immediately after
54783         repositioning. Needed for glibc.
54784
54785 2007-04-29  Bruno Haible  <bruno@clisp.org>
54786
54787         * lib/freading.c (freading): Trivial simplification.
54788
54789 2007-04-28  Bruno Haible  <bruno@clisp.org>
54790
54791         * tests/test-fwriting.c (main): Also test the interaction between
54792         fflush and fwriting.
54793         * modules/fwriting-tests (Depends-on): Add fflush.
54794
54795         * tests/test-freading.c (main): Also test the interaction between
54796         fflush and freading.
54797         * modules/freading-tests (Depends-on): Add fflush.
54798
54799 2007-04-28  Bruno Haible  <bruno@clisp.org>
54800
54801         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
54802         fseeko and ftello.
54803         Suggested by Eric Blake.
54804
54805 2007-04-28  Jim Meyering  <jim@meyering.net>
54806
54807         Avoid false-negative in gl_STDINT_H's C99 conformance test.
54808         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
54809         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
54810
54811 2007-04-27  Eric Blake  <ebb9@byu.net>
54812
54813         * doc/headers/assert.texi (assert.h): Document assert module use.
54814
54815 2007-04-27  Bruno Haible  <bruno@clisp.org>
54816
54817         * doc/headers/*.texi: New files.
54818         * doc/gnulib.texi (Header File Substitutes): New chapter.
54819         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
54820         dependencies.
54821         (standards.info ,standards.html, standards.dvi): Update dependencies.
54822         (mostlyclean, clean): New targets.
54823
54824 2007-04-27  Bruno Haible  <bruno@clisp.org>
54825
54826         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
54827         * modules/sysexits (Files, Makefile.am): Update.
54828
54829         * lib/sys_socket_.h: Renamed from lib/socket_.h.
54830         * modules/sys_socket (Files, Makefile.am): Update.
54831
54832         * lib/sys_stat_.h: Renamed from lib/stat_.h.
54833         * modules/sys_stat (Files, Makefile.am): Update.
54834
54835 2007-04-27  Eric Blake  <ebb9@byu.net>
54836
54837         * lib/freading.h: Improve comments.
54838         * lib/fwriting.h: Likewise.
54839         * lib/fflush.c: Likewise.
54840
54841         Fix closein for mingw.
54842         * modules/closein-tests: Add tests for closein.
54843         * tests/test-closein.c: New file.
54844         * tests/test-closein.sh: Likewise.
54845         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
54846         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
54847
54848 2007-04-27  Bruno Haible  <bruno@clisp.org>
54849
54850         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
54851         version is < 6.
54852         * lib/math_.h [__DECC]: Likewise.
54853         * lib/stdio_.h [__DECC]: Likewise.
54854         * lib/stdlib_.h [__DECC]: Likewise.
54855         * lib/string_.h [__DECC]: Likewise.
54856         * lib/time_.h [__DECC]: Likewise.
54857         * lib/wchar_.h [__DECC]: Likewise.
54858         * lib/wctype_.h [__DECC]: Likewise.
54859
54860 2007-04-27  Bruno Haible  <bruno@clisp.org>
54861
54862         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
54863
54864 2007-04-27  Bruno Haible  <bruno@clisp.org>
54865
54866         * lib/fflush.c: Add comments.
54867         * modules/fpurge-tests (Depends-on): Add fflush.
54868         * modules/freadable-tests (Depends-on): Likewise.
54869         * modules/fwritable-tests (Depends-on): Likewise.
54870
54871 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
54872
54873         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
54874         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
54875         Report by Bruno Haible <bruno@clisp.org>.
54876
54877 2007-04-26  Eric Blake  <ebb9@byu.net>
54878
54879         Fix fflush on mingw.
54880         * modules/fflush (Depends-on): Add freading.
54881         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
54882         but unread data.
54883
54884 2007-04-26  Eric Blake  <ebb9@byu.net>
54885         and Bruno Haible  <bruno@clisp.org>
54886
54887         Implement freading and fwriting.
54888         * lib/freading.c: New file.
54889         * lib/freading.h: Likewise.
54890         * m4/freading.m4: Likewise.
54891         * modules/freading: Likewise.
54892         * modules/freading-tests: Likewise.
54893         * tests/test-freading.c: Likewise.
54894         * lib/fwriting.c: New file.
54895         * lib/fwriting.h: Likewise.
54896         * m4/fwriting.m4: Likewise.
54897         * modules/fwriting: Likewise.
54898         * modules/fwriting-tests: Likewise.
54899         * tests/test-fwriting.c: Likewise.
54900         * MODULES.html.sh (File stream based Input/Output): Mention them.
54901
54902 2007-04-26  Bruno Haible  <bruno@clisp.org>
54903
54904         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
54905         'long' when we assume it.
54906         Suggested by Eric Blake.
54907
54908 2007-04-26  Bruno Haible  <bruno@clisp.org>
54909
54910         Ensure fseeko, ftello are declared on glibc systems.
54911         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
54912         * modules/fseeko (configure.ac-early): Likewise.
54913         * modules/ftello (configure.ac-early): Likewise.
54914         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
54915         AC_FUNC_FSEEKO for this.
54916         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
54917         (gl_CHECK_FSEEKO): Remove macro.
54918
54919 2007-04-26  Bruno Haible  <bruno@clisp.org>
54920
54921         * tests/test-fflush.c (main): Also check the ftell result after
54922         fflush and fseek/fseeko.
54923         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
54924         file descriptor position cache in the stream.
54925         * lib/fseeko.c (rpl_fseeko): Likewise.
54926
54927 2007-04-26  Bruno Haible  <bruno@clisp.org>
54928
54929         * modules/fflush-tests (Depends-on): Add fseeko.
54930
54931 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
54932             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54933
54934         * lib/argz_.h: ensure error_t definition is obtained in same
54935         mechanism system argz.h would have.
54936         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
54937         argz facilities are known bad.  Err on the side of caution if
54938         cross-compiling.
54939
54940 2007-04-25  Eric Blake  <ebb9@byu.net>
54941
54942         * lib/fpurge.c (includes): Use stdlib.h for free.
54943         * tests/test-fflush.c (main): Also test fflush-fseeko.
54944
54945 2007-04-25  Bruno Haible  <bruno@clisp.org>
54946
54947         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
54948         * lib/fseeko.c: New file.
54949         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
54950         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
54951         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
54952         gl_FUNC_FSEEKO.
54953         (gl_FUNC_FSEEKO): Invoke it.
54954         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
54955         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
54956         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
54957
54958 2007-04-25  Bruno Haible  <bruno@clisp.org>
54959
54960         * modules/fflush (Depends-on): Add ftello.
54961
54962 2007-04-25  Bruno Haible  <bruno@clisp.org>
54963
54964         * modules/ftello-tests: New file.
54965         * tests/test-ftello.c: New file.
54966
54967         * modules/ftello: New file.
54968         * m4/ftello.m4: New file.
54969         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
54970         HAVE_FTELLO.
54971         * lib/stdio_.h (ftello): New declaration.
54972         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
54973         HAVE_FTELLO.
54974
54975 2007-04-25  Bruno Haible  <bruno@clisp.org>
54976
54977         * modules/fseeko-tests: New file.
54978         * tests/test-fseeko.c: New file.
54979
54980         * modules/fseeko: New file.
54981         * m4/fseeko.m4: New file.
54982         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
54983         HAVE_FSEEKO.
54984         * lib/stdio_.h (fseeko): New declaration.
54985         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
54986         HAVE_FSEEKO.
54987
54988 2007-04-25  Bruno Haible  <bruno@clisp.org>
54989
54990         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
54991
54992 2007-04-25  Bruno Haible  <bruno@clisp.org>
54993
54994         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
54995         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
54996         * tests/test-unistd.c: Likewise.
54997         * tests/test-fcntl.c: Likewise.
54998
54999 2007-04-23  Eric Blake  <ebb9@byu.net>
55000
55001         * lib/fflush.c: Fix missing include.
55002         Reported by Bruno Haible.
55003
55004 2007-04-23  Bruno Haible  <bruno@clisp.org>
55005
55006         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
55007         Reported by Eric Blake.
55008
55009 2007-04-23  Bruno Haible  <bruno@clisp.org>
55010
55011         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
55012
55013 2007-04-23  Bruno Haible  <bruno@clisp.org>
55014
55015         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
55016
55017 2007-04-23  Bruno Haible  <bruno@clisp.org>
55018
55019         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
55020         Needed on HP-UX 11.
55021
55022 2007-04-16  Eric Blake  <ebb9@byu.net>
55023
55024         Make fflush rely on fpurge.
55025         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
55026         open coding all variants.
55027         * modules/fflush (Depends-on): Add fpurge and unistd.
55028         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
55029         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
55030
55031         Fix --with-tests compilation on cygwin.
55032         * modules/argmatch-tests (Makefile.am): List gnulib library first
55033         in LDADD.
55034         * modules/argp-tests (Makefile.am): Likewise.
55035         * modules/array-list-tests (Makefile.am): Likewise.
55036         * modules/array-oset-tests (Makefile.am): Likewise.
55037         * modules/avltree-list-tests (Makefile.am): Likewise.
55038         * modules/avltree-oset-tests (Makefile.am): Likewise.
55039         * modules/avltreehash-list-tests (Makefile.am): Likewise.
55040         * modules/carray-list-tests (Makefile.am): Likewise.
55041         * modules/dirname-tests (Makefile.am): Likewise.
55042         * modules/frexp-tests (Makefile.am): Likewise.
55043         * modules/isnanl-tests (Makefile.am): Likewise.
55044         * modules/linked-list-tests (Makefile.am): Likewise.
55045         * modules/linkedhash-list-tests (Makefile.am): Likewise.
55046         * modules/lock-tests (Makefile.am): Likewise.
55047         * modules/rbtree-list-tests (Makefile.am): Likewise.
55048         * modules/rbtree-oset-tests (Makefile.am): Likewise.
55049         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
55050         * modules/tls-tests (Makefile.am): Likewise.
55051         * modules/tsearch-tests (Makefile.am): Likewise.
55052         * modules/xvasprintf-tests (Makefile.am): Likewise.
55053
55054         Fix fpurge for cygwin.
55055         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
55056         value.
55057         * modules/fpurge-tests (Depends-on): Clean up trash.
55058
55059 2007-04-16  Simon Josefsson  <simon@josefsson.org>
55060
55061         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
55062
55063         * m4/autobuild.m4: Re-indent.
55064
55065 2007-04-13  Bruno Haible  <bruno@clisp.org>
55066
55067         * modules/fpurge-tests: New file.
55068         * tests/test-fpurge.c: New file.
55069
55070         * modules/fpurge: New file.
55071         * lib/fpurge.h: New file.
55072         * lib/fpurge.c: New file.
55073         * m4/fpurge.m4: New file.
55074
55075 2007-04-13  Bruno Haible  <bruno@clisp.org>
55076
55077         * modules/fbufmode-tests: New file.
55078         * tests/test-fbufmode.c: New file.
55079
55080         * modules/fbufmode: New file.
55081         * lib/fbufmode.h: New file.
55082         * lib/fbufmode.c: New file.
55083         * m4/fbufmode.m4: New file.
55084
55085 2007-04-13  Bruno Haible  <bruno@clisp.org>
55086
55087         * modules/fwritable-tests: New file.
55088         * tests/test-fwritable.c: New file.
55089
55090         * modules/fwritable: New file.
55091         * lib/fwritable.h: New file.
55092         * lib/fwritable.c: New file.
55093         * m4/fwritable.m4: New file.
55094
55095 2007-04-13  Bruno Haible  <bruno@clisp.org>
55096
55097         * modules/freadable-tests: New file.
55098         * tests/test-freadable.c: New file.
55099
55100         * modules/freadable: New file.
55101         * lib/freadable.h: New file.
55102         * lib/freadable.c: New file.
55103         * m4/freadable.m4: New file.
55104
55105 2007-04-13  Bruno Haible  <bruno@clisp.org>
55106
55107         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
55108         MOSTLYCLEANFILES.
55109
55110 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
55111
55112         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
55113         gzip bootstrap.conf to avoid dragging in i18n machinery.
55114         (gnulib_tool_option): Use it.
55115
55116 2007-04-13  Bruno Haible  <bruno@clisp.org>
55117
55118         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
55119         %F directives.
55120         * tests/test-vasprintf-posix.c (test_function): Likewise.
55121         * tests/test-snprintf-posix.h (test_function): Likewise.
55122         * tests/test-sprintf-posix.h (test_function): Likewise.
55123         * tests/test-fprintf-posix.h (test_function): Likewise.
55124         * tests/test-printf-posix.h (test_function): Likewise.
55125         * tests/test-fprintf-posix.out: Likewise.
55126
55127 2007-04-13  Bruno Haible  <bruno@clisp.org>
55128
55129         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
55130         * modules/tls-tests (configure.ac): Likewise.
55131         Reported by Arto C. Nirkko <anirkko@insel.ch>.
55132
55133 2007-04-13  Bruno Haible  <bruno@clisp.org>
55134
55135         * lib/tls.c (glthread_tls_get): Fix return type.
55136         Patch by Arto C. Nirkko <anirkko@insel.ch>.
55137
55138 2007-04-12  Eric Blake  <ebb9@byu.net>
55139
55140         * modules/gettime (Depends-on): Remove gettime.
55141         Reported by Dmitry V. Levin.
55142
55143 2007-04-12  Bruno Haible  <bruno@clisp.org>
55144
55145         * modules/fflush (Include): Mention <stdio.h>.
55146         * modules/strtoimax (Include): Mention <inttypes.h>.
55147         * modules/strtoumax (Include): Likewise.
55148
55149 2007-04-12  Eric Blake  <ebb9@byu.net>
55150
55151         * .cvsignore: New file.
55152         * .gitignore: Likewise.
55153
55154 2007-04-12  Bruno Haible  <bruno@clisp.org>
55155
55156         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
55157         not before, since $(LDADD) often contains libgnu.a.
55158         * modules/striconv-tests (test_striconv_LDADD): Likewise.
55159         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
55160         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
55161         Needed on Cygwin.
55162
55163 2007-04-12  Eric Blake  <ebb9@byu.net>
55164
55165         Work around glibc's failure to flush stdin on fclose.
55166         * lib/closein.c (close_stdin): Flush stdin before closing.
55167
55168         Work around glibc's failure to reset seekable stdin on exit.
55169         * modules/closein: New module.
55170         * lib/closein.c: New file.
55171         * lib/closein.h: Likewise.
55172         * m4/closein.m4: Likewise.
55173         * MODULES.html.sh (File stream based Input/Output): Document it.
55174
55175 2007-04-12  Simon Josefsson  <simon@josefsson.org>
55176
55177         * gnulib-tool: Rename generated 'autobuild' script to
55178         'do-autobuild' in --create-megatestdir output.
55179
55180         * doc/gnulib.texi (Build robot for gnulib): Fix.
55181
55182 2007-04-12  Simon Josefsson  <simon@josefsson.org>
55183
55184         * modules/sysexits (Depends-on): Add absolute-header.
55185
55186 2007-04-12  Eric Blake  <ebb9@byu.net>
55187
55188         No need to preserve errno on success.
55189         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
55190         Reported by Bruno Haible.
55191
55192 2007-04-12  Simon Josefsson  <simon@josefsson.org>
55193
55194         * MODULES.html.sh (Support for maintaining and releasing
55195         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
55196
55197 2007-04-12  Simon Josefsson  <simon@josefsson.org>
55198
55199         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
55200
55201 2007-04-12  Simon Josefsson  <simon@josefsson.org>
55202
55203         * modules/autobuild: New module.
55204
55205         * m4/autobuild.m4: New file.
55206
55207 2007-04-11  Bruno Haible  <bruno@clisp.org>
55208
55209         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
55210         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
55211         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
55212         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
55213         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
55214         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
55215         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
55216         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
55217         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
55218         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
55219         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
55220         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
55221         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
55222         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
55223         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
55224         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
55225         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
55226         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
55227         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
55228         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
55229         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
55230         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
55231         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
55232         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
55233         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
55234         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
55235         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
55236         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
55237         Reported by Eric Blake.
55238
55239 2007-04-11  Bruno Haible  <bruno@clisp.org>
55240
55241         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
55242
55243 2007-04-10  Bruno Haible  <bruno@clisp.org>
55244
55245         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
55246         for NaN and Infinity. Needed on FreeBSD 6.1.
55247         * tests/test-vasnprintf-posix.c (test_function): Undo last change
55248         regarding results for "%010a" of Infinity and NaN.
55249         * tests/test-vasprintf-posix.c (test_function): Likewise.
55250         * tests/test-snprintf-posix.h (test_function): Likewise.
55251         * tests/test-sprintf-posix.h (test_function): Likewise.
55252         * tests/test-fprintf-posix.h (test_function): Likewise.
55253         * tests/test-printf-posix.h (test_function): Likewise.
55254         * tests/test-fprintf-posix.out: Likewise.
55255
55256 2007-04-10  Bruno Haible  <bruno@clisp.org>
55257
55258         * modules/locale-tests: New file.
55259         * tests/test-locale.c: New file.
55260
55261         * modules/locale: New file.
55262         * lib/locale_.h: New file.
55263         * m4/locale_h.m4: New file.
55264
55265 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
55266             Bruno Haible  <bruno@clisp.org>
55267
55268         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
55269         be determined, test for availability of the copysignf, copysign,
55270         copysignl functions.
55271         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
55272         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
55273         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
55274
55275 2007-04-09  Eric Blake  <ebb9@byu.net>
55276
55277         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
55278         * modules/stdio (Makefile.am): Support fflush.
55279         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
55280         * modules/fflush: New file.
55281         * lib/fflush.c: Likewise.
55282         * m4/fflush.m4: Likewise.
55283         * modules/fflush-tests: New test.
55284         * tests/test-fflush.c: Likewise.
55285         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
55286
55287 2007-04-06  Bruno Haible  <bruno@clisp.org>
55288
55289         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
55290         (VASNPRINTF): Use signbit for faster determination whether to print a
55291         minus sign.
55292         * modules/vasnprintf (Files): Remove lib/float+.h.
55293         * modules/fprintf-posix (Depends-on): Add signbit.
55294         * modules/snprintf-posix (Depends-on): Likewise.
55295         * modules/sprintf-posix (Depends-on): Likewise.
55296         * modules/vasnprintf-posix (Depends-on): Likewise.
55297         * modules/vasprintf-posix (Depends-on): Likewise.
55298         * modules/vfprintf-posix (Depends-on): Likewise.
55299         * modules/vsnprintf-posix (Depends-on): Likewise.
55300         * modules/vsprintf-posix (Depends-on): Likewise.
55301
55302 2007-04-06  Bruno Haible  <bruno@clisp.org>
55303
55304         * tests/test-frexp.c (main): Test also the sign bit of zero results.
55305         * tests/test-frexpl.c (main): Likewise.
55306         * tests/test-ldexpl.c (main): Likewise.
55307         * modules/frexp-tests (Depends-on): Add signbit.
55308         * modules/frexpl-tests (Depdends-on): Likewise.
55309         * modules/ldexpl-tests (Depdends-on): Likewise.
55310
55311 2007-04-06  Bruno Haible  <bruno@clisp.org>
55312
55313         * modules/signbit-tests: New file.
55314         * tests/test-signbit.c: New file.
55315
55316         * modules/signbit: New file.
55317         * lib/signbitf.c: New file.
55318         * lib/signbitd.c: New file.
55319         * lib/signbitl.c: New file.
55320         * m4/signbit.m4: New file.
55321         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
55322         (signbit): New macro.
55323         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
55324         REPLACE_SIGNBIT.
55325         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
55326         REPLACE_FREXPL into math.h.
55327
55328 2007-04-06  Bruno Haible  <bruno@clisp.org>
55329
55330         * modules/isnanf-nolibm-tests: New file.
55331         * tests/test-isnanf.c: New file.
55332
55333         * modules/isnanf-nolibm: New file.
55334         * lib/isnanf.h: New file.
55335         * lib/isnanf.c: New file.
55336         * lib/isnan.c: Consider the USE_FLOAT macro.
55337         * m4/isnanf.m4: New file.
55338
55339 2007-04-06  Bruno Haible  <bruno@clisp.org>
55340
55341         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
55342         (Link): New section.
55343
55344         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
55345
55346 2007-04-06  Bruno Haible  <bruno@clisp.org>
55347
55348         Assume the 'long double' type.
55349         * m4/longdouble.m4: Remove file.
55350         * config/srclist.txt: Don't mention longdouble.m4.
55351         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
55352         * lib/float+.h: Likewise.
55353         * lib/frexp.c: Likewise.
55354         * lib/printf-args.h: Likewise.
55355         * lib/printf-args.c: Likewise.
55356         * lib/printf-frexp.c: Likewise.
55357         * lib/printf-parse.c: Likewise.
55358         * lib/vasnprintf.c: Likewise.
55359         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
55360         * m4/intl.m4: Likewise.
55361         * m4/isnanl.m4: Likewise.
55362         * m4/printf.m4: Likewise.
55363         * m4/printf-frexpl.m4: Likewise.
55364         * m4/vasnprintf.m4: Likewise.
55365         * modules/allocsa (Files): Remove m4/longdouble.m4.
55366         * modules/gettext (Files): Likewise.
55367         * modules/relocatable-prog-wrapper (Files): Likewise.
55368         * modules/vasnprintf (Files): Likewise.
55369         * modules/isnanl (Files): Likewise.
55370         (Include): Simplify.
55371         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
55372         (Include): Simplify.
55373         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
55374         (Include): Simplify.
55375         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
55376         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
55377         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
55378         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
55379         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
55380         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
55381         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
55382         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
55383         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
55384         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
55385         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
55386         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
55387         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
55388         * tests/test-isnanl.c: Likewise.
55389         * tests/test-snprintf-posix.h: Likewise.
55390         * tests/test-sprintf-posix.h: Likewise.
55391         * tests/test-vasnprintf-posix.c: Likewise.
55392         * tests/test-vasnprintf-posix2.c: Likewise.
55393         * tests/test-vasprintf-posix.c: Likewise.
55394
55395 2007-04-06  Bruno Haible  <bruno@clisp.org>
55396
55397         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
55398         * lib/math_.h [__DECC]: Include the overridden include file through
55399         #include_next, outside the double-inclusion guard.
55400         * lib/stdio_.h [__DECC]: Likewise.
55401         * lib/stdlib_.h [__DECC]: Likewise.
55402         * lib/string_.h [__DECC]: Likewise.
55403         * lib/time_.h [__DECC]: Likewise.
55404         * lib/wchar_.h [__DECC]: Likewise.
55405         * lib/wctype_.h [__DECC]: Likewise.
55406         * lib/inttypes_.h [__DECC]: Likewise.
55407         Reported by Albert Chin <china@thewrittenword.com> in
55408         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
55409
55410 2007-04-04  Eric Blake  <ebb9@byu.net>
55411
55412         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
55413         1.5.x.
55414
55415 2007-04-04  Bruno Haible  <bruno@clisp.org>
55416
55417         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
55418         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
55419
55420 2007-04-04  Bruno Haible  <bruno@clisp.org>
55421
55422         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
55423         results for "%010a" of Infinity and NaN.
55424         * tests/test-vasprintf-posix.c (test_function): Likewise.
55425         * tests/test-snprintf-posix.h (test_function): Likewise.
55426         * tests/test-sprintf-posix.h (test_function): Likewise.
55427         * tests/test-fprintf-posix.h (test_function): Remove these tests.
55428         * tests/test-printf-posix.h (test_function): Likewise.
55429         * tests/test-fprintf-posix.out: Update.
55430         Needed for FreeBSD 6.1.
55431
55432 2007-04-04  Bruno Haible  <bruno@clisp.org>
55433
55434         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
55435         directly used by the gnulib modules nor by gnulib-tool.
55436
55437 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
55438
55439         * DEPENDENCIES: Give overall description of version dependency
55440         desirability.  Use more-typical names for apps.
55441         Add shell, coreutils, diffutils, grep, tar, gzip.
55442
55443 2007-04-04  Simon Josefsson  <simon@josefsson.org>
55444
55445         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
55446
55447 2007-04-04  Karl Berry  <karl@gnu.org>
55448
55449         * MODULES.html.sh (func_module): missing '.
55450
55451 2007-04-03  Bruno Haible  <bruno@clisp.org>
55452
55453         * modules/argmatch-tests (Makefile.am): New variable
55454         test_argmatch_LDADD.
55455         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
55456         * modules/array-list-tests (Makefile.am): New variable
55457         test_array_list_LDADD.
55458         * modules/array-oset-tests (Makefile.am): New variable
55459         test_array_oset_LDADD.
55460         * modules/avltree-list-tests (Makefile.am): New variable
55461         test_avltree_list_LDADD.
55462         * modules/avltree-oset-tests (Makefile.am): New variable
55463         test_avltree_oset_LDADD.
55464         * modules/avltreehash-list-tests (Makefile.am): New variable
55465         test_avltreehash_list_LDADD.
55466         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
55467         test_canonicalize_lgpl_LDADD.
55468         * modules/carray-list-tests (Makefile.am): New variable
55469         test_carray_list_LDADD.
55470         * modules/dirname-tests (Makefile.am): New variable
55471         test_dirname_LDADD.
55472         * modules/linked-list-tests (Makefile.am): New variable
55473         test_linked_list_LDADD.
55474         * modules/linkedhash-list-tests (Makefile.am): New variable
55475         test_linkedhash_list_LDADD.
55476         * modules/rbtree-list-tests (Makefile.am): New variable
55477         test_rbtree_list_LDADD.
55478         * modules/rbtree-oset-tests (Makefile.am): New variable
55479         test_rbtree_oset_LDADD.
55480         * modules/rbtreehash-list-tests (Makefile.am): New variable
55481         test_rbtreehash_list_LDADD.
55482         * modules/xvasprintf-tests (Makefile.am): New variable
55483         test_xvasprintf_LDADD.
55484         Reported by Eric Blake.
55485
55486 2007-04-03  Eric Blake  <ebb9@byu.net>
55487
55488         * DEPENDENCIES: Weaken m4 requirements.
55489
55490 2007-04-03  Bruno Haible  <bruno@clisp.org>
55491
55492         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
55493         * modules/isnanl-tests (configure.ac): Likewise.
55494
55495 2007-04-03  Ben Pfaff  <blp@gnu.org>
55496
55497         * modules/iconv_open: Add $(srcdir)/ to source directory
55498         references in Makefile fragments that call gperf, to fix VPATH
55499         builds.
55500
55501 2007-04-03  Bruno Haible  <bruno@clisp.org>
55502
55503         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
55504         * lib/ldexpl.c: Undo last change.
55505
55506 2007-04-03  Bruno Haible  <bruno@clisp.org>
55507
55508         * modules/printf-frexpl (Depends-on): Undo last change.
55509         (Files): Add m4/ldexpl.m4.
55510
55511 2007-04-03  Bruno Haible  <bruno@clisp.org>
55512
55513         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
55514         * modules/isnanl (Link): New section.
55515
55516         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
55517         * modules/frexp (Link): New section.
55518
55519         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
55520         * modules/frexpl (Link): New section.
55521
55522         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
55523         * modules/ldexpl (Link): New section.
55524
55525 2007-04-03  Bruno Haible  <bruno@clisp.org>
55526
55527         * modules/TEMPLATE-EXTENDED: New file.
55528         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
55529
55530 2007-04-03  Bruno Haible  <bruno@clisp.org>
55531
55532         * DEPENDENCIES: New file.
55533         Suggested by Simon Josefsson.
55534
55535 2007-04-03  Bruno Haible  <bruno@clisp.org>
55536
55537         * doc/gnulib.texi: Escape @.
55538
55539 2007-04-03  James Youngman  <jay@gnu.org>
55540         and Paul Eggert  <eggert@cs.ucla.edu>
55541
55542         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
55543         birthtime on all systems that have birthtime, not just those which
55544         use st_birthtimensec rather than st_birthtim.  Putting zero in
55545         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
55546         that the birth time is not available for files on an NFS mount.
55547
55548 2007-04-03  Simon Josefsson  <simon@josefsson.org>
55549
55550         * modules/memxor: Move back from crypto/, suggested by Bruno.
55551         * modules/crypto/hmac-sha1: Fix memxor dependency.
55552
55553         * modules/crypto/gc: Moved from ../.
55554
55555 2007-04-02  Eric Blake  <ebb9@byu.net>
55556
55557         * lib/ldexpl.c (includes): Avoid libm.
55558
55559         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
55560
55561 2007-04-02  Bruno Haible  <bruno@clisp.org>
55562
55563         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
55564         on IRIX.
55565
55566 2007-04-02  Bruno Haible  <bruno@clisp.org>
55567
55568         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
55569         x86 or x86_64 platforms running MacOS X.
55570         Reported by Ryan Schmidt <@ryandesign.com>.
55571
55572 2007-04-02  Bruno Haible  <bruno@clisp.org>
55573
55574         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
55575         i386.
55576
55577 2007-04-01  Simon Josefsson  <simon@josefsson.org>
55578
55579         * modules/crypto/arcfour: Moved from ../.
55580         * modules/crypto/arcfour-tests: Moved from ../.
55581         * modules/crypto/arctwo: Moved from ../.
55582         * modules/crypto/arctwo-tests: Moved from ../.
55583         * modules/crypto/des: Moved from ../.
55584         * modules/crypto/des-tests: Moved from ../.
55585         * modules/crypto/gc-arcfour: Moved from ../.
55586         * modules/crypto/gc-arcfour-tests: Moved from ../.
55587         * modules/crypto/gc-arctwo: Moved from ../.
55588         * modules/crypto/gc-arctwo-tests: Moved from ../.
55589         * modules/crypto/gc-des: Moved from ../.
55590         * modules/crypto/gc-des-tests: Moved from ../.
55591         * modules/crypto/gc-hmac-md5: Moved from ../.
55592         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
55593         * modules/crypto/gc-hmac-sha1: Moved from ../.
55594         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
55595         * modules/crypto/gc-md2: Moved from ../.
55596         * modules/crypto/gc-md2-tests: Moved from ../.
55597         * modules/crypto/gc-md4: Moved from ../.
55598         * modules/crypto/gc-md4-tests: Moved from ../.
55599         * modules/crypto/gc-md5: Moved from ../.
55600         * modules/crypto/gc-md5-tests: Moved from ../.
55601         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
55602         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
55603         * modules/crypto/gc-random: Moved from ../.
55604         * modules/crypto/gc-rijndael: Moved from ../.
55605         * modules/crypto/gc-rijndael-tests: Moved from ../.
55606         * modules/crypto/gc-sha1: Moved from ../.
55607         * modules/crypto/gc-sha1-tests: Moved from ../.
55608         * modules/crypto/gc-tests: Moved from ../.
55609         * modules/crypto/hmac-md5: Moved from ../.
55610         * modules/crypto/hmac-md5-tests: Moved from ../.
55611         * modules/crypto/hmac-sha1: Moved from ../.
55612         * modules/crypto/hmac-sha1-tests: Moved from ../.
55613         * modules/crypto/md2: Moved from ../.
55614         * modules/crypto/md2-tests: Moved from ../.
55615         * modules/crypto/md4: Moved from ../.
55616         * modules/crypto/md4-tests: Moved from ../.
55617         * modules/crypto/md5: Moved from ../.
55618         * modules/crypto/md5-tests: Moved from ../.
55619         * modules/crypto/memxor: Moved from ../.
55620         * modules/crypto/rijndael: Moved from ../.
55621         * modules/crypto/rijndael-tests: Moved from ../.
55622         * modules/crypto/sha1: Moved from ../.
55623
55624 2007-03-30  James Youngman  <jay@gnu.org>
55625
55626         * tests/test-stat-time.c (prepare_test): use chmod() rather than
55627         rename() to change the ctime of a file (because ctime is unaffected
55628         by rename on jfs2 on AIX 5.1).
55629         (main): Start by doing cleanup, in case a previous run failed leaving
55630         test files behind.
55631
55632 2007-03-31  Bruno Haible  <bruno@clisp.org>
55633
55634         Support old proprietary implementations of iconv.
55635         * modules/iconv_open: New file.
55636         * lib/iconv_.h: New file.
55637         * m4/iconv_h.m4: New file.
55638         * lib/iconv_open.c: New file.
55639         * lib/iconv_open-aix.gperf: New file.
55640         * lib/iconv_open-hpux.gperf: New file.
55641         * lib/iconv_open-irix.gperf: New file.
55642         * lib/iconv_open-osf.gperf: New file.
55643         * m4/iconv_open.m4: New file.
55644         * modules/linebreak (Depends-on): Add iconv_open.
55645         * modules/striconv (Depends-on): Likewise.
55646         * modules/striconveh (Depends-on): Likewise.
55647         * modules/unicodeio (Depends-on): Likewise.
55648         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
55649         (iconv_t)(-1).
55650         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
55651         conversion if cd is (iconv_t)(-1).
55652         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
55653         is not possible.
55654
55655 2007-03-31  Bruno Haible  <bruno@clisp.org>
55656
55657         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
55658         work on Solaris either. Protect also second use of "autodetect_jp".
55659
55660 2007-03-31  Bruno Haible  <bruno@clisp.org>
55661
55662         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
55663         the function is not present.
55664
55665 2007-03-31  Bruno Haible  <bruno@clisp.org>
55666
55667         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
55668         the function is not present.
55669
55670 2007-03-31  Bruno Haible  <bruno@clisp.org>
55671
55672         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
55673         a bug in HP-UX iconv_open().
55674
55675 2007-03-31  Bruno Haible  <bruno@clisp.org>
55676
55677         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
55678         (Mathematics <math.h>): New section, add fpieee.
55679         (Input/output <stdio.h>): Add fseterr.
55680         (Mathematics <math.h>): New section, add printf-frexp.
55681         (Container data structures): Add sublist.
55682         (Core language properties): Add fpucw, inline.
55683         (Functions for greatest-width integer types <inttypes.h>): Add
55684         imaxabs, imaxdiv, inttypes.
55685         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
55686         isnanl-nolibm, ldexp.
55687         (Mathematics <math.h>): New section, add printf-frexpl.
55688         (Support for systems lacking POSIX:2001): Add fprintf-posix,
55689         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
55690         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
55691         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
55692         (Unicode string functions): Add unistr/u*-mbtoucr.
55693         (Java): Add javacomp-script, javaexec-script.
55694         (C#): Add csharpcomp-script, csharpexec-script.
55695         (Support for building libraries and executables): Add havelib,
55696         relocatable-*.
55697         (Support for maintaining and releasing projects): Renamed from
55698         'Support for maintaining and release projects'. Add announce-gen.
55699
55700 2007-03-31  Bruno Haible  <bruno@clisp.org>
55701
55702         * README: Talk primarily about git.
55703         (git and CVS): Renamed from CVS.
55704         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
55705         gnulib is available through git.
55706         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
55707
55708 2007-03-30  Bruno Haible  <bruno@clisp.org>
55709
55710         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
55711         * lib/poll_.h: Likewise.
55712         * lib/stat_.h: Likewise.
55713         * lib/sys_time_.h: Likewise.
55714         * lib/sysexit_.h: Likewise.
55715         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
55716         * lib/stdbool_.h: Likewise.
55717         * lib/byteswap_.h: Add double-inclusion guard.
55718
55719 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
55720
55721         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
55722
55723 2007-03-30  Karl Berry  <karl@gnu.org>
55724
55725         * config/srclist-update: double space after USA in the license
55726         substitution, since that's how it's usually (?) written.
55727
55728 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
55729
55730         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
55731         reported by Bruno Haible.
55732
55733 2007-03-29  Bruno Haible  <bruno@clisp.org>
55734
55735         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
55736         a bug in AIX iconv().
55737
55738 2007-03-29  Bruno Haible  <bruno@clisp.org>
55739
55740         * modules/ldexpl-tests: New file.
55741         * tests/test-ldexpl.c: New file.
55742
55743 2007-03-29  Bruno Haible  <bruno@clisp.org>
55744
55745         * lib/ldexpl.c: Include fpucw.h.
55746         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
55747         multiplication.
55748         * modules/ldexpl (Depends-on): Add fpucw.
55749
55750 2007-03-29  Bruno Haible  <bruno@clisp.org>
55751
55752         * modules/ldexpl: New file.
55753         * m4/ldexpl.m4: New file.
55754         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
55755         set.
55756         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
55757         REPLACE_LDEXPL.
55758         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
55759         REPLACE_LDEXPL.
55760         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
55761         gl_FUNC_LDEXPL_WORKS.
55762         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
55763         * modules/mathl (Files): Remove lib/ldexpl.c.
55764         (Depends-on): Add ldexpl.
55765
55766 2007-03-29  Bruno Haible  <bruno@clisp.org>
55767
55768         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
55769
55770 2007-03-29  Bruno Haible  <bruno@clisp.org>
55771
55772         * tests/test-striconveh.c (main): Don't assume that a direct conversion
55773         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
55774         and possibly also HP-UX.
55775         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
55776         work on AIX, IRIX, HP-UX, OSF/1.
55777         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
55778         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
55779         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
55780         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
55781         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
55782         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
55783
55784 2007-03-29  Bruno Haible  <bruno@clisp.org>
55785
55786         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
55787
55788 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
55789
55790         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
55791         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
55792
55793 2007-03-29  Eric Blake  <ebb9@byu.net>
55794
55795         * lib/acl-internal.h: Remove redundant include.
55796         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
55797         Cygwin when a file is locked.
55798
55799 2007-03-29  Bruno Haible  <bruno@clisp.org>
55800
55801         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
55802         file.
55803         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
55804
55805 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
55806
55807         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
55808         try to remove a parent directory if the child couldn't be removed
55809         (except for the first rmdir, which could fail because the child
55810         doesn't exist).  Problem reported by Jeff Blaine in
55811         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
55812
55813 2007-03-28  Bruno Haible  <bruno@clisp.org>
55814
55815         * lib/striconveh.c (utf8conv_carefully): New function.
55816         (mem_cd_iconveh_internal): Invoke it.
55817
55818 2007-03-28  Bruno Haible  <bruno@clisp.org>
55819
55820         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
55821         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
55822         input.
55823         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
55824         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
55825         unistr/u8-uctomb.
55826
55827 2007-03-28  Bruno Haible  <bruno@clisp.org>
55828
55829         * modules/unistr/u8-mbtoucr: New file.
55830         * lib/unistr/u8-mbtoucr.c: New file.
55831         * modules/unistr/u16-mbtoucr: New file.
55832         * lib/unistr/u16-mbtoucr.c: New file.
55833         * modules/unistr/u16-mbtoucr: New file.
55834         * lib/unistr/u16-mbtoucr.c: New file.
55835         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
55836
55837 2007-03-27  Simon Josefsson  <simon@josefsson.org>
55838             Bruno Haible  <bruno@clisp.org>
55839
55840         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
55841         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
55842         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
55843
55844         * m4/stdio_h.m4: Add stubs for vasprintf too.
55845
55846         * modules/stdio: Support vasprintf in sed command.
55847
55848         * modules/vasprintf: Depend on stdio for prototypes.  Remove
55849         vasprintf.h.  Add stdio module indicator.
55850
55851         * lib/stdio_.h: Declare asprintf and vasprintf, based on
55852         vasprintf.h.
55853
55854         * lib/vasprintf.h: File removed.
55855
55856         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
55857         * lib/vasprintf.c: Ditto.
55858         * lib/xvasprintf.c: Ditto.
55859         * tests/test-vasprintf-posix.c: Ditto.
55860         * tests/test-vasprintf.c: Ditto.
55861
55862 2007-03-27  Bruno Haible  <bruno@clisp.org>
55863
55864         Make vasnprintf multithread-safe.
55865         * lib/vasnprintf.c (decimal_point_char): New function.
55866         (VASNPRINTF): Use it.
55867         Suggested by Simon Josefsson.
55868
55869 2007-03-27  Eric Blake  <ebb9@byu.net>
55870
55871         Support sub-second birthtime on cygwin.
55872         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
55873         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
55874         (get_stat_birthtime): Also work with st_birthtim.
55875
55876 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
55877
55878         * lib/stat-time.h (USE_BIRTHTIME): Remove.
55879         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
55880         (get_stat_birthtime_ns): Do not try to use "spare" fields.
55881         (get_stat_birthtime_ns): Simplify compile-time tests.
55882         (get_stat_birthtime): Change the API to look like
55883         get_stat_mtime etc., except return a negative tv_nsec on error.
55884         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
55885         Don't check for "spare" fields.
55886         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
55887         or for struct stat.st_birthtime, as these tests aren't used.
55888         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
55889
55890 2007-03-27  Bruno Haible  <bruno@clisp.org>
55891
55892         * lib/stat-time.h: Include <sys/stat.h>.
55893
55894 2007-03-27  James Youngman  <jay@gnu.org>
55895
55896         * lib/stat-time.h (get_stat_birthtime): New function for
55897           retrieving st_birthtime as provided by UFS2 (hence *BSD).
55898         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
55899           and its variants.
55900         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
55901         * modules/stat-time-test: New file.
55902         * tests/test-stat-time.c: New test, devised by Bruno Haible.
55903
55904 2007-03-26  Bruno Haible  <bruno@clisp.org>
55905
55906         Better support of signalling NaNs.
55907         * lib/atanl.c: Include isnanl.h.
55908         (atanl): Perform test for NaN at the beginning of the function and
55909         through a call to isnanl.
55910         * lib/cosl.c: Include isnanl.h.
55911         (cosl): Perform test for NaN at the beginning of the function and
55912         through a call to isnanl.
55913         * lib/ldexpl.c: Include isnanl.h.
55914         (ldexpl): Perform test for NaN through a call to isnanl.
55915         * lib/logl.c: Include isnanl.h.
55916         (logl): Perform test for NaN at the beginning of the function and
55917         through a call to isnanl.
55918         * lib/sinl.c: Include isnanl.h.
55919         (sinl): Perform test for NaN at the beginning of the function and
55920         through a call to isnanl.
55921         * lib/sqrtl.c: Include isnanl.h.
55922         (sqrtl): Perform test for NaN at the beginning of the function and
55923         through a call to isnanl.
55924         * lib/tanl.c: Include isnanl.h.
55925         (tanl): Perform test for NaN at the beginning of the function and
55926         through a call to isnanl.
55927         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
55928         * modules/mathl (Depends-on): Add isnanl.
55929
55930 2007-03-26  Eric Blake  <ebb9@byu.net>
55931
55932         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
55933         regression in logic sense of previous patch.
55934
55935 2007-03-26  Bruno Haible  <bruno@clisp.org>
55936
55937         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
55938         unportable shell command "if ! ...".
55939         Reported by Ralf Wildenhues.
55940
55941 2007-03-25  Bruno Haible  <bruno@clisp.org>
55942
55943         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
55944         <sysexits.h> file, and only add EX_CONFIG.
55945         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
55946         absolute file name and whether it is sufficient. Substitute also
55947         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
55948         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
55949         ABSOLUTE_SYSEXITS_H into sysexits.h.
55950
55951 2007-03-25  Bruno Haible  <bruno@clisp.org>
55952
55953         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
55954         hints is NULL.
55955
55956 2007-03-25  Bruno Haible  <bruno@clisp.org>
55957
55958         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
55959         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
55960
55961 2007-03-25  Bruno Haible  <bruno@clisp.org>
55962
55963         * lib/vasnprintf.c: Include langinfo.h.
55964         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
55965         multithread-safe.
55966         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
55967         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
55968         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
55969         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
55970         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
55971         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
55972         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
55973         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
55974         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
55975         Reported by Simon Josefsson.
55976
55977 2007-03-25  Bruno Haible  <bruno@clisp.org>
55978
55979         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
55980         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
55981         * modules/vasnprintf (Depends-on): Add stdint.
55982
55983 2007-03-25  Bruno Haible  <bruno@clisp.org>
55984
55985         * modules/fpieee: New file.
55986         * m4/fpieee.m4: New file.
55987         * modules/isnan-nolibm (Depends-on): Add fpieee.
55988         * modules/isnanl-nolibm (Depends-on): Add fpieee.
55989         * modules/isnanl (Depends-on): Add fpieee.
55990
55991 2007-03-25  Bruno Haible  <bruno@clisp.org>
55992
55993         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
55994
55995 2007-03-25  Bruno Haible  <bruno@clisp.org>
55996
55997         Avoid test failures on IRIX 6.5.
55998         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
55999         (main): Use it.
56000         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
56001         macros.
56002         (main): Use them.
56003
56004 2007-03-25  Bruno Haible  <bruno@clisp.org>
56005
56006         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
56007         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
56008         exists but doesn't work.
56009         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
56010         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
56011         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
56012         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
56013         math.h.
56014
56015 2007-03-25  Bruno Haible  <bruno@clisp.org>
56016
56017         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
56018         returns inf. Needed on IRIX 6.5.
56019
56020 2007-03-25  Bruno Haible  <bruno@clisp.org>
56021
56022         * tests/test-frexpl.c: Include isnanl-nolibm.h.
56023         (main): Use isnanl instead of x != x idiom.
56024         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
56025
56026         * tests/test-frexp.c: Include isnan.h.
56027         (main): Use isnan instead of x != x idiom.
56028         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
56029
56030 2007-03-25  Bruno Haible  <bruno@clisp.org>
56031
56032         * tests/test-frexp.c (NaN): New function/macro.
56033         (main): Use it instead of 0.0 / 0.0.
56034         * tests/test-isnan.c (NaN): New function/macro.
56035         (main): Use it instead of 0.0 / 0.0.
56036         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
56037         (test_function): Use it instead of 0.0 / 0.0.
56038         * tests/test-vasprintf-posix.c (NaN): New function/macro.
56039         (test_function): Use it instead of 0.0 / 0.0.
56040         * tests/test-snprintf-posix.h (NaN): New function/macro.
56041         (test_function): Use it instead of 0.0 / 0.0.
56042         * tests/test-sprintf-posix.h (NaN): New function/macro.
56043         (test_function): Use it instead of 0.0 / 0.0.
56044         * tests/test-fprintf-posix.h (NaN): New function/macro.
56045         (test_function): Use it instead of 0.0 / 0.0.
56046         * tests/test-printf-posix.h (NaN): New function/macro.
56047         (test_function): Use it instead of 0.0 / 0.0.
56048
56049         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
56050
56051 2007-03-25  Bruno Haible  <bruno@clisp.org>
56052
56053         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
56054
56055 2007-03-25  Bruno Haible  <bruno@clisp.org>
56056
56057         * lib/regexec.c (merge_state_with_log): Make static.
56058
56059 2007-03-25  Bruno Haible  <bruno@clisp.org>
56060
56061         * lib/trigl.c (kernel_rem_pio2): Make static.
56062
56063 2007-03-25  Bruno Haible  <bruno@clisp.org>
56064
56065         * lib/sincosl.c (sincosl_table): Make static.
56066
56067 2007-03-25  Bruno Haible  <bruno@clisp.org>
56068
56069         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
56070         if the compiler does not support C99.
56071
56072 2007-03-25  Bruno Haible  <bruno@clisp.org>
56073
56074         * modules/time (Makefile.am): Ensure all rule action lines start with a
56075         tab.
56076
56077 2007-03-24  Bruno Haible  <bruno@clisp.org>
56078
56079         * modules/tsearch-tests: New file.
56080         * tests/test-tsearch.sh: New file.
56081         * tests/test-tsearch.c: New file, mostly copied from glibc.
56082
56083         * modules/search-tests: New file.
56084         * tests/test-search.c: New file.
56085
56086         * modules/search: New file.
56087         * lib/search_.h: New file, incorporating lib/tsearch.h.
56088         * m4/search_h.m4: New file.
56089         * lib/tsearch.h: Remove file.
56090         * lib/tsearch.c: Include search.h instead of tsearch.h.
56091         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
56092         HAVE_TSEARCH.
56093         * modules/tsearch (Files): Remove lib/tsearch.h.
56094         (Depends-on): Add search.
56095         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
56096         (Include): Change tsearch.h into search.h.
56097
56098 2007-03-24  Bruno Haible  <bruno@clisp.org>
56099
56100         * modules/fpucw: New file.
56101         * lib/fpucw.h: New file.
56102         * lib/frexp.c: Include fpucw.h.
56103         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
56104         (FUNC): Use them.
56105         * lib/printf-frexp.c: Include fpucw.h.
56106         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
56107         (FUNC): Use them.
56108         * lib/vasnprintf.c: Include fpucw.h.
56109         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
56110         'long double' calculations.
56111         * tests/test-frexpl.c: Include fpucw.h.
56112         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
56113         * tests/test-printf-frexpl.c: Include fpucw.h.
56114         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
56115         * modules/frexpl (Depends-on): Add fpucw.
56116         * modules/printf-frexpl (Depends-on): Likewise.
56117         * modules/fprintf-posix (Depends-on): Likewise.
56118         * modules/snprintf-posix (Depends-on): Likewise.
56119         * modules/sprintf-posix (Depends-on): Likewise.
56120         * modules/vasnprintf-posix (Depends-on): Likewise.
56121         * modules/vasprintf-posix (Depends-on): Likewise.
56122         * modules/vfprintf-posix (Depends-on): Likewise.
56123         * modules/vsnprintf-posix (Depends-on): Likewise.
56124         * modules/vsprintf-posix (Depends-on): Likewise.
56125         * modules/frexpl-tests (Depends-on): Likewise.
56126         * modules/printf-frexpl-tests (Depends-on): Likewise.
56127
56128 2007-03-24  Bruno Haible  <bruno@clisp.org>
56129
56130         * lib/float+.h: New file.
56131         * lib/isnan.c: Include float+.h.
56132         (SIZE): New macro.
56133         (FUNC): Compare only SIZE bytes of the value.
56134         * lib/vasnprintf.c: Include float+.h.
56135         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
56136         SIZEOF_LDBL or SIZEOF_DBL bytes.
56137         * modules/isnan-nolibm (Files): Add lib/float+.h.
56138         * modules/isnanl-nolibm (Files): Add lib/float+.h.
56139         * modules/isnanl (Files): Add lib/float+.h.
56140         * modules/vasnprintf (Files): Add lib/float+.h.
56141
56142 2007-03-24  Bruno Haible  <bruno@clisp.org>
56143
56144         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
56145         include isnanl-nolibm.h.
56146
56147 2007-03-24  Bruno Haible  <bruno@clisp.org>
56148
56149         * tests/test-read-file.c (main): Don't produce spurious output for
56150         expected situations. Make the test fail if it encountered unexpected
56151         results.
56152
56153 2007-03-24  Bruno Haible  <bruno@clisp.org>
56154
56155         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
56156         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
56157
56158 2007-03-24  Bruno Haible  <bruno@clisp.org>
56159
56160         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
56161
56162 2007-03-24  Bruno Haible  <bruno@clisp.org>
56163
56164         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
56165         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
56166
56167         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
56168         * modules/utf8-ucs4: Turn into a symbolic link to module
56169         unistr/u8-mbtouc.
56170
56171         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
56172         utf8-ucs4-unsafe.
56173         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
56174         unistr/u8-mbtouc-unsafe.
56175
56176         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
56177         * modules/utf16-ucs4: Turn into a symbolic link to module
56178         unistr/u16-mbtouc.
56179
56180         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
56181         utf16-ucs4-unsafe.
56182         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
56183         unistr/u16-mbtouc-unsafe.
56184
56185         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
56186         * modules/ucs4-utf8: Turn into a symbolic link to module
56187         unistr/u8-ubtomb.
56188
56189         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
56190         * modules/ucs4-utf16: Turn into a symbolic link to module
56191         unistr/u16-ubtomb.
56192
56193 2007-03-24  Bruno Haible  <bruno@clisp.org>
56194
56195         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
56196         Enable the function only if HAVE_INLINE.
56197         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
56198         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
56199         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
56200         Enable the function only if HAVE_INLINE.
56201         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
56202         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
56203         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
56204         Enable the function only if HAVE_INLINE.
56205         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
56206         Enable the function only if HAVE_INLINE.
56207         * modules/utf8-ucs4: Update.
56208         * modules/utf8-ucs4-unsafe: Update.
56209         * modules/utf16-ucs4: Update.
56210         * modules/utf16-ucs4-unsafe: Update.
56211         * modules/ucs4-utf8: Update.
56212         * modules/ucs4-utf16: Update.
56213
56214 2007-03-24  Bruno Haible  <bruno@clisp.org>
56215
56216         * lib/utf8-ucs4.h: Remove file.
56217         * lib/utf8-ucs4-unsafe.h: Remove file.
56218         * lib/utf16-ucs4.h: Remove file.
56219         * lib/utf16-ucs4-unsafe.h: Remove file.
56220         * lib/ucs4-utf8.h: Remove file.
56221         * lib/ucs4-utf16.h: Remove file.
56222         * lib/unistr.h: Include their previous contents.
56223         * m4/utf-ucs4.m4: Remove file.
56224         * m4/ucs4-utf.m4: Remove file.
56225         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
56226         (Depends-on): Add unistr/base.
56227         (configure.ac): Remove gl_UTF_UCS4.
56228         (Makefile.am): Update.
56229         (Include): Change to unistr.h.
56230         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
56231         (Depends-on): Add unistr/base.
56232         (configure.ac): Remove gl_UTF_UCS4.
56233         (Makefile.am): Update.
56234         (Include): Change to unistr.h.
56235         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
56236         (Depends-on): Add unistr/base.
56237         (configure.ac): Remove gl_UTF_UCS4.
56238         (Makefile.am): Update.
56239         (Include): Change to unistr.h.
56240         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
56241         (Depends-on): Add unistr/base.
56242         (configure.ac): Remove gl_UTF_UCS4.
56243         (Makefile.am): Update.
56244         (Include): Change to unistr.h.
56245         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
56246         (Depends-on): Add unistr/base.
56247         (configure.ac): Remove gl_UCS4_UTF.
56248         (Makefile.am): Update.
56249         (Include): Change to unistr.h.
56250         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
56251         (Depends-on): Add unistr/base.
56252         (configure.ac): Remove gl_UCS4_UTF.
56253         (Makefile.am): Update.
56254         (Include): Change to unistr.h.
56255         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
56256         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
56257         utf8-ucs4-unsafe.h.
56258         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
56259         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
56260         utf16-ucs4-unsafe.h.
56261         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
56262         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
56263         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
56264         * lib/unistr/u8-strchr.c: Likewise.
56265         * lib/unistr/u8-strrchr.c: Likewise.
56266         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
56267         * lib/unistr/u16-strchr.c: Likewise.
56268         * lib/unistr/u16-strrchr.c: Likewise.
56269         * lib/striconveh.c: Update.
56270         * lib/linebreak.c: Update.
56271
56272 2007-03-24  Bruno Haible  <bruno@clisp.org>
56273
56274         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
56275         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
56276
56277 2007-03-22  Bruno Haible  <bruno@clisp.org>
56278
56279         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
56280
56281 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
56282
56283         * MODULES.html.sh (File system functions): New module write-any-file.
56284         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
56285         * m4/write-any-file.m4: New files.
56286
56287 2007-03-23  Eric Blake  <ebb9@byu.net>
56288
56289         * gnulib-tool: Rearrange space-tab sequences, since some editors
56290         like to eat them.
56291
56292 2007-03-23  Eric Blake  <ebb9@byu.net>
56293
56294         * lib/version-etc.c (version_etc_va): Update license wording to
56295         be more concise.  Recommended by Richard Stallman.
56296
56297 2007-03-22  Bruno Haible  <bruno@clisp.org>
56298
56299         * lib/poll.c (MSG_PEEK): New fallback definition.
56300
56301 2007-03-22  Bruno Haible  <bruno@clisp.org>
56302
56303         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
56304         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
56305         (main): Update.
56306         Fixes a compilation error on BeOS.
56307
56308 2007-03-22  Bruno Haible  <bruno@clisp.org>
56309
56310         * modules/frexpl-tests: New file.
56311         * tests/test-frexpl.c: New file.
56312
56313         * modules/frexpl: New file.
56314         * m4/frexpl.m4: New file.
56315         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
56316         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
56317         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
56318         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
56319         (Depends-on): Add frexpl. Remove isnanl-nolibm.
56320         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
56321
56322 2007-03-22  Bruno Haible  <bruno@clisp.org>
56323
56324         * lib/frexpl.c: Share code with lib/frexp.c.
56325         * modules/mathl (Files): Add lib/frexp.c.
56326         (Depends-on): Add isnanl-nolibm.
56327
56328 2007-03-22  Bruno Haible  <bruno@clisp.org>
56329
56330         * modules/printf-frexp (Files): Add m4/frexp.m4.
56331         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
56332         only if the found frexp function actually works.
56333
56334 2007-03-22  Bruno Haible  <bruno@clisp.org>
56335
56336         * lib/frexp.c: Remove older implementation that uses divisions.
56337
56338 2007-03-21  Bruno Haible  <bruno@clisp.org>
56339
56340         * modules/frexp-tests: New file.
56341         * tests/test-frexp.c: New file.
56342
56343         * modules/frexp: New file.
56344         * lib/frexp.c: New file.
56345         * m4/frexp.m4: New file.
56346         * lib/math_.h (frexp): New declaration.
56347         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
56348         REPLACE_FREXP.
56349         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
56350
56351 2007-03-21  Bruno Haible  <bruno@clisp.org>
56352
56353         * modules/isnanl-tests: New file.
56354         * tests/test-isnanl.c: New file.
56355
56356         * modules/isnanl: New file.
56357         * lib/isnanl.h: New file.
56358         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
56359         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
56360         gl_FUNC_ISNANL_WORKS.
56361         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
56362         New macros.
56363
56364 2007-03-21  Bruno Haible  <bruno@clisp.org>
56365
56366         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
56367         lib/isnanl.h.
56368         (Include): Update.
56369         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
56370         * lib/vasnprintf.c: Update.
56371         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
56372         tests/test-isnanl.h, remove tests/test-isnanl.c.
56373         (Makefile.am): Update.
56374         * tests/test-isnanl-nolibm.c: New file.
56375         * tests/test-isnanl.h: New file.
56376         * tests/test-isnanl.c: Remove file.
56377
56378 2007-03-21  Jim Meyering  <jim@meyering.net>
56379
56380         When trying to open ".", treat ESTALE like EACCES.
56381         * lib/savewd.c (savewd_save): Resort to forking not just upon
56382         failure with EACCES, but also when errno is ESTALE.
56383
56384 2007-03-20  Bruno Haible  <bruno@clisp.org>
56385
56386         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
56387         Needed on AIX 5.1. Reported by Matthew Woehlke.
56388
56389 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
56390
56391         Suggestions by Bruno Haible:
56392         * lib/acl-internal.h: Include "gettext.h" rather than rolling
56393         our own.
56394         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
56395         * modules/acl (Depends-on): Add gettext.
56396
56397 2007-03-19  Bruno Haible  <bruno@clisp.org>
56398
56399         * modules/iconvme: Remove file.
56400         * lib/iconvme.h: Remove file.
56401         * lib/iconvme.c: Remove file.
56402         * m4/iconvme.m4: Remove file.
56403
56404 2007-03-19  Bruno Haible  <bruno@clisp.org>
56405
56406         * doc/relocatable-maint.texi: Break long shell script line.
56407         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
56408
56409 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
56410
56411         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
56412         handle file_has_acl.
56413         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
56414         * lib/acl.c: Move header inclusions and related macro defns into
56415         lib/acl-internal.h.
56416         (S_ISLNK): Remove defn, since that's now done for us.
56417         (file_has_acl): Move to lib/file-has-acl.c.
56418         Call acl_trivial if available.  This is the crucial part of the fix.
56419         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
56420         shared within the library.  Rewrite a bit, partly to make it compatible
56421         with the GNU coding style.
56422         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
56423         Remove unnecessary double-quotes.
56424         Don't test for acl_to_text; the build will catch that.
56425         Replace acl_entries if it doesn't exist and it is needed.
56426         Check for -lsec and acl_trivial (as used on Solaris 10).
56427         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
56428         lib/file-has-acl.c.
56429         (Depends-on): Add sys_stat, for S_ISLNK.
56430
56431 2007-03-19  Ben Pfaff  <blp@gnu.org>
56432
56433         * doc/gnulib.texi: Fix typos.
56434         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
56435
56436 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
56437
56438         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
56439         If size is zero here, buf must be zero.
56440
56441 2007-03-19  Simon Josefsson  <simon@josefsson.org>
56442
56443         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
56444         <bruno@clisp.org>.
56445
56446 2007-03-18  Bruno Haible  <bruno@clisp.org>
56447
56448         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
56449         Suggested by Eric Blake.
56450
56451 2007-03-18  Ben Pfaff  <blp@gnu.org>
56452
56453         * doc/relocatable.texi: Recommend using as prefix a directory
56454         that does not exist and will never be created.  Based on
56455         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
56456         and others.
56457
56458 2007-03-17  Bruno Haible  <bruno@clisp.org>
56459
56460         * lib/fchownat.c: Include lchown.h.
56461
56462 2007-03-17  Bruno Haible  <bruno@clisp.org>
56463
56464         Fix endless loop when the given allocated size was > INT_MAX.
56465         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
56466         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
56467         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
56468         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
56469         * lib/sprintf.c (sprintf): Likewise.
56470
56471 2007-03-17  Bruno Haible  <bruno@clisp.org>
56472
56473         * tests/test-argp-2.sh (func_compare): Output a context diff.
56474
56475 2007-03-17  Bruno Haible  <bruno@clisp.org>
56476
56477         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
56478         locale's decimal-point character.
56479
56480 2007-03-17  Bruno Haible  <bruno@clisp.org>
56481
56482         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
56483         before comparing it. Needed because on some platforms (e.g. x86) a
56484         'long double' occupies less bytes than sizeof (long double).
56485
56486 2007-03-17  Bruno Haible  <bruno@clisp.org>
56487
56488         * tests/test-crc.c (main): Make printf statements 64-bit clean.
56489         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
56490         * tests/test-getaddrinfo.c (simple): Likewise.
56491         * tests/test-read-file.c (main): Likewise.
56492
56493 2007-03-17  Bruno Haible  <bruno@clisp.org>
56494
56495         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
56496
56497 2007-03-17  Bruno Haible  <bruno@clisp.org>
56498
56499         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
56500         unused variable.
56501
56502 2007-03-17  Bruno Haible  <bruno@clisp.org>
56503
56504         * tests/test-c-strcasecmp.c: Include c-strcase.h.
56505         * tests/test-c-strncasecmp.c: Likewise.
56506
56507 2007-03-17  Bruno Haible  <bruno@clisp.org>
56508
56509         * modules/stdlib (Depends-on): Add unistd.
56510         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
56511         Needed for MacOS X 10.3.
56512
56513 2007-03-17  Bruno Haible  <bruno@clisp.org>
56514
56515         * lib/unistr/u-strdup.h: Include <stdlib.h>.
56516
56517 2007-03-17  Bruno Haible  <bruno@clisp.org>
56518
56519         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
56520
56521 2007-03-17  Bruno Haible  <bruno@clisp.org>
56522
56523         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
56524         to reflect files copied from gnulib (with or without modifications).
56525         Suggested by Jim Meyering.
56526
56527 2007-03-17  Eric Blake  <ebb9@byu.net>
56528
56529         * NEWS: Document stdlib change from 2007-02-18.
56530
56531 2007-03-17  Jim Meyering  <jim@meyering.net>
56532
56533         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
56534         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
56535         someone uses a name containing shell meta-characters.
56536         Reported by Alfred M. Szmidt.
56537
56538         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
56539
56540 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
56541
56542         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
56543         and copy gettext configuration files only if configure.ac contains
56544         a use of AM_GNU_GETTEXT_VERSION.
56545
56546 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
56547
56548         * build-aux/bootstrap (gnulib_name): New variable.
56549         (gnulib_tool_options): Use it.
56550
56551 2007-03-13  Simon Josefsson  <simon@josefsson.org>
56552
56553         * tests/test-des.c: Use new namespace.
56554
56555 2007-03-15  Bruno Haible  <bruno@clisp.org>
56556
56557         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
56558         Reported by James Youngman <jay@gnu.org>.
56559
56560 2007-03-15  Bruno Haible  <bruno@clisp.org>
56561
56562         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
56563         declared prototype. Needed with cc on OSF/1 5.1.
56564
56565 2007-03-15  Bruno Haible  <bruno@clisp.org>
56566
56567         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
56568         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
56569         (struct gl_list_implementation): Add dispose_fn argument to the
56570         'create_empty', 'create' methods.
56571         (struct gl_list_impl_base): Add field 'dispose_fn'.
56572         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
56573         argument.
56574         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
56575         dispose_fn argument.
56576         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
56577         dispose_fn on the dropped values.
56578         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
56579         dispose_fn argument.
56580         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
56581         dropped values.
56582         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
56583         (gl_tree_remove_node): Call dispose_fn on the dropped value.
56584         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
56585         (gl_tree_remove_node): Call dispose_fn on the dropped value.
56586         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
56587         argument.
56588         (gl_tree_list_free): Call dispose_fn on the dropped values.
56589         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
56590         the dropped values.
56591         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
56592         Add dispose_fn argument.
56593         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
56594         Call dispose_fn on the dropped values.
56595         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
56596         Add dispose_fn argument.
56597         (gl_sublist_create): Initialize the 'dispose_fn' field.
56598         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
56599         * tests/test-array_list.c (main): Update.
56600         * tests/test-carray_list.c (main): Update.
56601         * tests/test-avltree_list.c (main): Update.
56602         * tests/test-rbtree_list.c (main): Update.
56603         * tests/test-avltreehash_list.c (main): Update.
56604         * tests/test-rbtreehash_list.c (main): Update.
56605         * tests/test-linked_list.c (main): Update.
56606         * tests/test-linkedhash_list.c (main): Update.
56607         * tests/test-array_oset.c (main): Update.
56608
56609 2007-03-15  Bruno Haible  <bruno@clisp.org>
56610
56611         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
56612         (gl_oset_create_empty): Add dispose_fn argument.
56613         (struct gl_oset_implementation): Add dispose_fn argument to
56614         'create_empty' method.
56615         (struct gl_oset_impl_base): Add dispose_fn field.
56616         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
56617         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
56618         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
56619         values.
56620         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
56621         (gl_tree_oset_free): Call dispose_fn on the dropped values.
56622         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
56623         dropped value.
56624         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
56625         dropped value.
56626         * tests/test-array_oset.c (main): Update.
56627         * tests/test-avltree_oset.c (main): Update.
56628         * tests/test-rbtree_oset.c (main): Update.
56629         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
56630
56631 2007-03-13  Bruno Haible  <bruno@clisp.org>
56632
56633         * tests/test-stdbool.c (i): Update after last patch.
56634
56635 2007-03-12  Bruno Haible  <bruno@clisp.org>
56636
56637         * lib/quotearg.c: Include <wctype.h> early, before the definition of
56638         the iswprint macro. Needed on Solaris 2.5.1.
56639
56640 2007-03-12  Bruno Haible  <bruno@clisp.org>
56641
56642         * tests/test-printf-frexp.c (main): Declare x as volatile.
56643
56644 2007-03-12  Simon Josefsson  <simon@josefsson.org>
56645
56646         * doc/gnulib.texi (Build robot for gnulib): New section.
56647
56648 2007-03-12  Jim Meyering  <jim@meyering.net>
56649
56650         * build-aux/bootstrap: New file.
56651         * build-aux/bootstrap.conf: New file, from coreutils.
56652
56653 2007-03-11  Bruno Haible  <bruno@clisp.org>
56654
56655         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
56656
56657 2007-03-12  Simon Josefsson  <simon@josefsson.org>
56658
56659         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
56660         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
56661         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
56662
56663 2007-03-11  Bruno Haible  <bruno@clisp.org>
56664
56665         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
56666         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
56667
56668 2007-03-11  Bruno Haible  <bruno@clisp.org>
56669
56670         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
56671         formula. Needed for SunPRO C 5.0.
56672
56673 2007-03-11  Bruno Haible  <bruno@clisp.org>
56674
56675         * modules/long-options (Depends-on): Add getopt.
56676
56677 2007-03-11  Bruno Haible  <bruno@clisp.org>
56678
56679         * modules/modechange (Depends-on): Add stdbool.
56680
56681 2007-03-11  Bruno Haible  <bruno@clisp.org>
56682
56683         * modules/i-ring (Depends-on): Add stdbool.
56684
56685 2007-03-11  Bruno Haible  <bruno@clisp.org>
56686
56687         * modules/gc-des (Depends-on): Add stdbool.
56688
56689 2007-03-11  Bruno Haible  <bruno@clisp.org>
56690
56691         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
56692
56693 2007-03-11  Bruno Haible  <bruno@clisp.org>
56694
56695         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
56696
56697 2007-03-11  Bruno Haible  <bruno@clisp.org>
56698
56699         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
56700
56701 2007-03-11  Bruno Haible  <bruno@clisp.org>
56702
56703         * lib/vasnprintf.c (sprintf): Undefine.
56704
56705 2007-03-11  Bruno Haible  <bruno@clisp.org>
56706
56707         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
56708         initializers in SunPRO C and Compaq C compilers.
56709
56710 2007-03-11  Bruno Haible  <bruno@clisp.org>
56711
56712         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
56713         decrementing code ANSI C compliant.
56714
56715 2007-03-11  Bruno Haible  <bruno@clisp.org>
56716
56717         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
56718         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
56719
56720 2007-03-11  Bruno Haible  <bruno@clisp.org>
56721
56722         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
56723         <stdbool.h> substitute doesn't pass.
56724
56725 2007-03-11  Bruno Haible  <bruno@clisp.org>
56726
56727         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
56728
56729 2007-03-11  Bruno Haible  <bruno@clisp.org>
56730
56731         * gnulib-tool (func_create_megatestdir): Create also an autobuild
56732         script, for submission to autobuild.josefsson.org.
56733
56734 2007-03-10  Bruno Haible  <bruno@clisp.org>
56735
56736         * modules/canonicalize-lgpl-tests: New file.
56737         * tests/test-canonicalize-lgpl.sh: New file.
56738         * tests/test-canonicalize-lgpl.c: New file.
56739
56740         * modules/c-strcase-tests: New file.
56741         * tests/test-c-strcase.sh: New file.
56742         * tests/test-c-strcasecmp.c: New file.
56743         * tests/test-c-strncasecmp.c: New file.
56744
56745         * modules/atexit-tests: New file.
56746         * tests/test-atexit.sh: New file.
56747         * tests/test-atexit.c: New file.
56748
56749 2007-03-10  Bruno Haible  <bruno@clisp.org>
56750
56751         * tests/test-binary-io.sh: Use temporary filenames that are not so
56752         likely to clash with those of other tests (in a parallel make).
56753         * tests/test-binary-io.c: Likewise.
56754
56755 2007-03-10  Bruno Haible  <bruno@clisp.org>
56756
56757         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
56758         fallback; use #error instead.
56759         Suggested by Simon Josefsson.
56760
56761 2007-03-10  Bruno Haible  <bruno@clisp.org>
56762
56763         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
56764         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
56765         first and the last.
56766
56767 2007-03-10  Bruno Haible  <bruno@clisp.org>
56768
56769         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
56770
56771 2007-03-10  Bruno Haible  <bruno@clisp.org>
56772
56773         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
56774         "make distcheck".
56775         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
56776         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
56777         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
56778
56779 2007-03-10  Bruno Haible  <bruno@clisp.org>
56780
56781         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
56782         variable.
56783         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
56784         variable.
56785
56786 2007-03-09  Eric Blake  <ebb9@byu.net>
56787         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
56788
56789         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
56790         types are not being provided by gnulib.
56791         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
56792         types are supported.
56793
56794 2007-03-10  Bruno Haible  <bruno@clisp.org>
56795
56796         * lib/stdio_.h (__attribute__): New macro.
56797         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
56798         vsprintf): Specify __attribute__ __format__ for GCC.
56799         Suggested by Eric Blake.
56800
56801 2007-03-09  Bruno Haible  <bruno@clisp.org>
56802
56803         * modules/printf-posix-tests: New file.
56804         * tests/test-printf-posix.sh: New file.
56805         * tests/test-printf-posix.c: New file.
56806
56807         * modules/printf-posix: New file.
56808         * lib/printf.c: New file.
56809         * m4/printf-posix-rpl.m4: New file.
56810         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
56811         REPLACE_PRINTF.
56812         * lib/stdio_.h (printf): New declaration.
56813         (format, __format__, ____printf____, ____scanf____, ____strftime____,
56814         ____strfmon____): New macros.
56815         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
56816         REPLACE_PRINTF.
56817
56818 2007-03-09  Bruno Haible  <bruno@clisp.org>
56819
56820         * tests/test-vasnprintf-posix2.sh: New file.
56821         * tests/test-vasnprintf-posix2.c: New file.
56822         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
56823         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
56824         (Makefile.am): Activate test-vasnprintf-posix2.sh.
56825
56826         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
56827         a locale dependent decimal point, rather than always '.'.
56828
56829 2007-03-09  Eric Blake  <ebb9@byu.net>
56830
56831         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
56832         spite of platforms like Tandem/NSK that define it to -1.
56833
56834 2007-03-08  Bruno Haible  <bruno@clisp.org>
56835
56836         * modules/vprintf-posix-tests: New file.
56837         * tests/test-vprintf-posix.sh: New file.
56838         * tests/test-vprintf-posix.c: New file.
56839         * tests/test-printf-posix.h: New file.
56840
56841         * modules/vprintf-posix: New file.
56842         * lib/vprintf.c: New file.
56843         * m4/vprintf-posix.m4: New file.
56844         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
56845         REPLACE_VPRINTF.
56846         * lib/stdio_.h (vprintf): New declaration.
56847         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
56848         REPLACE_VPRINTF.
56849
56850 2007-03-08  Bruno Haible  <bruno@clisp.org>
56851
56852         * modules/fprintf-posix-tests: New file.
56853         * tests/test-fprintf-posix.sh: New file.
56854         * tests/test-fprintf-posix.c: New file.
56855
56856         * modules/fprintf-posix: New file.
56857         * lib/fprintf.c: New file.
56858         * m4/fprintf-posix.m4: New file.
56859         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
56860         REPLACE_FPRINTF.
56861         * lib/stdio_.h (fprintf): New declaration.
56862         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
56863         REPLACE_FPRINTF.
56864
56865 2007-03-08  Bruno Haible  <bruno@clisp.org>
56866
56867         * modules/vfprintf-posix-tests: New file.
56868         * tests/test-vfprintf-posix.sh: New file.
56869         * tests/test-vfprintf-posix.c: New file.
56870         * tests/test-fprintf-posix.h: New file.
56871         * tests/test-fprintf-posix.out: New file.
56872
56873         * modules/vfprintf-posix: New file.
56874         * lib/vfprintf.c: New file.
56875         * m4/vfprintf-posix.m4: New file.
56876         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
56877         REPLACE_VFPRINTF.
56878         * lib/stdio_.h (vfprintf): New declaration.
56879         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
56880         REPLACE_VFPRINTF.
56881
56882 2007-03-08  Bruno Haible  <bruno@clisp.org>
56883
56884         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
56885
56886 2007-03-08  Bruno Haible  <bruno@clisp.org>
56887
56888         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
56889         instead of 'expr' invocations.
56890         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
56891         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
56892         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
56893         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
56894         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
56895         Suggested by Paul Eggert.
56896
56897 2007-03-08  Bruno Haible  <bruno@clisp.org>
56898
56899         * modules/fseterr-tests: New file.
56900         * tests/test-fseterr.c: New file.
56901
56902         * modules/fseterr: New file.
56903         * lib/fseterr.h: New file.
56904         * lib/fseterr.c: New file.
56905
56906 2007-03-08  Bruno Haible  <bruno@clisp.org>
56907
56908         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
56909         * lib/getopt_.h: Likewise.
56910         * lib/mbswidth.h: Likewise.
56911         * lib/setenv.h: Likewise.
56912         * lib/vasnprintf.h: Likewise.
56913         * lib/vasprintf.h: Likewise.
56914         * lib/verror.h: Likewise.
56915         * lib/xsetenv.h: Likewise.
56916         * lib/xvasprintf.h: Likewise.
56917
56918 2007-03-08  Jim Meyering  <jim@meyering.net>
56919
56920         * users.txt: Add parted.
56921
56922         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
56923
56924 2007-03-07  Bruno Haible  <bruno@clisp.org>
56925
56926         * m4/printf.m4: Make the shell script snippets copy&pastable.
56927
56928 2007-03-02  Bruno Haible  <bruno@clisp.org>
56929
56930         * lib/netinet_in_.h: New file.
56931         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
56932         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
56933         * modules/netinet_in (Files): Add lib/netinet_in_.h.
56934         (Depends-on): Add absolute-header.
56935         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
56936         into netinet/in.h.
56937
56938 2007-03-03  Bruno Haible  <bruno@clisp.org>
56939
56940         * lib/sys_select_.h: New file.
56941         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
56942         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
56943         * modules/sys_select (Files): Add lib/sys_select_.h.
56944         (Depends-on): Add absolute-header.
56945         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
56946         into sys/select.h.
56947
56948 2007-03-02  Bruno Haible  <bruno@clisp.org>
56949
56950         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
56951         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
56952         values.
56953         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
56954         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
56955         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
56956         * modules/sys_socket (Depends-on): Add absolute-header.
56957         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
56958         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
56959         (Include): Remove requirement of inclusion of <sys/types.h>.
56960
56961 2007-03-02  Bruno Haible  <bruno@clisp.org>
56962
56963         * lib/byteswap_.h (bswap_32): Fix formula.
56964
56965 2007-03-06  Bruno Haible  <bruno@clisp.org>
56966
56967         * modules/sprintf-posix-tests: New file.
56968         * tests/test-sprintf-posix.c: New file.
56969
56970         * modules/sprintf-posix: New file.
56971         * lib/sprintf.c: New file.
56972         * m4/sprintf-posix.m4: New file.
56973         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
56974         REPLACE_SPRINTF.
56975         * lib/stdio_.h (sprintf): New declaration.
56976         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
56977         REPLACE_SPRINTF.
56978
56979 2007-03-06  Bruno Haible  <bruno@clisp.org>
56980
56981         * modules/vsprintf-posix-tests: New file.
56982         * tests/test-vsprintf-posix.c: New file.
56983         * tests/test-sprintf-posix.h: New file.
56984
56985         * modules/vsprintf-posix: New file.
56986         * lib/vsprintf.c: New file.
56987         * m4/vsprintf-posix.m4: New file.
56988         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
56989         REPLACE_VSPRINTF.
56990         * lib/stdio_.h (vsprintf): New declaration.
56991         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
56992         REPLACE_VSPRINTF.
56993
56994 2007-03-06  Bruno Haible  <bruno@clisp.org>
56995
56996         * modules/vsnprintf (Depend-on): Remove minmax.
56997
56998 2007-03-06  Bruno Haible  <bruno@clisp.org>
56999
57000         * modules/snprintf-posix-tests: New file.
57001         * tests/test-snprintf-posix.c: New file.
57002
57003         * modules/snprintf-posix: New file.
57004         * m4/snprintf-posix.m4: New file.
57005         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
57006         gl_FUNC_SNPRINTF.
57007         (gl_FUNC_SNPRINTF): Invoke it.
57008         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
57009         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
57010         is set.
57011         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
57012
57013 2007-03-06  Bruno Haible  <bruno@clisp.org>
57014
57015         * modules/vsnprintf-posix-tests: New file.
57016         * tests/test-vsnprintf-posix.c: New file.
57017         * tests/test-snprintf-posix.h: New file.
57018
57019         * modules/vsnprintf-posix: New file.
57020         * m4/vsnprintf-posix.m4: New file.
57021         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
57022         gl_FUNC_VSNPRINTF.
57023         (gl_FUNC_VSNPRINTF): Invoke it.
57024         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
57025         * lib/stdio_.h (vsnprintf): Define as a replacement if
57026         REPLACE_VSNPRINTF is set.
57027         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
57028
57029 2007-03-06  Bruno Haible  <bruno@clisp.org>
57030
57031         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
57032         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
57033
57034 2007-03-06  Bruno Haible  <bruno@clisp.org>
57035
57036         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
57037         (asinl): Declare also if HAVE_DECL_ASINL is set.
57038         (atanl): Declare also if HAVE_DECL_ATANL is set.
57039         (ceill): Declare also if HAVE_DECL_CEILL is set.
57040         (cosl): Declare also if HAVE_DECL_COSL is set.
57041         (expl): Declare also if HAVE_DECL_EXPL is set.
57042         (floorl): Declare also if HAVE_DECL_FLOORL is set.
57043         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
57044         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
57045         (logl): Declare also if HAVE_DECL_LOGL is set.
57046         (sinl): Declare also if HAVE_DECL_SINL is set.
57047         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
57048         (tanl): Declare also if HAVE_DECL_TANL is set.
57049         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
57050         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
57051         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
57052         declaration of frexpl, ldexpl.
57053         * modules/printf-frexpl (Depends-on): Add math.
57054         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
57055
57056 2007-03-05  Bruno Haible  <bruno@clisp.org>
57057
57058         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
57059         frexpl and ldexpl are declared.
57060         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
57061
57062 2007-03-05  Bruno Haible  <bruno@clisp.org>
57063
57064         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
57065         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
57066
57067 2007-03-05  Bruno Haible  <bruno@clisp.org>
57068
57069         * lib/stdio_.h: Include <stddef.h>.
57070
57071 2007-03-05  Bruno Haible  <bruno@clisp.org>
57072
57073         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
57074
57075 2007-03-05  Bruno Haible  <bruno@clisp.org>
57076
57077         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
57078         NetBSD 4, from Ralf Wildenhues.
57079
57080 2007-03-04  Bruno Haible  <bruno@clisp.org>
57081
57082         * lib/vasprintf.h: Update #if logic for the case when the functions
57083         exist but are overridden.
57084
57085 2007-03-04  Bruno Haible  <bruno@clisp.org>
57086
57087         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
57088         implementations: glibc-2.4 and MacOS X 10.3.
57089         * tests/test-vasnprintf-posix.c (test_function): Test also the case
57090         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
57091         * tests/test-vasprintf-posix.c (test_function): Likewise.
57092
57093 2007-03-04  Bruno Haible  <bruno@clisp.org>
57094
57095         * modules/vasprintf-posix-tests: New file.
57096         * tests/test-vasprintf-posix.c: New file.
57097
57098         * modules/vasprintf-posix: New file.
57099         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
57100         defined.
57101         * m4/vasprintf-posix.m4: New file.
57102         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
57103         gl_FUNC_VASPRINTF.
57104         (gl_FUNC_VASPRINTF): Invoke it.
57105         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
57106         here.
57107         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
57108
57109 2007-03-04  Bruno Haible  <bruno@clisp.org>
57110
57111         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
57112         REPLACE_GETTIMEOFDAY.
57113         * modules/sys_time (Makefile.am): Likewise.
57114         * m4/sys_time_h.m4: Likewise.
57115         * m4/gettimeofday.m4: Likewise.
57116
57117 2007-03-04  Bruno Haible  <bruno@clisp.org>
57118
57119         * modules/vasnprintf-posix-tests: New file.
57120         * tests/test-vasnprintf-posix.c: New file.
57121
57122         * modules/vasnprintf-posix: New file.
57123         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
57124         printf-frexpl.h.
57125         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
57126         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
57127         REPLACE_VASNPRINTF is defined.
57128         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
57129         gl_FUNC_VASNPRINTF.
57130         (gl_FUNC_VASNPRINTF): Invoke it.
57131         * m4/vasnprintf-posix.m4: New file.
57132         * m4/printf.m4: New file.
57133
57134 2007-03-04  Bruno Haible  <bruno@clisp.org>
57135
57136         Compile progreloc.c only if --enable-relocatable is specified.
57137         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
57138         if --enable-relocatable was specified.
57139         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
57140         lib_SOURCES.
57141
57142 2007-03-04  Jim Meyering  <jim@meyering.net>
57143
57144         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
57145         Use it consistently, rather than enumerating errno constants.
57146
57147 2007-03-04  Bruno Haible  <bruno@clisp.org>
57148
57149         * modules/xvasprintf-tests: New file.
57150         * tests/test-xvasprintf.c: New file.
57151
57152         * modules/vasprintf-tests: New file.
57153         * tests/test-vasprintf.c: New file.
57154
57155         * modules/vasnprintf-tests: New file.
57156         * tests/test-vasnprintf.c: New file.
57157
57158         * modules/vsnprintf-tests: New file.
57159         * tests/test-vsnprintf.c: New file.
57160
57161         * modules/snprintf-tests: New file.
57162         * tests/test-snprintf.c: New file.
57163
57164 2007-03-04  Bruno Haible  <bruno@clisp.org>
57165
57166         Compile relocatable.c only if --enable-relocatable is specified.
57167         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
57168         gl_RELOCATABLE_LIBRARY.
57169         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
57170         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
57171         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
57172         gl_RELOCATABLE_LIBRARY.
57173         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
57174         (Makefile.am): Remove lib_SOURCES.
57175         * modules/relocatable-lib-lgpl (configure.ac): Invoke
57176         gl_RELOCATABLE_LIBRARY.
57177         (Makefile.am): Remove lib_SOURCES.
57178         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
57179         always.
57180         * modules/relocatable-prog-wrapper (configure.ac): Invoke
57181         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
57182
57183 2007-03-04  Bruno Haible  <bruno@clisp.org>
57184
57185         * modules/argmatch-tests: New file.
57186         * tests/test-argmatch.c: New file.
57187
57188         * tests/test-allocsa.c (main): Halve the number of loop runs.
57189
57190         * modules/alloca-opt-tests: New file.
57191         * tests/test-alloca-opt.c: New file.
57192
57193 2007-03-04  Jim Meyering  <jim@meyering.net>
57194
57195         Work around difference between Linux ACLs and Solaris 10 ZFS.
57196         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
57197         for EINVAL.
57198
57199 2007-03-03  Bruno Haible  <bruno@clisp.org>
57200
57201         * modules/relocatable-prog (Depends-on): Add back progreloc's
57202         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
57203
57204 2007-03-03  Bruno Haible  <bruno@clisp.org>
57205
57206         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
57207         * modules/relocatable-lib: New file.
57208
57209 2007-03-03  Bruno Haible  <bruno@clisp.org>
57210
57211         * modules/relocatable-prog: Renamed from modules/relocatable.
57212         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
57213
57214 2007-03-03  Bruno Haible  <bruno@clisp.org>
57215
57216         * modules/relocatable-script (Files): Add doc/relocatable.texi,
57217         m4/relocatable-lib.m4.
57218         (Depends-on): Remove 'relocatable'.
57219         (configure.ac): Add gl_RELOCATABLE_NOP.
57220
57221 2007-03-03  Bruno Haible  <bruno@clisp.org>
57222
57223         * modules/relocatable-prog-wrapper: New file.
57224         * modules/relocatable (Depends-on): Add it. Remove all other
57225         dependencies except progname.
57226         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
57227
57228         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
57229         (gl_FUNC_STRERROR): Nop.
57230         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
57231
57232         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
57233         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
57234
57235         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
57236         (gl_FUNC_READLINK): Update.
57237
57238         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
57239
57240 2007-03-03  Bruno Haible  <bruno@clisp.org>
57241
57242         * lib/xreadlink.c: Include <unistd.h> unconditionally.
57243         * modules/xreadlink (Depends-on): Add unistd.
57244         * modules/xreadlink-with-size (Depends-on): Likewise.
57245
57246 2007-03-03  Bruno Haible  <bruno@clisp.org>
57247
57248         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
57249         extracted from gt_FUNC_SETENV.
57250         (gt_FUNC_SETENV): Remove macro.
57251         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
57252         remove gt_FUNC_SETENV.
57253
57254 2007-03-03  Bruno Haible  <bruno@clisp.org>
57255
57256         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
57257         ENABLE_RELOCATABLE here.
57258         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
57259
57260 2007-03-03  Bruno Haible  <bruno@clisp.org>
57261
57262         * modules/rbtreehash-list-tests (Depends-on): Add progname.
57263         * tests/test-rbtreehash_list.c: Include progname.h.
57264         (main): Call set_program_name.
57265
57266         * modules/rbtree-oset-tests (Depends-on): Add progname.
57267         * tests/test-rbtree_oset.c: Include progname.h.
57268         (main): Call set_program_name.
57269
57270         * modules/rbtree-list-tests (Depends-on): Add progname.
57271         * tests/test-rbtree_list.c: Include progname.h.
57272         (main): Call set_program_name.
57273
57274         * modules/linked-list-tests (Depends-on): Add progname.
57275         * tests/test-linked_list.c: Include progname.h.
57276         (main): Call set_program_name.
57277
57278 2007-03-03  Bruno Haible  <bruno@clisp.org>
57279
57280         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
57281         All uses of __restrict changed to _Restrict_.
57282         * lib/glob_.h (__restrict): Remove macro.
57283
57284 2007-03-02  Bruno Haible  <bruno@clisp.org>
57285
57286         * modules/gettext (configure.ac): Require gettext infrastructure
57287         from version 0.16.1.
57288
57289 2007-03-02  Bruno Haible  <bruno@clisp.org>
57290
57291         * modules/linkedhash-list-tests (Depends-on): Add progname.
57292         * tests/test-linkedhash_list.c: Include progname.h.
57293         (main): Call set_program_name.
57294
57295         * modules/carray-list-tests (Depends-on): Add progname.
57296         * tests/test-carray_list.c: Include progname.h.
57297         (main): Call set_program_name.
57298
57299         * modules/avltreehash-list-tests (Depends-on): Add progname.
57300         * tests/test-avltreehash_list.c: Include progname.h.
57301         (main): Call set_program_name.
57302
57303         * modules/avltree-oset-tests (Depends-on): Add progname.
57304         * tests/test-avltree_oset.c: Include progname.h.
57305         (main): Call set_program_name.
57306
57307         * modules/avltree-list-tests (Depends-on): Add progname.
57308         * tests/test-avltree_list.c: Include progname.h.
57309         (main): Call set_program_name.
57310
57311         * modules/array-oset-tests (Depends-on): Add progname.
57312         * tests/test-array_oset.c: Include progname.h.
57313         (main): Call set_program_name.
57314
57315         * modules/array-list-tests (Depends-on): Add progname.
57316         * tests/test-array_list.c: Include progname.h.
57317         (main): Call set_program_name.
57318
57319         * modules/argp-tests (Depends-on): Add progname.
57320         * tests/test-argp.c: Include argp.h first. Include progname.h.
57321         (main): Call set_program_name.
57322
57323 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
57324
57325         * doc/gnulib-tool.texi (Initial import): Reword description of
57326         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
57327         limited effect even if defined after the first system include.
57328
57329 2007-03-01  Bruno Haible  <bruno@clisp.org>
57330
57331         * build-aux/config.libpath: Update to libtool-1.5.22.
57332         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
57333
57334 2007-03-01  Bruno Haible  <bruno@clisp.org>
57335
57336         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
57337         foo_CFLAGS.
57338         Reported by Ralf Wildenhues.
57339
57340 2007-03-01  Bruno Haible  <bruno@clisp.org>
57341
57342         * build-aux/install-reloc: Remove object files left over by some
57343         compilers.
57344         Reported by Ralf Wildenhues.
57345
57346 2007-03-01  Bruno Haible  <bruno@clisp.org>
57347
57348         * build-aux/install-reloc: Break long lines.
57349
57350 2007-03-01  Bruno Haible  <bruno@clisp.org>
57351
57352         * doc/relocatable.texi: Document that it may not work on OpenBSD.
57353         Reported by Ralf Wildenhues.
57354
57355 2007-03-01  Bruno Haible  <bruno@clisp.org>
57356
57357         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
57358         include ordering constraints.
57359
57360 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
57361
57362         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
57363         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
57364         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
57365         as another example.
57366         * lib/time_.h: Fix misspelling.
57367         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
57368         Require gl_HEADER_TIME_H_DEFAULTS.
57369         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
57370         * m4/time_r.m4 (gl_TIME_R): Likewise.
57371         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
57372
57373 2007-03-01  Bruno Haible  <bruno@clisp.org>
57374
57375         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
57376         * m4/utimens.m4 (gl_UTIMENS): Likewise.
57377
57378 2007-03-01  Jim Meyering  <jim@meyering.net>
57379
57380         * modules/xreadlink (Maintainer): Add my name.
57381         * modules/xreadlink-with-size (Depends-on): Alphabetize.
57382
57383 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
57384             Bruno Haible  <bruno@clisp.org>
57385
57386         * build-aux/install-reloc: Compile also c-ctype.c.
57387         * build-aux/relocatable.sh.in: New file.
57388         * doc/relocatable.texi: New file.
57389         * doc/relocatable-maint.texi: New file.
57390         * doc/gnulib.texi: Include relocatable-maint.texi.
57391         * lib/progreloc.c: Include unistd.h unconditionally.
57392         * lib/relocwrapper.c: Include unistd.h unconditionally.
57393         Include c-ctype.h.
57394         (add_dotbin): Use c_tolower.
57395         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
57396         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
57397         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
57398         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
57399         to m4/relocatable-lib.m4.
57400         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
57401         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
57402         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
57403         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
57404         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
57405         * modules/relocatable: New file.
57406         * modules/relocatable-lib: New file.
57407         * modules/relocatable-script: New file.
57408
57409 2007-02-28  Bruno Haible  <bruno@clisp.org>
57410
57411         Import --enable-relocatable infrastructure.
57412         * build-aux/config.libpath: New file, from GNU gettext.
57413         * build-aux/install-reloc: New file, from GNU gettext.
57414         * build-aux/reloc-ldflags: New file, from GNU gettext.
57415         * lib/relocatable.h: New file, from GNU gettext.
57416         * lib/relocatable.c: New file, from GNU gettext.
57417         * lib/relocwrapper.c: New file, from GNU gettext.
57418         * m4/relocatable.m4: New file, from GNU gettext.
57419
57420 2007-02-28  Bruno Haible  <bruno@clisp.org>
57421
57422         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
57423
57424         * modules/xreadlink: New file, from GNU gettext with modifications.
57425         * lib/xreadlink.c: New file, from GNU gettext.
57426         * lib/xreadlink.h: Add comments.
57427         (xreadlink): New declaration.
57428
57429         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
57430         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
57431         lib/xreadlink-with-size.c.
57432         (configure.ac): Remove gl_XREADLINK invocation.
57433         (Makefile.am): Augment lib_SOURCES.
57434         * m4/xreadlink.m4: Remove file.
57435         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
57436         (xreadlink_with_size): Renamed from xreadink.
57437         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
57438         * modules/canonicalize (Depends-on): Replace xreadlink with
57439         xreadlink-with-size.
57440         * lib/canonicalize.c (canonicalize_filename_mode): Update.
57441
57442 2007-02-25  Jim Meyering  <jim@meyering.net>
57443
57444         * build-aux/announce-gen: When complaining about excess arguments,
57445         list them.
57446
57447 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
57448
57449         * README: Document signed integer overflow situation more
57450         accurately.
57451
57452 2007-02-25  Bruno Haible  <bruno@clisp.org>
57453
57454         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
57455         'a' or 'A' conversion.
57456
57457 2007-02-25  Bruno Haible  <bruno@clisp.org>
57458
57459         * modules/filename: Renamed from modules/pathname.
57460         (Files): Replace lib/pathname.h with lib/filename.h. Replace
57461         lib/concatpath.c with lib/concat-filename.c.
57462         (Makefile.am): Update.
57463         (Include): Replace pathname.h with filename.h.
57464         * lib/filename.h: Renamed from lib/pathname.h.
57465         (concatenated_filename): Renamed from concatenated_pathname.
57466         * lib/concat-filename.c: Renamed from lib/concatpath.c.
57467         (concatenated_filename): Renamed from concatenated_pathname.
57468         * lib/findprog.c: Include filename.h instead of pathname.h.
57469         (find_in_path): Update.
57470         * lib/javacomp.c: Include filename.h instead of pathname.h.
57471         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
57472         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
57473         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
57474         is_oldgcj_14_13_usable, is_javac_usable): Update.
57475         * lib/javaexec.c: Include filename.h instead of pathname.h.
57476         (execute_java_class): Update.
57477         * modules/findprog: Update.
57478         * modules/javacomp: Update.
57479         * modules/javaexec: Update.
57480         * MODULES.html.sh (File system functions): Add 'filename', remove
57481         'pathname'.
57482
57483 2007-02-25  Bruno Haible  <bruno@clisp.org>
57484
57485         * modules/printf-frexpl-tests: New file.
57486         * tests/test-printf-frexpl.c: New file.
57487
57488         * modules/printf-frexpl: New file.
57489         * lib/printf-frexpl.h: New file.
57490         * lib/printf-frexpl.c: New file.
57491         * m4/printf-frexpl.m4: New file.
57492
57493 2007-02-25  Bruno Haible  <bruno@clisp.org>
57494
57495         * modules/printf-frexp-tests: New file.
57496         * tests/test-printf-frexp.c: New file.
57497
57498         * modules/printf-frexp: New file.
57499         * lib/printf-frexp.h: New file.
57500         * lib/printf-frexp.c: New file.
57501         * m4/printf-frexp.m4: New file.
57502
57503 2007-02-25  Bruno Haible  <bruno@clisp.org>
57504
57505         Assume automake >= 1.10 for the tests.
57506         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
57507         * modules/arctwo-tests: Likewise.
57508         * modules/argp-tests: Likewise.
57509         * modules/avltree-list-tests: Likewise.
57510         * modules/avltree-oset-tests: Likewise.
57511         * modules/avltreehash-list-tests: Likewise.
57512         * modules/carray-list-tests: Likewise.
57513         * modules/crc-tests: Likewise.
57514         * modules/des-tests: Likewise.
57515         * modules/gc-arcfour-tests: Likewise.
57516         * modules/gc-arctwo-tests: Likewise.
57517         * modules/gc-des-tests: Likewise.
57518         * modules/gc-hmac-md5-tests: Likewise.
57519         * modules/gc-hmac-sha1-tests: Likewise.
57520         * modules/gc-md2-tests: Likewise.
57521         * modules/gc-md4-tests: Likewise.
57522         * modules/gc-md5-tests: Likewise.
57523         * modules/gc-pbkdf2-sha1-tests: Likewise.
57524         * modules/gc-rijndael-tests: Likewise.
57525         * modules/gc-sha1-tests: Likewise.
57526         * modules/gc-tests: Likewise.
57527         * modules/getaddrinfo-tests: Likewise.
57528         * modules/hmac-md5-tests: Likewise.
57529         * modules/hmac-sha1-tests: Likewise.
57530         * modules/linked-list-tests: Likewise.
57531         * modules/linkedhash-list-tests: Likewise.
57532         * modules/lock-tests: Likewise.
57533         * modules/md2-tests: Likewise.
57534         * modules/md4-tests: Likewise.
57535         * modules/md5-tests: Likewise.
57536         * modules/rbtree-list-tests: Likewise.
57537         * modules/rbtree-oset-tests: Likewise.
57538         * modules/rbtreehash-list-tests: Likewise.
57539         * modules/read-file-tests: Likewise.
57540         * modules/rijndael-tests: Likewise.
57541         * modules/stdint-tests: Likewise.
57542         * modules/tls-tests: Likewise.
57543
57544 2007-02-24  Bruno Haible  <bruno@clisp.org>
57545
57546         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
57547         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
57548         function; instead check whether isnan with a double argument links.
57549         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
57550         function; instead check whether isnan with a 'long double' argument
57551         links.
57552         Reported by Eric Blake <ebb9@byu.net>.
57553
57554 2007-02-24  Bruno Haible  <bruno@clisp.org>
57555
57556         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
57557         defined.
57558         * lib/isnanl.c: Remove all code. Just include isnan.c.
57559         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
57560
57561 2007-02-25  Jim Meyering  <jim@meyering.net>
57562
57563         Avoid conflicting types for 'unsetenv' on FreeBSD.
57564         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
57565         conflicting with FreeBSD's (5.0 and 6.1) function declaration
57566         in stdlib.h.
57567
57568 2007-02-24  Bruno Haible  <bruno@clisp.org>
57569
57570         * modules/isnanl-nolibm-tests: New file.
57571         * tests/test-isnanl.c: New file.
57572
57573         * modules/isnanl-nolibm: New file.
57574         * lib/isnanl.h: New file.
57575         * lib/isnanl.c: New file.
57576         * m4/isnanl.m4: New file.
57577
57578 2007-02-24  Bruno Haible  <bruno@clisp.org>
57579
57580         * modules/isnan-nolibm-tests: New file.
57581         * tests/test-isnan.c: New file.
57582
57583         * modules/isnan-nolibm: New file.
57584         * lib/isnan.h: New file.
57585         * lib/isnan.c: New file.
57586         * m4/isnan.m4: New file.
57587
57588 2007-02-24  Bruno Haible  <bruno@clisp.org>
57589
57590         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
57591         assume that an exponent fits in 20 bits.
57592
57593 2007-02-24  Jim Meyering  <jim@meyering.net>
57594
57595         * m4/regex.m4: Update the description of the configure-time option,
57596         --without-included-regex, to state accurately what the defaults are,
57597         and perhaps to give people an idea why using this option is risky.
57598
57599 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
57600
57601         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
57602         loops on small arguments.  This attempts to avoid the problem
57603         Bruno Haible reported for AIX 4.3.2 in
57604         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
57605
57606 2007-02-23  Bruno Haible  <bruno@clisp.org>
57607
57608         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
57609         Needed for help2man.
57610
57611 2007-02-23  Karl Berry  <karl@gnu.org>
57612
57613         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
57614         exists, foo.h should be cvs-ignored, not committed.
57615
57616 2007-02-23  Eric Blake  <ebb9@byu.net>
57617
57618         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
57619         * lib/stat-time.h (includes): Likewise.
57620         * lib/utimecmp.c (includes): Likewise.
57621         * lib/utimens.h (includes): Likewise.
57622         * lib/getdate.y (includes): Also include "timespec.h" for use
57623         internal to the module.
57624         * modules/utimens (Depends-on): Revert yesterday's patch.
57625         * modules/nanosleep (Depends-on): Add missing dependency.
57626
57627 2007-02-22  Bruno Haible  <bruno@clisp.org>
57628
57629         * lib/glob.c: Don't include getlogin_r.h.
57630
57631 2007-02-22  Jim Meyering  <jim@meyering.net>
57632
57633         * modules/utimens (Depends-on): Add timespec, required for
57634         utimens.h's inclusion of timespec.h.
57635
57636 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
57637
57638         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
57639         long unreadable paths in GNU/Linux.  Problem reported by Andreas
57640         Schwab in
57641         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
57642         I'll try to think of a better way to fix the Solaris problem.
57643
57644         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
57645         like glibc; on Solaris 10, it fails with errno == EINVAL.
57646         POSIX says the behavior is unspecified if the first argument is NULL,
57647         so play it safe and never pass NULL to the system getcwd.
57648
57649 2007-02-21  Jim Meyering  <jim@meyering.net>
57650
57651         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
57652         of gettimeofday.  It would conflict with the one now always
57653         provided via sys_time_.h.  Reported by Matthew Woehlke, as
57654         an IRIX 6.5 build failure.
57655
57656 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
57657
57658         Minor fixups to port to Solaris 10 with Sun C 5.8.
57659         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
57660         * modules/getcwd (Depends-on): Add dirfd.
57661         * lib/putenv.c (putenv): #undef it.
57662         (rpl_putenv): New decl.
57663         (malloc, free): Include <stdlib.h> rather than prototyping separately.
57664
57665 2007-02-20  Bruno Haible  <bruno@clisp.org>
57666
57667         * modules/stdio-tests: New file.
57668         * tests/test-stdio.c: New file.
57669
57670         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
57671         (Depends-on): Add stdio.
57672         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
57673         (Include): Use <stdio.h> instead of vsnprintf.h.
57674         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
57675         HAVE_DECL_VSNPRINTF.
57676         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
57677
57678         * modules/snprintf (Files): Remove lib/snprintf.h.
57679         (Depends-on): Add stdio.
57680         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
57681         (Include): Use <stdio.h> instead of snprintf.h.
57682         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
57683         HAVE_DECL_SNPRINTF.
57684         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
57685         * lib/getaddrinfo.c: Likewise.
57686
57687         * modules/stdio: New file.
57688         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
57689         * lib/snprintf.h: Remove file.
57690         * lib/vsnprintf.h: Remove file.
57691         * lib/.cppi-disable: Remove snprintf.h.
57692         * m4/stdio_h.m4: New file.
57693         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
57694
57695 2007-02-20  Jim Meyering  <jim@meyering.net>
57696
57697         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
57698         used by e.g., mingw.  From Bruno Haible.
57699
57700 2007-02-19  Bruno Haible  <bruno@clisp.org>
57701
57702         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
57703         warnings.
57704         Reported by Ben Pfaff <blp@cs.stanford.edu>.
57705
57706 2007-02-19  Bruno Haible  <bruno@clisp.org>
57707
57708         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
57709         from mingw users.
57710
57711 2007-02-19  Bruno Haible  <bruno@clisp.org>
57712
57713         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
57714         warnings.
57715         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
57716
57717 2007-02-19  Jim Meyering  <jim@meyering.net>
57718
57719         Don't use FD after a successful "fdopendir (fd)".
57720         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
57721         Reset it by calling dirfd on the just-obtained DIR*.
57722
57723         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
57724         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
57725
57726 2007-02-18  Bruno Haible  <bruno@clisp.org>
57727
57728         * lib/readlink.c: Include <unistd.h>.
57729         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
57730         HAVE_READLINK.
57731         * modules/readlink (Depends-on): Add unistd.
57732         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
57733         (Include): Add <unistd.h>.
57734
57735         * lib/getlogin_r.h: Remove file.
57736         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
57737         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
57738         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
57739         HAVE_DECL_GETLOGIN_R.
57740         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
57741         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
57742         (Include): Use <unistd.h> instead of getlogin_r.h.
57743
57744         * lib/getcwd.h: Remove file.
57745         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
57746         * lib/xgetcwd.c: Likewise.
57747         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
57748         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
57749         * modules/getcwd (Files): Remove lib/getcwd.h.
57750         (Depends-on): Add unistd.
57751         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
57752         (Include): Use <unistd.h> instad of getcwd.h.
57753
57754         * lib/ftruncate.c: Include <unistd.h> first.
57755         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
57756         Set HAVE_FTRUNCATE.
57757         * modules/ftruncate (Depends-on): Add unistd.
57758         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
57759
57760         * lib/fchdir.c: Include <unistd.h> first.
57761         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
57762         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
57763         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
57764         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
57765         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
57766
57767         * lib/dup2.c: Include <unistd.h> first.
57768         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
57769         HAVE_DUP2.
57770         * modules/dup2 (Depends-on): Add unistd.
57771         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
57772
57773         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
57774         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
57775         REPLACE_CHOWN. Don't define chown as a macro here.
57776         * modules/chown (Depends-on): Add unistd.
57777         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
57778
57779         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
57780         Add definition for GL_LINK_WARNING.
57781         (chown, dup2): New declarations.
57782         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
57783         link warning.
57784         (ftruncate): New declaration.
57785         (getcwd): New declaration, taken from old getcwd.h.
57786         (getlogin_r): New declaration, taken from old getlogin_r.h.
57787         (readlink): New declaration.
57788         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
57789         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
57790         (gl_PREREQ_UNISTD): Remove macro.
57791         (gl_UNISTD_MODULE_INDICATOR): New macro.
57792         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
57793         many new variables. Don't set UNISTD_H.
57794         * modules/unistd (Description): Change.
57795         (Depends-on): Add link-warning.
57796         (configure.ac): Update.
57797         (Makefile.am): Create unistd.h always. Substitute many new variables
57798         into it.
57799
57800 2007-02-18  Bruno Haible  <bruno@clisp.org>
57801
57802         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
57803         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
57804         HAVE_GETSUBOPT.
57805         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
57806         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
57807         * lib/getsubopt.h: Remove file.
57808         * modules/getsubopt (Files): Remove lib/getsubopt.h.
57809         (Depends-on): Add stdlib.
57810         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
57811         (Includes): Use <stdlib.h> instead of getsubopt.h.
57812         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
57813         Set HAVE_GETSUBOPT.
57814         * lib/getsubopt.c: Don't include getsubopt.h.
57815
57816 2007-02-18  Bruno Haible  <bruno@clisp.org>
57817
57818         * modules/fchdir (Depends-on): Add dup2.
57819
57820 2007-02-18  Bruno Haible  <bruno@clisp.org>
57821
57822         * lib/stdlib_.h: Handle glibc's special invocation convention
57823         specially.
57824
57825 2007-02-18  Bruno Haible  <bruno@clisp.org>
57826
57827         * modules/stdlib-tests: New file.
57828         * tests/test-stdlib.c: New file.
57829
57830         * modules/mkstemp (Files): Remove lib/mkstemp.h.
57831         (Depends-on): Add stdlib.
57832         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
57833         (Includes): Use <stdlib.h> instead of mkstemp.h.
57834         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
57835         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
57836         * lib/mkstemp.c: Don't include mkstemp.h.
57837         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
57838         * lib/stdlib--.h: Don't include mkstemp.h.
57839
57840         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
57841         (Depends-on): Add stdlib.
57842         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
57843         (Includes): Use <stdlib.h> instead of mkdtemp.h.
57844         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
57845         HAVE_MKDTEMP.
57846         * lib/mkdtemp.c: Don't include mkdtemp.h.
57847         * lib/clean-temp.c: Don't include mkdtemp.h.
57848
57849         * modules/exit (Files): Remove lib/exit.h.
57850         (Depends-on): Add stdlib.
57851         (Makefile.am): Remove lib_SOURCES.
57852         (Include): Use <stdlib.h> instead of exit.h.
57853         * lib/argmatch.c: Don't include exit.h.
57854         * lib/execute.c: Likewise.
57855         * lib/pagealign_alloc.c: Likewise.
57856         * lib/pipe.c: Likewise.
57857         * lib/wait-process.c: Likewise.
57858         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
57859         * lib/exitfail.c: Likewise.
57860         * lib/savewd.c: Likewise.
57861         * lib/xsetenv.c: Likewise.
57862
57863         * modules/stdlib: New file.
57864         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
57865         and extra comments about mkstemp().
57866         * lib/exit.h: Remove file.
57867         * lib/mkdtemp.h: Remove file.
57868         * lib/mkstemp.h: Remove file.
57869         * m4/stdlib_h.m4: New file.
57870         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
57871
57872 2007-02-18  Bruno Haible  <bruno@clisp.org>
57873
57874         * modules/math-tests: New file.
57875         * tests/test-math.c: New file.
57876
57877         * modules/math: New file.
57878         * modules/mathl (Files): Remove lib/mathl.h.
57879         (Depends-on): Add math.
57880         (Makefile.am): Don't mention mathl.h.
57881         (Include): Use <math.h> instead of mathl.h.
57882         * lib/math_.h: New file.
57883         * lib/mathl.h: Remove file.
57884         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
57885         mathl.h.
57886         * lib/asinl.c: Likewise.
57887         * lib/atanl.c: Likewise.
57888         * lib/ceill.c: Likewise.
57889         * lib/cosl.c: Likewise.
57890         * lib/expl.c: Likewise.
57891         * lib/floorl.c: Likewise.
57892         * lib/frexpl.c: Likewise.
57893         * lib/ldexpl.c: Likewise.
57894         * lib/logl.c: Likewise.
57895         * lib/sincosl.c: Likewise.
57896         * lib/sinl.c: Likewise.
57897         * lib/sqrtl.c: Likewise.
57898         * lib/tanl.c: Likewise.
57899         * lib/trigl.c: Likewise.
57900         * m4/math_h.m4: New file.
57901         * MODULES.html.sh (Mathematics): Add math.
57902
57903 2007-02-17  Bruno Haible  <bruno@clisp.org>
57904
57905         * modules/wctype-tests: New file.
57906         * tests/test-wctype.c: New file.
57907
57908         * modules/wchar-tests: New file.
57909         * tests/test-wchar.c: New file.
57910
57911         * modules/unistd-tests: New file.
57912         * tests/test-unistd.c: New file.
57913
57914         * modules/time-tests: New file.
57915         * tests/test-time.c: New file.
57916
57917         * modules/sysexits-tests: New file.
57918         * tests/test-sysexits.c: New file.
57919
57920         * modules/sys_time-tests: New file.
57921         * tests/test-sys_time.c: New file.
57922
57923         * modules/sys_stat-tests: New file.
57924         * tests/test-sys_stat.c: New file.
57925
57926         * modules/sys_socket-tests: New file.
57927         * tests/test-sys_socket.c: New file.
57928
57929         * modules/sys_select-tests: New file.
57930         * tests/test-sys_select.c: New file.
57931
57932         * modules/string-tests: New file.
57933         * tests/test-string.c: New file.
57934
57935         * modules/stdbool-tests: New file.
57936         * tests/test-stdbool.c: New file.
57937
57938         * modules/netinet_in-tests: New file.
57939         * tests/test-netinet_in.c: New file.
57940
57941         * modules/inttypes-tests: New file.
57942         * tests/test-inttypes.c: New file.
57943
57944         * modules/fcntl-tests: New file.
57945         * tests/test-fcntl.c: New file.
57946
57947         * modules/byteswap-tests: New file.
57948         * tests/test-byteswap.c: New file.
57949
57950         * modules/arpa_inet-tests: New file.
57951         * tests/test-arpa_inet.c: New file.
57952
57953 2007-02-17  Bruno Haible  <bruno@clisp.org>
57954
57955         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
57956         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
57957         if the corresponding module is not enabled. Emit link warnings if
57958         the function is used nevertheless.
57959         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
57960         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
57961         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
57962         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
57963         * modules/inttypes (Depends-on): Add link-warning.
57964         (Makefile.am): Copy the contents of build-aux/link-warning.h into
57965         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
57966         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
57967         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
57968         * modules/imaxdiv (configure.ac): Likewise.
57969         * modules/strtoimax (configure.ac): Likewise.
57970         * modules/strtoumax (configure.ac): Likewise.
57971
57972 2007-02-17  Bruno Haible  <bruno@clisp.org>
57973
57974         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
57975         gl_STRING_MODULE_INDICATOR_DEFAULTS.
57976         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
57977         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
57978
57979 2007-02-17  Bruno Haible  <bruno@clisp.org>
57980
57981         * modules/link-warning: New file.
57982         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
57983         * lib/string_.h (GL_LINK_WARNING): Remove definition.
57984         * modules/string (Depends-on): Add link-warning.
57985         (Makefile.am): Copy the contents of build-aux/link-warning.h into
57986         string.h.
57987         * MODULES.html.sh (Support for building libraries and executables): Add
57988         link-warning.
57989
57990 2007-02-17  Bruno Haible  <bruno@clisp.org>
57991
57992         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
57993         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
57994         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
57995         long lines.
57996
57997 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
57998             Bruno Haible  <bruno@clisp.org>
57999
58000         * modules/tmpfile: New file.
58001         * lib/tmpfile.c: New file.
58002         * m4/tmpfile.m4: New file.
58003         * MODULES.html.sh (func_all_modules): New section "Input/output".
58004
58005 2007-02-15  Bruno Haible  <bruno@clisp.org>
58006
58007         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
58008         (supports_delete_on_close): New function.
58009         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
58010
58011 2007-02-14  Bruno Haible  <bruno@clisp.org>
58012
58013         * modules/mbspcasecmp-tests: New file.
58014         * tests/test-mbspcasecmp.sh: New file.
58015         * tests/test-mbspcasecmp.c: New file.
58016
58017         New module mbspcasecmp.
58018         * modules/mbspcasecmp: New file.
58019         * lib/mbspcasecmp.c: New file.
58020         * lib/string_.h (strncasecmp): Change warning message.
58021         (mbspcasecmp): New declaration.
58022         * m4/mbspcasecmp.m4: New file.
58023         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58024         GNULIB_MBSPCASECMP.
58025         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
58026         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
58027
58028 2007-02-14  Bruno Haible  <bruno@clisp.org>
58029
58030         * modules/mbsncasecmp-tests: New file.
58031         * tests/test-mbsncasecmp.sh: New file.
58032         * tests/test-mbsncasecmp.c: New file.
58033
58034         New module mbsncasecmp.
58035         * modules/mbsncasecmp: New file.
58036         * lib/mbsncasecmp.c: New file.
58037         * lib/string_.h (mbsncasecmp): New declaration.
58038         * m4/mbsncasecmp.m4: New file.
58039         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58040         GNULIB_MBSNCASECMP.
58041         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
58042         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
58043
58044 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
58045
58046         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
58047         Verify that it doesn't overlap with our flags.
58048         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
58049         do not have the desired effect in multibyte locales; instead, use
58050         mbscasecmp.
58051         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
58052         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
58053         we don't require GNU fnmatch ourselves (if our users require it, they
58054         should do so explicitly).
58055
58056         Fix regex code so it doesn't rely on strcasecmp.
58057         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
58058         Otherwise, include gnulib's langinfo.h.
58059         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
58060         undesirable behavior in non-C locales.  Instead, rely on localecharset.
58061         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
58062         * modules/regex (FILES): Remove m4/codeset.m4.
58063         (Depends-on): Add localcharset.  Remove strcase.
58064
58065 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58066
58067         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
58068         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
58069
58070 2007-02-13  Bruno Haible  <bruno@clisp.org>
58071
58072         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
58073         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
58074
58075 2007-02-12  Bruno Haible  <bruno@clisp.org>
58076
58077         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
58078         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
58079         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
58080         time warning rather than a link error.
58081
58082 2007-02-12  Bruno Haible  <bruno@clisp.org>
58083
58084         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
58085         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
58086         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
58087
58088 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
58089
58090         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
58091         args, not 2.
58092
58093 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
58094
58095         New module 'time', so that apps can include <time.h> as per
58096         POSIX and GNU instead of separate include files like time_r.h
58097         and timegm.h.  This implementation tries out a simpler approach
58098         for replacing decls in standard include files (as compared to
58099         the string module), somewhat as an experiment.
58100
58101         * config/srclist.txt: Comment out mktime.c for now.
58102         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
58103         since it doesn't apply any more.  Use generic wording instead.
58104         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
58105         'time'.
58106         * lib/time_.h, m4/time_h.m4, modules/time: New files.
58107         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
58108         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
58109         Don't include <sys/types.h>; no longer needed since we assume C89.
58110         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
58111         * lib/strftime.c: Likewise.
58112         * lib/time_r.c: Likewise.
58113         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
58114         * lib/nanosleep.c: Include <time.h> first, to check interface.
58115         * lib/strptime.c: Likewise.
58116         * lib/time_r.c: Likewise.
58117         * lib/timegm.c: Likewise.
58118         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
58119         needed.
58120         * lib/timegm.c: Don't include timegm.h; no longer needed.
58121         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
58122         time.h now handles any problems in that area.
58123         (struct timespec, nanosleep): Remove; time.h now arranges for these.
58124         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
58125         that time.h defines struct timespec.
58126         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
58127         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
58128         handles that.
58129         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
58130         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
58131         needed.  Set REPLACE_LOCALTIME.
58132         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
58133         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
58134         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
58135         nanosleep; time_h.m4 now does that.  Don't require
58136         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
58137         module handles this now.
58138         * modules/getdate (Depends-on): Remove timespec.  Add time.
58139         * modules/nanosleep (Depends-on): Likewise.
58140         * modules/stat-time (Depends-on): Likewise.
58141         * modules/nanosleep (Include): Include time.h, not timespec.h.
58142         * modules/strptime (Files): Remove lib/strptime.h.
58143         (Depends-on): Add extensions, time.
58144         (Include): Include time.h, not strptime.h.
58145         * modules/time_r (Files): Remove lib/time_r.h.
58146         (Depends-on): Add time.
58147         (Include): Include time.h, not time_r.h.
58148         * modules/timegm: Likewise.
58149         * modules/timespec (Description): Now does timespec-related decls
58150         of our own, instead of struct timespec itself.
58151         (Depends-on): Add time; remove extensions.
58152         (Maintainer): Add self.
58153         * modules/utimecmp (Depends-on): Add time; remove timespec.
58154         * modules/utimens (Depends-on): Likewise.
58155         * modules/xnanosleep (Depends-on): Likewise.
58156
58157 2007-02-11  Bruno Haible  <bruno@clisp.org>
58158
58159         * lib/c-strstr.c: Include allocsa.h.
58160         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
58161         * lib/c-strcasestr.c: Include allocsa.h.
58162         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
58163         * lib/strcasestr.c: Include allocsa.h.
58164         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
58165         * lib/mbsstr.c: Include allocsa.h.
58166         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
58167         allocsa/freesa instead of malloc/free.
58168         * lib/mbscasestr.c: Include allocsa.h.
58169         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
58170         allocsa/freesa instead of malloc/free.
58171         * modules/c-strstr (Depends-on): Add allocsa.
58172         * modules/c-strcasestr (Depends-on): Likewise.
58173         * modules/strcasestr (Depends-on): Likewise.
58174         * modules/mbsstr (Depends-on): Likewise.
58175         * modules/mbscasestr (Depends-on): Likewise.
58176
58177 2007-02-11  Bruno Haible  <bruno@clisp.org>
58178
58179         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
58180
58181         * modules/mbsspn-tests: New file.
58182         * tests/test-mbsspn.sh: New file.
58183         * tests/test-mbsspn.c: New file.
58184
58185 2007-02-11  Bruno Haible  <bruno@clisp.org>
58186
58187         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
58188
58189         * modules/mbspbrk-tests: New file.
58190         * tests/test-mbspbrk.sh: New file.
58191         * tests/test-mbspbrk.c: New file.
58192
58193 2007-02-11  Bruno Haible  <bruno@clisp.org>
58194
58195         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
58196         unneeded cast.
58197
58198         * modules/mbscspn-tests: New file.
58199         * tests/test-mbscspn.sh: New file.
58200         * tests/test-mbscspn.c: New file.
58201
58202 2007-02-11  Bruno Haible  <bruno@clisp.org>
58203
58204         * modules/mbscasecmp-tests: New file.
58205         * tests/test-mbscasecmp.sh: New file.
58206         * tests/test-mbscasecmp.c: New file.
58207
58208 2007-02-11  Bruno Haible  <bruno@clisp.org>
58209
58210         Ensure O(n) worst-case complexity of mbscasestr.
58211         * lib/mbscasestr.c: Include stdbool.h.
58212         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
58213         functions.
58214         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
58215         the bookkeeping indicates that it's worth it.
58216         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
58217
58218         * modules/mbscasestr-tests: New file.
58219         * tests/test-mbscasestr1.c: New file.
58220         * tests/test-mbscasestr2.sh: New file.
58221         * tests/test-mbscasestr2.c: New file.
58222         * tests/test-mbscasestr3.sh: New file.
58223         * tests/test-mbscasestr3.c: New file.
58224         * tests/test-mbscasestr4.sh: New file.
58225         * tests/test-mbscasestr4.c: New file.
58226         * m4/locale-tr.m4: New file.
58227
58228 2007-02-11  Bruno Haible  <bruno@clisp.org>
58229
58230         Ensure O(n) worst-case complexity of mbsstr.
58231         * lib/mbsstr.c: Include stdbool.h.
58232         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
58233         functions.
58234         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
58235         bookkeeping indicates that it's worth it.
58236         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
58237
58238         * modules/mbsstr-tests: New file.
58239         * tests/test-mbsstr1.c: New file.
58240         * tests/test-mbsstr2.sh: New file.
58241         * tests/test-mbsstr2.c: New file.
58242         * tests/test-mbsstr3.sh: New file.
58243         * tests/test-mbsstr3.c: New file.
58244         * m4/locale-fr.m4: New file.
58245
58246 2007-02-11  Bruno Haible  <bruno@clisp.org>
58247
58248         * lib/mbsrchr.c (mbsrchr): Fix bug.
58249
58250         * modules/mbsrchr-tests: New file.
58251         * tests/test-mbsrchr.sh: New file.
58252         * tests/test-mbsrchr.c: New file.
58253
58254 2007-02-11  Bruno Haible  <bruno@clisp.org>
58255
58256         * lib/mbschr.c (mbschr): Fix bug.
58257
58258         * modules/mbschr-tests: New file.
58259         * tests/test-mbschr.sh: New file.
58260         * tests/test-mbschr.c: New file.
58261         * m4/locale-zh.m4: New file.
58262
58263 2007-02-11  Bruno Haible  <bruno@clisp.org>
58264
58265         Support for copying multibyte string iterators.
58266         * lib/mbiter.h: Include <string.h>.
58267         (mbiter_multi_copy): New function.
58268         (mbi_copy): New macro.
58269         * lib/mbuiter.h: Include <string.h>.
58270         (mbuiter_multi_copy): New function.
58271         (mbui_copy): New macro.
58272
58273 2007-02-11  Bruno Haible  <bruno@clisp.org>
58274
58275         New module mbslen.
58276         * modules/mbslen: New file.
58277         * lib/mbslen.c: New file.
58278         * lib/string_.h (mbslen): New declaration.
58279         * m4/mbslen.m4: New file.
58280         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58281         GNULIB_MBSLEN.
58282         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
58283         * MODULES.html.sh (Internationalization functions): Add mbslen.
58284
58285 2007-02-11  Bruno Haible  <bruno@clisp.org>
58286
58287         Ensure O(n) worst-case complexity of strcasestr substitute.
58288         * lib/strcasestr.c: Include stdbool.h.
58289         (knuth_morris_pratt): New function.
58290         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
58291         bookkeeping indicates that it's worth it.
58292         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
58293
58294         * modules/strcasestr-tests: New file.
58295         * tests/test-strcasestr.c: New file.
58296
58297 2007-02-11  Bruno Haible  <bruno@clisp.org>
58298
58299         Ensure O(n) worst-case complexity of c_strcasestr.
58300         * lib/c-strcasestr.c: Include stdbool.h, string.h.
58301         (knuth_morris_pratt): New function.
58302         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
58303         the bookkeeping indicates that it's worth it.
58304         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
58305
58306         * modules/c-strcasestr-tests: New file.
58307         * tests/test-c-strcasestr.c: New file.
58308
58309 2007-02-11  Bruno Haible  <bruno@clisp.org>
58310
58311         Ensure O(n) worst-case complexity of c_strstr.
58312         * lib/c-strstr.c: Include stdbool.h, string.h.
58313         (knuth_morris_pratt): New function.
58314         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
58315         bookkeeping indicates that it's worth it.
58316         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
58317
58318         * lib/c-strstr.c: Complete rewrite for maintainability.
58319
58320         * modules/c-strstr-tests: New file.
58321         * tests/test-c-strstr.c: New file.
58322
58323 2007-02-11  Bruno Haible  <bruno@clisp.org>
58324
58325         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
58326         5.2.1 and earlier, whereby \055 was treated just like the range
58327         delimiter '-'.
58328         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
58329
58330 2007-02-08  Bruno Haible  <bruno@clisp.org>
58331
58332         * modules/regex (Depends-on): Add stdbool.
58333         Reported by Dalibor Topic <robilad@kaffe.org>.
58334
58335 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
58336
58337         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
58338         Prefer returning from main to exiting from it.
58339         Remove unnecessary parens after sizeof.
58340
58341 2007-02-05  Bruno Haible  <bruno@clisp.org>
58342
58343         New module mbssep.
58344         * modules/mbssep: New file.
58345         * lib/mbssep.c: New file.
58346         * lib/string_.h (strsep): Add a conditional link warning.
58347         (mbssep): New declaration.
58348         * m4/mbssep.m4: New file.
58349         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58350         GNULIB_MBSSEP.
58351         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
58352         * MODULES.html.sh (Internationalization functions): Add mbssep.
58353
58354 2007-02-05  Bruno Haible  <bruno@clisp.org>
58355
58356         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
58357         Optimize search in case of 1 delimiter.
58358
58359 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
58360
58361         * lib/acl.h: Include sys/types.h before sys/acl.h.
58362
58363 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
58364
58365         Merge upstream fix for glibc bugzilla #3957:
58366
58367         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
58368
58369         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
58370         bit for RE_HAT_LISTS_NOT_NEWLINE.
58371         (build_charclass_op): Remove bogus comment.
58372
58373 2007-02-05  Simon Josefsson  <simon@josefsson.org>
58374
58375         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
58376
58377 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
58378
58379         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
58380         * lib/memmem.c [!defined _LIBC]: Include config.h.
58381
58382 2007-02-04  Bruno Haible  <bruno@clisp.org>
58383
58384         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
58385         warning message.
58386
58387 2007-02-04  Bruno Haible  <bruno@clisp.org>
58388
58389         New module mbstok_r.
58390         * modules/mbstok_r: New file.
58391         * lib/mbstok_r.c: New file.
58392         * lib/string_.h (strtok_r): Change argument names to match the
58393         comments. Add a conditional link warning.
58394         (mbstok_r): New declaration.
58395         * m4/mbstok_r.m4: New file.
58396         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58397         GNULIB_MBSTOK_R.
58398         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
58399         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
58400
58401 2007-02-04  Bruno Haible  <bruno@clisp.org>
58402
58403         New module mbsspn.
58404         * modules/mbsspn: New file.
58405         * lib/mbsspn.c: New file.
58406         * lib/string_.h (strspn): Add a conditional link warning.
58407         (mbsspn): New declaration.
58408         * m4/mbsspn.m4: New file.
58409         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58410         GNULIB_MBSSPN.
58411         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
58412         * MODULES.html.sh (Internationalization functions): Add mbsspn.
58413
58414 2007-02-04  Bruno Haible  <bruno@clisp.org>
58415
58416         New module mbspbrk.
58417         * modules/mbspbrk: New file.
58418         * lib/mbspbrk.c: New file.
58419         * lib/string_.h (strpbrk): Add a conditional link warning.
58420         (mbspbrk): New declaration.
58421         * m4/mbspbrk.m4: New file.
58422         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58423         GNULIB_MBSPBRK.
58424         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
58425         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
58426
58427 2007-02-04  Bruno Haible  <bruno@clisp.org>
58428
58429         New module mbscspn.
58430         * modules/mbscspn: New file.
58431         * lib/mbscspn.c: New file.
58432         * lib/string_.h (strcspn): Add a conditional link warning.
58433         (mbscspn): New declaration.
58434         * m4/mbscspn.m4: New file.
58435         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58436         GNULIB_MBSCSPN.
58437         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
58438         * MODULES.html.sh (Internationalization functions): Add mbscspn.
58439
58440 2007-02-04  Bruno Haible  <bruno@clisp.org>
58441
58442         New module mbscasestr, reduced goal of strcasestr.
58443         * modules/mbscasestr: New file.
58444         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
58445         (mbscasestr): Renamed from strcasestr.
58446         * lib/strcasestr.c: Don't include mbuiter.h.
58447         (strcasestr): Remove support for multibyte locales.
58448         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
58449         Change the conditional link warning.
58450         (mbscasestr): New declaration.
58451         * m4/mbscasestr.m4: New file.
58452         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
58453         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
58454         REPLACE_STRCASESTR.
58455         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
58456         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
58457         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
58458         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
58459         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
58460         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
58461         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
58462         (Depends-on): Remove mbuiter.
58463         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
58464
58465 2007-02-04  Bruno Haible  <bruno@clisp.org>
58466
58467         Simplify handling of strncasecmp.
58468         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
58469         the conditional link warning.
58470         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
58471         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
58472         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
58473         * modules/strcase (configure.ac): Don't invoke
58474         gl_STRING_MODULE_INDICATOR.
58475         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
58476
58477 2007-02-04  Bruno Haible  <bruno@clisp.org>
58478
58479         New module mbscasecmp, reduced goal of strcasecmp.
58480         * modules/mbscasecmp: New file.
58481         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
58482         (mbscasecmp): Renamed from strcasecmp.
58483         * lib/strcasecmp.c: Don't include mbuiter.h.
58484         (strcasecmp): Remove support for multibyte locales.
58485         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
58486         Change the conditional link warning.
58487         (mbscasecmp): New declaration.
58488         * m4/mbscasecmp.m4: New file.
58489         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
58490         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
58491         REPLACE_STRCASECMP.
58492         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
58493         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58494         GNULIB_MBSCASECMP.
58495         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
58496         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
58497         * modules/strcase (Files): Remove m4/mbrtowc.m4.
58498         (Depends-on): Remove mbuiter.
58499         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
58500
58501 2007-02-04  Bruno Haible  <bruno@clisp.org>
58502
58503         New module mbsstr. Remove module strstr.
58504         * modules/mbsstr: New file.
58505         * modules/strstr: Remove file.
58506         * lib/mbsstr.c: Renamed from lib/strstr.c.
58507         (mbsstr): Renamed from strstr.
58508         * lib/string_.h (strstr): Remove declaration. Change the conditional
58509         link warning.
58510         (mbsstr): New declaration.
58511         * m4/mbsstr.m4: New file.
58512         * m4/strstr.m4: Remove file.
58513         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
58514         REPLACE_STRSTR.
58515         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
58516         Don't initialize GNULIB_STRSTR.
58517         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
58518         substitute GNULIB_STRSTR and REPLACE_STRSTR.
58519         * MODULES.html.sh (Internationalization functions): Add mbsstr.
58520         (Support for systems lacking ANSI C 89): Remove strstr.
58521
58522 2007-02-04  Bruno Haible  <bruno@clisp.org>
58523
58524         New module mbsrchr.
58525         * modules/mbsrchr: New file.
58526         * lib/mbsrchr.c: New file.
58527         * lib/string_.h (strrchr): Add a conditional link warning.
58528         (mbsrchr): New declaration.
58529         * m4/mbsrchr.m4: New file.
58530         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58531         GNULIB_MBSRCHR.
58532         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
58533         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
58534
58535 2007-02-04  Bruno Haible  <bruno@clisp.org>
58536
58537         New module mbschr.
58538         * modules/mbschr: New file.
58539         * lib/mbschr.c: New file.
58540         * lib/string_.h (strchr): Add a conditional link warning.
58541         (mbschr): New declaration.
58542         * m4/mbschr.m4: New file.
58543         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58544         GNULIB_MBSCHR.
58545         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
58546         * MODULES.html.sh (Internationalization functions): Add mbschr.
58547
58548 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
58549
58550         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
58551
58552         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
58553
58554 2007-02-04  Bruno Haible  <bruno@clisp.org>
58555
58556         New module description section 'configure.ac-early'.
58557         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
58558         (func_get_autoconf_early_snippet): New function.
58559         (func_import, func_create_testdir): Use it. Remove special cases for
58560         modules 'extensions' and 'lock'.
58561         * modules/extensions (configure.ac-early): Require
58562         gl_USE_SYSTEM_EXTENSIONS.
58563         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
58564
58565 2007-02-04  Bruno Haible  <bruno@clisp.org>
58566
58567         Make use of gcj-4.3's -fsource and -ftarget option.
58568         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
58569         and if so try the options -fsource and -ftarget.
58570         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
58571         source_version, ftarget_option, target_version arguments.
58572         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
58573         (is_envjavac_oldgcj_14_14_usable): Renamed from
58574         is_envjavac_gcj_14_14_usable.
58575         (is_envjavac_oldgcj_14_13_usable): Renamed from
58576         is_envjavac_gcj_14_13_usable.
58577         (is_gcj_present): Update.
58578         (is_gcj_43, is_gcj43_usable): New functions.
58579         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
58580         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
58581         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
58582         try the options -fsource and -ftarget.
58583
58584 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
58585
58586         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
58587         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
58588         larger value.
58589
58590 2007-02-03  Jim Meyering  <jim@meyering.net>
58591
58592         Give tools a better chance to allocate space for very large buffers.
58593         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
58594
58595         Make pwd and readlink work also when run with an unreadable parent dir
58596         on systems with openat support.
58597         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
58598         provided getcwd function, even when we have openat support.
58599         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
58600
58601 2007-02-02  Bruno Haible  <bruno@clisp.org>
58602
58603         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
58604         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
58605         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
58606         portability problems if one of these functions is only used on specific
58607         platforms.
58608         Reported by Paul Eggert.
58609
58610 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
58611
58612         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
58613         is causing more trouble than it's curing.
58614         * lib/regex_internal.h (__mempcpy): Remove.
58615         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
58616         (and make the code a tad smaller to boot).
58617         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
58618
58619 2007-02-02  Jim Meyering  <jim@meyering.net>
58620
58621         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
58622         section, not in the Makefile.am: one.
58623
58624 2007-02-02  Eric Blake  <ebb9@byu.net>
58625
58626         * lib/strchrnul.c: Always include config.h first.
58627
58628         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
58629         gnulib strstr is not necessary here.
58630
58631 2007-02-02  Simon Josefsson  <simon@josefsson.org>
58632
58633         * m4/socklen.m4: Fix typo.
58634
58635 2007-02-02  Eric Blake  <ebb9@byu.net>
58636
58637         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
58638         * modules/netinet_in (Makefile.am): Likewise.
58639
58640 2007-02-01  Bruno Haible  <bruno@clisp.org>
58641
58642         * lib/string_.h (GL_LINK_WARNING): New macro.
58643         (strcasecmp, strstr, strcasestr): If provided by the system,
58644         conditionally define as a macro that leads to a warning instead of to
58645         an error.
58646         (strncasecmp): Conditionally define as a macro that leads to a warning.
58647
58648 2007-02-01  Karl Berry  <karl@gnu.org>
58649
58650         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
58651
58652 2007-02-01  Bruno Haible  <bruno@clisp.org>
58653
58654         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
58655         renamings.
58656
58657 2007-02-01  Eric Blake  <ebb9@byu.net>
58658
58659         * modules/regex (Depends-on): Revert dependence on mempcpy.
58660         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
58661         module's definition of mempcpy.
58662         Reported by Paul Eggert.
58663
58664 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
58665
58666         * lib/string_.h: If the gnulib module XYZ is not present, undefine
58667         the symbol XYZ before redefining it.  This fixes a problem with
58668         programs that don't use XYZ, when compiled on systems that define
58669         XYZ to something else.
58670
58671 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
58672
58673         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
58674         occurs when "mkdir -m foo" creates a setgid directory that is (1)
58675         writeable to group or other and (2) is intended to have a special
58676         mode bit that is set or cleared.  In such a case, the directory
58677         should be neither group- nor other-writeable until the special
58678         mode bits are right.
58679
58680 2007-01-31  Eric Blake  <ebb9@byu.net>
58681
58682         * modules/mountlist (Depends-on): Add strstr.
58683
58684         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
58685         bug.
58686         * modules/string (Makefile.am): Remove redundant replacement.
58687         * modules/regex (Depends-on): Add mempcpy.
58688
58689 2007-01-31  Bruno Haible  <bruno@clisp.org>
58690
58691         New module description field 'Link'.
58692         * gnulib-tool (func_usage): Document --extract-link-directive.
58693         (sed_extract_prog): Recognize 'Link' directive.
58694         (func_get_link_directive): New function.
58695         (func_import): Show summary of link directives.
58696         Handle --extract-link-directive option.
58697         * modules/acl (Link): New section.
58698         * modules/clock-time (Link): New section.
58699         * modules/euidaccess (Link): New section.
58700         * modules/gettext (Link): New section.
58701         * modules/iconv (Link): New section.
58702         * modules/lock (Link): New section.
58703         * modules/nanosleep (Link): New section.
58704         * modules/readline (Link): New section.
58705
58706 2007-01-27  Bruno Haible  <bruno@clisp.org>
58707
58708         Enforce the use of gnulib modules for unportable <string.h> functions.
58709         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
58710         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
58711         (gl_HEADER_STRING_H_BODY): Require it.
58712         * lib/string_.h: If the gnulib module XYZ is not present, redefine
58713         the symbol XYZ to one that gives a link error.
58714         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
58715         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
58716         * modules/mempcpy (configure.ac): Likewise.
58717         * modules/memrchr (configure.ac): Likewise.
58718         * modules/stpcpy (configure.ac): Likewise.
58719         * modules/stpncpy (configure.ac): Likewise.
58720         * modules/strcase (configure.ac): Likewise.
58721         * modules/strcasestr (configure.ac): Likewise.
58722         * modules/strchrnul (configure.ac): Likewise.
58723         * modules/strdup (configure.ac): Likewise.
58724         * modules/strndup (configure.ac): Likewise.
58725         * modules/strnlen (configure.ac): Likewise.
58726         * modules/strpbrk (configure.ac): Likewise.
58727         * modules/strsep (configure.ac): Likewise.
58728         * modules/strstr (configure.ac): Likewise.
58729         * modules/strtok_r (configure.ac): Likewise.
58730
58731 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
58732
58733         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
58734
58735 2007-01-30  Jim Meyering  <jim@meyering.net>
58736
58737         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
58738
58739 2007-01-29  Bruno Haible  <bruno@clisp.org>
58740
58741         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
58742         * lib/execute.c: Likewise.
58743         * lib/pipe.c: Likewise.
58744         * lib/printf-args.h: Likewise.
58745         * lib/printf-args.c: Likewise.
58746         * lib/printf-parse.c: Likewise.
58747         * lib/vasnprintf.c: Likewise.
58748
58749 2007-01-29  Eric Blake  <ebb9@byu.net>
58750
58751         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
58752         declaration.
58753
58754 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
58755
58756         * lib/strptime.h (strptime): Use 'restrict' for args where
58757         POSIX requires this.
58758         * lib/strptime.c (strptime): Likewise.
58759         Change license notice from LGPL to GPL, since gnulib-tool will
58760         change this as needed.
58761         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
58762         defined.
58763         Include "strptime.h" first, to check interface.
58764         Do not #undef _LIBC and _NL_CURRENT.
58765         Do not include <stdlib.h>; no longer needed.
58766         Include "time_r.h" and declare ptime_locale_status
58767         only if _LIBC is not defined.
58768         (__P): Remove unused macro.
58769         (match_string): Bring back glibc version, but use it only if _LIBC
58770         is defined.
58771         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
58772         Remove unnecessary assertion and abort() call.
58773         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
58774         * m4/strptime.m4: Fix serial number comment.
58775         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
58776         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
58777         (Depends-on): Add time_r.
58778
58779 2007-01-29  Bruno Haible  <bruno@clisp.org>
58780
58781         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
58782         strptime.
58783         * modules/strptime (Depends-on): Add stdbool.
58784         * lib/strptime.h: Include <time.h> always. Add comments.
58785
58786 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
58787
58788         * modules/strptime: New file.
58789         * lib/strptime.h: New file.
58790         * lib/strptime.c: New file.
58791         * m4/strptime.m4: New file.
58792
58793 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
58794
58795         * MODULES.html.sh: New module mpsort.
58796         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
58797
58798         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
58799         a circularity problem with HP-UX ia64 reported by Bob Proulx in
58800         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
58801         All uses changed.
58802         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
58803         All uses changed.
58804         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
58805         to _Restrict_.
58806         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
58807         the parameter matches the prototype.
58808
58809 2007-01-28  Jim Meyering  <jim@meyering.net>
58810
58811         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
58812         sys/time.h here, reverting that part of the previous patch:
58813         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
58814
58815 2007-01-28  Bruno Haible  <bruno@clisp.org>
58816
58817         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
58818         value of $(SYS_TIME_H).
58819         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
58820         remove it conditionally, too. [added by Jim Meyering]
58821         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
58822         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
58823         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
58824         GETTIMEOFDAY_REPLACEMENT to 1.
58825
58826 2007-01-28  Bruno Haible  <bruno@clisp.org>
58827
58828         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
58829         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
58830         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
58831         Set UNISTD_H instead of UNISTD_H2.
58832         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
58833
58834 2007-01-28  Bruno Haible  <bruno@clisp.org>
58835
58836         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
58837         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
58838
58839 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58840
58841         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
58842         (func_create_testdir): Ensure C locale for `grep' and `tr'
58843         character ranges.
58844         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
58845         ACLOCAL_AMFLAGS parsing state machine.
58846
58847 2007-01-27  Bruno Haible  <bruno@clisp.org>
58848
58849         * modules/unistr/base: Update.
58850
58851 2007-01-27  Bruno Haible  <bruno@clisp.org>
58852
58853         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
58854         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
58855         * modules/unistr/u32-mbtouc-unsafe: Renamed from
58856         modules/unistr/u32-mbtouc.
58857         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
58858         * lib/unistr.h: Update.
58859         * lib/linebreak.c: Update.
58860         * modules/unistr/u32-mbtouc: Renamed from
58861         modules/unistr/u32-mbtouc-safe.
58862         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
58863         * lib/unistr.h: Update.
58864         * lib/unistr/u32-to-u8.c: Update.
58865         * lib/unistr/u32-to-u16.c: Update.
58866
58867 2007-01-27  Bruno Haible  <bruno@clisp.org>
58868
58869         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
58870         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
58871         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
58872         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
58873         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
58874         * modules/unistr/u16-mbtouc-unsafe: Renamed from
58875         modules/unistr/u16-mbtouc.
58876         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
58877         * lib/unistr.h: Update.
58878         * lib/linebreak.c: Update.
58879         * modules/linebreak: Update.
58880         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
58881         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
58882         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
58883         * modules/unistr/u16-mbtouc: Renamed from
58884         modules/unistr/u16-mbtouc-safe.
58885         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
58886         * lib/unistr.h: Update.
58887         * lib/unistr/u16-to-u8.c: Update.
58888         * modules/unistr/u16-to-u8: Update.
58889         * lib/unistr/u16-to-u32.c: Update.
58890         * modules/unistr/u16-to-u32: Update.
58891
58892 2007-01-27  Bruno Haible  <bruno@clisp.org>
58893
58894         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
58895         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
58896         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
58897         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
58898         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
58899         * modules/unistr/u8-mbtouc-unsafe: Renamed from
58900         modules/unistr/u8-mbtouc.
58901         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
58902         * lib/unistr.h: Update.
58903         * lib/striconveh.c: Update.
58904         * modules/striconveh: Update.
58905         * lib/linebreak.c: Update.
58906         * modules/linebreak: Update.
58907         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
58908         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
58909         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
58910         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
58911         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
58912         * lib/unistr.h: Update.
58913         * lib/striconveh.c: Update.
58914         * modules/striconveh: Update.
58915         * lib/unistr/u8-to-u16.c: Update.
58916         * modules/unistr/u8-to-u16: Update.
58917         * lib/unistr/u8-to-u32.c: Update.
58918         * modules/unistr/u8-to-u32: Update.
58919
58920 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58921
58922         Sync from Libtool.
58923         * lib/argz.c: Do not include strings.h nor memory.h, include
58924         string.h unconditionally.  Patch by Simon Josefsson.
58925
58926 2007-01-27  Bruno Haible  <bruno@clisp.org>
58927
58928         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
58929         from gl_HEADER_STRING_H_BODY.
58930         (gl_HEADER_STRING_H_BODY): Require it.
58931         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
58932         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
58933         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
58934         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
58935         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
58936         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
58937         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
58938         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
58939         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
58940         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
58941         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
58942         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
58943         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
58944         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
58945         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
58946
58947 2007-01-27  Bruno Haible  <bruno@clisp.org>
58948
58949         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
58950         check_PROGRAMS into noinst_PROGRAMS.
58951         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
58952         check_PROGRAMS in this case.
58953         (func_import): Set for_test to false.
58954         (func_create_testdir): Set for_test to true.
58955
58956 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
58957             Bruno Haible  <bruno@clisp.org>
58958
58959         * modules/strcasestr (Files): Remove lib/strcasestr.h.
58960         (Depends-on): Add string.
58961         (Includes): Use <string.h> instead of strcasestr.h.
58962         * modules/string (Makefile.am): Also substitute the value of
58963         REPLACE_STRCASESTR.
58964         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
58965         assume strcasestr is declared in <string.h> not <strings.h>. Also
58966         set REPLACE_STRCASESTR.
58967         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
58968         REPLACE_STRCASESTR.
58969         * lib/strcasestr.h: Remove file.
58970         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
58971         * lib/string_.h (strcasestr): New declaration.
58972
58973 2007-01-27  Bruno Haible  <bruno@clisp.org>
58974
58975         * lib/string_.h: Use 'extern'.
58976
58977 2007-01-27  Jim Meyering  <jim@meyering.net>
58978
58979         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
58980         of set-but-not-used local, "q".
58981
58982         * lib/mempcpy.c: Include <config.h> before <string.h>.
58983         This fixes a compilation error on HP-UX, due to the system's
58984         "restrict"-using mempcpy prototype.
58985
58986 2007-01-26  Bruno Haible  <bruno@clisp.org>
58987
58988         Small optimization.
58989         * lib/javacomp.c: Include c-strstr.h.
58990          (is_envjavac_gcj): Use c_strstr instead of strstr.
58991         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
58992
58993 2007-01-26  Bruno Haible  <bruno@clisp.org>
58994
58995         * MODULES.html.sh (Unicode string functions): Add the new modules.
58996
58997         * modules/uniconv/u32-strconv-to-locale: New file.
58998         * lib/uniconv/u32-strconv-to-locale.c: New file.
58999
59000         * modules/uniconv/u16-strconv-to-locale: New file.
59001         * lib/uniconv/u16-strconv-to-locale.c: New file.
59002
59003         * modules/uniconv/u8-strconv-to-locale: New file.
59004         * lib/uniconv/u8-strconv-to-locale.c: New file.
59005
59006         * modules/uniconv/u32-strconv-from-locale: New file.
59007         * lib/uniconv/u32-strconv-from-locale.c: New file.
59008
59009         * modules/uniconv/u16-strconv-from-locale: New file.
59010         * lib/uniconv/u16-strconv-from-locale.c: New file.
59011
59012         * modules/uniconv/u8-strconv-from-locale: New file.
59013         * lib/uniconv/u8-strconv-from-locale.c: New file.
59014
59015         * modules/uniconv/u32-strconv-to-enc: New file.
59016         * lib/uniconv/u32-strconv-to-enc.c: New file.
59017         * modules/uniconv/u32-strconv-to-enc-tests: New file.
59018         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
59019
59020         * modules/uniconv/u16-strconv-to-enc: New file.
59021         * lib/uniconv/u16-strconv-to-enc.c: New file.
59022         * lib/uniconv/u-strconv-to-enc.h: New file.
59023         * modules/uniconv/u16-strconv-to-enc-tests: New file.
59024         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
59025
59026         * modules/uniconv/u8-strconv-to-enc: New file.
59027         * lib/uniconv/u8-strconv-to-enc.c: New file.
59028         * modules/uniconv/u8-strconv-to-enc-tests: New file.
59029         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
59030
59031         * modules/uniconv/u32-strconv-from-enc: New file.
59032         * lib/uniconv/u32-strconv-from-enc.c: New file.
59033         * modules/uniconv/u32-strconv-from-enc-tests: New file.
59034         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
59035
59036         * modules/uniconv/u16-strconv-from-enc: New file.
59037         * lib/uniconv/u16-strconv-from-enc.c: New file.
59038         * modules/uniconv/u16-strconv-from-enc-tests: New file.
59039         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
59040
59041         * modules/uniconv/u8-strconv-from-enc: New file.
59042         * lib/uniconv/u8-strconv-from-enc.c: New file.
59043         * lib/uniconv/u-strconv-from-enc.h: New file.
59044         * modules/uniconv/u8-strconv-from-enc-tests: New file.
59045         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
59046
59047         * modules/uniconv/u32-conv-from-enc: New file.
59048         * lib/uniconv/u32-conv-from-enc.c: New file.
59049         * modules/uniconv/u32-conv-from-enc-tests: New file.
59050         * tests/uniconv/test-u32-conv-from-enc.c: New file.
59051
59052         * modules/uniconv/u16-conv-from-enc: New file.
59053         * lib/uniconv/u16-conv-from-enc.c: New file.
59054         * lib/uniconv/u-conv-from-enc.h: New file.
59055         * modules/uniconv/u16-conv-from-enc-tests: New file.
59056         * tests/uniconv/test-u16-conv-from-enc.c: New file.
59057
59058         * modules/uniconv/u8-conv-from-enc: New file.
59059         * lib/uniconv/u8-conv-from-enc.c: New file.
59060         * modules/uniconv/u8-conv-from-enc-tests: New file.
59061         * tests/uniconv/test-u8-conv-from-enc.c: New file.
59062
59063         * modules/uniconv/base: New file.
59064         * lib/uniconv.h: New file.
59065
59066 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
59067
59068         * doc/gnulib-tool.texi (Initial import): Update to match current
59069         behavior with strdup module.
59070         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
59071         * lib/memmem.h: Remove; all uses removed.  This is now done
59072         by <string.h>.
59073         * lib/mempcpy.h: Likewise.
59074         * lib/memrchr.h: Likewise.
59075         * lib/stpcpy.h: Likewise.
59076         * lib/stpncpy.h: Likewise.
59077         * lib/strcase.h: Likewise.
59078         * lib/strchrnul.h: Likewise.
59079         * lib/strdup.h: Likewise.
59080         * lib/strndup.h: Likewise.
59081         * lib/strnlen.h: Likewise.
59082         * lib/strpbrk.h: Likewise.
59083         * lib/strsep.h: Likewise.
59084         * lib/strstr.h: Likewise.
59085         * lib/strtok_r.h: Likewise.
59086         * lib/string_.h: New file.
59087         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
59088         Rely on <string.h> instead.
59089         * lib/canon-host.c: Likewise.
59090         * lib/chdir-long.c: Likewise.
59091         * lib/concatpath.c: Likewise.
59092         * lib/exclude.c: Likewise.
59093         * lib/fchdir.c: Likewise.
59094         * lib/getaddrinfo.c: Likewise.
59095         * lib/getcwd.c: Likewise.
59096         * lib/getsubopt.c: Likewise.
59097         * lib/glob.c: Likewise.
59098         * lib/hard-locale.c: Likewise.
59099         * lib/iconvme.c: Likewise.
59100         * lib/javacomp.c: Likewise.
59101         * lib/mempcpy.c: Likewise.
59102         * lib/memrchr.c: Likewise.
59103         * lib/regex_internal.h: Likewise.
59104         * lib/stpncpy.c: Likewise.
59105         * lib/strcasecmp.c: Likewise.
59106         * lib/strchrnul.c: Likewise.
59107         * lib/strdup.c: Likewise.
59108         * lib/striconv.c: Likewise.
59109         * lib/striconveh.c: Likewise.
59110         * lib/striconveha.c: Likewise.
59111         * lib/strncasecmp.c: Likewise.
59112         * lib/strndup.c: Likewise.
59113         * lib/strnlen.c: Likewise.
59114         * lib/strsep.c: Likewise.
59115         * lib/strstr.c: Likewise.
59116         * lib/strtok_r.c: Likewise.
59117         * lib/userspec.c: Likewise.
59118         * lib/w32spawn.h: Likewise.
59119         * lib/xstrndup.c: Likewise.
59120         * lib/mountlist.c (strstr): Remove decl.
59121         * m4/string_h.m4: New file.
59122         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
59123         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
59124         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
59125         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
59126         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
59127         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
59128         Set REPLACE_STRCASECMP if necessary.
59129         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
59130         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
59131         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
59132         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
59133         HAVE_DECL_STRDUP if necessary.
59134         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
59135         since gl_FUNC_STRNDUP does that now.
59136         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
59137         Check for decl here...
59138         (gl_PREREQ_STRNLEN): ... not here.
59139         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
59140         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
59141         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
59142         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
59143         necessary.
59144         * modules/string: New file.
59145         * modules/memmem (Files): Remove special-purpose include file.
59146         (Depends-on): Add string.
59147         (Include): Include <string.h>, not the removed file.
59148         * modules/mempcpy: Likewise.
59149         * modules/memrchr: Likewise.
59150         * modules/stpcpy: Likewise.
59151         * modules/stpncpy: Likewise.
59152         * modules/strcase: Likewise.
59153         * modules/strchrnul: Likewise.
59154         * modules/strdup: Likewise.
59155         * modules/strndup: Likewise.
59156         * modules/strnlen: Likewise.
59157         * modules/strpbrk: Likewise.
59158         * modules/strsep: Likewise.
59159         * modules/strstr: Likewise.
59160         * modules/strtok_r: Likewise.
59161         * tests/test-dirname.c: Don't include "strdup.h", since
59162         <string.h> now suffices.
59163         * tests/test-memmem.c: Don't include "memmem.h", since
59164         <string.h> now suffices.
59165
59166 2007-01-25  Bruno Haible  <bruno@clisp.org>
59167
59168         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
59169         *resultp is 0.
59170
59171         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
59172         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
59173         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
59174         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
59175
59176         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
59177         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
59178         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
59179         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
59180         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
59181         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
59182
59183 2007-01-24  Bruno Haible  <bruno@clisp.org>
59184
59185         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
59186         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
59187         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
59188         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
59189         gl_FUNC_FTS_CORE.
59190         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
59191         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
59192         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
59193         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
59194         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
59195         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
59196         gl_FUNC_FCHOWNAT.
59197         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
59198         gl_FUNC_STRFTIME.
59199         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
59200         Reported by Ralf Wildenhues.
59201
59202 2007-01-24  Bruno Haible  <bruno@clisp.org>
59203
59204         Drop AC_REQUIRE calls that are redundant with the module dependencies.
59205         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
59206         gl_GETADDRINFO.
59207         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
59208         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
59209         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
59210
59211 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
59212
59213         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
59214         Don't use 'exit'; just return from 'main'.
59215         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
59216
59217         * lib/fnmatch_.h: Readjust white space and comments to match
59218         glibc, to avoid spurious diffs.
59219
59220 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
59221
59222         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
59223         2004-12-01 change by Jakub Jelinek, since this code won't compile
59224         if !LIBC.  Problem reported by Bob Proulx.
59225
59226 2007-01-23  Bruno Haible  <bruno@clisp.org>
59227
59228         * lib/striconveh.c: Include c-strcaseeq.h.
59229         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
59230         * modules/striconveh (Depends-on): Add c-strcaseeq.
59231
59232 2007-01-23  Bruno Haible  <bruno@clisp.org>
59233
59234         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
59235
59236         * modules/c-strcaseeq: New file.
59237         * lib/c-strcaseeq.h: New file.
59238
59239         * modules/streq: New file.
59240         * lib/streq.h: New file.
59241
59242 2007-01-23  Bruno Haible  <bruno@clisp.org>
59243
59244         * modules/striconveha-tests: New file.
59245         * tests/test-striconveha.c: New file.
59246
59247         * lib/striconveha.h: Include <stdbool.h>.
59248         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
59249         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
59250         (mem_iconveha_notranslit): Renamed from mem_iconveha.
59251         (mem_iconveha): New function.
59252         (str_iconveha_notranslit): Renamed from str_iconveha.
59253         (str_iconveha): New function.
59254         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
59255         c-strcase.
59256
59257 2007-01-23  Bruno Haible  <bruno@clisp.org>
59258
59259         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
59260         encodings without forgiving before trying any encoding with handler.
59261         (str_iconveha): Try all encodings without forgiving before trying any
59262         encoding with handler.
59263
59264 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
59265
59266         Import the following changes from libc.
59267
59268         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
59269
59270         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
59271
59272         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
59273
59274         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
59275         normal_bracket label.
59276
59277         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
59278
59279         [BZ #361]
59280         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
59281         to normal_bracket after fetching the next character.
59282
59283 2007-01-22  Bruno Haible  <bruno@clisp.org>
59284
59285         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
59286         argument.
59287         * lib/striconveh.c (iconv_carefully_1): New function.
59288         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
59289         argument.
59290         (str_cd_iconveh): Update.
59291         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
59292         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
59293         * tests/test-striconveh.c (MAGIC): New macro.
59294         (new_offsets): New function.
59295         (main): Test call with and without offsets.
59296
59297 2007-01-22  Bruno Haible  <bruno@clisp.org>
59298
59299         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
59300         * modules/sys_select (Makefile.am): Likewise.
59301         * modules/sys_socket (Makefile.am): Likewise.
59302         * modules/sys_time (Makefile.am): Likewise.
59303
59304 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
59305
59306         * modules/gettimeofday (License): Change from GPL to LGPL, since
59307         gettimeofday is a library function.
59308
59309 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59310
59311         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
59312
59313 2007-01-21  Bruno Haible  <bruno@clisp.org>
59314
59315         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
59316
59317 2007-01-21  Bruno Haible  <bruno@clisp.org>
59318
59319         * modules/striconveha: New file.
59320         * lib/striconveha.h: New file.
59321         * lib/striconveha.c: New file.
59322         * MODULES.html.sh (Internationalization functions): Add striconveha.
59323         * lib/striconv.c (str_iconv): Optimize the case of an empty input
59324         string.
59325         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
59326
59327 2007-01-21  Bruno Haible  <bruno@clisp.org>
59328
59329         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
59330         * lib/striconveh.c (str_iconveh): Likewise.
59331
59332 2007-01-21  Bruno Haible  <bruno@clisp.org>
59333
59334         * lib/striconveh.h (mem_iconveh): New declaration.
59335         * lib/striconveh.c (mem_iconveh): New function.
59336         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
59337
59338 2007-01-21  Bruno Haible  <bruno@clisp.org>
59339
59340         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
59341
59342         * lib/striconveh.h (mem_cd_iconveh): Change specification.
59343         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
59344         original result buffer.
59345         (str_cd_iconveh): Update.
59346         * tests/test-striconveh.c (main): Update.
59347
59348         * lib/striconv.h (mem_cd_iconv): Change specification.
59349         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
59350         result buffer.
59351         (str_cd_iconv): Update.
59352         * tests/test-striconv.c (main): Update.
59353
59354 2007-01-21  Bruno Haible  <bruno@clisp.org>
59355
59356         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
59357
59358 2007-01-20  Jim Meyering  <jim@meyering.net>
59359
59360         * lib/userspec.c (parse_with_separator): If a user or group string
59361         starts with "+", skip the corresponding name-to-ID look-up, since
59362         such a look-up must fail: user and group names may not include "+".
59363
59364 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
59365
59366         * lib/poll.c: Include sys/time.h and time.h unconditionally,
59367         since we now assume the sys_time module.
59368         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
59369         check for sys/time.h; no longer needed.
59370         * modules/poll (Depends-on): Depend on sys_time.
59371
59372 2007-01-18  Bruno Haible  <bruno@clisp.org>
59373
59374         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
59375         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
59376
59377         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
59378         gettimeofday.
59379
59380         * tests/test-gettimeofday.c: Include <time.h>.
59381         (dummy): Remove variable.
59382
59383         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
59384         gl_HEADER_SYS_TIME_H.
59385         (gl_HEADER_SYS_TIME_H): New macro.
59386
59387         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
59388         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
59389         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
59390         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
59391         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
59392         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
59393         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
59394         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
59395         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
59396         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
59397         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
59398
59399         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
59400         last change; it caused a compilation error when cross-compiling to
59401         Cygwin.
59402
59403 2007-01-18  Jim Meyering  <jim@meyering.net>
59404
59405         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
59406         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
59407         than the race-prone "test -d sys || mkdir sys".
59408         (configure.ac): Use AC_PROG_MKDIR_P.
59409         * modules/sys_select: Likewise.
59410         * modules/sys_socket: Likewise.
59411         * modules/sys_time: Likewise.
59412
59413 2007-01-18  Eric Blake  <ebb9@byu.net>
59414
59415         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
59416         replace gettimeofday.
59417         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
59418         name, to avoid infinite recursion.
59419
59420 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
59421
59422         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
59423         module sys_time.
59424         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
59425         assume timespec.h defines struct timeval.
59426         * lib/settime.c: Likewise.
59427         * lib/utimens.c: Likewise.
59428         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
59429         since we now assume the gettimeofday module.
59430         * lib/tempname.c (__gen_tempname): Likewise.
59431         * lib/gettimeofday.h: Remove.
59432         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
59433         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
59434         Include <time.h>, for 'time()'.
59435         (localtime_buffer_addr): Also use this workaround if
59436         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
59437         to simplify the uses.  All uses changed.
59438         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
59439         that #undef is inside {}, and 'const' follows type name consistently.
59440         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
59441         (gettimeofday): Do not use the maximum possible value for
59442         tv->tv_usec, since that might break usages other than ls.c.
59443         Instead, we'll leave ls.c alone.  This undoes today's patch
59444         by Bruno.  Add a compile-time warning for 1s-clock resolution;
59445         we've never observed the problem but might as well keep the
59446         canary.
59447         * lib/nanosleep.c: Include timespec.h first, for interface check.
59448         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
59449         now assume the sys_time module.
59450         * lib/tempname.c: Likewise.
59451         * lib/timespec.h: Likewise.
59452         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
59453         needed.
59454         * lib/strftime.c: Likewise.
59455         * lib/timespec.h: Likewise.
59456         * lib/posixtm.c: Include posixtm.h first, for interface check.
59457         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
59458         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
59459         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
59460         * lib/sys_time_.h: New file.
59461         * lib/timespec.h (struct timespec): Use long int, not long.
59462         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
59463         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
59464         Remove obsolescent call to AC_HEADER_TIME.
59465         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
59466         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
59467         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
59468         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
59469         Likewise.
59470         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
59471         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
59472         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
59473         into the sys_time module.  Check for gettimeofday just once.
59474         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
59475         for gettimeofday signature to just check the signature.  Merely
59476         compile it, since linking doesn't test signature.  Improve test for
59477         whether gettimeofday.o is actually needed.
59478         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
59479         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
59480         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
59481         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
59482         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
59483         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
59484         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
59485         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
59486         than worrying about sys/time.h.
59487         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
59488         Don't bother worrying about TIME_WITH_SYS_TIME.
59489         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
59490         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
59491         * m4/sys_time_h.m4: New file.
59492         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
59493         Don't include sys/time.h.  Return from main rather than exiting.
59494         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
59495         all uses changed.
59496         * modules/gethrxtime (Depends-on): Add sys_time.
59497         * modules/gettime (Depends-on): Likewise.
59498         * modules/gettimeofday (Depends-on): Likewise.
59499         * modules/nanosleep (Depends-on): Likewise.
59500         * modules/settime (Depends-on): Likewise.
59501         * modules/tempname (Depends-on): Likewise.
59502         * modules/utimens (Depends-on): Likewise.
59503         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
59504         (Include): Change back to <sys/time.h>.
59505         (Maintainer): Add self.
59506         * modules/sys_time: New file.
59507         * modules/tempname (Depends-on): Add gettimeofday.
59508         * tests/test-gettimeofday.c: Include <sys/time.h>
59509         rather than gettimeofday.h.
59510
59511 2007-01-17  Bruno Haible  <bruno@clisp.org>
59512
59513         * gnulib-tool (func_get_license): Revert last patch. Instead, let
59514         the license default to GPL.
59515         (func_create_testdir): Don't complain if a module is LGPL and its
59516         tests module depends on GPLed modules.
59517
59518 2007-01-17  Bruno Haible  <bruno@clisp.org>
59519
59520         * lib/gettimeofday.c (gettimeofday): Add code for the case
59521         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
59522         maximum possible value for tv->tv_usec, rather than the minimum one.
59523
59524 2005-10-08  Martin Lambers  <marlam@marlam.de>
59525 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
59526 2007-01-16  Bruno Haible  <bruno@clisp.org>
59527
59528         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
59529         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
59530         gl_FUNC_GETTIMEOFDAY.
59531         (Include): Add gettimeofday.h.
59532         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
59533         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
59534         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
59535         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
59536         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
59537         * lib/gettimeofday.h: New file.
59538         * lib/gettimeofday.c: Include <sys/timeb.h>.
59539         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
59540         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
59541         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
59542         fall back on time().
59543
59544         * tests/test-gettimeofday.c: New file.
59545         * modules/gettimeofday-tests: New file.
59546
59547 2007-01-16  Eric Blake  <ebb9@byu.net>
59548
59549         * modules/fnmatch (Depends-on): Depend on wchar.
59550         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
59551         * m4/fnmatch.m4: Likewise.
59552         * modules/mbchar (Makefile.am): Assume <wchar.h>.
59553         * m4/mbchar.m4: Likewise.
59554         * modules/mbswidth (Depends-on): Depend on wchar.
59555         * lib/mbswidth.c: Assume <wchar.h>.
59556         * m4/mbswidth.m4: Likewise.
59557         * modules/quotearg (Depends-on): Depend on wchar.
59558         * lib/quotearg.c: Assume <wchar.h>.
59559         * m4/quotearg.m4: Likewise.
59560         * modules/regex (Depends-on): Depend on wchar.
59561         * lib/regex_internal.h: Assume <wchar.h>.
59562         * m4/regex.m4: Likewise.
59563         * modules/stdint (Depends-on): Depend on wchar.
59564         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
59565         * m4/stdint.m4: Likewise.
59566         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
59567         * modules/strftime (Depends-on): Depend on wchar.
59568         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
59569         * modules/strtol (Depends-on): Depend on wchar.
59570         * lib/strtol.c: Assume <wchar.h>.
59571         * modules/wcwidth (Depends-on): Depend on wchar.
59572         * lib/wcwidth.h: Assume <wchar.h>.
59573         * m4/wcwidth.m4: Likewise.
59574
59575 2007-01-16  Bruno Haible  <bruno@clisp.org>
59576
59577         * modules/csharpexec-script: New, created from...
59578         * modules/csharpexec: ... this.
59579
59580 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
59581
59582         * modules/javaexec-script: New, created from...
59583         * modules/javaexec: ... this.
59584
59585 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59586
59587         * modules/poll (Dependencies): Add sys_select.
59588
59589 2007-01-15  Jim Meyering  <jim@meyering.net>
59590
59591         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
59592         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
59593         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
59594         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
59595
59596 2007-01-15  Bruno Haible  <bruno@clisp.org>
59597
59598         * modules/striconveh: New file.
59599         * lib/striconveh.h: New file.
59600         * lib/striconveh.c: New file.
59601         * MODULES.html.sh (Internationalization functions): Add striconveh.
59602
59603         * modules/striconveh-tests: New file.
59604         * tests/test-striconveh.c: New file.
59605
59606 2007-01-15  Bruno Haible  <bruno@clisp.org>
59607
59608         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
59609         not from GNU libiconv or GNU libc.
59610
59611 2007-01-15  Bruno Haible  <bruno@clisp.org>
59612
59613         * doc/gnulib-intro.texi (Copyright): Explain the different license
59614         terms for module descriptions, autoconf macros, tests, documentation.
59615
59616 2007-01-14  Bruno Haible  <bruno@clisp.org>
59617
59618         * modules/striconv-tests: New file.
59619         * tests/test-striconv.c: New file.
59620
59621 2007-01-14  Bruno Haible  <bruno@clisp.org>
59622
59623         * modules/iconv-tests: New file.
59624         * tests/test-iconv.c: New file.
59625
59626 2007-01-14  Bruno Haible  <bruno@clisp.org>
59627
59628         * gnulib-tool (func_get_license): For test modules, use the license of
59629         the main module.
59630
59631 2007-01-14  Bruno Haible  <bruno@clisp.org>
59632
59633         * modules/iconv (Include): Clarify that <iconv.h> can only be included
59634         if iconv is found to exist.
59635
59636 2007-01-14  Bruno Haible  <bruno@clisp.org>
59637
59638         * modules/c-ctype-tests: New file.
59639         * tests/test-c-ctype.c: New file.
59640
59641 2007-01-14  Bruno Haible  <bruno@clisp.org>
59642
59643         * modules/binary-io-tests: New file.
59644         * tests/test-binary-io.sh: New file.
59645         * tests/test-binary-io.c: New file.
59646
59647 2007-01-14  Bruno Haible  <bruno@clisp.org>
59648
59649         * modules/array-oset-tests: New file.
59650         * tests/test-array_oset.c: New file.
59651
59652 2007-01-14  Bruno Haible  <bruno@clisp.org>
59653
59654         * modules/array-list-tests: New file.
59655         * tests/test-array_list.c: New file.
59656
59657 2007-01-14  Bruno Haible  <bruno@clisp.org>
59658
59659         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
59660         and make.
59661         Reported by Simon Josefsson in
59662         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
59663
59664 2007-01-14  Bruno Haible  <bruno@clisp.org>
59665
59666         * modules/allocsa-tests: New file.
59667         * tests/test-allocsa.c: New file.
59668
59669 2007-01-14  Bruno Haible  <bruno@clisp.org>
59670
59671         * modules/fchdir (Depends-on): Add absolute-header.
59672         * modules/unistd (Depends-on): Likewise.
59673
59674 2006-12-30  Bruno Haible  <bruno@clisp.org>
59675
59676         * modules/fchdir: New file.
59677         * modules/unistd (Files): Add lib/unistd_.h.
59678         (Makefile.am): Generate unistd.h from unistd_.h.
59679         * lib/fchdir.c: New file.
59680         * lib/dirent_.h: New file.
59681         * lib/unistd_.h: New file.
59682         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
59683         * m4/fchdir.m4: New file.
59684         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
59685         (gl_HEADER_UNISTD): Invoke it.
59686         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
59687         function.
59688         * lib/backupfile.c (opendir, closedir): Undefine.
59689         * lib/chown.c (open, close): Undefine.
59690         * lib/clean-temp.c (open, close): Undefine.
59691         * lib/copy-file.c (open, close): Undefine.
59692         * lib/execute.c (open, close): Undefine.
59693         * lib/fsusage.c (open, close): Undefine.
59694         * lib/gc-gnulib.c (open, close): Undefine.
59695         * lib/getcwd.c (opendir, closedir): Undefine.
59696         * lib/glob.c (opendir, closedir): Undefine.
59697         * lib/javacomp.c (open, close): Undefine.
59698         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
59699         * lib/openat-proc.c (open, close): Undefine.
59700         * lib/pagealign_alloc.c (open, close): Undefine.
59701         * lib/pipe.c (open, close): Undefine.
59702         * lib/progreloc.c (open, close): Undefine.
59703         * lib/savedir.c (opendir, closedir): Undefine.
59704         * lib/utime.c (open, close): Undefine.
59705         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
59706
59707 2007-01-10  Bruno Haible  <bruno@clisp.org>
59708
59709         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
59710
59711 2007-01-12  Eric Blake  <ebb9@byu.net>
59712
59713         Provide a robust <wchar.h>.  Further simplifications are now
59714         possible in other modules, but not included here.
59715         * modules/wchar: New module.
59716         * m4/wchar.m4: New file.
59717         * lib/wchar_.h: Likewise.
59718         * modules/mbchar (Depends-on): Depend on wchar, as the first use
59719         of the new module.
59720         * MODULES.html.sh (Extended multibyte and wide character utilities):
59721         New section.
59722
59723 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
59724
59725         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
59726         to a reasonable default for memory allocation.
59727         (xreadlink): Don't allocate a huge buffer, to work around a buggy
59728         file system that reports garbage st_size values for symlinks.
59729         Problem reported by Liyang Hu.
59730
59731 2007-01-11  Simon Josefsson  <simon@josefsson.org>
59732
59733         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
59734         Emacs .#* auto-save files).
59735
59736 2007-01-11  Bruno Haible  <bruno@clisp.org>
59737
59738         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
59739         directory.
59740
59741 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
59742
59743         Use @...@ consistently in lib/wctype_.h.
59744         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
59745         on it being set to 1 or 0.
59746         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
59747         go back to AC_SUBSTing it.
59748         * modules/wctype (Makefile.am): Undo previous change.
59749
59750 2007-01-10  Eric Blake  <ebb9@byu.net>
59751
59752         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
59753         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
59754         * modules/wctype (Makefile.am): Likewise.
59755         Reported by Chris McGuire.
59756
59757 2007-01-10  Jim Meyering  <jim@meyering.net>
59758
59759         fts.c: a small readability/maintainability improvement
59760         * lib/fts.c (fts_read): Make this code slightly more readable and
59761         maintainable by hoisting the "sp->fts_cur = p" assignments to
59762         immediately follow the statements that set P.  Derived from
59763         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
59764
59765 2007-01-10  Eric Blake  <ebb9@byu.net>
59766
59767         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
59768         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
59769         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
59770         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
59771         Reported by Chris McGuire.
59772
59773 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59774
59775         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
59776         in sed script.
59777
59778 2007-01-09  Bruno Haible  <bruno@clisp.org>
59779
59780         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
59781         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
59782         variables.
59783         (func_module): Use them.
59784
59785 2007-01-09  Bruno Haible  <bruno@clisp.org>
59786
59787         * modules/unistr/base: New file.
59788         * lib/unistr.h: New file.
59789
59790         * modules/unistr/u8-to-u16: New file.
59791         * lib/unistr/u8-to-u16.c: New file.
59792
59793         * modules/unistr/u8-to-u32: New file.
59794         * lib/unistr/u8-to-u32.c: New file.
59795
59796         * modules/unistr/u16-to-u8: New file.
59797         * lib/unistr/u16-to-u8.c: New file.
59798
59799         * modules/unistr/u16-to-u32: New file.
59800         * lib/unistr/u16-to-u32.c: New file.
59801
59802         * modules/unistr/u32-to-u8: New file.
59803         * lib/unistr/u32-to-u8.c: New file.
59804
59805         * modules/unistr/u32-to-u16: New file.
59806         * lib/unistr/u32-to-u16.c: New file.
59807
59808         * modules/unistr/u8-check: New file.
59809         * modules/unistr/u16-check: New file.
59810         * modules/unistr/u32-check: New file.
59811         * lib/unistr/u8-check.c: New file.
59812         * lib/unistr/u16-check.c: New file.
59813         * lib/unistr/u32-check.c: New file.
59814
59815         * modules/unistr/u8-chr: New file.
59816         * modules/unistr/u16-chr: New file.
59817         * modules/unistr/u32-chr: New file.
59818         * lib/unistr/u8-chr.c: New file.
59819         * lib/unistr/u16-chr.c: New file.
59820         * lib/unistr/u32-chr.c: New file.
59821
59822         * modules/unistr/u8-cmp: New file.
59823         * modules/unistr/u16-cmp: New file.
59824         * modules/unistr/u32-cmp: New file.
59825         * lib/unistr/u8-cmp.c: New file.
59826         * lib/unistr/u16-cmp.c: New file.
59827         * lib/unistr/u32-cmp.c: New file.
59828
59829         * modules/unistr/u8-cpy: New file.
59830         * modules/unistr/u16-cpy: New file.
59831         * modules/unistr/u32-cpy: New file.
59832         * lib/unistr/u8-cpy.c: New file.
59833         * lib/unistr/u16-cpy.c: New file.
59834         * lib/unistr/u32-cpy.c: New file.
59835         * lib/unistr/u-cpy.h: New file.
59836
59837         * modules/unistr/u8-cpy-alloc: New file.
59838         * modules/unistr/u16-cpy-alloc: New file.
59839         * modules/unistr/u32-cpy-alloc: New file.
59840         * lib/unistr/u8-cpy-alloc.c: New file.
59841         * lib/unistr/u16-cpy-alloc.c: New file.
59842         * lib/unistr/u32-cpy-alloc.c: New file.
59843         * lib/unistr/u-cpy-alloc.h: New file.
59844
59845         * modules/unistr/u8-endswith: New file.
59846         * modules/unistr/u16-endswith: New file.
59847         * modules/unistr/u32-endswith: New file.
59848         * lib/unistr/u8-endswith.c: New file.
59849         * lib/unistr/u16-endswith.c: New file.
59850         * lib/unistr/u32-endswith.c: New file.
59851         * lib/unistr/u-endswith.h: New file.
59852
59853         * modules/unistr/u8-mblen: New file.
59854         * modules/unistr/u16-mblen: New file.
59855         * modules/unistr/u32-mblen: New file.
59856         * lib/unistr/u8-mblen.c: New file.
59857         * lib/unistr/u16-mblen.c: New file.
59858         * lib/unistr/u32-mblen.c: New file.
59859
59860         * modules/unistr/u8-mbtouc: New file.
59861         * modules/unistr/u16-mbtouc: New file.
59862         * modules/unistr/u32-mbtouc: New file.
59863         * lib/unistr/u8-mbtouc.c: New file.
59864         * lib/unistr/u16-mbtouc.c: New file.
59865         * lib/unistr/u32-mbtouc.c: New file.
59866
59867         * modules/unistr/u8-mbtouc-safe: New file.
59868         * modules/unistr/u16-mbtouc-safe: New file.
59869         * modules/unistr/u32-mbtouc-safe: New file.
59870         * lib/unistr/u8-mbtouc-safe.c: New file.
59871         * lib/unistr/u16-mbtouc-safe.c: New file.
59872         * lib/unistr/u32-mbtouc-safe.c: New file.
59873
59874         * modules/unistr/u8-move: New file.
59875         * modules/unistr/u16-move: New file.
59876         * modules/unistr/u32-move: New file.
59877         * lib/unistr/u8-move.c: New file.
59878         * lib/unistr/u16-move.c: New file.
59879         * lib/unistr/u32-move.c: New file.
59880         * lib/unistr/u-move.h: New file.
59881
59882         * modules/unistr/u8-next: New file.
59883         * modules/unistr/u16-next: New file.
59884         * modules/unistr/u32-next: New file.
59885         * lib/unistr/u8-next.c: New file.
59886         * lib/unistr/u16-next.c: New file.
59887         * lib/unistr/u32-next.c: New file.
59888
59889         * modules/unistr/u8-prev: New file.
59890         * modules/unistr/u16-prev: New file.
59891         * modules/unistr/u32-prev: New file.
59892         * lib/unistr/u8-prev.c: New file.
59893         * lib/unistr/u16-prev.c: New file.
59894         * lib/unistr/u32-prev.c: New file.
59895
59896         * modules/unistr/u8-set: New file.
59897         * modules/unistr/u16-set: New file.
59898         * modules/unistr/u32-set: New file.
59899         * lib/unistr/u8-set.c: New file.
59900         * lib/unistr/u16-set.c: New file.
59901         * lib/unistr/u32-set.c: New file.
59902         * lib/unistr/u-set.h: New file.
59903
59904         * modules/unistr/u8-startswith: New file.
59905         * modules/unistr/u16-startswith: New file.
59906         * modules/unistr/u32-startswith: New file.
59907         * lib/unistr/u8-startswith.c: New file.
59908         * lib/unistr/u16-startswith.c: New file.
59909         * lib/unistr/u32-startswith.c: New file.
59910         * lib/unistr/u-startswith.h: New file.
59911
59912         * modules/unistr/u8-stpcpy: New file.
59913         * modules/unistr/u16-stpcpy: New file.
59914         * modules/unistr/u32-stpcpy: New file.
59915         * lib/unistr/u8-stpcpy.c: New file.
59916         * lib/unistr/u16-stpcpy.c: New file.
59917         * lib/unistr/u32-stpcpy.c: New file.
59918         * lib/unistr/u-stpcpy.h: New file.
59919
59920         * modules/unistr/u8-stpncpy: New file.
59921         * modules/unistr/u16-stpncpy: New file.
59922         * modules/unistr/u32-stpncpy: New file.
59923         * lib/unistr/u8-stpncpy.c: New file.
59924         * lib/unistr/u16-stpncpy.c: New file.
59925         * lib/unistr/u32-stpncpy.c: New file.
59926         * lib/unistr/u-stpncpy.h: New file.
59927
59928         * modules/unistr/u8-strcat: New file.
59929         * modules/unistr/u16-strcat: New file.
59930         * modules/unistr/u32-strcat: New file.
59931         * lib/unistr/u8-strcat.c: New file.
59932         * lib/unistr/u16-strcat.c: New file.
59933         * lib/unistr/u32-strcat.c: New file.
59934         * lib/unistr/u-strcat.h: New file.
59935
59936         * modules/unistr/u8-strchr: New file.
59937         * modules/unistr/u16-strchr: New file.
59938         * modules/unistr/u32-strchr: New file.
59939         * lib/unistr/u8-strchr.c: New file.
59940         * lib/unistr/u16-strchr.c: New file.
59941         * lib/unistr/u32-strchr.c: New file.
59942
59943         * modules/unistr/u8-strcmp: New file.
59944         * modules/unistr/u16-strcmp: New file.
59945         * modules/unistr/u32-strcmp: New file.
59946         * lib/unistr/u8-strcmp.c: New file.
59947         * lib/unistr/u16-strcmp.c: New file.
59948         * lib/unistr/u32-strcmp.c: New file.
59949
59950         * modules/unistr/u8-strcpy: New file.
59951         * modules/unistr/u16-strcpy: New file.
59952         * modules/unistr/u32-strcpy: New file.
59953         * lib/unistr/u8-strcpy.c: New file.
59954         * lib/unistr/u16-strcpy.c: New file.
59955         * lib/unistr/u32-strcpy.c: New file.
59956         * lib/unistr/u-strcpy.h: New file.
59957
59958         * modules/unistr/u8-strcspn: New file.
59959         * modules/unistr/u16-strcspn: New file.
59960         * modules/unistr/u32-strcspn: New file.
59961         * lib/unistr/u8-strcspn.c: New file.
59962         * lib/unistr/u16-strcspn.c: New file.
59963         * lib/unistr/u32-strcspn.c: New file.
59964         * lib/unistr/u-strcspn.h: New file.
59965
59966         * modules/unistr/u8-strdup: New file.
59967         * modules/unistr/u16-strdup: New file.
59968         * modules/unistr/u32-strdup: New file.
59969         * lib/unistr/u8-strdup.c: New file.
59970         * lib/unistr/u16-strdup.c: New file.
59971         * lib/unistr/u32-strdup.c: New file.
59972         * lib/unistr/u-strdup.h: New file.
59973
59974         * modules/unistr/u8-strlen: New file.
59975         * modules/unistr/u16-strlen: New file.
59976         * modules/unistr/u32-strlen: New file.
59977         * lib/unistr/u8-strlen.c: New file.
59978         * lib/unistr/u16-strlen.c: New file.
59979         * lib/unistr/u32-strlen.c: New file.
59980         * lib/unistr/u-strlen.h: New file.
59981
59982         * modules/unistr/u8-strmblen: New file.
59983         * modules/unistr/u16-strmblen: New file.
59984         * modules/unistr/u32-strmblen: New file.
59985         * lib/unistr/u8-strmblen.c: New file.
59986         * lib/unistr/u16-strmblen.c: New file.
59987         * lib/unistr/u32-strmblen.c: New file.
59988
59989         * modules/unistr/u8-strmbtouc: New file.
59990         * modules/unistr/u16-strmbtouc: New file.
59991         * modules/unistr/u32-strmbtouc: New file.
59992         * lib/unistr/u8-strmbtouc.c: New file.
59993         * lib/unistr/u16-strmbtouc.c: New file.
59994         * lib/unistr/u32-strmbtouc.c: New file.
59995
59996         * modules/unistr/u8-strncat: New file.
59997         * modules/unistr/u16-strncat: New file.
59998         * modules/unistr/u32-strncat: New file.
59999         * lib/unistr/u8-strncat.c: New file.
60000         * lib/unistr/u16-strncat.c: New file.
60001         * lib/unistr/u32-strncat.c: New file.
60002         * lib/unistr/u-strncat.h: New file.
60003
60004         * modules/unistr/u8-strncmp: New file.
60005         * modules/unistr/u16-strncmp: New file.
60006         * modules/unistr/u32-strncmp: New file.
60007         * lib/unistr/u8-strncmp.c: New file.
60008         * lib/unistr/u16-strncmp.c: New file.
60009         * lib/unistr/u32-strncmp.c: New file.
60010
60011         * modules/unistr/u8-strncpy: New file.
60012         * modules/unistr/u16-strncpy: New file.
60013         * modules/unistr/u32-strncpy: New file.
60014         * lib/unistr/u8-strncpy.c: New file.
60015         * lib/unistr/u16-strncpy.c: New file.
60016         * lib/unistr/u32-strncpy.c: New file.
60017         * lib/unistr/u-strncpy.h: New file.
60018
60019         * modules/unistr/u8-strnlen: New file.
60020         * modules/unistr/u16-strnlen: New file.
60021         * modules/unistr/u32-strnlen: New file.
60022         * lib/unistr/u8-strnlen.c: New file.
60023         * lib/unistr/u16-strnlen.c: New file.
60024         * lib/unistr/u32-strnlen.c: New file.
60025         * lib/unistr/u-strnlen.h: New file.
60026
60027         * modules/unistr/u8-strpbrk: New file.
60028         * modules/unistr/u16-strpbrk: New file.
60029         * modules/unistr/u32-strpbrk: New file.
60030         * lib/unistr/u8-strpbrk.c: New file.
60031         * lib/unistr/u16-strpbrk.c: New file.
60032         * lib/unistr/u32-strpbrk.c: New file.
60033         * lib/unistr/u-strpbrk.h: New file.
60034
60035         * modules/unistr/u8-strrchr: New file.
60036         * modules/unistr/u16-strrchr: New file.
60037         * modules/unistr/u32-strrchr: New file.
60038         * lib/unistr/u8-strrchr.c: New file.
60039         * lib/unistr/u16-strrchr.c: New file.
60040         * lib/unistr/u32-strrchr.c: New file.
60041
60042         * modules/unistr/u8-strspn: New file.
60043         * modules/unistr/u16-strspn: New file.
60044         * modules/unistr/u32-strspn: New file.
60045         * lib/unistr/u8-strspn.c: New file.
60046         * lib/unistr/u16-strspn.c: New file.
60047         * lib/unistr/u32-strspn.c: New file.
60048         * lib/unistr/u-strspn.h: New file.
60049
60050         * modules/unistr/u8-strstr: New file.
60051         * modules/unistr/u16-strstr: New file.
60052         * modules/unistr/u32-strstr: New file.
60053         * lib/unistr/u8-strstr.c: New file.
60054         * lib/unistr/u16-strstr.c: New file.
60055         * lib/unistr/u32-strstr.c: New file.
60056         * lib/unistr/u-strstr.h: New file.
60057
60058         * modules/unistr/u8-strtok: New file.
60059         * modules/unistr/u16-strtok: New file.
60060         * modules/unistr/u32-strtok: New file.
60061         * lib/unistr/u8-strtok.c: New file.
60062         * lib/unistr/u16-strtok.c: New file.
60063         * lib/unistr/u32-strtok.c: New file.
60064         * lib/unistr/u-strtok.h: New file.
60065
60066         * modules/unistr/u8-uctomb: New file.
60067         * modules/unistr/u16-uctomb: New file.
60068         * modules/unistr/u32-uctomb: New file.
60069         * lib/unistr/u8-uctomb.c: New file.
60070         * lib/unistr/u16-uctomb.c: New file.
60071         * lib/unistr/u32-uctomb.c: New file.
60072
60073         * MODULES.html.sh (Unicode string functions): Add the new modules.
60074
60075 2007-01-08  Bruno Haible  <bruno@clisp.org>
60076
60077         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
60078         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
60079         subdirectories.
60080
60081 2007-01-08  Karl Berry  <karl@gnu.org>
60082
60083         * doc/error.texi: mention that main() fns must set program_name
60084         when progname is used.
60085
60086 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
60087
60088         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
60089         WCTYPE_H is empty, for the benefit of builds from non-distclean
60090         directories.  Problem reported by Eric Blake in
60091         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
60092
60093 2007-01-08  Bruno Haible  <bruno@clisp.org>
60094
60095         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
60096         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
60097         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
60098         PROVIDE_CANONICALIZE_FILENAME_MODE.
60099         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
60100
60101 2007-01-08  Bruno Haible  <bruno@clisp.org>
60102
60103         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
60104         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
60105         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
60106         * lib/fts.c: Likewise.
60107         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
60108
60109 2006-12-25  Bruno Haible  <bruno@clisp.org>
60110
60111         * modules/utf8-ucs4-safe: New file.
60112         * lib/utf8-ucs4-safe.h: New file.
60113         * lib/unistr/utf8-ucs4-safe.c: New file.
60114
60115         * modules/utf16-ucs4-safe: New file.
60116         * lib/utf16-ucs4-safe.h: New file.
60117         * lib/unistr/utf16-ucs4-safe.c: New file.
60118
60119         * MODULES.html.sh (Unicode string functions): Add the new modules.
60120
60121 2007-01-08  Bruno Haible  <bruno@clisp.org>
60122
60123         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
60124         (Depends-on): Add unitypes.
60125         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
60126         (u8_mbtouc_aux): Move out to separate file.
60127         (u8_mbtouc): Use ucs4_t, uint8_t types.
60128         * lib/unistr/utf8-ucs4.c: New file.
60129
60130         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
60131         (Depends-on): Add unitypes.
60132         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
60133         (u16_mbtouc_aux): Move out to separate file.
60134         (u16_mbtouc): Use ucs4_t, uint16_t types.
60135         * lib/unistr/utf16-ucs4.c: New file.
60136
60137         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
60138         (Depends-on): Add unitypes.
60139         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
60140         (u8_uctomb_aux): Move out to separate file.
60141         (u8_uctomb): Use ucs4_t, uint8_t types.
60142         * lib/unistr/ucs4-utf8.c: New file.
60143
60144         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
60145         (Depends-on): Add unitypes.
60146         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
60147         (u16_uctomb_aux): Move out to separate file.
60148         (u16_uctomb): Use ucs4_t, uint16_t types.
60149         * lib/unistr/ucs4-utf16.c: New file.
60150
60151 2006-12-25  Bruno Haible  <bruno@clisp.org>
60152
60153         * modules/unitypes: New file.
60154         * lib/unitypes.h: New file.
60155         * MODULES.html.sh (func_all_modules): New section "Unicode string
60156         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
60157         this section. Add unitypes.
60158
60159 2007-01-08  Bruno Haible  <bruno@clisp.org>
60160
60161         Avoid variable names that conflict with those from libtool.
60162         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
60163         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
60164         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
60165         library_names_spec to acl_library_names_spec, hardcode_* to
60166         acl_hardcode_*.
60167         Reported by Ralf Wildenhues.
60168
60169 2007-01-08  Bruno Haible  <bruno@clisp.org>
60170
60171         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
60172         definition.
60173         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
60174         definition.
60175         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
60176         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
60177         definition.
60178         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
60179         definition.
60180         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
60181         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
60182         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
60183         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
60184         definition.
60185         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
60186         definition.
60187         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
60188         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
60189         GC_USE_<algorithm>.
60190         * lib/gc-libgcrypt.c: Likewise.
60191         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
60192         * modules/gc-arctwo (configure.ac): Likewise.
60193         * modules/gc-des (configure.ac): Likewise.
60194         * modules/gc-hmac-md5 (configure.ac): Likewise.
60195         * modules/gc-hmac-sha1 (configure.ac): Likewise.
60196         * modules/gc-md2 (configure.ac): Likewise.
60197         * modules/gc-md4 (configure.ac): Likewise.
60198         * modules/gc-md5 (configure.ac): Likewise.
60199         * modules/gc-random (configure.ac): Likewise.
60200         * modules/gc-rijndael (configure.ac): Likewise.
60201         * modules/gc-sha1 (configure.ac): Likewise.
60202
60203 2007-01-08  Bruno Haible  <bruno@clisp.org>
60204
60205         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
60206         macro definition.
60207         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
60208         definition.
60209         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
60210         definition.
60211         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
60212         * modules/fcntl-safer (configure.ac): Likewise.
60213         * modules/fopen-safer (configure.ac): Likewise.
60214         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
60215         GNULIB_FWRITEERROR macro definition.
60216
60217 2007-01-08  Bruno Haible  <bruno@clisp.org>
60218
60219         * m4/gnulib-common.m4: New file.
60220         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
60221         (func_get_filelist): Add m4/gnulib-common.m4.
60222
60223 2007-01-08  Bruno Haible  <bruno@clisp.org>
60224
60225         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
60226         command.
60227
60228 2007-01-08  Jim Meyering  <jim@meyering.net>
60229
60230         Use a more robust test for a "can't happen" condition.
60231         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
60232         narrowed the st_size value.  Presuming the "can't happen" condition
60233         is true, that narrowing could conceivably convert an invalid st_size
60234         value into a valid one.  Instead, use a change based on Matthew
60235         Woehlke's original patch.
60236
60237         Slight readability improvement: use an assert-like macro
60238         in place of literal "abort ()" uses.
60239         * lib/fts.c (fts_assert): Define.
60240         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
60241         Use this macro instead of a bare 'abort'.
60242
60243 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
60244
60245         Don't worry about using IRIX 5.3's wctype.h broken definitions;
60246         simply work around them.
60247         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
60248         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
60249         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
60250         declaring.
60251         Don't bother to define as macros, since the standard doesn't require it.
60252         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
60253         longer worry about IRIX 5.3.
60254         (HAVE_WCTYPE_CTMP_BUG): Remove.
60255
60256 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
60257
60258         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
60259         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
60260         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
60261         Problems reported by Georg Schwarz for IRIX 5.3.
60262
60263         * gnulib-tool (autoconf_minversion): Take the maximum version number
60264         found, not the minimum.  Problem reported by James Youngman.
60265
60266 2007-01-03  Karl Berry  <karl@gnu.org>
60267
60268         * doc/error.texi: new file, explaining interaction with progname.
60269         * doc/gnulib.texi: include it.  Update copyright.
60270
60271 2007-01-03  Simon Josefsson  <simon@josefsson.org>
60272
60273         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
60274         AC_CANONICAL_HOST, to improve autobuild outputs.
60275
60276 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
60277             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
60278
60279         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
60280         sockets, server sockets, and other file descriptors.  Count errors
60281         to compute the return value.  Reorder the code a bit to be easier
60282         to follow.  Don't set event bits that were not requested (except
60283         POLLERR and POLLHUP).
60284
60285 2007-01-01  Bruno Haible  <bruno@clisp.org>
60286
60287         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
60288
60289 2007-01-03  Jim Meyering  <jim@meyering.net>
60290
60291         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
60292
60293 2007-01-02  Bruno Haible  <bruno@clisp.org>
60294
60295         * modules/settime (Include): Require timespec.h.
60296         * modules/nanosleep (Include): Likewise.
60297
60298 2007-01-01  Bruno Haible  <bruno@clisp.org>
60299
60300         * gnulib-tool (func_emit_copyright_notice): Bump year.
60301         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
60302
60303 2007-01-01  Bruno Haible  <bruno@clisp.org>
60304
60305         Improve support for OpenBSD.
60306         * build-aux/config.rpath (libname_spec): Export.
60307         (library_names_spec): New variable. Export.
60308         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
60309         library_names_spec from the config.rpath output. Locate shared library
60310         through the name pattern in library_names_spec.
60311
60312 2007-01-01  Eric Blake  <ebb9@byu.net>
60313
60314         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
60315
60316 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
60317
60318         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
60319         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
60320         assume the C locale, and avoid an "eval" that could cause trouble.
60321         Problem with SORT reported by Bob Proulx.
60322
60323         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
60324         Define.  Trivial patch from Henning Nielsen Lund, originally
60325         sent to bug-grep@gnu.org today.
60326
60327 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
60328
60329         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
60330         struct stat.  Problem reported by Henning Nielsen Lund.
60331         * lib/acl.c: Include acl.h first, to check interface.  Don't
60332         bother to include sys/types.h and sys/stat.h again.
60333
60334 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
60335
60336         Import the following change from libc; problem reported by
60337         Sven Verdoolaege.
60338
60339         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
60340
60341         [BZ #1373]
60342         * lib/argp.h: Remove __NTH for __argp_usage inline function.
60343
60344 2006-12-28  Jim Meyering  <jim@meyering.net>
60345
60346         * build-aux/announce-gen: Do not assume that the package
60347         builds any of tar.gz, tar.bz2, and .xdelta files.
60348         Suggestion from Simon Josefsson.
60349
60350 2006-12-28  Simon Josefsson  <simon@josefsson.org>
60351
60352         * modules/announce-gen: New file.
60353
60354 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
60355
60356         * lib/mbchar.h: Just include <wctype.h>; the wctype module
60357         handles its gotchas now.
60358         * lib/mbswidth.c: Likewise.
60359         * lib/wcwidth.h: Likewise.
60360         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
60361         and iswcntrl; the wctype module does this stuff now.
60362         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
60363         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
60364         * modules/mbchar (Depends-on): Add wctype.
60365         * modules/mbswidth (Depends-on): Likewise.
60366         * modules/wcwidth (Depends-on): Likewise.
60367
60368 2006-12-27  Eric Blake  <ebb9@byu.net>
60369
60370         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
60371         module uses more than what <wctype.h> is required to provide.
60372
60373 2006-12-26  Eric Blake  <ebb9@byu.net>
60374
60375         * gnulib-tool (sed_extract_prog): Avoid space-tab.
60376
60377 2006-12-26  Eric Blake  <ebb9@byu.net>
60378
60379         * modules/absolute-header: New module.
60380         * modules/fcntl (Depends-on): Depend on it.
60381         * modules/inttypes (Depends-on): Likewise.
60382         * modules/stdint (Depends-on): Likewise.
60383         * modules/sys_stat (Depends-on): Likewise.
60384         * modules/wctype (Depends-on): Likewise.
60385         * MODULES.html.sh (Support for building libraries and
60386         executables): Document it.
60387
60388 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
60389
60390         * gnulib-tool (SED): Remove, undoing previous change.
60391         The problem was that it broke coreutils on Solaris, because
60392         "sed --posix" leaked into a makefile.
60393         (sed): New alias, if 'alias' and GNU sed.
60394
60395 2006-12-24  Jim Meyering  <jim@meyering.net>
60396
60397         Work around an fchownat bug in glibc-2.4:
60398         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
60399         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
60400         in spite of the -P option.
60401         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
60402         New macros.
60403         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
60404         * modules/openat (Files): Add lib/fchownat.c.
60405         * lib/openat.c (fchownat): Don't define here.  Move to...
60406         * lib/fchownat.c: ...this new file.
60407
60408 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
60409
60410         Fix bug reported by Bruno Haible in
60411         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
60412         where quotearg.c didn't compile on Mac OS X 10.2 because it
60413         lacks <wchar.h> and wint_t.
60414         * lib/wctype_.h (__wctype_wint_t): New type.
60415         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
60416         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
60417         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
60418         Arg is now of type __wctype_wint_t, not wint_t.
60419         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
60420         substitute HAVE_WINT_T.
60421         * modules/wctype (Files): Add m4/wint_t.m4.
60422         (wctype.h): Substitute HAVE_WINT_T.
60423
60424 2006-12-23  Bruno Haible  <bruno@clisp.org>
60425
60426         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
60427
60428 2006-12-23  Bruno Haible  <bruno@clisp.org>
60429
60430         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
60431         S_ISLNK.
60432         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
60433         mingw.
60434
60435 2006-12-22  Bruno Haible  <bruno@clisp.org>
60436
60437         * lib/copy-file.c: Include acl.h.
60438         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
60439         Close the file descriptors only after being done with copy_acl.
60440         * modules/copy-file (Depends-on): Add acl.
60441
60442 2006-12-22  Bruno Haible  <bruno@clisp.org>
60443
60444         * gnulib-tool (SED): New variable.
60445         Use $SED instead of sed everywhere.
60446
60447 2006-12-22  Bruno Haible  <bruno@clisp.org>
60448
60449         * modules/no-c++: New file.
60450         * m4/no-c++.m4: New file.
60451         * MODULES.html.sh (Support for building libraries and executables):
60452         Add no-c++.
60453
60454 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
60455
60456         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
60457         Include <limits.h>, and use its INT_MAX to rewrite the
60458         j loop so that it does not overflow 'int'.  Problem reported by
60459         Ralf Wildenhues in
60460         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
60461         Play it safe by shifting left by 1 rather than multiplying by 2,
60462         as GCC is less likely to optimize this away when the value
60463         is signed (when it assumes overflow leads to undefined behavior).
60464         Also, don't assume time_t uses two's complement.
60465
60466 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
60467
60468         * MODULES.html.sh: New module wctype.
60469         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
60470         * lib/fnmatch.c: Don't bother to include <wchar.h> before
60471         <wctype.h>, since the new wctype module should fix this.
60472         * lib/quotearg.c: Include <wctype.h> unconditionally, since
60473         the wctype module should arrange for it.
60474         * lib/regex_internal.h: Likewise.
60475         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
60476         since the wctype module should handle this now.
60477         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
60478         * modules/fnmatch (Depends-on): Add wctype.
60479         * modules/quotearg (Depends-on): Likewise.
60480         * modules/regex (Depends-on): Likewise.
60481
60482 2006-12-19  Bruno Haible  <bruno@clisp.org>
60483
60484         * lib/strdup.h [C++]: Wrap definitions in extern "C".
60485         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
60486
60487 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60488
60489         * modules/savewd (Depends-on): Fix dependency on fcntl.
60490
60491 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
60492
60493         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
60494         conforms to C99, rather than relying on the user's environment
60495         setting of STDINT_H.
60496
60497 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
60498         and Eric Blake  <ebb9@byu.net>
60499
60500         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
60501         This is more consistent with the other defines here.
60502         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
60503         Port to z/OS.  Problem reported by Paul Gilmartin.
60504         Change local vars to use gl_ prefix rather than ac_.
60505         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
60506         with other defines.
60507         * modules/double-slash-root: New module.
60508         * modules/dirname (Files): Remove m4/double-slash-root.m4.
60509         (Depends-on): Add double-slash-root.
60510         * MODULES.html.sh (File system functions): Mention new module.
60511
60512 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
60513
60514         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
60515         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
60516         This is for the benefit of gzip, which doesn't do i18n.
60517
60518 2006-12-12  Jim Meyering  <jim@meyering.net>
60519
60520         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
60521         Reported by Andreas Schwab <schwab@suse.de>.
60522
60523 2006-12-12  Bruno Haible  <bruno@clisp.org>
60524
60525         Merge these changes.
60526         2006-09-05  Bruno Haible  <bruno@clisp.org>
60527         * lib/iconvme.c (iconv_string): No need to save and restore errno when
60528         iconv_alloc succeeded.
60529         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
60530         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
60531         test for " && dest " at the end - dest is always != NULL there. Call
60532         iconv with 4xNULL arguments initially, to reset the state. Call iconv
60533         with 2xNULL arguments, also to flush the state storage. Handle the
60534         IRIX iconv behaviour. Realloc the final result, to throw away unused
60535         memory.
60536
60537 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
60538
60539         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
60540         and fchmodat unconditionally, since glibc 2.4 has them.
60541         Problem reported by Arkadiusz Miskiewicz.
60542
60543 2006-12-10  Bruno Haible  <bruno@clisp.org>
60544
60545         * gnulib-tool (func_import): Show the include files only for those
60546         modules that are copied and specified.
60547         Reported by Karl Berry.
60548
60549 2006-12-08  Jim Meyering  <jim@meyering.net>
60550
60551         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
60552         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
60553
60554         * build-aux/announce-gen: Add two new options, both optional:
60555         --bootstrap-tools=TOOL_LIST
60556               a comma-separated list of tools, e.g.,
60557               autoconf,automake,bison,gnulib
60558         --gnulib-snapshot-date=DATE
60559               if gnulib is in the bootstrap tool list,
60560               then report this as the snapshot date.
60561               If not specified, use the current date/time.
60562               If you specify a date here, be sure it's UTC.
60563
60564 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60565
60566         * tests/test-argp-2.sh: Fix test to match actual output.
60567         (func_compare): Fix sed script to be portable.
60568
60569 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
60570
60571         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
60572         workaround for this case.  It is not autoconfigured now; offhand
60573         it's hard to see how to autoconfigure it.
60574
60575 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
60576
60577         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
60578         a directory that is about to be chowned.  Such a directory's
60579         initial file permissions should permit the owner only and this
60580         should not be changed until after the chown, since the group and
60581         other bits would be incorrect if they granted permission before
60582         the chown.
60583
60584         Fix porting problem for iswctype reported by Georg Schwarz in:
60585         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
60586         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
60587         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
60588         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
60589         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
60590
60591 2006-12-03  Jim Meyering  <jim@meyering.net>
60592
60593         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
60594         p->fts_statp may not yet be defined.
60595         (fts_read): Instead, set it in the caller, once p->fts_statp is
60596         sure to be defined, and corresponds to a top-level directory.
60597         This bug made du -x fail.  Here's the coreutils test case:
60598         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
60599         Reported by Mike Frysinger.
60600
60601 2006-12-01  Jim Meyering  <jim@meyering.net>
60602
60603         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
60604         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
60605         Reported by Simon Josefsson.
60606
60607 2006-11-30  Jim Meyering  <jim@meyering.net>
60608
60609         * m4/warning.m4: Use the all-permissive copyright notice
60610         recommended by RMS (rather than LGPL).
60611         * m4/vararrays.m4: Likewise.
60612         * m4/flexmember.m4: Likewise.
60613
60614 2006-11-29  Bruno Haible  <bruno@clisp.org>
60615
60616         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
60617         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
60618         using +=.
60619         Reported by Simon Josefsson <simon@josefsson.org>.
60620
60621 2006-11-28  James Youngman <jay@gnu.org>
60622
60623         * README: Advise users that they might find the bug-gnulib@gnu.org
60624         and autotools-announce@gnu.org mailing lists useful.
60625
60626 2006-11-28  Bruno Haible  <bruno@clisp.org>
60627
60628         * m4/ptrdiff_max.m4: Remove file.
60629
60630 2006-11-21  Bruno Haible  <bruno@clisp.org>
60631
60632         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
60633         _AC_COMPUTE_INT.
60634         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
60635         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
60636         _AC_COMPUTE_INT.
60637         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
60638         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
60639         _AC_COMPUTE_INT.
60640         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
60641
60642 2006-11-28  Jim Meyering  <jim@meyering.net>
60643
60644         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
60645         warning from "gcc -Wshadow" about shadowing the builtin.
60646
60647 2006-11-27  Bruno Haible  <bruno@clisp.org>
60648
60649         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
60650         _AC_COMPUTE_INT.
60651         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
60652
60653 2006-11-27  Bruno Haible  <bruno@clisp.org>
60654             Paul Eggert  <eggert@cs.ucla.edu>
60655
60656         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
60657
60658 2006-11-26  Bruno Haible  <bruno@clisp.org>
60659
60660         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
60661         noinst_LTLIBRARIES.
60662
60663 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
60664             Bruno Haible  <bruno@clisp.org>
60665
60666         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
60667         if compiling with "gcc -ansi".
60668
60669 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
60670
60671         Fix some incompatibilities with gcc -ansi -pedantic.
60672         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
60673         if compiling pedantically with GCC, unless it's C99 or later.
60674         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
60675         it mishandles gcc -ansi -pedantic as well.
60676         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
60677         if gcc -pedantic.
60678         * lib/regexec.c (check_node_accept_bytes): Don't use auto
60679         initializers for struct if -pedantic, unless it's C99 or later.
60680
60681 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
60682
60683         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
60684         Don't close an fd more than once. Identical atimes indicate
60685         success, not failure.
60686
60687 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
60688
60689         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
60690
60691 2006-11-23  Jim Meyering  <jim@meyering.net>
60692
60693         * build-aux/announce-gen: New file.  From coreutils.
60694
60695 2006-11-22  Jim Meyering  <jim@meyering.net>
60696
60697         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
60698         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
60699         (fts_read): Use a temporary to narrow the overused st_size member
60700         before using it in a switch statement.  Reported by Matthew Woehlke.
60701
60702         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
60703         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
60704
60705 2006-11-20  Bruno Haible  <bruno@clisp.org>
60706
60707         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
60708         changequote instead of pairs of brackets.
60709         Reported by Andreas Schwab <schwab@suse.de>.
60710
60711 2006-11-21  Jim Meyering  <jim@meyering.net>
60712
60713         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
60714         so as to remain compatible with older compilers.
60715         Patch from Michael Deutschmann.
60716
60717 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
60718
60719         * MODULES.html.sh (File system functions): Add openat.
60720
60721         * lib/openat.h (rpl_fstatat): New macro, if
60722         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
60723         (fstatat): Define to rpl_fstatat under the same conditions,
60724         unless COMPILING_FSTATAT.
60725         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
60726         seems to have the bug.
60727         * lib/fstatat.c: New file.
60728         * modules/openat (Files): Add it.
60729
60730 2006-11-20  Bruno Haible  <bruno@clisp.org>
60731
60732         * Makefile: New file.
60733
60734 2006-11-20  Jim Meyering  <jim@meyering.net>
60735
60736         The beginnings of syntax-related checks for gnulib.
60737         * lib/Makefile: New file.
60738         * lib/t-idcache: New script.  Ensure that the two halves of
60739         idcache.c stay in sync.
60740
60741         * lib/idcache.c: Adjust comments in user- and group- portions to
60742         be more accurate, and to be consistent with one another.
60743
60744 2006-11-20  Jim Meyering  <jim@meyering.net>
60745
60746         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
60747         continue using the flexible array member (thus, this module performs
60748         half as many malloc calls), with the addition that...
60749         (getgroup, getuser): Consistently record a non-match via an empty
60750         "name" string, and map an empty string match to a NULL return value.
60751         * modules/idcache (Depends-on): Re-add flexmember.
60752
60753         * lib/idcache.c (getuser): Remove all uses of the register keyword.
60754         (getuidbyname, getgroup, getgidbyname): Likewise.
60755
60756         Use cleaner syntax: NULL rather than 0.
60757         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
60758
60759 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
60760
60761         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
60762         It mishandled the case where the group was missing.
60763         Problem reported by Greg Schafer.
60764         * modules/idcache: Likewise.
60765
60766 2006-11-18  Jim Meyering  <jim@meyering.net>
60767
60768         * check-module (%exempt_header): Add exception for some
60769         conditionally-included headers.
60770
60771         * modules/i-ring (Depends-on): Add verify.
60772         (License): Change to LGPL.
60773
60774 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
60775
60776         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
60777         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
60778         and inttostr.h.  Use snprintf rather than uinttostr, so that
60779         LGPLed code doesn't depend on GPLed.
60780
60781 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
60782
60783         * modules/inline (License): Change from GPL to LGPL.
60784
60785 2006-11-17  Jim Meyering  <jim@meyering.net>
60786
60787         * modules/d-type (License): Switch to LGPL.
60788
60789 2006-11-15  Bruno Haible  <bruno@clisp.org>
60790
60791         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
60792
60793 2006-11-15  Eric Blake  <ebb9@byu.net>
60794
60795         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
60796         the module dependency.
60797
60798 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60799             Bruno Haible  <bruno@clisp.org>
60800
60801         * gnulib-tool (func_create_testdir): Add license consistency check.
60802
60803 2006-11-15  Eric Blake  <ebb9@byu.net>
60804
60805         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
60806         random "(cached)" in configure output.
60807
60808 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60809
60810         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
60811         test for conforming inttypes.h is both announced and cached.
60812
60813         * MODULES.html.sh (seen_modules, seen_files): New variables.
60814         (func_module): Rewrite to use a few less gnulib-tool and sed
60815         invocations.  Avoid a couple of quadratic algorithms for ...
60816         (missed_modules, missed_files): ... these, with ...
60817         (func_append, func_tmpdir): ... these new functions, from
60818         gnulib-tool.  Analogously, install traps for cleanup.
60819
60820         * tests/test-gc.c (main): Remove unused variables.
60821         * tests/test-read-file.c: Include stdlib.h, for 'free'.
60822
60823 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
60824
60825         * modules/inttostr (License): Change to LGPL.
60826
60827 2006-11-14  Eric Blake  <ebb9@byu.net>
60828
60829         * modules/tempname (License): Change to LGPL.
60830
60831 2006-11-14  Eric Blake  <ebb9@byu.net>
60832
60833         * doc/functions.texi (Function Portability): *printf functions on
60834         Cygwin now understand all POSIX size specifiers.
60835
60836 2006-11-14  Bruno Haible  <bruno@clisp.org>
60837
60838         * modules/c-ctype (License): Change to LGPL.
60839
60840 2006-11-12  Bruno Haible  <bruno@clisp.org>
60841
60842         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
60843         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
60844         for GNOME libraries, for which the include files are installed in
60845         subdirectories of $prefix/include.
60846
60847 2006-11-12  Bruno Haible  <bruno@clisp.org>
60848
60849         * m4/lib-link.m4: Require at least autoconf-2.54.
60850         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
60851         name to underscores for the --with option.
60852
60853 2006-11-13  Bruno Haible  <bruno@clisp.org>
60854
60855         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
60856         the tests directory.
60857         Reported by Ralf Wildenhues.
60858
60859 2006-11-13  Bruno Haible  <bruno@clisp.org>
60860
60861         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
60862         (func_emit_initmacro_end): Undo the override here.
60863         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
60864         Works around the famous automake error in coreutils.
60865
60866 2006-11-13  Eric Blake  <ebb9@byu.net>
60867
60868         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
60869         element, not its node.
60870
60871 2006-11-12  Bruno Haible  <bruno@clisp.org>
60872
60873         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
60874         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
60875
60876 2006-11-12  Bruno Haible  <bruno@clisp.org>
60877
60878         * gnulib-tool: New option --local-symlink.
60879         (func_usage): Document it.
60880         (lsymbolic): New variable.
60881         (func_import, func_create_testdir): If --symlink was not specified,
60882         test whether --local-symlink was specified and the file comes from
60883         the local_gnulib_dir.
60884
60885 2006-11-12  Bruno Haible  <bruno@clisp.org>
60886
60887         * gnulib-tool (func_ln): New function.
60888         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
60889
60890 2006-11-12  Bruno Haible  <bruno@clisp.org>
60891
60892         Finish support for source files in subdirectories.
60893         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
60894         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
60895         AUTOMAKE_OPTIONS.
60896         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
60897
60898 2006-11-12  Bruno Haible  <bruno@clisp.org>
60899
60900         * gnulib-tool (func_get_automake_snippet): Synthesize also an
60901         EXTRA_lib_SOURCES augmentation.
60902         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
60903
60904 2006-11-12  Jim Meyering  <jim@meyering.net>
60905
60906         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
60907         file descriptors.  This also averts a failure on systems with
60908         native openat support when a traversed directory lacks "x" access.
60909         * lib/fts_.h: Include "i-ring.h"
60910         (struct FTS) [fts_fd_ring]: New member.
60911         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
60912         (FCHDIR): Add parentheses.
60913         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
60914         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
60915         When descending, rather than simply closing the previous
60916         fts_cwd_fd value, push that file descriptor onto the ring.
60917         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
60918         (fts_open): Initialize the new fd_ring member.
60919         (fts_close): Clear the ring.
60920         (fts_safe_changedir): When possible, use our new fd_ring to skip
60921         the diropen and fstat and dev/ino comparison that would normally
60922         accompany a virtual `chdir ("..")'.
60923
60924         * modules/fts (Depends-on): Add i-ring.
60925         * modules/i-ring: New module.
60926         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
60927         * m4/i-ring.m4: New file.
60928
60929 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60930
60931         * gnulib-tool (func_create_testdir): Fix replacement of
60932         `build-aux' in configure.ac.  Run autotools in gltests
60933         subdirectory.
60934         (func_create_testdir, func_create_megatestdir, test): There is
60935         no need for '--force' in most autotool invocations in a new
60936         tree.  Actually fail the whole test if any of the tools, or the
60937         configure or make stages fail.
60938
60939         Sync from Automake.
60940         * build-aux/gnupload: Revert last change.  Add pointer to upload
60941         instructions of the GNU Maintenance Instructions.
60942         Suggestion by Karl Berry.
60943
60944 2006-11-10  Jim Meyering  <jim@meyering.net>
60945
60946         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
60947
60948 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
60949
60950         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
60951         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
60952         (bind_textdomain_codeset) [! ENABLE_NLS]:
60953         Evaluate all the arguments.  That way, callers get compatible behavior
60954         if the arguments have side effects.  Also, it avoids some GCC
60955         diagnostics in some cases; Joel E. Denny reported problems when Bison
60956         was configured with --enable-gcc-warnigs.
60957
60958 2006-11-10  Jim Meyering  <jim@meyering.net>
60959
60960         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
60961         relevant options in CFLAGS (like -O, -fno-inline) are taken into
60962         account.
60963
60964 2006-11-10  Jim Meyering  <jim@meyering.net>
60965
60966         * modules/inline: New file/module.
60967         * modules/xalloc (Files): Remove m4/inline.m4.
60968         (Depends-on): Add inline, instead.
60969         * modules/oset: Likewise.
60970         * modules/list: Likewise.
60971
60972 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
60973
60974         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
60975         Problem reported by Matthew Woehlke.
60976
60977 2006-11-09  Bruno Haible  <bruno@clisp.org>
60978
60979         * lib/tempname.c (gen_tempname): Remove variant that invokes
60980         __gen_tempname.
60981         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
60982         __gen_tempname.
60983
60984 2006-11-08  Bruno Haible  <bruno@clisp.org>
60985
60986         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
60987         to 'yes' instead of 'cross-compiling'.
60988
60989 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
60990
60991         * lib/quotearg.h (quotearg_free): New decl.
60992         * lib/quotearg.c (quotearg_free): New function.
60993         (slot0, nslots, slotvec0, slotvec):
60994         Now file-scope so that quotearg_free can get at them.
60995
60996 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60997
60998         Sync from Automake.
60999         * build-aux/gnupload: Add missing 'gnu' to example URL.
61000         Report by Karl Berry.
61001
61002 2006-11-08  Bruno Haible  <bruno@clisp.org>
61003
61004         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
61005         Suggested by Paul Eggert.
61006
61007 2006-11-08  Jim Meyering  <jim@meyering.net>
61008
61009         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
61010         It's already included if !_LIBC.
61011         (fts_safe_changedir): Add a comment.
61012
61013 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
61014
61015         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
61016         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
61017         Matthew Woehlke.
61018
61019         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
61020         definitions up, to avoid colliding with change below.
61021         (static_inline) [HAVE_INLINE]: New macro.
61022         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
61023         Provide extern decls when !HAVE_INLINE.  Do not define unless
61024         static_inline is defined, either by us or by xmalloc.c.  Use
61025         static_inline rather than static inline.
61026         (XCALLOC): Optimize sizeof(T) = 1 case.
61027         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
61028
61029 2006-11-07  Bruno Haible  <bruno@clisp.org>
61030
61031         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
61032         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
61033         AC_C_INLINE.
61034         * modules/xalloc (Files): Add m4/inline.m4.
61035
61036 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61037
61038         * README: Fix typo.
61039         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
61040         (Miscellanous Notes): ...from this.
61041
61042 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
61043
61044         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
61045         Mention that offsetof should be used instead of sizeof.
61046         From Bruno Haible.
61047
61048 2006-11-07  Bruno Haible  <bruno@clisp.org>
61049
61050         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
61051
61052 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
61053
61054         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
61055         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
61056         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
61057         (gl_tree_add_before, gl_tree_add_after):
61058         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
61059         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
61060         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
61061         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
61062         (gl_linked_add_after, gl_linked_add_at): Likewise.
61063         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
61064         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
61065         (gl_tree_add_before, gl_tree_add_after): Likewise.
61066         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
61067         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
61068         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
61069
61070 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61071
61072         * lib/gl_oset.h: Use C comment style, not C++ comment style.
61073
61074 2006-11-06  Bruno Haible  <bruno@clisp.org>
61075
61076         * m4/inline.m4: New file.
61077         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
61078         * modules/list (Files): Add m4/inline.m4.
61079         * modules/oset (Files): Likewise.
61080
61081 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
61082
61083         * lib/idcache.c: Include <stddef.h>, for offsetof.
61084         (struct userid.name): Change from char * to a flexible array member.
61085         All uses changed.
61086         * modules/idcache (Depends-on): Add flexmember.
61087
61088         * MODULES.html.sh (Core language properties): New module flexmember.
61089         * modules/flexmember, m4/flexmember.m4: New files.
61090
61091         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
61092         inline functions that are identical with the old xnmalloc_inline,
61093         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
61094         that we can avoid some unnecessary integer multiplications and
61095         divisions in the common case where the element size is known at
61096         compile time.
61097         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
61098         needed.
61099         (xnboundedmalloc): Remove.
61100         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
61101         arguments, for consistency with rest of this header.
61102         (xcharalloc): Rewrite using XNMALLOC.
61103         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
61104         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
61105         versions have been moved to lib/xalloc.h and renamed to be the
61106         non-*_inline versions.
61107         (xmalloc, xrealloc): Implement without reference to the xnmalloc
61108         and xnrealloc functions, since those functions are now inline and
61109         now call us.
61110         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
61111         renaming described above.
61112         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
61113         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
61114         captures the dependency in AC_C_INLINE.
61115
61116         New module canonicalize-lgpl, proposed by Charles Wilson in
61117         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
61118         with a few small changes afterwards.
61119         * MODULES.html.sh (File system functions): New module
61120         canonicalize-lgpl.
61121         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
61122         and canonicalize_file_name.
61123         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
61124         * modules/canonicalize-lgpl: New files.
61125
61126 2006-11-05  Bruno Haible  <bruno@clisp.org>
61127
61128         * gnulib-tool (func_import, func_create_testdir): Create directories
61129         also for files in subdirectories of lib/.
61130
61131 2006-11-05  Bruno Haible  <bruno@clisp.org>
61132
61133         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
61134         ANSI C compliant.
61135
61136 2006-11-03  Bruno Haible  <bruno@clisp.org>
61137
61138         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
61139         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
61140         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
61141         (xnboundedmalloc): New inline function.
61142         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
61143         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
61144         xmalloc.
61145         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
61146         xmalloc.
61147         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
61148         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
61149         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
61150         xmalloc.
61151         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
61152         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
61153         xmalloc.
61154         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
61155         gl_tree_add_after): Use XMALLOC instead of xmalloc.
61156         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
61157         xmalloc.
61158         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
61159         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
61160         gl_tree_add_after): Use XMALLOC instead of xmalloc.
61161         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
61162         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
61163         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
61164         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
61165
61166 2006-11-03  Bruno Haible  <bruno@clisp.org>
61167
61168         * lib/c-ctype.h [C++]: Define functions without name mangling.
61169         * lib/fwriteerror.h [C++]: Likewise.
61170         * lib/gcd.h [C++]: Likewise.
61171         * lib/linebreak.h [C++]: Likewise.
61172
61173 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
61174
61175         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
61176         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
61177         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
61178         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
61179         Check for functions and headers just once.
61180         Check for declaration of canonicalize_file_name.
61181         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
61182
61183 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
61184
61185         * gnulib-tool (func_import): Fix typo in actioncmd.
61186
61187 2006-11-02  Bruno Haible  <bruno@clisp.org>
61188
61189         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
61190         newline sequence in the Makefile.am snippet as a space, like "make"
61191         does.
61192         Reported by Roger Persson <perrog@gmail.com>.
61193
61194 2006-11-01  Bruno Haible  <bruno@clisp.org>
61195
61196         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
61197         already declared in <string.h>.
61198         * lib/strcase.h (strncasecmp): Don't declare it if yes.
61199
61200 2006-11-01  Bruno Haible  <bruno@clisp.org>
61201
61202         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
61203         * lib/strcase.h: Include <string.h>.
61204         (strcasecmp): Define to rpl_strcasecmp here.
61205
61206 2006-11-01  Bruno Haible  <bruno@clisp.org>
61207
61208         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
61209
61210 2006-11-01  Eric Blake  <ebb9@byu.net>
61211
61212         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
61213
61214         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
61215
61216 2006-10-29  Bruno Haible  <bruno@clisp.org>
61217
61218         Make it compile in C++ mode.
61219         * lib/full-write.c (full_rw): Add a cast.
61220
61221 2006-11-01  Bruno Haible  <bruno@clisp.org>
61222
61223         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
61224         be POSIX compliant.
61225         Reported by Roger Persson <perrog@gmail.com>.
61226
61227 2006-11-01  Eric Blake  <ebb9@byu.net>
61228
61229         * lib/getopt_.h: Fix comments.
61230
61231 2006-10-31  Eric Blake  <ebb9@byu.net>
61232
61233         * modules/tmpdir (Depends-on): Add sys_stat.
61234         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
61235         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
61236         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
61237         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
61238         tempname.
61239
61240 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
61241
61242         Avoid some C++ diagnostics reported by Bruno Haible.
61243         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
61244         xmalloc.
61245         (quotearg_alloc): Use xcharalloc rather than xmalloc.
61246         (struct slotvec): Move to top level.
61247         (quotearg_n_options): Rewrite to avoid xmalloc.
61248         * lib/xalloc.h (xcharalloc): New function.
61249         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
61250         [defined __cplusplus]: Add function template that provides result
61251         type propagation.  This part of the change is from Bruno Haible.
61252
61253 2006-10-29  Bruno Haible  <bruno@clisp.org>
61254
61255         Make it compile in C++ mode.
61256         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
61257         * lib/strnlen1.c (strnlen1): Cast memchr result.
61258         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
61259         * lib/clean-temp.c (string_equals, string_hash): Add casts.
61260         (create_temp_dir): Rename local variable 'template'.
61261         (compile_csharp_using_sscli): Add cast.
61262         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
61263         * lib/findprog.c (find_in_path): Likewise.
61264         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
61265         * lib/wait-process.c (register_slave_subprocess): Likewise.
61266
61267 2006-10-22  Bruno Haible  <bruno@clisp.org>
61268
61269         * modules/tsearch: New file.
61270         * lib/tsearch.h: New file.
61271         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
61272         * m4/tsearch.m4: New file.
61273         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
61274
61275 2006-10-29  Eric Blake  <ebb9@byu.net>
61276
61277         * lib/arcfour.c: Assume config.h.
61278         * lib/arctwo.c: Likewise.
61279         * lib/base64.c: Likewise.
61280         * lib/check-version.c: Likewise.
61281         * lib/crc.c: Likewise.
61282         * lib/des.c: Likewise.
61283         * lib/gc-gnulib.c: Likewise.
61284         * lib/gc-libgcrypt.c: Likewise.
61285         * lib/gc-pbkdf2-sha1.c: Likewise.
61286         * lib/getaddrinfo.c: Likewise.
61287         * lib/getdelim.c: Likewise.
61288         * lib/getline.c: Likewise.
61289         * lib/hmac-md5.c: Likewise.
61290         * lib/hmac-sha1.c: Likewise.
61291         * lib/iconvme.c: Likewise.
61292         * lib/md2.c: Likewise.
61293         * lib/md4.c: Likewise.
61294         * lib/memxor.c: Likewise.
61295         * lib/read-file.c: Likewise.
61296         * lib/readline.c: Likewise.
61297         * lib/rijndael-alg-fst.c: Likewise.
61298         * lib/rijndael-api-fst.c: Likewise.
61299         * lib/xgetdomainname.c: Likewise.
61300
61301 2006-10-28  Eric Blake  <ebb9@byu.net>
61302
61303         * lib/xstrndup.c: Assume config.h.
61304
61305 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
61306
61307         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
61308         stat-macros.h is now for our own macros, whereas stat_h is for
61309         macros in the <sys/stat.h> name space.
61310         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
61311         (STAT_MACROS_H): Remove.
61312         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
61313         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
61314         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
61315         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
61316         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
61317         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
61318         Move these macros to ...
61319         * lib/stat_.h: here.  Don't include stat-macros.h.
61320         * lib/canonicalize.c: Don't include stat-macros.h.
61321         * lib/chown.c: Likewise.
61322         * lib/euidaccess.c: Likewise.
61323         * lib/file-type.c: Likewise.
61324         * lib/filemode.c: Likewise.
61325         * lib/glob.c: Likewise.
61326         * lib/isapipe.c: Likewise.
61327         * lib/lchown.c: Likewise.
61328         * lib/lstat.c: Likewise.
61329         * lib/mkdir-p.c: Likewise.
61330         * lib/rmdir.c: Likewise.
61331         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
61332         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
61333         unless mkdir isn't declared, to speed up 'configure'.
61334         Always create sys/stat.h, since it's unlikely any real sys/stat.h
61335         would define all the S_* symbols.
61336         * modules/canonicalize (Depends-on):
61337         Depend on sys_stat, not stat-macros.
61338         * modules/chown: Likewise.
61339         * modules/euidaccess: Likewise.
61340         * modules/filemode: Likewise.
61341         * modules/file-type: Likewise.
61342         * modules/glob: Likewise.
61343         * modules/isapipe: Likewise.
61344         * modules/lchown: Likewise.
61345         * modules/lstat: Likewise.
61346         * modules/mkancesdirs: Likewise.
61347         * modules/rmdir: Likewise.
61348         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
61349         * modules/modechange: Likewise.
61350         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
61351         (configure.ac): Remove gl_STAT_MACROS.
61352         * modules/sys_stat (Depends-on): Remove stat-macros.
61353
61354 2006-10-27  Bruno Haible  <bruno@clisp.org>
61355
61356         * m4/signed.m4: Remove file.
61357         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
61358         invocation.
61359         * modules/vasnprintf (Files): Remove m4/signed.m4.
61360
61361 2006-10-27  Bruno Haible  <bruno@clisp.org>
61362
61363         Update to GNU gettext 0.16.
61364         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
61365         m4/inttypes-h.m4, m4/signed.m4.
61366         * m4/gettext.m4: Update to GNU gettext 0.16.
61367         * m4/intl.m4: New file, from GNU gettext.
61368         * m4/intldir.m4: New file, from GNU gettext.
61369         * config/srclist.txt: Update
61370
61371 2006-10-27  Eric Blake  <ebb9@byu.net>
61372
61373         * MODULES.html.sh: Document tempname.
61374         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
61375         dependencies.
61376         (Files): Move lib/tempname.c...
61377         * modules/tempname: ...to this new module.
61378         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
61379         (gl_PREREQ_TEMPNAME): Move...
61380         * m4/tempname.m4: ...to this new file.
61381         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
61382         * modules/sys_stat (Depends-on): Add stat-macros.
61383         * lib/stat_.h (includes): Pick up stat macros.
61384         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
61385         if stat macros are broken.
61386         * lib/tempname.c (includes): No need to include "stat-macros.h".
61387         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
61388         (direxists, __path_search) [!_LIBC]: Don't compile these in
61389         gnulib; the tmpdir module covers that.
61390         * lib/tempname.h: New file.
61391
61392 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
61393
61394         * COPYING: Explain how gnulib-tool converts licence headers.
61395         Almost all wording by Eric Blake.
61396
61397 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
61398
61399         * lib/mbchar.h (is_basic_table): Make read-only.
61400         * lib/mbchar.c (is_basic_table): Likewise.
61401         Reported by John Darrington.
61402
61403 2006-10-25  Bruno Haible  <bruno@clisp.org>
61404
61405         * lib/progname.h (set_program_name): Undefine before defining.
61406
61407 2006-10-25  Bruno Haible  <bruno@clisp.org>
61408
61409         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
61410         false for non-gcc C++ compilers.
61411         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
61412
61413 2006-10-24  Bruno Haible  <bruno@clisp.org>
61414
61415         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
61416         iconv implementations like Irix iconv.
61417
61418 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
61419
61420         * modules/vararrays: New file.
61421         * m4/vararrays.m4: New file, taken from diffutils.
61422         * MODULES.html.sh: New module vararrays.
61423
61424 2006-10-24  Karl Berry  <karl@gnu.org>
61425
61426         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
61427         Don't call GNU Unix.
61428
61429 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61430
61431         * users.txt: Add Libtool.
61432
61433         Sync from Libtool:
61434
61435         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
61436
61437         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
61438         to gnulib's policy of including config.h unconditionally.
61439
61440 2006-10-24  Bruno Haible  <bruno@clisp.org>
61441
61442         * modules/wcwidth (Files): Add m4/wint_t.m4.
61443         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
61444         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
61445
61446 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
61447
61448         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
61449         to pacify GCC with some -W flags enabled.  Problem reported by
61450         Bruno Haible.
61451
61452 2006-10-24  Jim Meyering  <jim@meyering.net>
61453
61454         * MODULES.html.sh: Remove uinttostr.  It's not a module.
61455         Reported by Karl Berry.
61456
61457 2006-10-23  Bruno Haible  <bruno@clisp.org>
61458
61459         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
61460
61461 2006-10-24  Bruno Haible  <bruno@clisp.org>
61462
61463         * lib/gl_list.h: Use C comment style, not C++ comment style.
61464
61465 2006-10-23  Eric Blake  <ebb9@byu.net>
61466
61467         * lib/getaddrinfo.c (includes): Add missing include.
61468
61469 2006-10-23  Bruno Haible  <bruno@clisp.org>
61470             Paul Eggert  <eggert@cs.ucla.edu>
61471
61472         Ability to rename obstack_free.
61473         * lib/obstack.h (__obstack_free): New macro. Declare instead of
61474         obstack_free.
61475         (obstack_free): Invoke the __obstack_free macro.
61476         * lib/obstack.c (obstack_free): Use __obstack_free macro.
61477
61478 2006-10-23  Bruno Haible  <bruno@clisp.org>
61479             Paul Eggert  <eggert@cs.ucla.edu>
61480
61481         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
61482         __argc, __argv from the declaration. (They are defined as macros on
61483         mingw.)
61484
61485 2006-10-22  Bruno Haible  <bruno@clisp.org>
61486
61487         * doc/gnulib-intro.texi: New file.
61488         * doc/gnulib.texi: Include it.
61489
61490 2006-10-21  Bruno Haible  <bruno@clisp.org>
61491
61492         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
61493         "Introduction", "Miscellanous Notes", "Particular Modules".
61494
61495 2006-10-21  Bruno Haible  <bruno@clisp.org>
61496
61497         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
61498         Change mostlyclean-local rule to avoid sh syntax error from bash
61499         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
61500
61501 2006-10-23  Jim Meyering  <jim@meyering.net>
61502
61503         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
61504         in place of snprintf.
61505
61506         * modules/inttostr (Files): Add lib/uinttostr.c.
61507         * lib/uinttostr.c (inttostr): New file/function.
61508         * lib/inttostr.h (uinttostr): Declare.
61509         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
61510         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
61511         Add uinttostr.
61512         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
61513
61514 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
61515
61516         * lib/canonicalize.c (ELOOP): Define if not already defined.
61517         Problem reported by Bruno Haible in
61518         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
61519
61520 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
61521
61522         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
61523         Problem reported by Perry Smith and Ville Laurikari.
61524
61525         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
61526         uses.
61527
61528 2006-10-19  Bruno Haible  <bruno@clisp.org>
61529
61530         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
61531         for mingw.
61532
61533 2006-10-19  Bruno Haible  <bruno@clisp.org>
61534
61535         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
61536         Needed for mingw.
61537
61538 2006-10-19  Bruno Haible  <bruno@clisp.org>
61539
61540         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
61541
61542 2006-10-19  Bruno Haible  <bruno@clisp.org>
61543
61544         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
61545         it.
61546
61547 2006-10-19  Bruno Haible  <bruno@clisp.org>
61548
61549         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
61550         invocation.
61551
61552 2006-10-19  Bruno Haible  <bruno@clisp.org>
61553
61554         * gnulib-tool (func_create_testdir): Don't include ftruncate and
61555         mountlist by default.
61556
61557 2006-10-16  Bruno Haible  <bruno@clisp.org>
61558
61559         * lib/c-strstr.c: Include c-strstr.h.
61560
61561 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
61562
61563         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
61564         in a slash.
61565
61566 2006-10-18  Bruno Haible  <bruno@clisp.org>
61567
61568         * lib/lock.h [C++]: Wrap definitions in extern "C".
61569
61570 2006-10-18  Bruno Haible  <bruno@clisp.org>
61571
61572         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
61573         gl_LIBOBJS list.
61574
61575 2006-10-18  Bruno Haible  <bruno@clisp.org>
61576
61577         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
61578
61579 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
61580
61581         * lib/xstrtol.h: Include gettext.h.
61582         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
61583         Problem reported by Eric Blake.
61584         * modules/xstrtol (Depends-on): Add gettext-h.
61585
61586 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
61587
61588         * lib/strftime.c (advance): New macro.
61589         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
61590         incomplete type, so you can't add 0 to it.  Problem and patch
61591         reported by Eelco Dolstra for dietlibc.
61592
61593 2006-10-18  Jim Meyering  <jim@meyering.net>
61594
61595         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
61596         type for a local, and rename it: s/up/user_proc/.
61597
61598 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
61599
61600         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
61601         READ_UTMP_USER_PROCESS.
61602         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
61603
61604 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
61605
61606         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
61607         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
61608
61609 2006-10-17  Eric Blake  <ebb9@byu.net>
61610
61611         * lib/sigprocmask.c (sigprocmask): Fix typo.
61612
61613         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
61614
61615         * modules/clean-temp (Makefile.am): Don't add to make output...
61616         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
61617         config.h.
61618
61619 2006-10-17  Bruno Haible  <bruno@clisp.org>
61620
61621         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
61622         differently if DEFAULT_TEXT_DOMAIN is set.
61623
61624 2006-10-16  Bruno Haible  <bruno@clisp.org>
61625
61626         * lib/clean-temp.c: Include fwriteerror.h.
61627
61628 2006-10-16  Bruno Haible  <bruno@clisp.org>
61629
61630         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
61631
61632 2006-10-16  Bruno Haible  <bruno@clisp.org>
61633
61634         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
61635         * lib/sigprocmask.h: Include <sys/types.h>.
61636         (sigset_t): Use the system's definition if present.
61637
61638 2006-10-17  Eric Blake  <ebb9@byu.net>
61639
61640         * lib/xvasprintf.c (includes): Assume config.h.
61641         * lib/xasprintf.c (includes): Likewise.
61642
61643 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
61644
61645         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
61646         at least as wide as intmax_t.
61647
61648 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
61649
61650         (Imported from Automake.)
61651         * build-aux/gnupload: Update to version 1.1 of directive file.
61652
61653 2006-10-16  Eric Blake  <ebb9@byu.net>
61654
61655         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
61656         match Automake 1.10a.
61657
61658 2006-10-14  Bruno Haible  <bruno@clisp.org>
61659
61660         * modules/sigprocmask: New file.
61661         * lib/sigprocmask.h: New file.
61662         * lib/sigprocmask.c: New file.
61663         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
61664         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
61665         request sigprocmask.o.
61666         (gl_PREREQ_SIGPROCMASK): New macro.
61667         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
61668         (Depends-on): Add sigprocmask.
61669         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
61670         gt_SIGNALBLOCKING. Test for 'raise' only once.
61671         * lib/fatal-signal.c: Include sigprocmask.h.
61672         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
61673         unblock_fatal_signals): Define always.
61674         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
61675         sigprocmask.
61676
61677 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
61678
61679         Sync from Automake.
61680         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
61681         which incorrectly sets the mode of an existing destination
61682         directory.  In some cases the unpatched install-sh could do the
61683         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
61684         system.  We hope this is rare in practice, but it's clearly worth
61685         fixing.  Problem reported by Alex Unleashed in
61686         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
61687         Also, don't bother to check for -m bugs unless we're using -m;
61688         suggested by Stepan Kasal.
61689
61690 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61691
61692         Sync from Automake.
61693         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
61694         `-c' flag, so they appear at the same position as in %FASTDEP%
61695         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
61696         which ignores unknown options only after the first non-option.
61697         Bug report against M4 by Nelson H. F. Beebe.
61698
61699 2006-10-13  Jim Meyering  <jim@meyering.net>
61700
61701         Fix a bug in yesterday's change.
61702         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
61703         p->fts_statp->st_dev would be used uninitialized.
61704         Ensures that we always call fts_stat on the very first entry.
61705         Miklos Szeredi reported that find -xdev stopped working.
61706
61707 2006-10-12  Bruno Haible  <bruno@clisp.org>
61708
61709         * gnulib-tool (func_get_automake_snippet): Append an automatically
61710         computed EXTRA_DIST augmentation.
61711         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
61712         * modules/alloca-opt (Makefile.am): Likewise.
61713         * modules/allocsa (Makefile.am): Likewise.
61714         * modules/arcfour (Makefile.am): Likewise.
61715         * modules/arctwo (Makefile.am): Likewise.
61716         * modules/argmatch (Makefile.am): Likewise.
61717         * modules/argz (Makefile.am): Likewise.
61718         * modules/atexit (Makefile.am): Likewise.
61719         * modules/backupfile (Makefile.am): Likewise.
61720         * modules/byteswap (Makefile.am): Likewise.
61721         * modules/c-strtod (Makefile.am): Likewise.
61722         * modules/c-strtold (Makefile.am): Likewise.
61723         * modules/calloc (Makefile.am): Likewise.
61724         * modules/canon-host (Makefile.am): Likewise.
61725         * modules/canonicalize (Makefile.am): Likewise.
61726         * modules/chdir-long (Makefile.am): Likewise.
61727         * modules/chdir-safer (Makefile.am): Likewise.
61728         * modules/check-version (Makefile.am): Likewise.
61729         * modules/chown (Makefile.am): Likewise.
61730         * modules/cloexec (Makefile.am): Likewise.
61731         * modules/close-stream (Makefile.am): Likewise.
61732         * modules/closeout (Makefile.am): Likewise.
61733         * modules/crc (Makefile.am): Likewise.
61734         * modules/csharpexec (Makefile.am): Likewise.
61735         * modules/cycle-check (Makefile.am): Likewise.
61736         * modules/des (Makefile.am): Likewise.
61737         * modules/dev-ino (Makefile.am): Likewise.
61738         * modules/dirfd (Makefile.am): Likewise.
61739         * modules/dirname (Makefile.am): Likewise.
61740         * modules/dup2 (Makefile.am): Likewise.
61741         * modules/eealloc (Makefile.am): Likewise.
61742         * modules/error (Makefile.am): Likewise.
61743         * modules/euidaccess (Makefile.am): Likewise.
61744         * modules/exclude (Makefile.am): Likewise.
61745         * modules/exitfail (Makefile.am): Likewise.
61746         * modules/fcntl-safer (Makefile.am): Likewise.
61747         * modules/fcntl (Makefile.am): Likewise.
61748         * modules/file-type (Makefile.am): Likewise.
61749         * modules/fileblocks (Makefile.am): Likewise.
61750         * modules/filemode (Makefile.am): Likewise.
61751         * modules/filenamecat (Makefile.am): Likewise.
61752         * modules/fnmatch (Makefile.am): Likewise.
61753         * modules/fopen-safer (Makefile.am): Likewise.
61754         * modules/fpending (Makefile.am): Likewise.
61755         * modules/fprintftime (Makefile.am): Likewise.
61756         * modules/free (Makefile.am): Likewise.
61757         * modules/fsusage (Makefile.am): Likewise.
61758         * modules/ftruncate (Makefile.am): Likewise.
61759         * modules/fts (Makefile.am): Likewise.
61760         * modules/gc-arcfour (Makefile.am): Likewise.
61761         * modules/gc-des (Makefile.am): Likewise.
61762         * modules/gc-hmac-md5 (Makefile.am): Likewise.
61763         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
61764         * modules/gc-md4 (Makefile.am): Likewise.
61765         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
61766         * modules/gc-sha1 (Makefile.am): Likewise.
61767         * modules/gc (Makefile.am): Likewise.
61768         * modules/getaddrinfo (Makefile.am): Likewise.
61769         * modules/getcwd (Makefile.am): Likewise.
61770         * modules/getdelim (Makefile.am): Likewise.
61771         * modules/getdomainname (Makefile.am): Likewise.
61772         * modules/getgroups (Makefile.am): Likewise.
61773         * modules/gethostname (Makefile.am): Likewise.
61774         * modules/gethrxtime (Makefile.am): Likewise.
61775         * modules/getline (Makefile.am): Likewise.
61776         * modules/getloadavg (Makefile.am): Likewise.
61777         * modules/getlogin_r (Makefile.am): Likewise.
61778         * modules/getndelim2 (Makefile.am): Likewise.
61779         * modules/getopt (Makefile.am): Likewise.
61780         * modules/getpagesize (Makefile.am): Likewise.
61781         * modules/getpass-gnu (Makefile.am): Likewise.
61782         * modules/getpass (Makefile.am): Likewise.
61783         * modules/getsubopt (Makefile.am): Likewise.
61784         * modules/gettime (Makefile.am): Likewise.
61785         * modules/gettimeofday (Makefile.am): Likewise.
61786         * modules/getugroups (Makefile.am): Likewise.
61787         * modules/getusershell (Makefile.am): Likewise.
61788         * modules/glob (Makefile.am): Likewise.
61789         * modules/group-member (Makefile.am): Likewise.
61790         * modules/hard-locale (Makefile.am): Likewise.
61791         * modules/hash (Makefile.am): Likewise.
61792         * modules/hmac-md5 (Makefile.am): Likewise.
61793         * modules/hmac-sha1 (Makefile.am): Likewise.
61794         * modules/human (Makefile.am): Likewise.
61795         * modules/idcache (Makefile.am): Likewise.
61796         * modules/imaxabs (Makefile.am): Likewise.
61797         * modules/imaxdiv (Makefile.am): Likewise.
61798         * modules/inet_ntop (Makefile.am): Likewise.
61799         * modules/inet_pton (Makefile.am): Likewise.
61800         * modules/intprops (Makefile.am): Likewise.
61801         * modules/inttostr (Makefile.am): Likewise.
61802         * modules/inttypes (Makefile.am): Likewise.
61803         * modules/isapipe (Makefile.am): Likewise.
61804         * modules/javaversion (Makefile.am): Likewise.
61805         * modules/lchmod (Makefile.am): Likewise.
61806         * modules/lchown (Makefile.am): Likewise.
61807         * modules/localcharset (Makefile.am): Likewise.
61808         * modules/long-options (Makefile.am): Likewise.
61809         * modules/lstat (Makefile.am): Likewise.
61810         * modules/malloc (Makefile.am): Likewise.
61811         * modules/mathl (Makefile.am): Likewise.
61812         * modules/mbchar (Makefile.am): Likewise.
61813         * modules/md2 (Makefile.am): Likewise.
61814         * modules/md4 (Makefile.am): Likewise.
61815         * modules/md5 (Makefile.am): Likewise.
61816         * modules/memcasecmp (Makefile.am): Likewise.
61817         * modules/memchr (Makefile.am): Likewise.
61818         * modules/memcmp (Makefile.am): Likewise.
61819         * modules/memcoll (Makefile.am): Likewise.
61820         * modules/memcpy (Makefile.am): Likewise.
61821         * modules/memmem (Makefile.am): Likewise.
61822         * modules/memmove (Makefile.am): Likewise.
61823         * modules/mempcpy (Makefile.am): Likewise.
61824         * modules/memrchr (Makefile.am): Likewise.
61825         * modules/memset (Makefile.am): Likewise.
61826         * modules/memxor (Makefile.am): Likewise.
61827         * modules/mkancesdirs (Makefile.am): Likewise.
61828         * modules/mkdir-p (Makefile.am): Likewise.
61829         * modules/mkdir (Makefile.am): Likewise.
61830         * modules/mkdtemp (Makefile.am): Likewise.
61831         * modules/mkstemp (Makefile.am): Likewise.
61832         * modules/mktime (Makefile.am): Likewise.
61833         * modules/modechange (Makefile.am): Likewise.
61834         * modules/mountlist (Makefile.am): Likewise.
61835         * modules/nanosleep (Makefile.am): Likewise.
61836         * modules/obstack (Makefile.am): Likewise.
61837         * modules/openat (Makefile.am): Likewise.
61838         * modules/pagealign_alloc (Makefile.am): Likewise.
61839         * modules/pathmax (Makefile.am): Likewise.
61840         * modules/physmem (Makefile.am): Likewise.
61841         * modules/poll (Makefile.am): Likewise.
61842         * modules/posixtm (Makefile.am): Likewise.
61843         * modules/posixver (Makefile.am): Likewise.
61844         * modules/putenv (Makefile.am): Likewise.
61845         * modules/quote (Makefile.am): Likewise.
61846         * modules/quotearg (Makefile.am): Likewise.
61847         * modules/raise (Makefile.am): Likewise.
61848         * modules/read-file (Makefile.am): Likewise.
61849         * modules/readline (Makefile.am): Likewise.
61850         * modules/readlink (Makefile.am): Likewise.
61851         * modules/readtokens (Makefile.am): Likewise.
61852         * modules/readutmp (Makefile.am): Likewise.
61853         * modules/realloc (Makefile.am): Likewise.
61854         * modules/regex (Makefile.am): Likewise.
61855         * modules/rename-dest-slash (Makefile.am): Likewise.
61856         * modules/rename (Makefile.am): Likewise.
61857         * modules/rijndael (Makefile.am): Likewise.
61858         * modules/rmdir (Makefile.am): Likewise.
61859         * modules/rpmatch (Makefile.am): Likewise.
61860         * modules/safe-read (Makefile.am): Likewise.
61861         * modules/safe-write (Makefile.am): Likewise.
61862         * modules/same-inode (Makefile.am): Likewise.
61863         * modules/same (Makefile.am): Likewise.
61864         * modules/save-cwd (Makefile.am): Likewise.
61865         * modules/savedir (Makefile.am): Likewise.
61866         * modules/setenv (Makefile.am): Likewise.
61867         * modules/settime (Makefile.am): Likewise.
61868         * modules/sha1 (Makefile.am): Likewise.
61869         * modules/sig2str (Makefile.am): Likewise.
61870         * modules/snprintf (Makefile.am): Likewise.
61871         * modules/stat-macros (Makefile.am): Likewise.
61872         * modules/stat-time (Makefile.am): Likewise.
61873         * modules/stdbool (Makefile.am): Likewise.
61874         * modules/stdint (Makefile.am): Likewise.
61875         * modules/stdlib-safer (Makefile.am): Likewise.
61876         * modules/stpcpy (Makefile.am): Likewise.
61877         * modules/stpncpy (Makefile.am): Likewise.
61878         * modules/strcase (Makefile.am): Likewise.
61879         * modules/strcasestr (Makefile.am): Likewise.
61880         * modules/strchrnul (Makefile.am): Likewise.
61881         * modules/strcspn (Makefile.am): Likewise.
61882         * modules/strdup (Makefile.am): Likewise.
61883         * modules/strerror (Makefile.am): Likewise.
61884         * modules/strftime (Makefile.am): Likewise.
61885         * modules/strndup (Makefile.am): Likewise.
61886         * modules/strnlen (Makefile.am): Likewise.
61887         * modules/strpbrk (Makefile.am): Likewise.
61888         * modules/strsep (Makefile.am): Likewise.
61889         * modules/strstr (Makefile.am): Likewise.
61890         * modules/strtod (Makefile.am): Likewise.
61891         * modules/strtoimax (Makefile.am): Likewise.
61892         * modules/strtok_r (Makefile.am): Likewise.
61893         * modules/strtol (Makefile.am): Likewise.
61894         * modules/strtoll (Makefile.am): Likewise.
61895         * modules/strtoul (Makefile.am): Likewise.
61896         * modules/strtoull (Makefile.am): Likewise.
61897         * modules/strtoumax (Makefile.am): Likewise.
61898         * modules/strverscmp (Makefile.am): Likewise.
61899         * modules/sys_socket (Makefile.am): Likewise.
61900         * modules/sys_stat (Makefile.am): Likewise.
61901         * modules/sysexits (Makefile.am): Likewise.
61902         * modules/time_r (Makefile.am): Likewise.
61903         * modules/timegm (Makefile.am): Likewise.
61904         * modules/timespec (Makefile.am): Likewise.
61905         * modules/tmpfile-safer (Makefile.am): Likewise.
61906         * modules/trim (Makefile.am): Likewise.
61907         * modules/unistd-safer (Makefile.am): Likewise.
61908         * modules/unlinkdir (Makefile.am): Likewise.
61909         * modules/unlocked-io (Makefile.am): Likewise.
61910         * modules/userspec (Makefile.am): Likewise.
61911         * modules/utime (Makefile.am): Likewise.
61912         * modules/utimecmp (Makefile.am): Likewise.
61913         * modules/utimens (Makefile.am): Likewise.
61914         * modules/vasnprintf (Makefile.am): Likewise.
61915         * modules/vasprintf (Makefile.am): Likewise.
61916         * modules/vsnprintf (Makefile.am): Likewise.
61917         * modules/xalloc (Makefile.am): Likewise.
61918         * modules/xgetcwd (Makefile.am): Likewise.
61919         * modules/xnanosleep (Makefile.am): Likewise.
61920         * modules/xreadlink (Makefile.am): Likewise.
61921         * modules/xstrtod (Makefile.am): Likewise.
61922         * modules/xstrtol (Makefile.am): Likewise.
61923         * modules/xstrtold (Makefile.am): Likewise.
61924         * modules/yesno (Makefile.am): Likewise.
61925         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
61926
61927 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
61928
61929         * modules/error (Makefile.am): Distribute files through
61930         EXTRA_DIST, not lib_SOURCES.
61931
61932 2006-10-12  Eric Blake  <ebb9@byu.net>
61933
61934         * modules/error (Makefile.am): Distribute files in /lib.
61935         * modules/obstack (Makefile.am): Likewise.
61936
61937 2006-10-12  Bruno Haible  <bruno@clisp.org>
61938
61939         * modules/acl (Makefile.am): Distribute all files in lib/ through
61940         EXTRA_DIST.
61941         * modules/arcfour (Makefile.am): Likewise.
61942         * modules/arctwo (Makefile.am): Likewise.
61943         * modules/argmatch (Makefile.am): Likewise.
61944         * modules/argz (Makefile.am): Likewise.
61945         * modules/atexit (Makefile.am): Likewise.
61946         * modules/backupfile (Makefile.am): Likewise.
61947         * modules/c-strtod (Makefile.am): Likewise.
61948         * modules/c-strtold (Makefile.am): Likewise.
61949         * modules/calloc (Makefile.am): Likewise.
61950         * modules/canon-host (Makefile.am): Likewise.
61951         * modules/canonicalize (Makefile.am): Likewise.
61952         * modules/chdir-long (Makefile.am): Likewise.
61953         * modules/chdir-safer (Makefile.am): Likewise.
61954         * modules/check-version (Makefile.am): Likewise.
61955         * modules/chown (Makefile.am): Likewise.
61956         * modules/cloexec (Makefile.am): Likewise.
61957         * modules/close-stream (Makefile.am): Likewise.
61958         * modules/closeout (Makefile.am): Likewise.
61959         * modules/crc (Makefile.am): Likewise.
61960         * modules/cycle-check (Makefile.am): Likewise.
61961         * modules/des (Makefile.am): Likewise.
61962         * modules/dirfd (Makefile.am): Likewise.
61963         * modules/dirname (Makefile.am): Likewise.
61964         * modules/dup2 (Makefile.am): Likewise.
61965         * modules/euidaccess (Makefile.am): Likewise.
61966         * modules/exclude (Makefile.am): Likewise.
61967         * modules/exitfail (Makefile.am): Likewise.
61968         * modules/fcntl-safer (Makefile.am): Likewise.
61969         * modules/file-type (Makefile.am): Likewise.
61970         * modules/fileblocks (Makefile.am): Likewise.
61971         * modules/filemode (Makefile.am): Likewise.
61972         * modules/filenamecat (Makefile.am): Likewise.
61973         * modules/fnmatch (Makefile.am): Likewise.
61974         * modules/fopen-safer (Makefile.am): Likewise.
61975         * modules/fpending (Makefile.am): Likewise.
61976         * modules/fprintftime (Makefile.am): Likewise.
61977         * modules/free (Makefile.am): Likewise.
61978         * modules/fsusage (Makefile.am): Likewise.
61979         * modules/ftruncate (Makefile.am): Likewise.
61980         * modules/fts (Makefile.am): Likewise.
61981         * modules/gc (Makefile.am): Likewise.
61982         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
61983         * modules/getaddrinfo (Makefile.am): Likewise.
61984         * modules/getcwd (Makefile.am): Likewise.
61985         * modules/getdelim (Makefile.am): Likewise.
61986         * modules/getdomainname (Makefile.am): Likewise.
61987         * modules/getgroups (Makefile.am): Likewise.
61988         * modules/gethostname (Makefile.am): Likewise.
61989         * modules/gethrxtime (Makefile.am): Likewise.
61990         * modules/getline (Makefile.am): Likewise.
61991         * modules/getloadavg (Makefile.am): Likewise.
61992         * modules/getlogin_r (Makefile.am): Likewise.
61993         * modules/getopt (Makefile.am): Likewise.
61994         * modules/getpass (Makefile.am): Likewise.
61995         * modules/getpass-gnu (Makefile.am): Likewise.
61996         * modules/getsubopt (Makefile.am): Likewise.
61997         * modules/gettime (Makefile.am): Likewise.
61998         * modules/gettimeofday (Makefile.am): Likewise.
61999         * modules/getugroups (Makefile.am): Likewise.
62000         * modules/getusershell (Makefile.am): Likewise.
62001         * modules/glob (Makefile.am): Likewise.
62002         * modules/group-member (Makefile.am): Likewise.
62003         * modules/hard-locale (Makefile.am): Likewise.
62004         * modules/hash (Makefile.am): Likewise.
62005         * modules/hmac-md5 (Makefile.am): Likewise.
62006         * modules/hmac-sha1 (Makefile.am): Likewise.
62007         * modules/human (Makefile.am): Likewise.
62008         * modules/idcache (Makefile.am): Likewise.
62009         * modules/imaxabs (Makefile.am): Likewise.
62010         * modules/imaxdiv (Makefile.am): Likewise.
62011         * modules/inet_ntop (Makefile.am): Likewise.
62012         * modules/inet_pton (Makefile.am): Likewise.
62013         * modules/inttostr (Makefile.am): Likewise.
62014         * modules/isapipe (Makefile.am): Likewise.
62015         * modules/lchown (Makefile.am): Likewise.
62016         * modules/long-options (Makefile.am): Likewise.
62017         * modules/lstat (Makefile.am): Likewise.
62018         * modules/malloc (Makefile.am): Likewise.
62019         * modules/mathl (Makefile.am): Likewise.
62020         * modules/mbchar (Makefile.am): Likewise.
62021         * modules/md2 (Makefile.am): Likewise.
62022         * modules/md4 (Makefile.am): Likewise.
62023         * modules/md5 (Makefile.am): Likewise.
62024         * modules/memcasecmp (Makefile.am): Likewise.
62025         * modules/memchr (Makefile.am): Likewise.
62026         * modules/memcmp (Makefile.am): Likewise.
62027         * modules/memcoll (Makefile.am): Likewise.
62028         * modules/memcpy (Makefile.am): Likewise.
62029         * modules/memmem (Makefile.am): Likewise.
62030         * modules/memmove (Makefile.am): Likewise.
62031         * modules/mempcpy (Makefile.am): Likewise.
62032         * modules/memrchr (Makefile.am): Likewise.
62033         * modules/memset (Makefile.am): Likewise.
62034         * modules/memxor (Makefile.am): Likewise.
62035         * modules/mkancesdirs (Makefile.am): Likewise.
62036         * modules/mkdir (Makefile.am): Likewise.
62037         * modules/mkdir-p (Makefile.am): Likewise.
62038         * modules/mkdtemp (Makefile.am): Likewise.
62039         * modules/mkstemp (Makefile.am): Likewise.
62040         * modules/mktime (Makefile.am): Likewise.
62041         * modules/modechange (Makefile.am): Likewise.
62042         * modules/mountlist (Makefile.am): Likewise.
62043         * modules/nanosleep (Makefile.am): Likewise.
62044         * modules/openat (Makefile.am): Likewise.
62045         * modules/pagealign_alloc (Makefile.am): Likewise.
62046         * modules/physmem (Makefile.am): Likewise.
62047         * modules/poll (Makefile.am): Likewise.
62048         * modules/posixtm (Makefile.am): Likewise.
62049         * modules/posixver (Makefile.am): Likewise.
62050         * modules/putenv (Makefile.am): Likewise.
62051         * modules/quote (Makefile.am): Likewise.
62052         * modules/quotearg (Makefile.am): Likewise.
62053         * modules/raise (Makefile.am): Likewise.
62054         * modules/read-file (Makefile.am): Likewise.
62055         * modules/readline (Makefile.am): Likewise.
62056         * modules/readlink (Makefile.am): Likewise.
62057         * modules/readtokens (Makefile.am): Likewise.
62058         * modules/readutmp (Makefile.am): Likewise.
62059         * modules/realloc (Makefile.am): Likewise.
62060         * modules/regex (Makefile.am): Likewise.
62061         * modules/rename (Makefile.am): Likewise.
62062         * modules/rename-dest-slash (Makefile.am): Likewise.
62063         * modules/rijndael (Makefile.am): Likewise.
62064         * modules/rmdir (Makefile.am): Likewise.
62065         * modules/rpmatch (Makefile.am): Likewise.
62066         * modules/safe-read (Makefile.am): Likewise.
62067         * modules/safe-write (Makefile.am): Likewise.
62068         * modules/same (Makefile.am): Likewise.
62069         * modules/save-cwd (Makefile.am): Likewise.
62070         * modules/savedir (Makefile.am): Likewise.
62071         * modules/setenv (Makefile.am): Likewise.
62072         * modules/settime (Makefile.am): Likewise.
62073         * modules/sha1 (Makefile.am): Likewise.
62074         * modules/sig2str (Makefile.am): Likewise.
62075         * modules/snprintf (Makefile.am): Likewise.
62076         * modules/stdlib-safer (Makefile.am): Likewise.
62077         * modules/stpcpy (Makefile.am): Likewise.
62078         * modules/stpncpy (Makefile.am): Likewise.
62079         * modules/strcase (Makefile.am): Likewise.
62080         * modules/strcasestr (Makefile.am): Likewise.
62081         * modules/strchrnul (Makefile.am): Likewise.
62082         * modules/strcspn (Makefile.am): Likewise.
62083         * modules/strdup (Makefile.am): Likewise.
62084         * modules/strerror (Makefile.am): Likewise.
62085         * modules/strftime (Makefile.am): Likewise.
62086         * modules/strndup (Makefile.am): Likewise.
62087         * modules/strnlen (Makefile.am): Likewise.
62088         * modules/strpbrk (Makefile.am): Likewise.
62089         * modules/strsep (Makefile.am): Likewise.
62090         * modules/strstr (Makefile.am): Likewise.
62091         * modules/strtod (Makefile.am): Likewise.
62092         * modules/strtoimax (Makefile.am): Likewise.
62093         * modules/strtok_r (Makefile.am): Likewise.
62094         * modules/strtol (Makefile.am): Likewise.
62095         * modules/strtoll (Makefile.am): Likewise.
62096         * modules/strtoul (Makefile.am): Likewise.
62097         * modules/strtoull (Makefile.am): Likewise.
62098         * modules/strtoumax (Makefile.am): Likewise.
62099         * modules/strverscmp (Makefile.am): Likewise.
62100         * modules/time_r (Makefile.am): Likewise.
62101         * modules/timegm (Makefile.am): Likewise.
62102         * modules/tmpfile-safer (Makefile.am): Likewise.
62103         * modules/unistd-safer (Makefile.am): Likewise.
62104         * modules/unlinkdir (Makefile.am): Likewise.
62105         * modules/userspec (Makefile.am): Likewise.
62106         * modules/utime (Makefile.am): Likewise.
62107         * modules/utimecmp (Makefile.am): Likewise.
62108         * modules/utimens (Makefile.am): Likewise.
62109         * modules/vasnprintf (Makefile.am): Likewise.
62110         * modules/vasprintf (Makefile.am): Likewise.
62111         * modules/vsnprintf (Makefile.am): Likewise.
62112         * modules/xalloc (Makefile.am): Likewise.
62113         * modules/xgetcwd (Makefile.am): Likewise.
62114         * modules/xnanosleep (Makefile.am): Likewise.
62115         * modules/xreadlink (Makefile.am): Likewise.
62116         * modules/xstrtod (Makefile.am): Likewise.
62117         * modules/xstrtol (Makefile.am): Likewise.
62118         * modules/xstrtold (Makefile.am): Likewise.
62119         * modules/yesno (Makefile.am): Likewise.
62120
62121 2006-10-12  Jim Meyering  <jim@meyering.net>
62122
62123         * m4/getloadavg.m4: Revert the change below.
62124
62125         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
62126         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
62127         fail with a symlink, which is what coreutils' ./bootstrap now
62128         creates by default.
62129
62130 2006-10-12  Bruno Haible  <bruno@clisp.org>
62131
62132         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
62133         mingw.
62134         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
62135         MSVC and mingw explicitly.
62136
62137 2006-10-11  Simon Josefsson  <jas@extundo.com>
62138             Bruno Haible  <bruno@clisp.org>
62139
62140         Add support for multiple gnulib-tool invocations in the scope of a
62141         single configure.ac file.
62142         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
62143         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
62144         with the same contents as the _LIBADD variable.
62145         (func_emit_initmacro_start, func_emit_initmacro_end,
62146         func_emit_initmacro_done): New functions.
62147         (func_import, func_create_testdir): Invoke them. Allow the identifiers
62148         gl_LIBOBJS and gl_LTLIBOBJS.
62149
62150 2006-10-11  Bruno Haible  <bruno@clisp.org>
62151
62152         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
62153         (func_create_testdir): Don't create po/Makefile.am, don't invoke
62154         autoreconf. Instead, invoke autopoint explicitly but move back the
62155         *.m4 files from gnulib.
62156
62157 2006-10-11  Bruno Haible  <bruno@clisp.org>
62158
62159         * gnulib-tool (func_usage): Make module names after --create-testdir
62160         optional.
62161         (func_create_testdir): If no module was specified, use nearly all
62162         modules.
62163
62164 2006-10-12  Jim Meyering  <jim@meyering.net>
62165
62166         Big performance improvement for fts-based tools that use FTS_NOSTAT.
62167         Avoid spurious inode-mismatch problems on non-POSIX file systems.
62168         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
62169         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
62170         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
62171         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
62172         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
62173         (fts_set_stat_required): New function.
62174         (fts_open): Defer the calls to fts_stat, if possible or requested.
62175         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
62176         into fts_stat itself.
62177         (fts_read): Perform any required (deferred) fts_stat call.
62178         (fts_build): Likewise, for the directory we're about to open and read.
62179         In the readdir loop, carefully decide whether each entry will require
62180         an eventual call to fts_stat, using dirent.d_type info if available.
62181         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
62182         a command line argument into this function.  Update all callers.
62183         Map a return value of FTS_DOT to FTS_D for a command line argument.
62184         * modules/fts (Depends-on): Add d-type.  Alphabetize.
62185         Thanks to Miklos Szeredi for his tenacity and for the initial
62186         bug report about "find" failing on a FUSE-based file system.
62187
62188         * lib/fts.c (fts_open): Use consistent indentation.
62189
62190 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
62191
62192         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
62193         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
62194         reported by Jim Meyering.  All uses of cache variables renamed
62195         to match Autoconf's.
62196         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
62197         the other one.
62198
62199         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
62200         Fix misspelling in diagnostic.
62201
62202 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
62203
62204         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
62205         defined.  Problem reported by Matthew Woehlke.
62206
62207         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
62208         Add support for Tandem NonStop R series.
62209         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
62210         Use new macro.
62211
62212         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
62213         (has_trailing_slash): Omit size arg; all callers changed.
62214         Omit 'inline', since it doesn't help performance and we'd
62215         need to configure it.
62216         Don't count //, ///, etc. as having a trailing slash.
62217         As a side effect, this removes a C99ism reported by Matthew Woehlke.
62218         (rpl_rename_dest_slash): On failure, use rename's errno rather
62219         than (in some cases) an incorrect or junk errno.
62220         Simplify code by removing need to compute length; this does
62221         cause it to make two passes instead of one over the file name,
62222         but it's worth it.
62223
62224         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
62225         change, since Autoconf's version may no longer be appropriate now
62226         that we are using CVS Autoconf's version.  Add support for Tandem.
62227
62228 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
62229             Bruno Haible  <bruno@clisp.org>
62230
62231         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
62232         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
62233         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
62234         gl_AC_TYPE_LONG_LONG.
62235
62236         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
62237         instead of HAVE_LONG_LONG.
62238         * lib/printf-args.c (printf_fetchargs): Likewise.
62239         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
62240         * lib/vasnprintf.c (VASNPRINTF): Likewise.
62241         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
62242         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
62243         gl_AC_TYPE_LONG_LONG.
62244
62245 2006-10-11  Bruno Haible  <bruno@clisp.org>
62246
62247         * m4/longlong.m4: Add comments.
62248         * m4/ulonglong.m4: Likewise.
62249
62250 2006-10-10  Bruno Haible  <bruno@clisp.org>
62251
62252         Make it possible to #define stpcpy, strdup to aliases.
62253         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
62254         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
62255
62256 2006-10-10  Bruno Haible  <bruno@clisp.org>
62257
62258         Make it possible to #define gcd to an alias.
62259         * lib/gcd.c: Include config.h.
62260
62261 2006-10-10  Bruno Haible  <bruno@clisp.org>
62262
62263         Make it possible to #define c_isascii to an alias.
62264         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
62265         defined. Undefine the macros before defining them, to avoid gcc
62266         warnings.
62267         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
62268         define NO_C_CTYPE_MACROS early.
62269
62270 2006-10-10  Bruno Haible  <bruno@clisp.org>
62271
62272         Make it possible to #define set_program_name to an alias.
62273         * lib/progname.c: Don't undefine set_program_name; instead, undefine
62274         ENABLE_RELOCATABLE early.
62275
62276 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
62277
62278         Port to Tandem NSK OSS, which has 64-bit signed int but at most
62279         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
62280         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
62281         More generally, don't assume that 64-bit signed int is available
62282         if unsigned int is, and vice versa.
62283         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
62284         unsigned symbols, not on their signed counterparts.
62285         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
62286         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
62287         (UINT64_C, UINTMAX_C):
62288         Likewise.
62289         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
62290         unsigned counterparts.
62291         (Have_long_long, Unsigned): New macros.
62292         (Int): Renamed from INT.
62293         (strtoimax): Use the new macros.
62294         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
62295         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
62296         * modules/inttypes (inttypes.h): Substitute
62297         HAVE_UNSIGNED_LONG_LONG_INT.
62298         * modules/stdint (stdint.h): Likewise.
62299         (Files): Add m4/ulonglong.m4.
62300
62301 2006-10-10  Bruno Haible  <bruno@clisp.org>
62302
62303         Fix a gcc -Wshadow warning.
62304         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
62305         to 'bucket'.
62306         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
62307         gl_linked_indexof_from_to): Likewise.
62308         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
62309         Likewise.
62310         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
62311         Likewise.
62312         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
62313         Reported by Eric Blake.
62314
62315 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
62316
62317         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
62318         for NetBSD.  Problem reported by Bruno Haible.
62319
62320 2006-10-09  Jim Meyering  <jim@meyering.net>
62321
62322         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
62323         Patch from Bruno Haible.
62324
62325 2006-10-09  Jim Meyering  <jim@meyering.net>
62326
62327         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
62328         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
62329         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
62330
62331 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
62332
62333         Don't include <config.h> twice; this doesn't work in some cases,
62334         e.g., when config.h has "#define intmax_t long long int" and
62335         we include <config.h>, <inttypes.h>, <config.h> in that order.
62336         Problem reported by Matthew Woehlke in:
62337         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
62338         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
62339         * lib/fts-cycle.c: Don't include config.h.
62340         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
62341         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
62342         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
62343         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
62344         inttypes.h.
62345         * lib/xstrtoumax.c: Likewise.
62346         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
62347         __strtol and the like, so that this module is more like its siblings.
62348         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
62349         Remove; no longer needed now that we assume gnulib inttypes.h.
62350
62351 2006-10-08  Bruno Haible  <bruno@clisp.org>
62352
62353         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
62354         option.
62355
62356 2006-10-07  Jim Meyering  <jim@meyering.net>
62357
62358         * modules/inttypes (inttypes.h): Revert what seems to have been
62359         an inadvertent part of today's change: use "|", not "/" in the
62360         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
62361
62362 2006-10-07  Bruno Haible  <bruno@clisp.org>
62363
62364         * modules/sublist: New file.
62365
62366 2006-10-07  Bruno Haible  <bruno@clisp.org>
62367
62368         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
62369         * modules/argz (argz.h): Likewise.
62370         * modules/arpa_inet (arpa/inet.h): Likewise.
62371         * modules/byteswap (byteswap.h): Likewise.
62372         * modules/configmake (configmake.h): Likewise.
62373         * modules/fcntl (fcntl.h): Likewise.
62374         * modules/fnmatch (fnmatch.h): Likewise.
62375         * modules/getopt (getopt.h): Likewise.
62376         * modules/glob (glob.h): Likewise.
62377         * modules/inttypes (inttypes.h): Likewise.
62378         * modules/netinet_in (netinet/in.h): Likewise.
62379         * modules/poll (poll.h): Likewise.
62380         * modules/stdbool (stdbool.h): Likewise.
62381         * modules/stdint (stdint.h): Likewise.
62382         * modules/sys_select (sys/select.h): Likewise.
62383         * modules/sys_socket (sys/socket.h): Likewise.
62384         * modules/sys_stat (sys/stat.h): Likewise.
62385         * modules/sysexits (sysexits.h): Likewise.
62386         * modules/unistd (unistd.h): Likewise.
62387         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
62388         Add a "DO NOT EDIT" comment to the generated file.
62389         (func_import): Likewise for gnulib-comp.m4.
62390
62391 2006-10-07  Bruno Haible  <bruno@clisp.org>
62392
62393         * lib/gl_sublist.h: New file.
62394         * lib/gl_sublist.c: New file.
62395
62396 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
62397
62398         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
62399         name (relative to the original working directory) and the file
62400         name component (relative to the temporary working directory).  All
62401         callers changed.
62402         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
62403         * lib/mkdir-p.c (make_dir_parents): Likewise.
62404         * lib/mkdir-p.h (make_dir_parents): Likewise.
62405
62406 2006-10-06  Eric Blake  <ebb9@byu.net>
62407
62408         Define several macros for use by the clean-temp module.
62409         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
62410         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
62411         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
62412
62413         * lib/clean-temp.h (close_stream_temp): New declaration.
62414         * lib/clean-temp.c (includes): Pull in headers according to what
62415         other modules are in use.
62416         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
62417
62418 2006-10-06  Bruno Haible  <bruno@clisp.org>
62419
62420         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
62421         instead of fopen, fwriteerror.
62422
62423 2006-10-06  Bruno Haible  <bruno@clisp.org>
62424
62425         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
62426         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
62427         int.
62428         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
62429         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
62430         Return an error indicator.
62431         Suggested by Eric Blake.
62432
62433 2006-10-06  Bruno Haible  <bruno@clisp.org>
62434
62435         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
62436         Reported by Eric Blake.
62437
62438 2006-10-06  Bruno Haible  <bruno@clisp.org>
62439
62440         * modules/closeout (Description): Mention stderr too.
62441
62442 2006-10-06  Bruno Haible  <bruno@clisp.org>
62443         and Paul Eggert  <eggert@cs.ucla.edu>
62444
62445         * lib/closeout.c (close_stdout): Also close stderr.
62446         * lib/closeout.h: Update comment.
62447
62448 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
62449
62450         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
62451         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
62452         * lib/dirchownmod.c: Include lchown.h.
62453         * lib/lchown.c: Don't include files that lchown.h now includes.
62454         Don't declare chown, since lchown.h now does that.
62455         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
62456         (lchown): Define to rpl_chown if lchown is declared but
62457         does not exist.  Declare using a prototype if lchown is not
62458         declared.  Add a copyright notice.
62459         * lib/mkstemp.h: Include <unistd.h>.
62460         * lib/openat.c: Include lchown.h.
62461
62462         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
62463         we now test for that separately.
62464         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
62465         rather than O_NOFOLLOW, when testing whether it's possible to
62466         avoid a race condition reliably.
62467         * lib/savewd.c (savewd_chdir): Likewise.
62468
62469         Remove macros that are no longer needed now that stdint.h is
62470         reliable.
62471         * lib/fsusage.c (UINTMAX_MAX): Remove.
62472         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
62473         * lib/utimecmp.c (SIZE_MAX): Remove.
62474
62475         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
62476
62477         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
62478         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
62479         O_NOATIME works.
62480
62481 2006-10-05  Bruno Haible  <bruno@clisp.org>
62482
62483         * lib/gl_list.h (gl_sortedlist_search_from_to,
62484         gl_sortedlist_indexof_from_to): New declarations.
62485         (gl_list_implementation): New fields sortedlist_search_from_to,
62486         sortedlist_indexof_from_to.
62487         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
62488         inline functions.
62489         * lib/gl_list.c (gl_sortedlist_search_from_to,
62490         gl_sortedlist_indexof_from_to): New functions.
62491         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
62492         function.
62493         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
62494         (gl_array_sortedlist_search_from_to): New function.
62495         (gl_array_list_implementation): Update.
62496         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
62497         function.
62498         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
62499         (gl_carray_sortedlist_search_from_to): New function.
62500         (gl_carray_list_implementation): Update.
62501         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
62502         gl_linked_sortedlist_indexof_from_to): New functions.
62503         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
62504         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
62505         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
62506         gl_tree_sortedlist_indexof_from_to): New functions.
62507         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
62508         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
62509         Update.
62510         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
62511         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
62512         Update.
62513
62514 2006-10-05  Bruno Haible  <bruno@clisp.org>
62515
62516         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
62517         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
62518         (struct gl_list_implementation): Add fields search_from_to,
62519         indexof_from_to. Remove fields search, indexof.
62520         (gl_list_search): Use the search_from_to method.
62521         (gl_list_search_from, gl_list_search_from_to): New functions.
62522         (gl_list_indexof): Use the indexof_from_to method.
62523         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
62524         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
62525         (gl_list_search_from, gl_list_search_from_to): New functions.
62526         (gl_list_indexof): Use the indexof_from_to method.
62527         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
62528         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
62529         gl_array_indexof. Add start_index, end_index arguments.
62530         (gl_array_search_from_to): Renamed from gl_array_search. Add
62531         start_index, end_index arguments.
62532         (gl_array_remove, gl_array_list_implementation): Update.
62533         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
62534         gl_carray_indexof. Add start_index, end_index arguments.
62535         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
62536         start_index, end_index arguments.
62537         (gl_carray_remove, gl_carray_list_implementation): Update.
62538         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
62539         gl_linked_search. Add start_index, end_index arguments.
62540         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
62541         start_index, end_index arguments.
62542         (gl_linked_remove): Update.
62543         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
62544         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
62545         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
62546         field to 'size_t'.
62547         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
62548         gl_tree_search. Add start_index, end_index arguments.
62549         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
62550         start_index, end_index arguments.
62551         (gl_tree_remove): Update.
62552         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
62553         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
62554         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
62555         function.
62556         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
62557         gl_tree_search. Add start_index, end_index arguments.
62558         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
62559         start_index, end_index arguments.
62560         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
62561         Update.
62562         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
62563
62564 2006-10-05  Bruno Haible  <bruno@clisp.org>
62565
62566         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
62567
62568         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
62569         fwriteerror_temp): New declarations.
62570         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
62571         (descriptors): New variable.
62572         (cleanup): First, close the descriptors.
62573         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
62574         fclose_temp, fwriteerror_temp): New functions.
62575
62576 2006-10-04  Jim Meyering  <jim@meyering.net>
62577
62578         * lib/fts.c (fts_open): Tiny comment change.
62579
62580 2006-10-04  Bruno Haible  <bruno@clisp.org>
62581
62582         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
62583         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
62584         gl_LOCK_BODY.
62585         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
62586         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
62587         gl_LOCK_EARLY_BODY.
62588         (gl_LOCK): Require gl_LOCK_BODY.
62589
62590 2006-10-04  Bruno Haible  <bruno@clisp.org>
62591
62592         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
62593         (gl_oset_search_atleast): New declaration.
62594         (struct gl_oset_implementation): Add field 'search_atleast'.
62595         (gl_oset_search_atleast): New inline function.
62596         * lib/gl_oset.c (gl_oset_search_atleast): New function.
62597         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
62598         (gl_array_oset_implementation): Update.
62599         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
62600         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
62601         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
62602
62603 2006-10-04  Bruno Haible  <bruno@clisp.org>
62604
62605         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
62606
62607 2006-10-03  Bruno Haible  <bruno@clisp.org>
62608
62609         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
62610         from gl_avltreehash_list_implementation.
62611
62612 2006-10-03  Bruno Haible  <bruno@clisp.org>
62613
62614         * lib/gl_oset.c (gl_oset_add): Fix return type.
62615
62616 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
62617
62618         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
62619
62620 2006-10-02  Eric Blake  <ebb9@byu.net>
62621
62622         * modules/strnlen (Depends-on): Add extensions.
62623
62624 2006-10-02  Eric Blake  <ebb9@byu.net>
62625
62626         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
62627         definition in 2.60+.
62628
62629 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
62630
62631         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
62632         checks.
62633
62634 2006-10-02  Bruno Haible  <bruno@clisp.org>
62635
62636         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
62637         to the AUTOMAKE_OPTIONS.
62638         Reported by Jim Meyering.
62639
62640 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
62641
62642         Work around bug in Solaris 10 /proc file system:
62643         /proc/self/fd/NNN/.. isn't the parent directory of
62644         the directory whose file descriptor is NNN.  This needs to
62645         be worked around at run time, not compile time, since a
62646         program might be built on Solaris 8, where things work, and
62647         run on Solaris 10.
62648         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
62649         to use the following interface instead:
62650         (OPENAT_BUFFER_SIZE): New macro.
62651         (openat_proc_name): New function.
62652         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
62653         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
62654         Likewise.
62655         * lib/openat-proc.c: New file.
62656         * modules/openat (Files): Add lib/openat-proc.c.
62657         (Depends-on): Add same-inode, stdbool.
62658         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
62659
62660 2006-09-29  Bruno Haible  <bruno@clisp.org>
62661
62662         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
62663         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
62664         argument. Set stdout_closed before testing for ferror, not after.
62665         (fwriteerror, fwriteerror_no_ebadf): New functions.
62666
62667 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62668
62669         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
62670
62671 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
62672
62673         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
62674         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
62675
62676 2006-09-28  Jim Meyering  <jim@meyering.net>
62677
62678         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
62679         Include <unistd.h>.
62680
62681 2006-09-28  Bruno Haible  <bruno@clisp.org>
62682
62683         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
62684         * modules/linkedhash-list (Depends-on): Likewise.
62685         * modules/rbtreehash-list (Depends-on): Likewise.
62686
62687 2006-09-28  Bruno Haible  <bruno@clisp.org>
62688
62689         * lib/strndup.h: Simplify the redefinition of strndup.
62690         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
62691         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
62692
62693 2006-09-28  Bruno Haible  <bruno@clisp.org>
62694
62695         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
62696         * lib/gl_linkedhash_list.c: Likewise.
62697         * lib/gl_rbtreehash_list.c: Likewise.
62698
62699 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
62700
62701         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
62702         getaddrinfo.
62703
62704         * lib/__fpending.h: Don't include <stdio_ext.h> unless
62705         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
62706         it causes <stdio_ext.h> to cause a compile-time error.
62707         Problem reported by Nelson H. F. Beebe.
62708         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
62709         of HAVE_DECL___PENDING.
62710
62711         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
62712         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
62713         declaration.
62714
62715 2006-09-27  Jim Meyering  <jim@meyering.net>
62716
62717         This file could end up with a definition for a function
62718         named __strndup, rather than rpl_strndup on a system with
62719         incomplete weak_alias support.
62720         * lib/strndup.c (strndup): Rename from __strndup.
62721         Remove #defines that used to map __strndup to strndup.
62722         Don't use K&R prototypes.
62723         Remove LIBC-related code, since this file is not sync'd with glibc.
62724         * lib/strndup.h: Revamp, accordingly.
62725         * m4/strndup.m4: Modernize.
62726
62727 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
62728
62729         * modules/savewd (Depends-on): Add 'raise'.
62730         * lib/savewd.c: Include <signal.h>, for 'raise'.
62731
62732 2006-09-26  Jim Meyering  <jim@meyering.net>
62733
62734         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
62735         when we detect Darwin 8.7.0's acl_get_file bug.
62736         Rearrange to perform the new (below) run-test while $LIBS
62737         contains any acl-related library.  Set USE_ACL at the end.
62738         (gl_ACL_GET_FILE): New function.
62739
62740 2006-09-26  Eric Blake  <ebb9@byu.net>
62741
62742         * lib/verror.c: Include <config.h> unconditionally.
62743
62744 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
62745
62746         * modules/clock-time (Maintainer): Add self.
62747         * modules/getlogin_r (Depends-on): Add extensions.
62748
62749 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62750
62751         * modules/clock-time: New module.
62752         * modules/nanosleep (Depends-on): Add clock-time.
62753         * modules/gethrxtime (Depends-on): Likewise.
62754         * modules/gettime (Depends-on): Likewise.
62755         * modules/settime (Depends-on): Likewise.
62756
62757         * modules/fts-lgpl: Depend on openat.
62758         * modules/mkancesdirs: Depend on savewd.
62759         * modules/mkdir-p: Likewise.
62760
62761 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62762
62763         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
62764
62765         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
62766         `gl_have_arbitrary_file_name_length_limit' to
62767         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
62768         actually works between configure runs.
62769
62770 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62771             Bruno Haible  <bruno@clisp.org>
62772
62773         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
62774
62775 2006-09-25  Jim Meyering  <jim@meyering.net>
62776
62777         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
62778         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
62779
62780 2006-09-25  Eric Blake  <ebb9@byu.net>
62781
62782         * gnulib-tool (func_import, func_create_testdir): Fix typos in
62783         exec's in 2006-09-18 patch when shuffling fds.
62784
62785 2006-09-25  Bruno Haible  <bruno@clisp.org>
62786
62787         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
62788         Reported by Jim Meyering.
62789
62790 2006-09-24  Jim Meyering  <jim@meyering.net>
62791
62792         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
62793         compare a pointer against a literal "0".  That caused failures with
62794         at least HP-UX's hpcc.
62795
62796 2006-09-22  Simon Josefsson  <jas@extundo.com>
62797
62798         * modules/gc-sha1:
62799         * modules/gc-md4:
62800         * modules/gc-hmac-sha1:
62801         * modules/gc-hmac-md5:
62802         * modules/gc-des:
62803         * modules/gc-arcfour: Distribute more files.
62804
62805 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62806
62807         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
62808         (gl_linked_iterator_from_to): Initialize struct completely.
62809         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
62810         (gl_tree_iterator_from_to): Likewise
62811         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
62812         * lib/gl_array_list.c [lint] (gl_array_iterator)
62813         (gl_array_iterator_from_to): Likewise.
62814         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
62815         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
62816         (gl_carray_iterator_from_to): Likewise.
62817
62818         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
62819         * lib/md4.c (md4_process_block): Remove unused variable.
62820         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
62821         parentheses for clarity.
62822
62823 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62824
62825         * modules/bison-i18n (Depends-on): Add gettext.
62826
62827 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62828
62829         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
62830         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
62831         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
62832         also add missing comma that caused broken test.
62833         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
62834         stdlib.h, for `abort'.
62835         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
62836         variables.
62837         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
62838         include unistd.h if present, for `rmdir'.
62839         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
62840         variables.
62841         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
62842         in the process include standard headers for prototypes.
62843         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
62844         gets declared on GNU/Linux.
62845         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
62846         unistd.h, for `rmdir'.
62847         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
62848
62849         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
62850         always true.
62851         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
62852
62853         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
62854
62855 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62856
62857         * gnulib-tool (func_version): Create output all at once.  This
62858         may help avoid triggering unnecessary SIGPIPEs, and at any
62859         rate it doesn't hurt.
62860
62861 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62862             Bruno Haible  <bruno@clisp.org>
62863
62864         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
62865         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
62866         * m4/signed.m4 (bh_C_SIGNED): Likewise.
62867
62868         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
62869         (gl_FUNC_VASPRINTF): Invoke it.
62870
62871 2006-09-22  Bruno Haible  <bruno@clisp.org>
62872
62873         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
62874         getloadavg.c as first argument.
62875
62876 2006-09-22  Bruno Haible  <bruno@clisp.org>
62877
62878         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
62879         at the beginning of the gl_INIT macro.
62880         * modules/getloadavg (configure.ac): Pass $gl_source_base to
62881         gl_GETLOADAVG.
62882
62883 2006-09-22  Bruno Haible  <bruno@clisp.org>
62884
62885         * gnulib-tool (func_create_megatestdir): Don't include the config-h
62886         module.
62887         Suggested by Ralf Wildenhues.
62888
62889 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
62890
62891         Import this patch from libc:
62892
62893         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
62894
62895         * lib/regex_internal.c (re_string_reconstruct): Handle
62896         offset < pstr->valid_raw_len && pstr->offsets_needed case.
62897         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
62898         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
62899         re_string_context_at.
62900
62901         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
62902         now requires it.
62903         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
62904         gl_REGEX now does it for us.
62905         (gl_REGEX): Add test taken from
62906         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
62907
62908         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
62909         Check that large offsets work.  Modernize Autoconf usages.
62910         Prefer "yes" to mean a good thing rather than a bad.
62911         Don't put "#define mkstemp" in config.h, as this might interfere
62912         with standard system headers that "#define mkstemp mkstemp64".
62913
62914         * modules/mkstemp (Depends-on): Add extensions, so that
62915         mkstemp is visible on some platforms.
62916         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
62917         (Include): Change to "mkstemp.h" from <stdlib.h>.
62918         (Files): Add mkstemp.h.
62919
62920         * lib/mkstemp.h: New file, since some standard headers
62921         #define mkstemp.
62922         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
62923         Include "mkstemp.h".
62924         Make the _LIBC code resemble glibc original more,
62925         e.g., use K&R style.
62926         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
62927         (mkstemp): Remove, since mkstemp.h does this for us.
62928         * lib/stdlib--.h: Include mkstemp.h.
62929
62930         Import this patch from libc:
62931
62932         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
62933
62934         * lib/tempname.c (__gen_tempname): Change attempts_min
62935         into a macro.  Use preprocessor to decide how to initialize
62936         attempts [Coverity CID 67].
62937
62938 2006-09-20  Bruno Haible  <bruno@clisp.org>
62939
62940         * lib/mkdtemp.c: Import from libc.
62941         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
62942                 * sysdeps/posix/tempname.c (__gen_tempname): Change
62943                 attempts_min into a macro.  Use preprocessor to decide how to
62944                 initialize attempts [Coverity CID 67].
62945         2001-11-27  Paul Eggert  <eggert@twinsun.com>
62946                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
62947                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
62948
62949 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62950
62951         * gnulib-tool (func_exit): New function, to allow to pass the
62952         exit status portably through the trap.  Use everywhere.
62953         (--help, --version): Signal a write error.
62954         (trap): catch SIGPIPE, for write errors.
62955         Exit at the end of the trap, with the correct exit status.
62956
62957 2006-09-19  Karl Berry  <karl@gnu.org>
62958
62959         * doc/gnulib.texi: note about the license texinfo files.
62960
62961 2006-09-19  Eric Blake  <ebb9@byu.net>
62962
62963         * gnulib-tool: Avoid space-tab.
62964
62965 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
62966
62967         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
62968         that prevented coreutils 6.1 from building.  Problem reported
62969         by Petter Reinholdtsen.
62970
62971 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
62972
62973         * gnulib-tool (avoidlist): Fix typo that broke options like
62974         --avoid=lock that are used by coreutils bootstrap.
62975
62976 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
62977
62978         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
62979         more systematically.
62980
62981 2006-09-18  Jim Meyering  <jim@meyering.net>
62982
62983         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
62984
62985 2006-09-18  Bruno Haible  <bruno@clisp.org>
62986
62987         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
62988
62989 2006-09-18  Bruno Haible  <bruno@clisp.org>
62990
62991         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
62992         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
62993         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
62994         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
62995         * m4/gettext.m4: Require autoconf >= 2.52.
62996         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
62997         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
62998         of gl_cv_header_inttypes_h.
62999
63000 2006-09-18  Bruno Haible  <bruno@clisp.org>
63001
63002         * lib/javaversion.c: Include configmake.h.
63003
63004 2006-09-18  Bruno Haible  <bruno@clisp.org>
63005
63006         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
63007         avoid that the while loops be executed in a subshell.
63008
63009 2006-09-18  Bruno Haible  <bruno@clisp.org>
63010
63011         * MODULES.html.sh (func_module): Break long lines.
63012         Suggested by Bruce Korb <bkorb@gnu.org>.
63013
63014 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63015
63016         Speed up by a factor of 1.12.
63017         * gnulib-tool (nl): New variable.
63018         (func_import): Rewrite include directive extraction to only read each
63019         directive once.
63020
63021 2006-09-17  Bruno Haible  <bruno@clisp.org>
63022
63023         * modules/javaversion (Makefile.am): Remove DEFS setting.
63024         (Depends-on): Add configmake, for PKGDATADIR definition.
63025
63026 2006-09-17  Bruno Haible  <bruno@clisp.org>
63027
63028         * gnulib-tool (func_create_testdir): Rewrite all files at once.
63029
63030 2006-09-17  Bruno Haible  <bruno@clisp.org>
63031
63032         * gnulib-tool (func_append): New function, stolen from libtool.m4.
63033         (func_modules_transitive_closure, func_modules_add_dummy,
63034         func_modules_to_filelist, func_import, func_create_testdir,
63035         func_create_megatestdir, ...): Use it wherever possible.
63036         Suggested by Ralf Wildenhues.
63037
63038 2006-09-16  Karl Berry  <karl@gnu.org>
63039
63040         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
63041         to avoid sectioning errors.
63042         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
63043         [ifinfo]: blank line after @center-ed titles.
63044         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
63045         Spell FSF address consistently with others.
63046         (These changes approved by rms.)
63047
63048 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63049
63050         Speed up by a factor of 1.61.
63051         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
63052         already checked module names again.
63053
63054 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63055
63056         Speed up by a factor of 1.13.
63057         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
63058         for new_files, and the input to func_add_or_update.
63059
63060 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63061
63062         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
63063         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
63064
63065 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
63066
63067         * modules/mkancesdirs (Depends-on): Add fcntl.
63068         * modules/savewd: New file.
63069         * MODULES.html.sh (File system functions): Add savewd.
63070
63071         * modules/configmake (Makefile.am): Add support for the
63072         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
63073
63074 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
63075
63076         * m4/savewd.m4: New file.
63077
63078 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
63079
63080         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
63081         (dirchownmod): New arg FD.  All callers changed.
63082         Use FD rather than opening the directory ourself, as opening is
63083         now the caller's responsibility.
63084         * lib/dirchownmod.h: Likewise.
63085         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
63086         hosts that require <sys/types.h> before <sys/stat.h>.  Include
63087         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
63088         (test_dir): Remove.
63089         (mkancesdirs): Return length of prefix of FILE that has already
63090         been made, or -2 if there is a child doing the work.  Redo
63091         algorithm so that it is O(N) rather than O(N**2).  Optimize away
63092         ".", and treat ".." specially since it might stray back into
63093         already-created areas.  Use a subprocess if necessary.  New arg
63094         WD; all users changed.  MAKE_DIR function should now return 1
63095         if it creates a directory that is not readable.  Return -2 if
63096         a child process is spun off.
63097         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
63098         Adjust signature to match code.
63099         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
63100         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
63101         all users changed.
63102         * lib/savewd.c, lib/savewd.h: New files.
63103
63104 2006-09-15  Jim Meyering  <jim@meyering.net>
63105
63106         * modules/rename-dest-slash: New module.
63107         * MODULES.html.sh (posix_compat): Add it here.
63108
63109         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
63110
63111 2006-09-15  Jim Meyering  <jim@meyering.net>
63112
63113         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
63114         file.
63115
63116         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
63117
63118 2006-09-15  Jim Meyering  <jim@meyering.net>
63119
63120         * lib/rename-dest-slash.c (has_trailing_slash): Use
63121         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
63122         (rpl_rename_dest_slash): Perform the cheaper trailing slash
63123         test before testing whether SRC is a directory.
63124         Suggestions from Bruno Haible.
63125
63126         Avoid a warning about an unused variable.
63127         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
63128         into the #ifdef block where it's used.
63129
63130         * lib/rename-dest-slash.c: New file.
63131
63132 2006-09-14  Bruno Haible  <bruno@clisp.org>
63133
63134         * lib/allocsa.c: Include <config.h> unconditionally.
63135         * lib/asnprintf.c: Likewise.
63136         * lib/asprintf.c: Likewise.
63137         * lib/c-strcasecmp.c: Likewise.
63138         * lib/c-strcasestr.c: Likewise.
63139         * lib/c-strncasecmp.c: Likewise.
63140         * lib/c-strstr.c: Likewise.
63141         * lib/classpath.c: Likewise.
63142         * lib/clean-temp.c: Likewise.
63143         * lib/concatpath.c: Likewise.
63144         * lib/copy-file.c: Likewise.
63145         * lib/csharpcomp.c: Likewise.
63146         * lib/csharpexec.c: Likewise.
63147         * lib/execute.c: Likewise.
63148         * lib/fatal-signal.c: Likewise.
63149         * lib/findprog.c: Likewise.
63150         * lib/fwriteerror.c: Likewise.
63151         * lib/gl_array_list.c: Likewise.
63152         * lib/gl_array_oset.c: Likewise.
63153         * lib/gl_avltree_list.c: Likewise.
63154         * lib/gl_avltree_oset.c: Likewise.
63155         * lib/gl_avltreehash_list.c: Likewise.
63156         * lib/gl_carray_list.c: Likewise.
63157         * lib/gl_linked_list.c: Likewise.
63158         * lib/gl_linkedhash_list.c: Likewise.
63159         * lib/gl_list.c: Likewise.
63160         * lib/gl_oset.c: Likewise.
63161         * lib/gl_rbtree_list.c: Likewise.
63162         * lib/gl_rbtree_oset.c: Likewise.
63163         * lib/gl_rbtreehash_list.c: Likewise.
63164         * lib/imaxabs.c: Likewise.
63165         * lib/imaxdiv.c: Likewise.
63166         * lib/javacomp.c: Likewise.
63167         * lib/javaexec.c: Likewise.
63168         * lib/javaversion.c: Likewise.
63169         * lib/linebreak.c: Likewise.
63170         * lib/localcharset.c: Likewise.
63171         * lib/lock.c: Likewise.
63172         * lib/mbchar.c: Likewise.
63173         * lib/mbswidth.c: Likewise.
63174         * lib/mkdtemp.c: Likewise.
63175         * lib/pipe.c: Likewise.
63176         * lib/printf-args.c: Likewise.
63177         * lib/printf-parse.c: Likewise.
63178         * lib/progname.c: Likewise.
63179         * lib/progreloc.c: Likewise.
63180         * lib/readlink.c: Likewise.
63181         * lib/sh-quote.c: Likewise.
63182         * lib/stpcpy.c: Likewise.
63183         * lib/stpncpy.c: Likewise.
63184         * lib/strcasecmp.c: Likewise.
63185         * lib/strcasestr.c: Likewise.
63186         * lib/strcspn.c: Likewise.
63187         * lib/striconv.c: Likewise.
63188         * lib/strncasecmp.c: Likewise.
63189         * lib/strnlen1.c: Likewise.
63190         * lib/strstr.c: Likewise.
63191         * lib/strtok_r.c: Likewise.
63192         * lib/tls.c: Likewise.
63193         * lib/tmpdir.c: Likewise.
63194         * lib/unicodeio.c: Likewise.
63195         * lib/unsetenv.c: Likewise.
63196         * lib/vasnprintf.c: Likewise.
63197         * lib/vasprintf.c: Likewise.
63198         * lib/wait-process.c: Likewise.
63199         * lib/xallocsa.c: Likewise.
63200         * lib/xsetenv.c: Likewise.
63201         * lib/xstriconv.c: Likewise.
63202
63203 2006-09-13  Simon Josefsson  <jas@extundo.com>
63204
63205         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
63206         that internally, suggested by Ralf Wildenhues
63207         <Ralf.Wildenhues@gmx.de>.
63208
63209 2006-09-13  Simon Josefsson  <jas@extundo.com>
63210
63211         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
63212         @LIBOBJS@.
63213         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63214
63215 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
63216
63217         * lib/_fpending.c: Include <config.h> unconditionally, since we no
63218         longer worry about uses that don't define HAVE_CONFIG_H.
63219         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
63220         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
63221         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
63222         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
63223         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
63224         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
63225         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
63226         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
63227         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
63228         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
63229         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
63230         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
63231         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
63232         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
63233         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
63234         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
63235         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
63236         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
63237         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
63238         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
63239         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
63240         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
63241         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
63242         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
63243         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
63244         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
63245         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
63246         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
63247         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
63248         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
63249         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
63250         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
63251         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
63252         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
63253         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
63254         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
63255         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
63256         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
63257         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
63258         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
63259         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
63260         Likewise.
63261
63262 2006-09-13  Eric Blake  <ebb9@byu.net>
63263
63264         * lib/getopt.c: Fix typo in last commit.
63265
63266 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
63267
63268         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
63269         dgettext.
63270
63271 2006-09-12  Jim Meyering  <jim@meyering.net>
63272
63273         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
63274         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
63275         Reported by Nelson H. F. Beebe.
63276
63277 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
63278
63279         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
63280         program_invocation_name and program_invocation_short_name are
63281         initialized.
63282         * lib/argp-namefrob.h: Move declarations of program_invocation_name
63283         and program_invocation_short_name to argp.h, so they are visible
63284         to user programs.
63285         * lib/argp.h: Likewise
63286
63287 2006-09-10  Bruno Haible  <bruno@clisp.org>
63288
63289         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
63290         m4/inttypes_h.m4, m4/uintmax_t.m4.
63291
63292 2006-09-10  Bruno Haible  <bruno@clisp.org>
63293
63294         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
63295         gl_AC_TYPE_UINTMAX_T.
63296
63297 2006-09-10  Bruno Haible  <bruno@clisp.org>
63298
63299         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
63300
63301 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
63302
63303         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
63304         convention.  Text proposed by Bruno Haible.
63305         (struct argp_option): Document the use of N_() wrappers.
63306
63307         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
63308         '\v', and translate the two parts separately, instead of feeding
63309         the whole string to gettext.  This allows to exclude
63310         '\v' from the strings visible to the translator by writing doc
63311         strings as N_("..") "\v" N_("..").
63312
63313 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
63314
63315         * config/srclist.txt: Undo latest change; the bug was fixed.
63316
63317 2006-09-09  Bruno Haible  <bruno@clisp.org>
63318
63319         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
63320         assignments if building a library without libtool.
63321         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
63322         in func_emit_lib_Makefile_am.
63323         (func_import): When building a static library libfoo.a, arrange to
63324         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
63325         (func_create_testdir): Likewise.
63326         * modules/gc (configure.ac, Makefile.am): If building statically,
63327         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
63328         * modules/iconvme (configure.ac, Makefile.am): Likewise.
63329         * modules/striconv (configure.ac, Makefile.am): Likewise.
63330         Based on a suggestion by Ralf Wildenhues.
63331
63332 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
63333
63334         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
63335         Check for unistd.h too, since Autoconf doesn't assume POSIX.
63336         Also:
63337
63338         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
63339         Add year_2050_test to catch glibc bug 2821
63340         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
63341
63342         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
63343         Prefer #ifdef to #if.
63344
63345         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
63346         Return from 'main' instead of calling 'exit'.
63347
63348 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
63349
63350         * lib/mktime.c (guess_time_tm): Fix bug where mktime
63351         returned the maximum time_t value rather than (time_t) -1.
63352         Problem originally reported by William Bardwell
63353         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
63354
63355         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
63356         Moved to here ...
63357         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
63358         ... from here.
63359
63360 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
63361
63362         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
63363         2821 is fixed.
63364
63365 2006-09-08  Jim Meyering  <jim@meyering.net>
63366
63367         Don't make generated files read-only.  That would bother too many
63368         people.  However, do retain the ability to work when targets are
63369         read-only: remove the destination and temporary files before writing
63370         them (when generated via sed or echo), or by using the -f option for
63371         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
63372         * modules/alloca-opt, modules/argz, modules/arpa_inet:
63373         * modules/byteswap, modules/configmake, modules/fcntl:
63374         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
63375         * modules/localcharset, modules/netinet_in, modules/poll:
63376         * modules/stdbool, modules/stdint, modules/sys_select:
63377         * modules/sys_socket, modules/sys_stat, modules/sysexits:
63378
63379 2006-09-08  Jim Meyering  <jim@meyering.net>
63380
63381         Avoid new build failure on FreeBSD 6.0.
63382         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
63383         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
63384         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
63385
63386 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63387
63388         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
63389
63390 2006-09-07  Jim Meyering  <jim@meyering.net>
63391
63392         Fix global typo in last change: use chmod u-w, not chmod u-x.
63393         Spotted by Paul Eggert and Bruce Korb.
63394         * modules/alloca-opt, modules/argz, modules/arpa_inet:
63395         * modules/byteswap, modules/configmake, modules/fcntl:
63396         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
63397         * modules/localcharset, modules/netinet_in, modules/poll:
63398         * modules/stdbool, modules/stdint, modules/sys_select:
63399         * modules/sys_socket, modules/sys_stat, modules/sysexits:
63400
63401 2006-09-06  Jim Meyering  <jim@meyering.net>
63402
63403         Make generated files be read-only.
63404         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
63405         Ensure that each generated file is now read-only.
63406         * modules/argz: Likewise.
63407         * modules/arpa_inet: Likewise.
63408         * modules/byteswap: Likewise.
63409         * modules/configmake: Likewise.
63410         * modules/fcntl: Likewise.
63411         * modules/fnmatch: Likewise.
63412         * modules/getopt: Likewise.
63413         * modules/glob: Likewise.
63414         * modules/inttypes: Likewise.
63415         * modules/netinet_in: Likewise.
63416         * modules/poll: Likewise.
63417         * modules/stdbool: Likewise.
63418         * modules/stdint: Likewise.
63419         * modules/sys_select: Likewise.
63420         * modules/sys_socket: Likewise.
63421         * modules/sys_stat: Likewise.
63422         * modules/sysexits: Likewise.
63423         * modules/localcharset: Same as above, but continue using temporary
63424         file named "t-$@" (why different?) rather than the "$@-t" used
63425         everywhere else.
63426
63427         * modules/sysexits (Makefile.am): Replace literal occurrences
63428         of "sysexit.h" more readable, and more consistent, "$@".
63429
63430 2006-09-06  Bruno Haible  <bruno@clisp.org>
63431
63432         * modules/striconv: New file.
63433         * modules/xstriconv: New file.
63434         * MODULES.html.sh (Internationalization functions): Add striconv,
63435         xstriconv.
63436
63437 2006-09-06  Bruno Haible  <bruno@clisp.org>
63438
63439         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
63440         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
63441         not using libtool correctly.
63442
63443 2006-09-06  Bruno Haible  <bruno@clisp.org>
63444
63445         * lib/striconv.h: New file.
63446         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
63447         iconvstring.c.
63448         * lib/xstriconv.h: New file.
63449         * lib/xstriconv.c: New file.
63450
63451 2006-09-06  Bruno Haible  <bruno@clisp.org>
63452
63453         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
63454         lib_..._LDFLAGS.
63455
63456 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63457
63458         * lib/argz_.h: Sync from Libtool.
63459
63460         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
63461                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
63462
63463         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
63464
63465 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
63466
63467         * modules/trim: New file.
63468
63469 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
63470
63471         * lib/trim.h: New file.
63472         * lib/trim.c: New file.
63473
63474 2006-09-05  Bruno Haible  <bruno@clisp.org>
63475
63476         * MODULES.html.sh (String handling): Add trim.
63477
63478 2006-09-04  Karl Berry  <karl@gnu.org>
63479
63480         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
63481         until next release.
63482
63483 2006-09-03  Bruno Haible  <bruno@clisp.org>
63484
63485         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
63486         correctly.
63487
63488 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
63489
63490         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
63491         not gl_GETLOADAVG.  Omit unneeded semicolons.
63492         Problems reported by Ralf Wildenhues in
63493         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
63494         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
63495         at the end, which is the usual gnulib style.
63496
63497         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
63498         of doing all the work ourselves.
63499         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
63500         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
63501
63502 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
63503
63504         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
63505         Problem reported by Ralf Wildenhues in
63506         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
63507
63508         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
63509         HAVE_STRUCT_STATFS_F_FSTYPENAME.
63510
63511 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
63512
63513         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
63514         yesterday's patch by changing test -n to test -z.
63515
63516 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63517
63518         * modules/getloadavg (Files): Add m4/getloadavg.m4.
63519         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
63520         the former is now obsolescent.
63521
63522         * modules/chdir-long (Depends-on): Add fcntl.
63523
63524 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63525
63526         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
63527         obsolescent, and programs should use gnulib instead.
63528         * m4/getloadavg.m4: New file, with contents taken from Autoconf
63529         but with prefixes changed.
63530
63531 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63532
63533         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
63534         or stdbool.h, because they might not exist while configuring.
63535
63536         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
63537         Don't include unistd.h or limits.h; not needed, since chdir-long.h
63538         does that for us.
63539         (O_DIRECTORY): Remove.
63540
63541 2006-08-31  Eric Blake  <ebb9@byu.net>
63542
63543         * gnulib-tool: Don't let emacs change spaces to TAB.
63544
63545 2006-08-31  Bruno Haible  <bruno@clisp.org>
63546
63547         * gnulib-tool: When calling func_import more than once, do it in a
63548         subshell.
63549         Reported by Eric Blake <ebb9@byu.net>.
63550
63551 2006-08-31  Bruno Haible  <bruno@clisp.org>
63552
63553         * gnulib-tool (nl): Remove variable.
63554         (sed_transform_lib_file): Use more robust test for config-h module.
63555         (func_import): Fix typo in 2006-08-25 patch.
63556
63557 2006-08-31  Bruno Haible  <bruno@clisp.org>
63558
63559         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
63560         specified, augment Makefile.am variables instead of assigning them.
63561
63562 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
63563
63564         Work around a bug in both the Linux and SunOS 64-bit kernels:
63565         nanosleep mishandles sleeps for longer than 2**31 seconds.
63566         Problem reported by Frank v Waveren in
63567         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
63568         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
63569         Check for nanosleep bug.
63570         (LIB_NANOSLEEP): Append clock_gettime library if needed.
63571
63572 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
63573
63574         Work around a bug in both the Linux and SunOS 64-bit kernels:
63575         nanosleep mishandles sleeps for longer than 2**31 seconds.
63576         Problem reported by Frank v Waveren in
63577         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
63578         * lib/nanosleep.c (BILLION): New constant.
63579         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
63580         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
63581         implementation.
63582
63583 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
63584
63585         * modules/nanosleep (Depends-on): Add gettime.
63586
63587 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
63588         and Simon Josefsson  <jas@extundo.com>
63589         and Oskar Liljeblad  <oskar@osk.mine.nu>
63590
63591         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
63592         * gnulib-tool (func_import): New license type 'unmodifiable license
63593         text'.
63594         * modules/fdl: Use it.  Longer description.
63595         * module/gpl, module/lgpl: New files.
63596
63597 2006-08-30  Jim Meyering  <jim@meyering.net>
63598
63599         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
63600         shadowing the parameter.
63601
63602 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63603
63604         Sync from Libtool:
63605
63606         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63607
63608         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
63609         sharing with gnulib.  Report by Eric Blake.
63610
63611 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
63612
63613         * modules/isapipe: New file.
63614         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
63615
63616 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
63617
63618         * modules/configmake (Makefile.am): Add a comment, and omit
63619         the CONFIGMAKE_ prefix from generated macro names.  Suggested
63620         by Bruno Haible.
63621
63622 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
63623
63624         * m4/isapipe.m4: New file.
63625
63626 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
63627
63628         * lib/isapipe.c, lib/isapipe.h: New files.
63629
63630 2006-08-29  Jim Meyering  <jim@meyering.net>
63631
63632         * modules/configmake (Makefile.am): Make configmake.h depend on
63633         Makefile.  Otherwise, a stale configmake.h could hang around.
63634
63635 2006-08-29  Eric Blake  <ebb9@byu.net>
63636
63637         * lib/error.c (error_at_line, print_errno_message): Match libc, after
63638         resolution of upstream bug 3044.
63639
63640 2006-08-29  Bruno Haible  <bruno@clisp.org>
63641
63642         * modules/localcharset (Depends-on): Add configmake.
63643         (Makefile.am): Remove setting of LIBDIR through DEFS.
63644
63645 2006-08-29  Bruno Haible  <bruno@clisp.org>
63646
63647         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
63648         defined.
63649
63650 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
63651
63652         * modules/fcntl: New file.
63653         * modules/chdir-safer (Depends-on): Add fcntl.
63654         * modules/fts: Likewise.
63655         * modules/mkdir-p: Likewise.
63656
63657         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
63658         This undoes the most recent change, since we're now addressing the
63659         problem in a different way.
63660
63661         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
63662         into output, since the output might be called Makefile.am even
63663         if $makefile_name is something different.
63664         (func_import): Use $makefile_am rather than
63665         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
63666         empty.
63667
63668         * modules/inttypes (Files): Add m4/inttypes-h.m4.
63669
63670 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
63671
63672         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
63673         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
63674         recent change to stdint.m4, since we're now addressing the problem in a
63675         different way.
63676
63677 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
63678
63679         * m4/fcntl_h.m4: New file.
63680
63681 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
63682
63683         * lib/fcntl_.h: New file.
63684         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
63685         the fcntl module.
63686         * lib/dirchownmod.c: Likewise.
63687         * lib/fts.c: Likewise.
63688
63689         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
63690         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
63691         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
63692         just before including <inttypes.h>, to avoid circular inclusion.
63693
63694 2006-08-28  Jim Meyering  <jim@meyering.net>
63695
63696         * doc/visibility.texi: Actually read and correct the grammar of the
63697         sentence affected by yesterday's change.
63698
63699 2006-08-28  Eric Blake  <ebb9@byu.net>
63700
63701         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
63702         needs wrapper.
63703
63704 2006-08-28  Eric Blake  <ebb9@byu.net>
63705
63706         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
63707
63708 2006-08-28  Eric Blake  <ebb9@byu.net>
63709
63710         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
63711
63712 2006-08-28  Bruno Haible  <bruno@clisp.org>
63713
63714         * modules/c-strstr: New file, from GNU gettext.
63715         * MODULES.html.sh (String handling): Add c-strstr.
63716
63717 2006-08-28  Bruno Haible  <bruno@clisp.org>
63718
63719         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
63720         macros.
63721         Reported by Eric Blake.
63722
63723 2006-08-28  Bruno Haible  <bruno@clisp.org>
63724
63725         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
63726         (VASNPRINTF): Return a string of length > INT_MAX without failing.
63727         * lib/vasprintf.c: Include errno.h, limits.h.
63728         (EOVERFLOW): New fallback definition.
63729         (vasprintf): Test here whether the string length is > INT_MAX.
63730         * lib/vsnprintf.c: Include errno.h, limits.h.
63731         (EOVERFLOW): New fallback definition.
63732         (vsnprintf): Fix bug when generated string was too long for the buffer.
63733         Test here whether the string length is > INT_MAX.
63734
63735 2006-08-28  Bruno Haible  <bruno@clisp.org>
63736
63737         * lib/inttypes_.h (SCNX*): Remove definitions.
63738         Reported by Eric Blake.
63739
63740 2006-08-28  Bruno Haible  <bruno@clisp.org>
63741
63742         * lib/c-strstr.h: New file, from GNU gettext.
63743         * lib/c-strstr.c: New file, from GNU gettext.
63744
63745 2006-08-28  Bruno Haible  <bruno@clisp.org>
63746
63747         * gnulib-tool: Reorder some statements.
63748
63749 2006-08-28  Bruno Haible  <bruno@clisp.org>
63750
63751         * gnulib-tool: New option --makefile-name.
63752         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
63753         $makefile_name.
63754         (func_import): Write $makefile_name to the cache file, and read it from
63755         there unless explicitly specified. Use $makefile_name as file name
63756         instead of Makefile.am. Adjust the recommendations accordingly.
63757
63758 2006-08-28  Bruno Haible  <bruno@clisp.org>
63759
63760         * gnulib-tool (func_verify_module): Check against misapplying patch.
63761
63762 2006-08-28  Bruno Haible  <bruno@clisp.org>
63763
63764         * gnulib-tool (func_relativize, func_relconcat): New functions.
63765         Give an error if --local-dir is given with --update.
63766         Remove trailing slashes from $local_gnulib_dir.
63767         (func_import): Store the relativized $local_gnulib_dir in
63768         gnulib-cache.m4, and read it from there if not specified explicitly.
63769
63770 2006-08-28  Bruno Haible  <bruno@clisp.org>
63771
63772         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
63773         is the current directory. Respect also $local_gnulib_dir.
63774
63775 2006-08-28  Bruno Haible  <bruno@clisp.org>
63776             Simon Josefsson  <jas@extundo.com>
63777
63778         BeOS portability.
63779         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
63780
63781 2006-08-27  Jim Meyering  <jim@meyering.net>
63782
63783         * doc/visibility.texi: Remove duplicate word: "pointer".
63784
63785 2006-08-26  Bruno Haible  <bruno@clisp.org>
63786
63787         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
63788         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
63789         (Makefile.am): Create inttypes.h from inttypes_.h.
63790         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
63791
63792         * modules/imaxabs: New file.
63793
63794         * modules/imaxdiv: New file.
63795
63796 2006-08-26  Bruno Haible  <bruno@clisp.org>
63797
63798         * m4/inttypes.m4: New file.
63799         * m4/_inttypes_h.m4: Remove file.
63800         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
63801         PRI_MACROS_BROKEN.
63802         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
63803
63804         * m4/imaxabs.m4: New file.
63805
63806         * m4/imaxdiv.m4: New file.
63807
63808 2006-08-26  Bruno Haible  <bruno@clisp.org>
63809
63810         * lib/inttypes_.h: New file.
63811         * lib/inttypes.h: Remove file.
63812         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
63813
63814         * lib/imaxabs.c: New file.
63815
63816         * lib/imaxdiv.c: New file.
63817
63818 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
63819
63820         New config-h module, so that "make" output needn't be cluttered
63821         by -DHAVE_CONFIG_H.
63822         * MODULES.html.sh (Support for building libraries and executables):
63823         Add config-h.
63824         * modules/config-h: New file.
63825         * gnulib-tool (nl, sed_transform_lib_file): New vars.
63826         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
63827         the config-h module is used.
63828
63829         New configmake module, so that "make" output needn't be cluttered
63830         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
63831         * MODULES.html.sh (Support for building libraries and executables):
63832         Add configmake.
63833         * modules/configmake: New file.
63834
63835 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
63836
63837         * m4/config-h.m4: New file.
63838
63839 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
63840
63841         * config/srclist.txt: Add elisp-comp.
63842
63843 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
63844
63845         * MODULES.html.sh (Support for building libraries and executables):
63846         Add elisp-comp.
63847         * build-aux/elisp-comp: New file.
63848         * modules/elisp-comp: New file.
63849
63850 2006-08-24  Bruno Haible  <bruno@clisp.org>
63851
63852         * gnulib-tool (func_create_testdir): Use non-default values of
63853         sourcebase and m4base.
63854
63855 2006-08-24  Bruno Haible  <bruno@clisp.org>
63856
63857         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
63858         HTML structure.
63859
63860 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
63861
63862         * modules/openat (Depends-on): Add lchown.
63863
63864 2006-08-23  Bruno Haible  <bruno@clisp.org>
63865
63866         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
63867         of gl_LOCK_EARLY instead of gl_LOCK.
63868
63869 2006-08-23  Bruno Haible  <bruno@clisp.org>
63870
63871         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
63872         on OSF/1 to no.
63873         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
63874
63875 2006-08-23  Bruno Haible  <bruno@clisp.org>
63876
63877         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
63878         as unusable.
63879
63880         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
63881         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
63882         (gl_LOCK): New macro.
63883
63884 2006-08-22  Simon Josefsson  <jas@extundo.com>
63885
63886         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
63887         to md5 module.
63888
63889 2006-08-22  Simon Josefsson  <jas@extundo.com>
63890
63891         * MODULES.html.sh: Add "Support for maintaining and release
63892         projects".
63893
63894         * build-aux/gnupload: New file, from coreutils.
63895
63896 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
63897
63898         Avoid the need for AC_LIBSOURCES in m4 macros.
63899         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
63900         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
63901         * modules/check-version (EXTRA_DIST): Add check-version.h.
63902         * modules/crc (EXTRA_DIST): Add crc.h.
63903         * modules/des (EXTRA_DIST): Add des.h.
63904         * modules/gc (EXTRA_DIST): Add gc.h.
63905         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
63906         * modules/getline (EXTRA_DIST): Add getline.h.
63907         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
63908         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
63909         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
63910         * modules/md2 (EXTRA_DIST): Add md2.h.
63911         * modules/md4 (EXTRA_DIST): Add md4.h.
63912         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
63913         * modules/read-file (EXTRA_DIST): Add read-file.h.
63914         * modules/readline (EXTRA_DIST): Add readline.h.
63915         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
63916         rijndael-api-fst.h.
63917
63918 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
63919
63920         * m4/rijndael.m4 (gl_ARCFOUR):
63921         * m4/arctwo.m4 (gl_ARCTWO):
63922         * m4/check-version.m4 (gl_CHECK_VERSION):
63923         * m4/crc.m4 (gl_CRC):
63924         * m4/des.m4 (gl_DES):
63925         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
63926         * m4/gc.m4 (gl_GC):
63927         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
63928         * m4/getline.m4 (gl_FUNC_GETLINE):
63929         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
63930         * m4/hmac-md5.m4 (gl_HMAC_MD5):
63931         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
63932         * m4/md2.m4 (gl_MD2):
63933         * m4/md4.m4 (gl_MD4):
63934         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
63935         * m4/read-file.m4 (gl_FUNC_READ_FILE):
63936         * m4/readline.m4 (gl_FUNC_READLINE):
63937         * m4/rijndael.m4 (gl_RIJNDAEL):
63938         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
63939         to get the necessary .h files and whatnot.
63940
63941 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
63942
63943         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
63944         gnulib rather than the other way around.
63945         * config/srclistvars.sh (COREUTILS): Remove.
63946
63947 2006-08-22  Jim Meyering  <jim@meyering.net>
63948
63949         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
63950
63951         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
63952
63953 2006-08-22  Eric Blake  <ebb9@byu.net>
63954
63955         * modules/regexprops-generic: New file.
63956         * MODULES.html.sh (Support for building documentation): List it.
63957
63958 2006-08-22  Eric Blake  <ebb9@byu.net>
63959
63960         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
63961         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
63962         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
63963         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
63964
63965 2006-08-22  Bruno Haible  <bruno@clisp.org>
63966
63967         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
63968         and lib_LTLIBRARIES like the other lib_* variables.
63969
63970 2006-08-22  Bruno Haible  <bruno@clisp.org>
63971
63972         * build-aux/x-to-1.in: New file, from GNU gettext.
63973
63974 2006-08-22  Bruno Haible  <bruno@clisp.org>
63975
63976         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
63977         <utmpx.h> exists.
63978
63979 2006-08-22  Bruno Haible  <bruno@clisp.org>
63980
63981         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
63982         <utmpx.h> exists.
63983
63984 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
63985
63986         BeOS portability.
63987         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
63988         exist.
63989         Problem reported by Bruno Haible.
63990
63991 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
63992
63993         Avoid the need for AC_LIBSOURCES in m4 macros.
63994         * modules/acl (EXTRA_DIST): Add acl.h.
63995         * modules/argmatch (Files): Add m4/argmatch.m4.
63996         (configure.ac): Add gl_ARGMATCH.
63997         (EXTRA_DIST): Renamed from lib_SOURCES, for
63998         consistency with the other modules.  Remove argmatch.c.
63999         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
64000         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
64001         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
64002         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
64003         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
64004         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
64005         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
64006         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
64007         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
64008         * modules/closeout (EXTRA_DIST): Add closeout.h.
64009         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
64010         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
64011         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
64012         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
64013         dirname.h; remove basename.c and stripslash.c.
64014         * modules/exclude (EXTRA_DIST): Add exclude.h.
64015         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
64016         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
64017         * modules/file-type (EXTRA_DIST): Add file-type.h.
64018         * modules/filemode (EXTRA_DIST): Add filemode.h.
64019         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
64020         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
64021         * modules/fpending (EXTRA_DIST): Add __fpending.h.
64022         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
64023         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
64024         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
64025         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
64026         * modules/getdate (EXTRA_DIST): Add getdate.c.
64027         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
64028         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
64029         * modules/getpass (EXTRA_DIST): Add getpass.h.
64030         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
64031         * modules/group-member (EXTRA_DIST): Add group-member.h.
64032         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
64033         * modules/hash (EXTRA_DIST): Add hash.h.
64034         * modules/human (EXTRA_DIST): Add human.h.
64035         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
64036         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
64037         * modules/lchown (EXTRA_DIST): Add lchown.h.
64038         * modules/long-options (EXTRA_DIST): Add long-options.h.
64039         * modules/lstat (EXTRA_DIST): Add lstat.h.
64040         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
64041         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
64042         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
64043         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
64044         * modules/memxor (EXTRA_DIST): Add memxor.h.
64045         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
64046         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
64047         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
64048         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
64049         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
64050         * modules/physmem (EXTRA_DIST): Add physmem.h.
64051         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
64052         * modules/posixver (EXTRA_DIST): Add posixver.h.
64053         * modules/quote (EXTRA_DIST): Add quote.h.
64054         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
64055         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
64056         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
64057         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
64058         regex_internal.h regexec.c.
64059         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
64060         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
64061         * modules/same (EXTRA_DIST): Add same.h.
64062         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
64063         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
64064         * modules/savedir (EXTRA_DIST): Add savedir.h.
64065         * modules/sha1 (EXTRA_DIST): Add sha1.h.
64066         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
64067         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
64068         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
64069         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
64070         * modules/strdup (EXTRA_DIST): Add strdup.h.
64071         * modules/strftime (EXTRA_DIST): Add strftime.h.
64072         * modules/strndup (EXTRA_DIST): Add strndup.h.
64073         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
64074         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
64075         * modules/time_r (EXTRA_DIST): Add time_r.h.
64076         * modules/timespec (EXTRA_DIST): Add timespec.h.
64077         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
64078         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
64079         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
64080         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
64081         * modules/userspec (EXTRA_DIST): Add userspec.h.
64082         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
64083         * modules/utimens (EXTRA_DIST): Add utimens.h.
64084         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
64085         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
64086         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
64087         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
64088         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
64089         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
64090         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
64091         * modules/yesno (EXTRA_DIST): Add yesno.h.
64092
64093 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
64094
64095         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
64096
64097         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
64098         * m4/dev-ino.m4, same-inode.m4: Remove.
64099
64100         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
64101         * m4/acl.m4 (AC_FUNC_ACL):
64102         * m4/backupfile.m4 (gl_BACKUPFILE):
64103         * m4/c-strtod.m4 (gl_C99_STRTOLD):
64104         * m4/canon-host.m4 (gl_CANON_HOST):
64105         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
64106         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
64107         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
64108         * m4/cloexec.m4 (gl_CLOEXEC):
64109         * m4/close-stream.m4 (gl_CLOSE_STREAM):
64110         * m4/closeout.m4 (gl_CLOSEOUT):
64111         * m4/dirfd.m4 (gl_FUNC_DIRFD):
64112         * m4/dirname.m4 (gl_DIRNAME):
64113         * m4/exclude.m4 (gl_EXCLUDE):
64114         * m4/exitfail.m4 (gl_EXITFAIL):
64115         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
64116         * m4/file-type.m4 (gl_FILE_TYPE):
64117         * m4/filemode.m4 (gl_FILEMODE):
64118         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
64119         * m4/fpending.m4 (gl_FUNC_FPENDING):
64120         * m4/fprintftime.m4 (gl_FPRINTFTIME):
64121         * m4/fts.m4 (gl_FUNC_FTS):
64122         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
64123         * m4/getdate.m4 (gl_GETDATE):
64124         * m4/gethrxtime.m4 (gl_GETHRXTIME):
64125         * m4/getpagesize.m4 (gl_GETPAGESIZE):
64126         * m4/getpass.m4 (gl_FUNC_GETPASS):
64127         * m4/gettime.m4 (gl_GETTIME):
64128         * m4/getugroups.m4 (gl_GETUGROUPS):
64129         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
64130         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
64131         * m4/hard-locale.m4 (gl_HARD_LOCALE):
64132         * m4/hash.m4 (gl_HASH):
64133         * m4/idcache.m4 (gl_IDCACHE):
64134         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
64135         * m4/lchown.m4 (gl_FUNC_LCHOWN):
64136         * m4/long-options.m4 (gl_LONG_OPTIONS):
64137         * m4/lstat.m4 (gl_FUNC_LSTAT):
64138         * m4/md5.m4 (gl_MD5):
64139         * m4/memcasecmp.m4 (gl_MEMCASECMP):
64140         * m4/memcoll.m4 (gl_MEMCOLL):
64141         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
64142         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
64143         * m4/memxor.m4 (gl_MEMXOR):
64144         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
64145         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
64146         * m4/modechange.m4 (gl_MODECHANGE):
64147         * m4/mountlist.m4 (gl_MOUNTLIST):
64148         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
64149         * m4/openat.m4 (gl_FUNC_OPENAT):
64150         * m4/pathmax.m4 (gl_PATHMAX):
64151         * m4/physmem.m4 (gl_PHYSMEM):
64152         * m4/posixtm.m4 (gl_POSIXTM):
64153         * m4/posixver.m4 (gl_POSIXVER):
64154         * m4/quote.m4 (gl_QUOTE):
64155         * m4/quotearg.m4 (gl_QUOTEARG):
64156         * m4/readtokens.m4 (gl_READTOKENS):
64157         * m4/readutmp.m4 (gl_READUTMP):
64158         * m4/regex.m4 (gl_REGEX):
64159         * m4/safe-read.m4 (gl_SAFE_READ):
64160         * m4/safe-write.m4 (gl_SAFE_WRITE):
64161         * m4/same.m4 (gl_SAME):
64162         * m4/save-cwd.m4 (gl_SAVE_CWD):
64163         * m4/savedir.m4 (gl_SAVEDIR):
64164         * m4/settime.m4 (gl_SETTIME):
64165         * m4/sha1.m4 (gl_SHA1):
64166         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
64167         * m4/stat-macros.m4 (gl_STAT_MACROS):
64168         * m4/stat-time.m4 (gl_STAT_TIME):
64169         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
64170         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
64171         * m4/strdup.m4 (gl_FUNC_STRDUP):
64172         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
64173         * m4/strndup.m4 (gl_FUNC_STRNDUP):
64174         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
64175         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
64176         * m4/time_r.m4 (gl_TIME_R):
64177         * m4/timespec.m4 (gl_TIMESPEC):
64178         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
64179         * m4/unlinkdir.m4 (gl_UNLINKDIR):
64180         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
64181         * m4/userspec.m4 (gl_USERSPEC):
64182         * m4/utimecmp.m4 (gl_UTIMECMP):
64183         * m4/utimens.m4 (gl_UTIMENS):
64184         * m4/xalloc.m4 (gl_XALLOC):
64185         * m4/xgetcwd.m4 (gl_XGETCWD):
64186         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
64187         * m4/xreadlink.m4 (gl_XREADLINK):
64188         * m4/xstrtod.m4 (gl_XSTRTOD):
64189         * m4/yesno.m4 (gl_YESNO):
64190         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
64191         to get the necessary .h files and whatnot.
64192
64193 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
64194             Bruno Haible  <bruno@clisp.org>
64195
64196         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
64197         /bin/sh understanding of '!' conditional negation.
64198
64199 2006-08-21  Jim Meyering  <jim@meyering.net>
64200
64201         * modules/openat (Depends-on): Really alphabetize.
64202
64203         * modules/acl (Depends-on): Add error and quote.
64204
64205         * check-module (find_included_lib_files): Add at-func.c to the
64206         ok-to-include-more-than-once white list.
64207
64208         * modules/openat (Depends-on): Add lstat.  Alphabetize.
64209
64210 2006-08-21  Bruno Haible  <bruno@clisp.org>
64211
64212         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
64213         Emit a pkgdata_DATA variable only if some snippets add contents to it.
64214         Reported by Martin Lambers <marlam@marlam.de>.
64215
64216 2006-08-21  Bruno Haible  <bruno@clisp.org>
64217
64218         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
64219         specify an installation location, don't emit a noinst_LIBRARIES or
64220         noinst_LTLIBRARIES assignment.
64221
64222 2006-08-21  Bruno Haible  <bruno@clisp.org>
64223
64224         BeOS portability.
64225         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
64226         BeOS has mbrtowc() but no <wctype.h>.
64227
64228 2006-08-21  Bruno Haible  <bruno@clisp.org>
64229
64230         BeOS portability.
64231         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
64232         exist.
64233
64234 2006-08-21  Bruno Haible  <bruno@clisp.org>
64235
64236         BeOS portability.
64237         * lib/mbchar.h: Include <wctype.h> only if it exists.
64238
64239 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
64240
64241         Remove files that are no longer needed by their respective modules.
64242         * m4/obstack.m4: Remove.
64243         * m4/strerror_r.m4: Remove.
64244         * m4/uint32_t.m4: Remove.
64245         * m4/uintptr_t.m4: Remove.
64246         * m4/ullong_max.m4: Remove.
64247         * m4/xstrtoimax.m4: Remove.
64248         * m4/xstrtoumax.m4: Remove.
64249
64250         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
64251         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
64252         dependencies now capture this.
64253
64254         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
64255         Do not use AC_LIBSOURCES, since gnulib modules now do this.
64256         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
64257         * m4/human.m4 (gl_HUMAN): Likewise.
64258         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
64259         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
64260
64261         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
64262
64263         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
64264         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
64265         stdint.
64266         * m4/human.m4 (gl_HUMAN): Likewise.
64267         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
64268         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
64269         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
64270         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
64271         * m4/xstrtol (gl_XSTRTOL): Likewise.
64272
64273         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
64274         AC_TYPE_LONG_LONG_INT.
64275         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
64276         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
64277         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
64278         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
64279
64280         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
64281         on stdbool.
64282
64283         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
64284         (gl_PREREQ_XSTRTOUL): Remove.
64285
64286         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
64287
64288         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
64289         mode.
64290
64291 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
64292
64293         Add and change modules to make it easier for coreutils to use
64294         gnulib-tool.
64295         * modules/backupfile (Files): Remove m4/d-ino.m4.
64296         (Depends-on): Add d-ino.
64297         * modules/cycle-check (Depends-on): Add stdint.
64298         (lib_SOURCES): Add cycle-check.h.
64299         * modules/d-ino: New module.
64300         * modules/d-type: New module.
64301         * modules/error (Files): Remove m4/strerror_r.m4.
64302         * modules/filemode (Files): Add m4/st_dm_mode.m4.
64303         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
64304         m4/inttypes_h.m4, m4/uintmax_t.m4.
64305         (Depends-on): Add stdint.
64306         (lib_SOURCES): Add fsusage.h.
64307         * modules/getcwd (Files): Remove d-ino.m4.
64308         (Depends-on): Add d-ino.
64309         * modules/getndelim2 (Depends-on): Add stdint.
64310         * modules/glob (Files): Remove m4/d-type.m4.
64311         (Depends-on): Add d-type.
64312         * modules/host-os: New module.
64313         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
64314         m4/inttypes_h.m4, m4/uintmax_t.m4.
64315         * Depends-on: Add stdint.
64316         (lib_SOURCES): Add human.h.
64317         * modules/inttostr (Files): Remove m4/intmax_t.m4,
64318         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
64319         m4/uintmax_t.m4, m4/ulonglong.m4.
64320         (Depends-on): Add stdint.
64321         (EXTRA_DIST): Add inttostr.h.
64322         * modules/lchmod: New module.
64323         * modules/link-follow: New module.
64324         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
64325         (Depends-on): Add lchmod.
64326         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
64327         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
64328         (Depends-on): Add stdint.
64329         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
64330         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
64331         (Depends-on): Add stdint.
64332         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
64333         * modules/perl: New module.
64334         * modules/regex (Depends-on): Add stdint.
64335         * modules/rmdir-errno: New module.
64336         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
64337         m4/intmax_t.m4.
64338         (Depends-on): Add stdint.
64339         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
64340         m4/uintmax_t.m4.
64341         (Depends-on): Add stdint.
64342         * modules/unlink-busy: New module.
64343         * modules/utimecmp (Depends-on): Add stdint.
64344         * modules/uptime: New module.
64345         * modules/winsz-ioctl: New module.
64346         * modules/winsz-termios: New module.
64347         * modules/xnanosleep (Depends-on): Add nanosleep.
64348         * modules/ullong_max: Remove.
64349         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
64350         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
64351         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
64352         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
64353         (Depends-on): Add inttypes.
64354         (lib_SOURCES): Add xstrtol.h.
64355         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
64356         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
64357         * MODULES.html.sh: Move 'assert' into the assert section.
64358         Move 'dummy' into the linking section.
64359         Remove ullong_max.
64360         Add section for compatibility checks for POSIX:2001 functions,
64361         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
64362         winsz-ioctl, and winsz-termios into it.
64363         Add lchmod.
64364         Add top-level Misc section and put host-os, perl, and uptime
64365         into it.
64366
64367 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
64368
64369         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
64370         now assume the stdint module.  Do not include inttypes.h.
64371         * lib/fsusage.h: Likewise.
64372         * lib/getndelim2.c: Likewise.
64373         * lib/human.h: Likewise.
64374         * lib/inttostr.h: Likewise.
64375         * lib/obstack.c: Likewise.
64376         * lib/regex_internal.h: Likewise.
64377         * lib/tempname.c: Likewise.
64378         * lib/utimecmp.c: Likewise.
64379         * lib/xstrtol.h: Likewise.
64380
64381         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
64382
64383         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
64384         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
64385         * lib/xtime.h: Likewise.
64386
64387 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
64388
64389         * modules/openat (Files): Add lib/fchmodat.c.
64390         Fixes problem reported by Jay Youngman.
64391
64392 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
64393
64394         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
64395         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
64396
64397 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
64398             Bruno Haible  <bruno@clisp.org>
64399
64400         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
64401         and is a script that invokes bison. Tighten the code. Add comments.
64402
64403 2006-08-18  Jim Meyering  <jim@meyering.net>
64404
64405         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
64406         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
64407         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
64408         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
64409
64410 2006-08-18  Bruno Haible  <bruno@clisp.org>
64411
64412         * modules/bison-i18n: New file.
64413         * MODULES.html.sh (Internationalization functions): Add it.
64414
64415 2006-08-18  Bruno Haible  <bruno@clisp.org>
64416
64417         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
64418         sys/statvfs.h. When getmntinfo was found, check its declaration and
64419         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
64420
64421 2006-08-18  Bruno Haible  <bruno@clisp.org>
64422
64423         * m4/bison-i18n.m4: New file, from bison.
64424
64425 2006-08-18  Bruno Haible  <bruno@clisp.org>
64426
64427         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
64428         (ME_DUMMY): Treat "kernfs" as a dummy.
64429         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
64430
64431 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
64432
64433         Update from coreutils.
64434
64435         2006-08-15  Jim Meyering  <jim@meyering.net>
64436
64437         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
64438
64439         2006-01-17  Jim Meyering  <jim@meyering.net>
64440
64441         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
64442
64443         2006-01-11  Jim Meyering  <jim@meyering.net>
64444
64445         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
64446         Check for the lchmod function.
64447
64448 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
64449
64450         Update from coreutils.
64451
64452         * lib/__fpending.h: Add copyright notice.
64453         * lib/fprintftime.h: Likewise.
64454         * lib/savedir.c: Use (C) in copyright notice.
64455         * lib/savedir.h: Likewise.
64456
64457         2006-08-15  Jim Meyering  <jim@meyering.net>
64458
64459         * lib/at-func.c: New file, with the logic of all emulated at-functions.
64460         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
64461         in support of the EXPECTED_ERRNO macro.
64462         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
64463         definitions.  Instead, define the appropriate symbols and include
64464         "at-func.c".
64465         * lib/mkdirat.c (mkdirat): Likewise.
64466         * lib/fchmodat.c (fchmodat): Likewise.
64467         (ENOSYS): Remove definition.
64468         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
64469         it.  Don't include "unistd--.h" -- it wasn't ever used.
64470
64471         2006-01-17  Jim Meyering  <jim@meyering.net>
64472
64473         Rewrite fts.c not to change the current working directory,
64474         by using openat, fstatat, fdopendir, etc..
64475
64476         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
64477         (HAVE_OPENAT_SUPPORT): Define.
64478         [_LIBC] (fchdir): Don't undef or define; no longer used.
64479         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
64480         Now, this `function' always succeeds, and consumes its file descriptor
64481         parameter -- so callers must not close such FDs.  Update callers.
64482         (diropen_fd, opendirat, cwd_advance_fd): New functions.
64483         (diropen): Add parameter, SP.  Adjust all callers.
64484         Implement using diropen_fd, rather than open.
64485         (fts_open): Initialize new member, fts_cwd_fd.
64486         Remove fts_rft-setting code.
64487         (fts_close): Close fts_cwd_fd, if necessary.
64488         (__opendir2): Define in terms of opendir or opendirat,
64489         depending on whether the FST_NOCHDIR flag is set.
64490         (fts_build): Since fts_safe_changedir consumes its FD, and since
64491         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
64492         and close the dup'd file descriptor upon failure.
64493         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
64494         (fts_safe_changedir): Tweak semantics to reflect that this function
64495         now calls cwd_advance_fd and hence consumes its FD argument.
64496         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
64497         [struct FTS] (fts_rft): Remove now-unused member.
64498         [struct FTS] (fts_cycle.state): Improve comment.
64499
64500         * lib/openat.c (openat_needs_fchdir): New function.
64501         * lib/openat.h (openat_needs_fchdir): Declare it.
64502
64503 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
64504
64505         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
64506         Problem and fix reported by Pádraig Brady in
64507         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
64508
64509 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
64510
64511         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
64512
64513 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
64514
64515         * lib/memcoll.c (memcoll): Optimize for the common case where the
64516         arguments are bytewise equal.
64517
64518 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
64519
64520         * doc/regexprops-generic.texi: Add a copyright notice.
64521
64522 2006-08-15  Bruno Haible  <bruno@clisp.org>
64523
64524         * modules/tmpdir (License): Change to LGPL.
64525
64526 2006-08-15  Bruno Haible  <bruno@clisp.org>
64527
64528         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
64529         module.
64530
64531 2006-08-14  Simon Josefsson  <jas@extundo.com>
64532
64533         * config/srclist.txt: Add gnupload.
64534
64535 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
64536
64537         Change copyright notice from LGPL 2 to GPL 2, since that's the
64538         standard form used in the gnulib repository.
64539         * tests/test-lock.c: Likewise.
64540         * tests/test-stdint.c: Likewise.
64541         * tests/test-tls.c: Likewise.
64542
64543         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
64544         prelude-manager.  User shorter URLs for GNU projects, without '?'.
64545         Add copyright notice.
64546
64547         * check-module: Add copyright notice.  Output a copyright
64548         notice if "--version" is specified.
64549         * modules/COPYING: New file.
64550         * tests/test-getaddrinfo.c: Add copyright notice.
64551         * tests/test-verify.c: Likewise.
64552
64553 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
64554
64555         Change copyright notice from LGPL 2 to GPL 2, since that's the
64556         standard form used in the gnulib repository.
64557         * lib/lock.c: LGPL -> GPL.
64558         * lib/lock.h: Likewise.
64559         * lib/strnlen1.c: Likewise.
64560         * lib/strnlen1.h: Likewise.
64561         * lib/tls.c: Likewise.
64562         * lib/tls.h: Likewise.
64563         * lib/tmpdir.c: Likewise.
64564
64565         * lib/TODO: Remove; this belongs only in coreutils.
64566
64567 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
64568
64569         Add copyright notices to long-enough files that lack them, since
64570         otherwise the files aren't clearly free.  Use the same notice that
64571         getdate.texi already uses.
64572         * doc/alloca-opt.texi: Add copyright notice.
64573         * doc/alloca.texi: Likewise.
64574         * doc/ctime.texi: Likewise.
64575         * doc/functions.texi: Likewise.
64576         * doc/gcd.texi: Likewise.
64577         * doc/gnulib-tool.texi: Likewise.
64578         * doc/inet_ntoa.texi: Likewise.
64579         * doc/visibility.texi: Likewise.
64580
64581         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
64582         * doc/quote.texi: Add copyright notice.
64583
64584         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
64585         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
64586         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
64587         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
64588         is now obsolete, and give a pointer to the Sun list.
64589         Add copyright notice.
64590
64591 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
64592
64593         * config/srclistvars.sh: Add copyright notice.
64594
64595 2006-08-14  Eric Blake  <ebb9@byu.net>
64596
64597         Import the following change from libc:
64598
64599         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
64600
64601         Upstream bug 2997.
64602         * lib/misc/error.c: Add space between program name and message if file
64603         name is missing.
64604
64605 2006-08-12  Karl Berry  <karl@gnu.org>
64606
64607         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
64608         remove, these originate in gnulib now.
64609
64610 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64611
64612         * doc/Makefile (standards.info standards.html standards.dvi):
64613         Also depend on make-stds.texi.
64614
64615 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
64616
64617         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
64618         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
64619
64620         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
64621         in wchar_t.  Problem reported by Eric Blake.
64622
64623         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
64624         LEN is smaller than SIZE.  Suggested by Bruno Haible.
64625         Also, help the compiler to keep LEN in a register.
64626
64627 2006-08-11  Eric Blake  <ebb9@byu.net>
64628
64629         * users.txt: Sort.  Add tar.
64630
64631 2006-08-11  Bruno Haible  <bruno@clisp.org>
64632
64633         * users.txt: New file.
64634
64635 2006-08-11  Bruno Haible  <bruno@clisp.org>
64636
64637         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
64638         before <wchar.h>. Needed for OSF/1 and BSD/OS.
64639
64640 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
64641
64642         * modules/snprintf (Depends-on): Remove minmax.
64643         (Maintainer): Add self and Bruno.
64644
64645 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
64646
64647         * lib/.cppi-disable: Add snprintf.h, socket_.h.
64648         * lib/snprintf.c: Include <errno.h> and <limits.h>.
64649         (EOVERFLOW): Define if the system does not.
64650         Do not include "minmax.h"; it wasn't used.
64651         (snprintf): Don't assume size_t promotes to an unsigned type.
64652         Fix bug when generated string was too long for the buffer: the
64653         buffer's contents are supposed to be the initial prefix of the
64654         output.  Don't assume vasnprintf returns EOVERFLOW if the size
64655         exceeds INT_MAX; do the check ourselves.
64656
64657         Import the following changes from libc:
64658
64659         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
64660
64661         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
64662         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
64663         set wc to the byte which couldn't be converted.
64664         (re_string_reconstruct): Don't clear valid_raw_len before calling
64665         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
64666         tip_context using re_string_context_at.
64667
64668         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
64669
64670         * lib/posix/regex.h: g++ still cannot handled [restrict].
64671
64672         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
64673
64674         * lib/posix/regex.h: Remove special handling for VMS.
64675
64676 2006-08-10  Jim Meyering  <jim@meyering.net>
64677
64678         * modules/same-inode: New module.
64679         * modules/dev-ino: New module.
64680         * modules/cycle-check: Depend on these modules, rather than simply
64681         including their .h files.
64682         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
64683         required via m4/cycle-check.m4.
64684         * modules/same: Depend on new same-inode module, rather than
64685         including same-inode.h.
64686         * modules/chdir-safer: New file.
64687
64688         * modules/chown (Depends-on): Add stat-macros.
64689
64690 2006-08-10  Jim Meyering  <jim@meyering.net>
64691
64692         * m4/cycle-check.m4: New file.
64693         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
64694         * m4/dev-ino.m4, m4/same-inode.m4: New files.
64695
64696 2006-08-10  Eric Blake  <ebb9@byu.net>
64697
64698         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
64699         in from original proposal.
64700
64701 2006-08-10  Eric Blake  <ebb9@byu.net>
64702         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
64703
64704         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
64705         namespace.
64706
64707 2006-08-10  Bruno Haible  <bruno@clisp.org>
64708
64709         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
64710         as well.
64711
64712 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
64713
64714         Sync from coreutils.
64715
64716         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
64717
64718         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
64719         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
64720
64721 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
64722
64723         * modules/restrict: Remove; no longer needed now that we assume
64724         Autoconf 2.59 or later.
64725         * MODULES.html.sh: Remove 'restrict'.
64726         * modules/argp (Depends-on): Remove 'restrict'.
64727         * modules/base64 (Depends-on): Likewise.
64728         * modules/gc (Depends-on): Likewise.
64729         * modules/getaddrinfo (Depends-on): Likewise.
64730         * modules/glob (Depends-on): Likewise.
64731         * modules/inet_ntop (Depends-on): Likewise.
64732         * modules/inet_pton (Depends-on): Likewise.
64733         * modules/memxor (Depends-on): Likewise.
64734         * modules/regex (Depends-on): Likewise.
64735         * modules/strtok_r (Depends-on): Likewise.
64736         * modules/time_r (Depends-on): Likewise.
64737
64738 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
64739
64740         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
64741         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
64742         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
64743         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
64744         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
64745         * m4/memxor.m4 (gl_MEMXOR): Likewise.
64746         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
64747         gl_C_RESTRICT replaced by AC_C_RESTRICT.
64748
64749         Merge from coreutils.
64750         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
64751         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
64752         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
64753         * m4/time_r.m4 (gl_TIME_R): Likewise.
64754
64755 2006-08-09  Karl Berry  <karl@gnu.org>
64756
64757         * config/srclist.txt: no more gettext-tools, per Bruno.
64758
64759 2006-08-08  Eric Blake  <ebb9@byu.net>
64760
64761         * modules/verror: New module.
64762         * MODULES.html.sh: Document it.
64763
64764 2006-08-08  Eric Blake  <ebb9@byu.net>
64765
64766         * lib/verror.h, lib/verror.c: New files.
64767
64768 2006-08-08  Eric Blake  <ebb9@byu.net>
64769
64770         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
64771         verror_at_line output complies with GNU Coding Standards even when
64772         file is NULL.
64773
64774 2006-08-07  Bruno Haible  <bruno@clisp.org>
64775
64776         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
64777         versions of AIX.
64778         Reported by Ralf Wildenhues.
64779
64780 2006-08-07  Bruno Haible  <bruno@clisp.org>
64781
64782         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
64783         in an AC_DEFUN. Needed so that the autoconf snippets can use
64784         AC_REQUIRE.
64785
64786 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64787
64788         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
64789         Initialize pkgdata_DATA.
64790         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
64791         overriding it.
64792
64793 2006-08-06  Eric Blake  <ebb9@byu.net>
64794
64795         * lib/error.h: Fold in some upstream changes from glibc.
64796         * lib/error.c: Likewise.
64797
64798 2006-08-04  Bruno Haible  <bruno@clisp.org>
64799
64800         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
64801         Make the mostlyclean-local rule depend on mostlyclean-generic.
64802         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
64803
64804 2006-07-31  Bruno Haible  <bruno@clisp.org>
64805
64806         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
64807         <stdlib.h>, <string.h>.
64808
64809 2006-07-30  Bruno Haible  <bruno@clisp.org>
64810
64811         * modules/readlink (License): Change to LGPL.
64812
64813 2006-07-30  Bruno Haible  <bruno@clisp.org>
64814
64815         * modules/javaversion (Makefile.am): Distribute javaversion.java and
64816         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
64817         set PKGDATADIR to point to it.
64818
64819 2006-07-30  Bruno Haible  <bruno@clisp.org>
64820
64821         * modules/csharpexec (configure.ac): Comment out macro invocation.
64822         * modules/javaexec (configure.ac): Likewise.
64823         * modules/javacomp-script (configure.ac): Likewise.
64824
64825         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
64826
64827 2006-07-30  Bruno Haible  <bruno@clisp.org>
64828
64829         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
64830         linked-list.
64831
64832 2006-07-30  Bruno Haible  <bruno@clisp.org>
64833
64834         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
64835
64836 2006-07-30  Bruno Haible  <bruno@clisp.org>
64837
64838         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
64839         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
64840         get removed.
64841
64842 2006-07-29  Bruno Haible  <bruno@clisp.org>
64843
64844         Make it possible for gnulib-tool to work with locally modified or
64845         augmented gnulib repositories.
64846         * gnulib-tool (func_usage): Document --local-dir option.
64847         (local_gnulib_dir): New variable.
64848         Handle --local-dir option.
64849         (func_lookup_file): New function.
64850         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
64851         (func_get_description, func_get_filelist, func_get_description,
64852         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
64853         func_get_automake_snippet, func_get_include_directive,
64854         func_get_license, func_get_maintainer): Use func_lookup_file.
64855         (func_import, func_create_testdir): Use func_lookup_file.
64856
64857 2006-07-29  Bruno Haible  <bruno@clisp.org>
64858
64859         * modules/setenv (Depends-on): Add unistd.
64860
64861 2006-07-29  Bruno Haible  <bruno@clisp.org>
64862
64863         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
64864
64865 2006-07-29  Bruno Haible  <bruno@clisp.org>
64866
64867         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
64868
64869 2006-07-29  Bruno Haible  <bruno@clisp.org>
64870
64871         * gnulib-tool (import, update): If there is no Makefile.am, look at
64872         aclocal.m4, instead of bailing out.
64873
64874 2006-07-29  Bruno Haible  <bruno@clisp.org>
64875
64876         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
64877         Categorize the options by when they are useful.
64878
64879 2006-07-29  Bruno Haible  <bruno@clisp.org>
64880
64881         * gnulib-tool (func_usage): Document option --no-libtool.
64882         Handle option --no-libtool.
64883         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
64884         for changed semantics of $libtool variable.
64885         (func_import): Likewise. If libtool is not used, show this through
64886         an option --no-libtool.
64887         (func_create_testdir): Update.
64888
64889 2006-07-29  Bruno Haible  <bruno@clisp.org>
64890
64891         * gnulib-tool (func_import): Extend error message about missing
64892         --doc-base.
64893
64894 2006-07-29  Bruno Haible  <bruno@clisp.org>
64895
64896         * gnulib-tool (func_import): Don't create the $docbase directory if
64897         there is no file to store there.
64898
64899 2006-07-29  Bruno Haible  <bruno@clisp.org>
64900
64901         * gnulib-tool (autoconf_minversion): If a --dir option is given and
64902         relevant, look for configure.ac there, not in the current directory.
64903         Also use a simple search for AC_PREREQ, not "autoconf --trace".
64904
64905 2006-07-29  Bruno Haible  <bruno@clisp.org>
64906
64907         * gnulib-tool (SORT): New variable.
64908         (func_usage): Undocument --assume-autoconf option.
64909         Remove --assume-autoconf option handling.
64910         (autoconf_minversion): Determine from the contents of configure.ac.
64911         (func_import): Remove autoconf_minversion handling.
64912         Suggested by Eric Blake.
64913
64914 2006-07-29  Bruno Haible  <bruno@clisp.org>
64915
64916         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
64917
64918 2006-07-29  Bruno Haible  <bruno@clisp.org>
64919
64920         * config/srclist.txt (*setenv.[ch]): Remove rules.
64921
64922 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64923
64924         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
64925
64926 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64927
64928         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
64929         arpa/inet.h.
64930
64931 2006-07-28  Simon Josefsson  <jas@extundo.com>
64932
64933         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
64934         * modules/inet_pton (Depends-on): Likewise.
64935
64936 2006-07-28  Simon Josefsson  <jas@extundo.com>
64937
64938         * m4/netinet_in_h.m4: New file.
64939
64940 2006-07-28  Simon Josefsson  <jas@extundo.com>
64941
64942         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
64943         #include's.
64944
64945 2006-07-28  Simon Josefsson  <jas@extundo.com>
64946
64947         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
64948         #include's.
64949
64950 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
64951
64952         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
64953         setgid on directories only if they set these bits.
64954         * lib/modechange.h: Remove obsolete comment about masks.
64955
64956 2006-07-28  Eric Blake  <ebb9@byu.net>
64957
64958         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
64959         macro expansion.
64960
64961 2006-07-28  Bruno Haible  <bruno@clisp.org>
64962
64963         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
64964
64965 2006-07-28  Bruno Haible  <bruno@clisp.org>
64966
64967         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
64968
64969 2006-07-28  Bruno Haible  <bruno@clisp.org>
64970
64971         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
64972         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
64973         Define fallbacks.
64974         Avoids link error on FreeBSD 4.x.
64975         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
64976
64977         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
64978         encoding.
64979         * lib/mbswidth.c (iswcntrl): Likewise.
64980
64981 2006-07-27  Bruno Haible  <bruno@clisp.org>
64982
64983         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
64984         test.
64985
64986 2006-07-27  Bruno Haible  <bruno@clisp.org>
64987
64988         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
64989         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
64990         defined.
64991
64992 2006-07-26  Eric Blake  <ebb9@byu.net>
64993
64994         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
64995
64996 2006-07-26  Eric Blake  <ebb9@byu.net>
64997
64998         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
64999         like mingw that lack mkstemp.
65000         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
65001         avoid compilation warning on mingw.
65002
65003 2006-07-26  Bruno Haible  <bruno@clisp.org>
65004
65005         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
65006         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
65007         INT_FAST*_MIN, INTPTR_MIN.
65008
65009 2006-07-25  Bruno Haible  <bruno@clisp.org>
65010
65011         * modules/version-etc (Depends-on): Add stdarg.
65012
65013 2006-07-25  Bruno Haible  <bruno@clisp.org>
65014
65015         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
65016         complex commands.
65017
65018 2006-07-25  Bruno Haible  <bruno@clisp.org>
65019
65020         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
65021         defined in <stdarg.h> or config.h.
65022
65023 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
65024
65025         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
65026         (gl_STDIO_SAFER): Remove.
65027
65028 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
65029
65030         * MODULES.html.sh (File stream based Input/Output):
65031         Add fopen-safer, tmpfile-safer; remove stdio-safer.
65032         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
65033         * modules/fopen-safer, modules/tmpfile-safer: New files.
65034         * modules/stdio-safer: Remove.
65035
65036 2006-07-24  Bruno Haible  <bruno@clisp.org>
65037
65038         * modules/tmpdir: New file.
65039         * MODULES.html.sh (File system functions): Add it.
65040
65041 2006-07-24  Bruno Haible  <bruno@clisp.org>
65042
65043         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
65044         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
65045
65046 2006-07-24  Bruno Haible  <bruno@clisp.org>
65047
65048         * modules/clean-temp: New file.
65049
65050 2006-07-24  Bruno Haible  <bruno@clisp.org>
65051
65052         * m4/tmpdir.m4: New file, from GNU gettext.
65053
65054 2006-07-24  Bruno Haible  <bruno@clisp.org>
65055
65056         * lib/tmpdir.h: New file, from GNU gettext.
65057         * lib/tmpdir.c: New file, from GNU gettext.
65058
65059 2006-07-24  Bruno Haible  <bruno@clisp.org>
65060
65061         * lib/clean-temp.h: New file, from GNU gettext.
65062         * lib/clean-temp.c: New file, from GNU gettext.
65063
65064 2006-07-23  Eric Blake  <ebb9@byu.net>
65065
65066         * modules/stdio-safer (Files): Add tmpfile-safer.c.
65067         (Depends-on): Add binary-io.
65068
65069 2006-07-23  Eric Blake  <ebb9@byu.net>
65070
65071         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
65072
65073 2006-07-23  Eric Blake  <ebb9@byu.net>
65074
65075         * lib/tmpfile-safer.c: New file.
65076         * lib/stdio-safer.h (fopen_safer): Add prototype.
65077         * lib/stdio--.h (tmpfile): Make safer.
65078
65079 2006-07-23  Bruno Haible  <bruno@clisp.org>
65080
65081         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
65082         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
65083         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
65084         gl_linked_remove_at): Use it.
65085
65086 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65087         and Simon Josefsson <jas@extundo.com>
65088
65089         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
65090
65091         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
65092
65093 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
65094
65095         * modules/close-stream: New file.
65096         * modules/closeout (Description): Make it clear that it exits
65097         with a diagnostic on error.
65098         (Depends-on): Add close-stream.  Remove fpending, stdbool.
65099         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
65100
65101 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
65102
65103         * m4/close-stream.m4: New file.
65104
65105 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
65106
65107         * lib/close-stream.c, lib/close-stream.h: New files.
65108
65109 2006-07-22  Bruno Haible  <bruno@clisp.org>
65110
65111         Merge from GNU gettext 0.15.
65112
65113         2006-05-01  Bruno Haible  <bruno@clisp.org>
65114
65115                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
65116
65117         2006-07-22  Bruno Haible  <bruno@clisp.org>
65118
65119                 * modules/javaversion: New file.
65120                 * MODULES.html.sh (Java): Add javaversion.
65121
65122         2006-03-12  Bruno Haible  <bruno@clisp.org>
65123
65124                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
65125
65126         2005-12-04  Bruno Haible  <bruno@clisp.org>
65127
65128                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
65129                 (untested).
65130
65131         2006-06-21  Bruno Haible  <bruno@clisp.org>
65132
65133                 Avoid warnings from recent versions of mcs.
65134                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
65135                 -o, -L, -r any more. Use options documented since mcs-1.0
65136                 instead. Similarly for -g.
65137
65138         2005-12-04  Bruno Haible  <bruno@clisp.org>
65139
65140                 * build-aux/csharpcomp.sh.in: Suffix for resources is
65141                 .resources, not .resource.
65142
65143         2005-07-09  Bruno Haible  <bruno@clisp.org>
65144
65145                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
65146                 add a .dll suffix.
65147                 Reported by Mark Junker <mjscod@gmx.de>.
65148
65149         2006-07-22  Bruno Haible  <bruno@clisp.org>
65150
65151                 * modules/gettext: Upgrade to gettext-0.15.
65152                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
65153                 m4/visibility.m4.
65154                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
65155
65156 2006-07-22  Bruno Haible  <bruno@clisp.org>
65157
65158         Merge from GNU gettext 0.15.
65159
65160         2006-03-25  Bruno Haible  <bruno@clisp.org>
65161
65162                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
65163
65164         2006-07-21  Bruno Haible  <bruno@clisp.org>
65165
65166                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
65167                 "1.1".
65168
65169         2006-05-09  Bruno Haible  <bruno@clisp.org>
65170
65171                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
65172                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
65173                 for the conftestver execution.
65174
65175         2006-05-01  Bruno Haible  <bruno@clisp.org>
65176
65177                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
65178                 optional target-version argument. Verify that the compiler
65179                 groks source of the specified source-version, or add -source
65180                 option as necessary. Verify that the compiler produces
65181                 bytecode in the specified target-version, or add -target and
65182                 -source options as necessary. Make the result of the test
65183                 available as variable CONF_JAVAC. Also log error output in
65184                 config.log.
65185
65186         2006-03-11  Bruno Haible  <bruno@clisp.org>
65187
65188                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
65189
65190         2006-05-09  Bruno Haible  <bruno@clisp.org>
65191
65192                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
65193                 CLASSPATH_SEPARATOR to a semicolon.
65194
65195         2006-03-12  Bruno Haible  <bruno@clisp.org>
65196
65197                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
65198                 available as variable CONF_JAVA, for subsequent autoconf
65199                 tests. Also log error output in config.log.
65200
65201         2006-07-19  Bruno Haible  <bruno@clisp.org>
65202
65203                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
65204                 that getline works on glibc2 systems. Needed to avoid trouble
65205                 in relocatable.c.
65206                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
65207
65208         2005-12-04  Bruno Haible  <bruno@clisp.org>
65209
65210                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
65211                 launcher (untested).
65212
65213         2005-12-04  Bruno Haible  <bruno@clisp.org>
65214
65215                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
65216
65217         2006-07-22  Bruno Haible  <bruno@clisp.org>
65218
65219                 * gettext.m4: Update from GNU gettext-0.15.
65220                 * nls.m4: Likewise.
65221                 * po.m4: Likewise.
65222                 * inttypes-pri.m4: Likewise.
65223                 * inttypes-h.m4: Renamed from inttypes.m4.
65224                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
65225
65226 2006-07-22  Bruno Haible  <bruno@clisp.org>
65227
65228         Merge from GNU gettext 0.15.
65229
65230         2005-07-05  Bruno Haible  <bruno@clisp.org>
65231
65232                 * printf-args.c (printf_fetchargs): Work around broken
65233                 definition of wint_t on mingw.
65234
65235         2005-02-12  Bruno Haible  <bruno@clisp.org>
65236
65237                 * xallocsa.h: Add extern "C" for C++.
65238
65239         2006-05-17  Bruno Haible  <bruno@clisp.org>
65240
65241                 Cygwin portability.
65242                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
65243
65244         2006-04-30  Bruno Haible  <bruno@clisp.org>
65245
65246                 * progreloc.c: Include <mach-o/dyld.h> if available.
65247                 (find_executable): Use _NSGetExecutablePath when possible.
65248
65249         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
65250
65251                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
65252                 function.
65253
65254         2005-12-29  Bruno Haible  <bruno@clisp.org>
65255
65256                 * progreloc.c (set_program_name_and_installdir): Fix
65257                 compilation error.
65258
65259         2005-12-04  Bruno Haible  <bruno@clisp.org>
65260
65261                 Cygwin portability.
65262                 * progreloc.c: Include <windows.h> also on Cygwin.
65263                 (find_executable): Add support for Cygwin.
65264                 (set_program_name_and_installdir): Handle also platforms with
65265                 nonempty EXEEXT.
65266
65267         2006-07-11  Bruno Haible  <bruno@clisp.org>
65268
65269                 * javacomp.c: Fix a comment.
65270                 Reported by Jim Meyering.
65271
65272         2006-04-30  Bruno Haible  <bruno@clisp.org>
65273
65274                 * javacomp.h (compile_java_class): Add source_version,
65275                 target_version arguments.
65276                 * javacomp.c: Rewritten to choose only a compiler that
65277                 respects the specified source_version and target_version.
65278
65279         2006-06-27  Bruno Haible  <bruno@clisp.org>
65280
65281                 Assume correct S_ISDIR macro.
65282                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
65283
65284         2006-07-22  Bruno Haible  <bruno@clisp.org>
65285
65286                 * javaversion.h: New file, from GNU gettext.
65287                 * javaversion.c: New file, from GNU gettext.
65288                 * javaversion.java: New file, from GNU gettext.
65289                 * javaversion.class: New file, from GNU gettext.
65290
65291         2006-05-17  Bruno Haible  <bruno@clisp.org>
65292
65293                 Cygwin portability.
65294                 * javaexec.c (execute_java_class): Test for jview program
65295                 also on Cygwin.
65296
65297         2006-04-09  Bruno Haible  <bruno@clisp.org>
65298
65299                 * fatal-signal.c: Don't include string.h.
65300                 (at_fatal_signal): Use a copying loop instead of memcpy.
65301
65302         2005-12-04  Bruno Haible  <bruno@clisp.org>
65303
65304                 * csharpexec.c: Add support for 'clix' launcher (untested).
65305                 (execute_csharp_using_sscli): New function.
65306                 (execute_csharp_program): Call it.
65307
65308         2006-06-21  Bruno Haible  <bruno@clisp.org>
65309
65310                 Avoid warnings from recent versions of mcs.
65311                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
65312                 -o, -L, -r any more. Use options documented since mcs-1.0
65313                 instead. Similarly for -g.
65314
65315         2005-07-09  Bruno Haible  <bruno@clisp.org>
65316
65317                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
65318                 add a .dll suffix.
65319                 Reported by Mark Junker <mjscod@gmx.de>.
65320
65321         2006-06-17  Bruno Haible  <bruno@clisp.org>
65322
65323                 * config.charset: Update for NetBSD 3.0.
65324
65325         2006-05-17  Bruno Haible  <bruno@clisp.org>
65326
65327                 Cygwin portability.
65328                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
65329
65330         2006-05-16  Bruno Haible  <bruno@clisp.org>
65331
65332                 * localcharset.c [CYGWIN]: Include <windows.h>.
65333                 (get_charset_aliases): For Cygwin, return the same CPxxx
65334                 aliases list as under WIN32.
65335                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
65336                 the environment variables. Fall back to GetACP().
65337
65338         2006-04-05  Bruno Haible  <bruno@clisp.org>
65339
65340                 * config.charset: Update Juan Manuel Guerrero's address.
65341
65342         2005-02-12  Bruno Haible  <bruno@clisp.org>
65343
65344                 * allocsa.h: Add extern "C" for C++.
65345
65346         2005-02-10  Bruno Haible  <bruno@clisp.org>
65347
65348                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
65349                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
65350
65351         2006-07-22  Bruno Haible  <bruno@clisp.org>
65352
65353                 * gettext.h: Update to GNU gettext-0.15.
65354
65355 2006-07-22  Bruno Haible  <bruno@clisp.org>
65356
65357         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
65358         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
65359         lib-prefix.m4, longdouble.m4, ssize_t.m4.
65360
65361 2006-07-21  Eric Blake  <ebb9@byu.net>
65362
65363         * modules/stdlib-safer: New file.
65364         * MODULES.html.sh (File stream based Input/Output): Add
65365         stdlib-safer.
65366
65367 2006-07-21  Eric Blake  <ebb9@byu.net>
65368
65369         * lib/stdlib-safer.h: New file from coreutils, required by
65370         stdlib--.h.
65371
65372 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
65373
65374         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
65375
65376 2006-07-20  Bruno Haible  <bruno@clisp.org>
65377
65378         * gnulib-tool: Recognize new option --assume-autoconf.
65379         (autoconf_minversion): New variable.
65380         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
65381
65382 2006-07-20  Bruno Haible  <bruno@clisp.org>
65383
65384         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
65385
65386 2006-07-19  Derek R. Price  <derek@ximbiot.com>
65387
65388         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
65389         Reindent and repaginate.
65390
65391 2006-07-19  Derek Price  <derek@ximbiot.com>
65392
65393         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
65394         Correct grammar.
65395
65396 2006-07-17  Bruno Haible  <bruno@clisp.org>
65397
65398         * modules/list: New file.
65399         * modules/array-list: New file.
65400         * modules/carray-list, modules/carray-list-tests: New files.
65401         * modules/linked-list, modules/linked-list-tests: New files.
65402         * modules/avltree-list, modules/avltree-list-tests: New files.
65403         * modules/rbtree-list, modules/rbtree-list-tests: New files.
65404         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
65405         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
65406         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
65407         * modules/oset: New file.
65408         * modules/array-oset: New file.
65409         * modules/avltree-oset, modules/avltree-oset-tests: New files.
65410         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
65411         * tests/test-carray_list.c: New file.
65412         * tests/test-linked_list.c: New file.
65413         * tests/test-avltree_list.c: New file.
65414         * tests/test-rbtree_list.c: New file.
65415         * tests/test-linkedhash_list.c: New file.
65416         * tests/test-avltreehash_list.c: New file.
65417         * tests/test-rbtreehash_list.c: New file.
65418         * tests/test-avltree_oset.c: New file.
65419         * tests/test-rbtree_oset.c: New file.
65420         * MODULES.html.sh (Container data structures): New section.
65421
65422 2006-07-17  Bruno Haible  <bruno@clisp.org>
65423
65424         * m4/gl_list.m4: New file.
65425
65426 2006-07-17  Bruno Haible  <bruno@clisp.org>
65427
65428         * lib/gl_list.h: New file.
65429         * lib/gl_list.c: New file.
65430         * lib/gl_array_list.h: New file.
65431         * lib/gl_array_list.c: New file.
65432         * lib/gl_carray_list.h: New file.
65433         * lib/gl_carray_list.c: New file.
65434         * lib/gl_linked_list.h: New file.
65435         * lib/gl_linked_list.c: New file.
65436         * lib/gl_anylinked_list1.h: New file.
65437         * lib/gl_anylinked_list2.h: New file.
65438         * lib/gl_avltree_list.h: New file.
65439         * lib/gl_avltree_list.c: New file.
65440         * lib/gl_anyavltree_list1.h: New file.
65441         * lib/gl_anyavltree_list2.h: New file.
65442         * lib/gl_rbtree_list.h: New file.
65443         * lib/gl_rbtree_list.c: New file.
65444         * lib/gl_anyrbtree_list1.h: New file.
65445         * lib/gl_anyrbtree_list2.h: New file.
65446         * lib/gl_anytree_list1.h: New file.
65447         * lib/gl_anytree_list2.h: New file.
65448         * lib/gl_linkedhash_list.h: New file.
65449         * lib/gl_linkedhash_list.c: New file.
65450         * lib/gl_anyhash_list1.h: New file.
65451         * lib/gl_anyhash_list2.h: New file.
65452         * lib/gl_avltreehash_list.h: New file.
65453         * lib/gl_avltreehash_list.c: New file.
65454         * lib/gl_rbtreehash_list.h: New file.
65455         * lib/gl_rbtreehash_list.c: New file.
65456         * lib/gl_anytreehash_list1.h: New file.
65457         * lib/gl_anytreehash_list2.h: New file.
65458
65459         * lib/gl_oset.h: New file.
65460         * lib/gl_oset.c: New file.
65461         * lib/gl_array_oset.h: New file.
65462         * lib/gl_array_oset.c: New file.
65463         * lib/gl_avltree_oset.h: New file.
65464         * lib/gl_avltree_oset.c: New file.
65465         * lib/gl_rbtree_oset.h: New file.
65466         * lib/gl_rbtree_oset.c: New file.
65467         * lib/gl_anytree_oset.h: New file.
65468
65469 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
65470
65471         * m4/mkancesdirs.m4: New file.
65472         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
65473         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
65474         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
65475         it.
65476
65477 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
65478
65479         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
65480         * lib/mkancesdirs.h: New files.
65481         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
65482         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
65483         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
65484         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
65485         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
65486         callers changed.  Revamp internals significantly, by not
65487         attempting to create directories that are temporarily more
65488         permissive than the final results.  Do not attempt to use
65489         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
65490         This removes some race conditions, fixes some bugs, and simplifies
65491         things.  Use new dirchownmod function to do owner and mode changes.
65492         * lib/mkdir-p.h: Likewise.
65493         * lib/modechange.c (octal_to_mode): New function.
65494         (struct mode_change): New member mentioned.
65495         (make_node_op_equals): New arg mentioned.  All callers changed.
65496         (mode_compile): Keep track of which mode bits the user has explicitly
65497         mentioned.
65498         (mode_adjust): New arg DIR, so that we implement the X op correctly.
65499         New arg PMODE_BITS, to keep track of which mode bits the user
65500         mentioned; it treats S_ISUID and S_ISGID speciall.
65501         All callers changed.
65502         * lib/modechange.h: Likewise.
65503
65504 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
65505
65506         * MODULES.html.sh: Add mkancestors.
65507         * modules/mkancesdirs: New module.
65508         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
65509         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
65510         The chdir-safer and afs files are now orphans; I'll remove them
65511         unless someone speaks up.
65512         Add lib/dirchownmod.c, lib/dirchownmod.h.
65513         (Depends-on): Remove alloca, chown, save-cwd, dirname.
65514         Add lchown, mkancesdirs.
65515         (Maintainer): Add self.
65516
65517 2006-07-15  Karl Berry  <karl@gnu.org>
65518
65519         * gnulib-tool: help message wording/arrangement.
65520
65521 2006-07-14  Simon Josefsson  <jas@extundo.com>
65522
65523         * doc/gnulib.texi (Libtool and Windows): New section.
65524
65525 2006-07-12  Simon Josefsson  <jas@extundo.com>
65526
65527         * modules/gendocs (License): Fix license, approved by Karl.
65528
65529 2006-07-12  Eric Blake  <ebb9@byu.net>
65530
65531         * MODULES.html.sh: Add gendocs.
65532
65533 2006-07-11  Eric Blake  <ebb9@byu.net>
65534
65535         * modules/fdl: New module, to install doc/fdl.texi.
65536         * MODULES.html.sh: Add new section for documentation modules.
65537         * gnulib-tool: Avoid space-tab.
65538         (--doc-base): New option, to manage files from doc.
65539
65540 2006-07-11  Eric Blake  <ebb9@byu.net>
65541
65542         * m4/absolute-header.m4: Fix comments to match recent change.
65543
65544 2006-07-11  Eric Blake  <ebb9@byu.net>
65545
65546         * gnulib-tool: List --doc-base before --tests-base.
65547
65548 2006-07-11  Derek R. Price  <derek@ximbiot.com>
65549
65550         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
65551
65552 2006-07-11  Bruno Haible  <bruno@clisp.org>
65553
65554         * README: Mention where to put documentation.
65555
65556 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65557
65558         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
65559
65560 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
65561
65562         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
65563         to stdint.m4.
65564
65565 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
65566
65567         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
65568         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
65569         "no/such/file/stdint.h" when there is no such file, so that
65570         the resulting C code can be parsed by dodgy compilers.
65571         Problems reported by Bob Proulx.
65572
65573 2006-07-10  Derek R. Price  <derek@ximbiot.com>
65574
65575         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
65576         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
65577         macros into the GNU _D_EXACT_NAMLEN.
65578         * lib/savedir.c:  Likewise.
65579         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
65580
65581 2006-07-10  Derek R. Price  <derek@ximbiot.com>
65582         and Paul Eggert  <eggert@cs.ucla.edu>
65583
65584         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
65585         * m4/savedir.m4:
65586         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
65587         macros into the GNU _D_EXACT_NAMLEN.
65588
65589 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
65590
65591         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
65592         around the absolute name, to work around a problem with the HP-UX
65593         11.23 native C compiler, reported by Bob Proulx.
65594
65595 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
65596
65597         * doc/maintain.texi, make-stds.texi: Sync from
65598         <http://savannah.gnu.org/projects/gnustandards>.
65599
65600 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
65601
65602         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
65603
65604 2006-07-09  Jim Meyering  <jim@meyering.net>
65605
65606         * m4/glob.m4: Remove a doubled word in a comment.
65607
65608 2006-07-09  Jim Meyering  <jim@meyering.net>
65609
65610         * lib/argp-pv.c: Remove a doubled word in a comment.
65611         * lib/check-version.c (check_version): Likewise.
65612         * lib/javacomp.c (compile_java_class): Likewise.
65613
65614 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
65615
65616         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
65617         for the benefit of people using Autoconf 2.60.  If you want to
65618         support older Autoconf versions you can copy m4/onceonly_2_57.m4
65619         (or m4/onceonly.m4, if pre-2.57) manually.
65620
65621 2006-07-08  Jim Meyering  <jim@meyering.net>
65622
65623         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
65624         comment.
65625         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
65626         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
65627         comment.
65628
65629 2006-07-08  Jim Meyering  <jim@meyering.net>
65630
65631         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
65632
65633 2006-07-07  Simon Josefsson  <jas@extundo.com>
65634
65635         * tests/test-crc.c: Change expected crc value, the test vector
65636         were probably computed using the old broken crc.c?
65637
65638 2006-07-06  Simon Josefsson  <jas@extundo.com>
65639
65640         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
65641         now the canonical place for the M4 file).
65642
65643         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
65644         from the sys_socket dependency now.
65645
65646         * modules/inet_pton (Files): Ditto.
65647
65648         * modules/inet_ntop (Files): Ditto.
65649
65650 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
65651
65652         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
65653         not gl_PREREQ_GETUSERSHELL.
65654
65655 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65656
65657         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
65658         with only one argument, for Autoconf 2.60.
65659         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
65660         expand to nothing, so add a shell command to avoid syntax error.
65661         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
65662
65663 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65664
65665         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
65666
65667 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
65668
65669         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
65670         no longer needed.  Check for isblank decl.
65671         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
65672         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
65673         of existence.
65674
65675 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
65676
65677         * lib/getloadavg.c: Use __VMS, not VMS.
65678         * lib/getopt.c: Likewise.
65679         * lib/getpagesize.h: Likewise.
65680         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
65681         and probably does not work.
65682
65683 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
65684
65685         * lib/.cppi-disable: Add wcwidth.
65686         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
65687         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
65688         (ISGRAPH): Remove.  All uses changed to isgraph.
65689         (FOLD) [!defined _LIBC]: Remove special case.
65690         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
65691         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
65692         HAVE_ISBLANK.
65693         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
65694         case.
65695
65696 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
65697
65698         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
65699         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
65700         brackets.  Other minor changes to suppress some compiler
65701         warnings.
65702
65703 2006-07-06  Derek R. Price  <derek@ximbiot.com>
65704         and Paul Eggert  <eggert@cs.ucla.edu>
65705
65706         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
65707         of invoking obsolescent AC_HEADER_DIRENT macro.
65708         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
65709         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
65710         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
65711         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
65712         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
65713         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
65714         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
65715         * m4/readdir.m4: Remove; no longer needed.
65716
65717 2006-07-06  Derek R. Price  <derek@ximbiot.com>
65718         and Paul Eggert  <eggert@cs.ucla.edu>
65719
65720         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
65721         Don't worry about this obsolete case any more.
65722         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
65723         directories.
65724         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
65725         worry about this obsolete case any more.
65726         * lib/fts.c: Likewise.
65727         * lib/getcwd.c: Likewise.
65728         * lib/glob.h: Likewise.
65729         * lib/savedir.c: Likewise.
65730
65731 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
65732
65733         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
65734         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
65735         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
65736         needed.
65737         All uses removed.
65738         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
65739         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
65740         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
65741         needed.
65742         * m4/getdate.m4 (gl_GETDATE): Likewise.
65743         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
65744         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
65745         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
65746         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
65747         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
65748         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
65749         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
65750         needed.
65751
65752 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
65753
65754         * lib/memcasecmp.c: Include <limits.h>.
65755         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
65756         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
65757         Don't assume isdigit succeeds only on '0' through '9'.
65758
65759 2006-07-05  Eric Blake  <ebb9@byu.net>
65760
65761         * modules/getaddrinfo (Depends-on): Add snprintf.
65762
65763 2006-07-05  Eric Blake  <ebb9@byu.net>
65764
65765         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
65766         to avoid 'header present but could not be compiled' on cygwin.
65767
65768 2006-07-05  Eric Blake  <ebb9@byu.net>
65769
65770         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
65771         missing from netdb.h.
65772         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
65773
65774 2006-07-05  Derek R. Price  <derek@ximbiot.com>
65775
65776         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
65777         no longer needed.
65778         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
65779         * m4/getdate.m4 (gl_GETDATE): Likewise.
65780         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
65781         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
65782         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
65783         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
65784         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
65785
65786 2006-07-05  Derek R. Price  <derek@ximbiot.com>
65787
65788         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
65789         All uses of is_space replaced by isspace.
65790         * lib/exit.h: Don't talk about STDC_HEADERS.
65791         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
65792         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
65793         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
65794         replaced by isprint etc.
65795         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
65796         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
65797         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
65798         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
65799         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
65800         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
65801
65802 2006-07-05  Bruno Haible  <bruno@clisp.org>
65803
65804         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
65805         the function exists, before testing against AIX.
65806         Reported by Martin Lambers <marlam@marlam.de>.
65807
65808 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
65809
65810         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
65811         From Mark D. Baushke.
65812
65813 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
65814
65815         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
65816         to the absolute name, not just one, to bypass Sun C 5.8's
65817         "warning: #include of /usr/include/... may be non-portable".
65818
65819 2006-07-04  Eric Blake  <ebb9@byu.net>
65820
65821         * modules/dirname-tests: New test module.
65822         * tests/test-dirname.c: New file, replacing dirname.c
65823         TEST_DIRNAME section that was recently deleted.
65824
65825 2006-07-04  Bruno Haible  <bruno@clisp.org>
65826
65827         Assume ANSI C header files and <ctype.h> functions.
65828         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
65829         (mbsnwidth): Use isprint, iscntrl instead.
65830
65831 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
65832
65833         Merge from coreutils.
65834         * MODULES.html.sh: Add xstrtold.
65835         * modules/xstrtold: New file.
65836         * modules/cycle-check (Files): Add lib/same-inode.h.
65837         * modules/dirname (Files): Add m4/double-slash-root.m4.
65838         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
65839         * modules/mkdir-p (Files): Add lib/same-inode.h.
65840         * modules/same (Files): Add lib/same-inode.h.
65841
65842 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
65843
65844         * m4/absolute-header.m4: Renamed from full-header-path.m4.
65845         This is to keep the terminology clean; POSIX talks about
65846         "absolute pathnames", not "full pathnames", but the GNU
65847         Coding Standards say to use "path" for something else;
65848         so use "absolute" to keep both sides happy.
65849         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
65850         Set gl_absolute_header, not gl_full_header_path.
65851         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
65852         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
65853         All uses changed.
65854
65855         Merge from coreutils.
65856
65857         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
65858
65859         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
65860         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
65861         want to require the building of c-strtod.o.
65862         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
65863         needs -lm directly.
65864         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
65865
65866         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
65867
65868         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
65869         --as-needed option if available.  Problem reported by Albert Chin in
65870         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
65871         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
65872         cc merely issues a bunch of annoying warnings for --as-needed
65873         (this problem was reported by Bob Proulx).  Also, try linking with
65874         -lm to detect a bug in binutils 2.16 (this problem was reported
65875         by Ralf Wildenhues).
65876
65877         2006-06-18  Jim Meyering  <jim@meyering.net>
65878
65879         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
65880         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
65881         macro.
65882         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
65883         also check for glibc-2.4's abort-inducing bug.
65884
65885         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
65886         Low-probability clean-up should be to use rmdir to get rid of
65887         the just-created directory, not unlink.
65888
65889         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
65890         configure fail, and request a bug report to inform us about it.
65891         Add a comment that, barring reports to the contrary, in 2007 we'll
65892         assume ftruncate is universally available.
65893
65894         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
65895
65896         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
65897
65898         2006-03-12  Jim Meyering  <jim@meyering.net>
65899
65900         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
65901         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
65902         * m4/same.m4 (gl_SAME): Likewise.
65903         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
65904
65905         2006-03-11  Eric Blake  <ebb9@byu.net>
65906
65907         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
65908         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
65909         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
65910         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
65911
65912 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
65913
65914         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
65915         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
65916         reported by Mark D. Baushke, one in
65917         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
65918
65919         Merge from coreutils.
65920
65921         * lib/.cppi-disable: Add stdint_.h.
65922         * lib/.cvsignore: Add stdint.h.
65923
65924         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
65925
65926         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
65927         both double and long double versions.
65928         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
65929         * lib/xstrtold.c: New file.
65930         * lib/xstrtod.h (xstrtold): New decl.
65931
65932         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
65933
65934         * lib/filemode.c (setst): Remove.
65935         (strmode): Rewrite to avoid setst.  This makes the code shorter,
65936         (arguably) clearer, and the generated code is a bit smaller on my
65937         Debian GNU/Linux stable x86 host.
65938
65939         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
65940
65941         * lib/filemode.c: Include "filemode.h" first, to test the interface.
65942         Assume that filemode.h includes sys/types.h and sys/stat.h.
65943         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
65944         (ftypelet): Reorder to put common cases first, for efficiency.
65945         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
65946         to do 'M'.
65947         (strmode): Renamed from mode_string, and now stores 12 bytes instead
65948         of 10, for compatibility with FreeBSD.  All callers changed.
65949         (filemodestring): Now stores 12 bytes instead of 10, and sets file
65950         types that can't be deduced solely from st_mode.  First arg is now a
65951         const pointer.
65952         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
65953         (strmode): Renamed from mode_string.
65954         (filemodestring): New decl.
65955         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
65956         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
65957         needed.
65958         (S_ISPORT, S_ISWHT): New macros, if not already defined.
65959
65960         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
65961
65962         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
65963         fsusage.h now does that.  Include fsusage.h first, to test interface.
65964         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
65965         at most one method (the old code could have generated decls that
65966         didn't conform to C89, not that this was ever exercised).
65967         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
65968
65969         2006-03-19  Jim Meyering  <jim@meyering.net>
65970
65971         Work even in a chroot where d_ino values for entries in "/"
65972         don't match the stat.st_ino values for the same names.
65973         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
65974         number, iterate through all entries again, using lstat instead.
65975         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
65976         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
65977
65978         * lib/getcwd.c (__getcwd): Clarify a comment.
65979         Use memcpy in place of a call to strcpy.
65980
65981         2006-03-12  Jim Meyering  <jim@meyering.net>
65982
65983         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
65984         matches that of the current directory (which we're about to chdir ".."
65985         out of), then save the dev-ino of the parent, instead.
65986
65987         * lib/same-inode.h (SAME_INODE): New file/macro.
65988         * lib/chdir-safer.c (SAME_INODE): Remove definition.
65989         Include "same-inode.h", instead.
65990         * lib/same.c: Likewise.
65991         * lib/cycle-check.h: Include "same-inode.h".
65992         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
65993         * lib/cycle-check.c (SAME_INODE): Remove definition.
65994         * lib/root-dev-ino.h: Include "same-inode.h".
65995
65996         2006-03-11  Eric Blake  <ebb9@byu.net>
65997
65998         * lib/same.c (same_name): s/base_name/last_component/
65999         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
66000         * lib/filenamecat.c (file_name_concat): Likewise.
66001
66002         2006-03-11  Eric Blake  <ebb9@byu.net>,
66003                     Paul Eggert  <eggert@cs.ucla.edu>
66004
66005         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
66006         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
66007         drive prefix.
66008         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
66009         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
66010         (last_component): New method.
66011         * lib/dirname.c (dir_len): Determine when drive letters need a
66012         subsequent slash.  Preserve // when it is special.
66013         (dir_name): Don't append dot when drive letter is absolute.
66014         [TEST_DIRNAME]: Move into a full-blown gnulib test.
66015         * lib/basename.c (base_name): New semantics - malloc the result.
66016         Preserve // when it is special.  Preserve relative files that look
66017         like drive letters.
66018         (base_len): Preserve // when it is special.
66019         (last_component): New method, similar to old base_name semantics.
66020         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
66021         base_name.  Strip redundant slashes from ///.
66022
66023 2006-07-03  Jim Meyering  <jim@meyering.net>
66024
66025         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
66026         macro is used before the first cycle_check call.
66027
66028 2006-07-03  Eric Blake  <ebb9@byu.net>
66029
66030         * modules/dirname (Depends-on): Add xstrndup.
66031
66032 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
66033
66034         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
66035         test cases, so that config.log is a bit easier to follow.
66036
66037 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
66038
66039         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
66040         both are 64 bits, since this seems to be the tradition, and this
66041         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
66042         we ever run into a host that prefers long long to long in this
66043         case, we'll need another configure-time test.  Problem reported by
66044         Jim Meyering.
66045
66046 2006-07-02  Eric Blake  <ebb9@byu.net>
66047
66048         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
66049
66050 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
66051
66052         * modules/inttypes (Depends-on): No longer depends on stdint.
66053         * modules/stdint (Description): Say more about assumptions.
66054         Say that the fast types might differ.  Say macros are used.
66055         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
66056         (Makefile.am): Revise list of substituted symbols to match
66057         new stdint.m4.
66058         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
66059         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
66060         * tests/test-stdint.c (verify_same_types)
66061         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
66062         the code conforms to C99/C89.
66063         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
66064         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
66065
66066 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
66067
66068         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
66069         but fix a bug, by requiring at least 64 bits.
66070         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
66071         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
66072         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
66073         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
66074
66075         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
66076         changes.  Make 2.59 a prerequisite.  Check and substitute for
66077         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
66078         inttypes.h.  Do not use special include files; just use the
66079         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
66080         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
66081         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
66082         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
66083         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
66084         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
66085         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
66086         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
66087         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
66088         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
66089         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
66090         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
66091         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
66092         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
66093         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
66094         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
66095         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
66096         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
66097         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
66098         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
66099         WINT_MAX.  Check for C99 conformance more strictly, by detecting
66100         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
66101         not check for things that C99 does not require, e.g., int8_t.  If
66102         a test isn't needed unless <stdint.h> isn't working, and is
66103         unlikely to be needed for any other reason, then don't do it
66104         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
66105         size_t, since we assume C89 freestanding at least.  Do not check
66106         for sig_atomic_t, wchar_t, or wint_t, since the code now does
66107         the right thing even if the types are not defined.  Instead use:
66108         (gl_STDINT_TYPE_PROPERTIES): New macro.
66109         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
66110         testing whether <sys/types.h> clashes, as Autoconf does this for
66111         us now.  All uses removed.
66112         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
66113         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
66114         (gl_CHECK_TYPE_SAME):
66115         Remove; no longer needed.
66116         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
66117         exists, since we'll return 0 anyway in that case.
66118         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
66119
66120 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
66121
66122         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
66123         possible collision with system files.
66124         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
66125         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
66126         WCHAR_MIN and WCHAR_MAX in this case.
66127         (<stddef.h>): Do not include; no longer needed.
66128         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
66129         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
66130         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
66131         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
66132         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
66133         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
66134         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
66135         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
66136         !defined(__c99))]: Include in this case too, since it's harmless
66137         now.
66138         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
66139         dangerous to do so.
66140         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
66141         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
66142         (_STDINT_MIN, _STDINT_MAX): New macros.
66143         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
66144         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
66145         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
66146         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
66147         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
66148         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
66149         macros, not typedefs; this simplifies things quite a bit.
66150         Use long int for all types narrower than int64_t.
66151         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
66152         Define in terms of long long int or int64_t or long int,
66153         not int64_t or int32_t.  This saves some compile-time testing.
66154         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
66155         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
66156         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
66157         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
66158         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
66159         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
66160         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
66161         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
66162         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
66163         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
66164         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
66165         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
66166         undef any previous version and define our own version, for
66167         simplicity and consistency with the new macros for types.
66168         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
66169         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
66170         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
66171         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
66172         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
66173         @WINT_T_SUFFIX@ to keep things simple here.
66174         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
66175         Simplify by assuming typical 8/16/32/64 host, since we're
66176         already doing that elsewhere anyway.
66177         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
66178         and assume long long int is 64 bits if available.  This
66179         speeds up 'configure'.
66180
66181 2006-07-01  Eric Blake  <ebb9@byu.net>
66182
66183         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
66184         Reported by Andreas Buening.
66185
66186 2006-07-01  Eric Blake  <ebb9@byu.net>
66187
66188         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
66189
66190 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
66191
66192         * lib/getaddrinfo.c: fixed typo
66193
66194 2006-06-29  Jim Meyering  <jim@meyering.net>
66195
66196         * modules/strftime (Maintainer): Add my name, since with the
66197         FPRINTFTIME changes strftime.c has forked from glibc.
66198
66199 2006-06-29  Eric Blake  <ebb9@byu.net>
66200
66201         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
66202
66203 2006-06-29  Eric Blake  <ebb9@byu.net>
66204
66205         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
66206
66207 2006-06-29  Eric Blake  <ebb9@byu.net>
66208
66209         * lib/stat_.h: New file.
66210
66211 2006-06-29  Eric Blake  <ebb9@byu.net>
66212
66213         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
66214         unused static function.
66215
66216 2006-06-29  Eric Blake  <ebb9@byu.net>
66217
66218         * doc/functions.texi (Function Portability): Document missing lstat
66219         on mingw.
66220
66221 2006-06-29  Eric Blake  <ebb9@byu.net>
66222
66223         * MODULES.html.sh: Add sys_stat.
66224         * modules/sys_stat: New module.
66225         * modules/mkstemp (Depends-on): Add sys_stat.
66226
66227 2006-06-29  Derek R. Price  <derek@ximbiot.com>
66228
66229         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
66230
66231 2006-06-29  Derek R. Price  <derek@ximbiot.com>
66232
66233         * m4/c-bs-a.m4: Removed.
66234
66235 2006-06-29  Derek R. Price  <derek@ximbiot.com>
66236
66237         * lib/strftime.c: Assume strftime() exists.
66238
66239 2006-06-29  Derek Price  <derek@ximbiot.com>
66240
66241         * modules/c-bs-a: Removed - \a is C89.
66242         * MODULES.html.sh: Remove c-bs-a.
66243
66244 2006-06-29  Bruno Haible  <bruno@clisp.org>
66245
66246         * modules/wcwidth (License): Change to LGPL.
66247
66248 2006-06-28  Simon Josefsson  <jas@extundo.com>
66249
66250         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
66251         on _WIN32.
66252
66253         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
66254         getnameinfo.
66255
66256 2006-06-28  Simon Josefsson  <jas@extundo.com>
66257
66258         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
66259
66260 2006-06-28  Simon Josefsson  <jas@extundo.com>
66261
66262         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
66263         functions there.  It will succeed on Windows XP, but on Windows
66264         2000 and (presumably) earlier, it will fail, and use the internal
66265         re-implementation.
66266         (use_win32_p): New function.
66267         (getaddrinfo): Use strtoul on servname, to support numeric ports.
66268         Support AI_NUMERICSERV to disable getservbyname.
66269         (getnameinfo): New function, only supports
66270         NI_NUMERICHOST|NI_NUMERICSERV for now.
66271
66272         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
66273         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
66274         getnameinfo.
66275
66276 2006-06-28  Eric Blake  <ebb9@byu.net>
66277
66278         * modules/wcwidth: New file.
66279         * modules/mbchar (Depends-on): Add wcwidth.
66280         * modules/mbswidth (Depends-on): Add wcwidth.
66281         * MODULES.html.sh: Add wcwidth.
66282
66283 2006-06-28  Eric Blake  <ebb9@byu.net>
66284
66285         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
66286         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
66287
66288 2006-06-28  Eric Blake  <ebb9@byu.net>
66289
66290         * lib/xvasprintf.h: Fix comments.
66291
66292 2006-06-28  Eric Blake  <ebb9@byu.net>
66293
66294         * lib/mbchar.h (wcwidth): Include wcwidth.h.
66295         * lib/mbswidth.c (wcwidth): Move from here...
66296         * lib/wcwidth.h: ...to this new file.
66297
66298 2006-06-28  Derek R. Price  <derek@ximbiot.com>
66299
66300         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
66301
66302         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
66303         it's obsolete.
66304         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
66305
66306 2006-06-28  Derek R. Price  <derek@ximbiot.com>
66307
66308         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
66309         Autoconf 2.60 says this stuff was obsolete.
66310
66311 2006-06-28  Bruno Haible  <bruno@clisp.org>
66312
66313         * modules/wcwidth (Files): Add m4/wchar_t.m4.
66314
66315 2006-06-28  Bruno Haible  <bruno@clisp.org>
66316
66317         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
66318         gt_TYPE_WCHAR_T.
66319
66320 2006-06-28  Bruno Haible  <bruno@clisp.org>
66321
66322         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
66323         declaration for wcwidth.
66324         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
66325
66326 2006-06-28  Bruno Haible  <bruno@clisp.org>
66327
66328         * lib/mkdtemp.c [MINGW]: Include <io.h>.
66329         (mkdir): Define using _mkdir.
66330
66331 2006-06-28  Bruno Haible  <bruno@clisp.org>
66332
66333         * lib/getaddrinfo.h: Fix POSIX URL.
66334         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
66335         _WIN32.
66336         (use_win32_p): Make static.
66337         (getaddrinfo): Reject service name if it is empty or does not consist
66338         solely of decimal digits, or if its value is > 65535.
66339         (getnameinfo): Remove useless casts.
66340
66341 2006-06-27  Simon Josefsson  <jas@extundo.com>
66342
66343         * modules/sys_select: New file, suggested by Bruno Haible, Paul
66344         Eggert and Martin Lambers.
66345
66346 2006-06-27  Simon Josefsson  <jas@extundo.com>
66347
66348         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
66349         Eggert and Martin Lambers.
66350
66351 2006-06-27  Bruno Haible  <bruno@clisp.org>
66352
66353         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
66354         result to 0, not to empty.
66355         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
66356
66357 2006-06-27  Bruno Haible  <bruno@clisp.org>
66358
66359         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
66360
66361 2006-06-26  Simon Josefsson  <jas@extundo.com>
66362
66363         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
66364         present.
66365
66366 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
66367
66368         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
66369         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
66370         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
66371
66372 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
66373
66374         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
66375
66376 2006-06-26  Bruno Haible  <bruno@clisp.org>
66377
66378         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
66379
66380 2006-06-26  Bruno Haible  <bruno@clisp.org>
66381
66382         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
66383
66384 2006-06-26  Bruno Haible  <bruno@clisp.org>
66385
66386         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
66387         SGI C compiler in pre-C99 mode.
66388         Suggested by Mark D. Baushke and Larry Jones.
66389
66390 2006-06-26  Bruno Haible  <bruno@clisp.org>
66391
66392         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
66393         WCHAR_MAX.
66394         Reported by Mark D. Baushke and Larry Jones.
66395
66396 2006-06-26  Bruno Haible  <bruno@clisp.org>
66397
66398         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
66399         in pre-C99 mode.
66400         Suggested by Mark D. Baushke and Larry Jones.
66401
66402 2006-06-23  Simon Josefsson  <jas@extundo.com>
66403             Bruno Haible  <bruno@clisp.org>
66404
66405         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
66406         Emit mostlyclean-local rule.
66407         (func_emit_tests_Makefile_am): Likewise.
66408         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
66409
66410 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
66411
66412         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
66413
66414 2006-06-23  Bruno Haible  <bruno@clisp.org>
66415
66416         * tests/test-stdint.c: Update to match ISO C 99 Technical
66417         Corrigendum 1.
66418
66419 2006-06-23  Bruno Haible  <bruno@clisp.org>
66420
66421         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
66422
66423 2006-06-23  Bruno Haible  <bruno@clisp.org>
66424
66425         * lib/stdint_.h: Treat IRIX like OpenBSD.
66426
66427 2006-06-23  Bruno Haible  <bruno@clisp.org>
66428
66429         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
66430         ISO C 99 Technical Corrigendum 1.
66431
66432 2006-06-22  Simon Josefsson  <jas@extundo.com>
66433
66434         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
66435         MinGW.
66436
66437 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
66438
66439         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
66440         needed.  Some compiler complained about some of them.  Problem reported
66441         by Larry Jones in
66442         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
66443
66444 2006-06-21  Simon Josefsson  <jas@extundo.com>
66445
66446         * tests/test-getaddrinfo.c: New file.
66447
66448         * modules/getaddrinfo-tests: New file.
66449
66450         * MODULES.html.sh: Add inet_pton.
66451
66452         * modules/inet_pton: New file.
66453
66454 2006-06-21  Simon Josefsson  <jas@extundo.com>
66455
66456         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
66457         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
66458         of using the (limited) gnulib implementation on Windows XP.
66459
66460         * m4/inet_pton.m4: New file.
66461
66462 2006-06-21  Simon Josefsson  <jas@extundo.com>
66463
66464         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
66465         variable.
66466
66467         * lib/socket_.h: Don't define WINVER.
66468
66469         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
66470         slightly modified to work in gnulib.
66471
66472 2006-06-21  Simon Josefsson  <jas@extundo.com>
66473
66474         * doc/gnulib.texi (Windows sockets): Add.
66475
66476 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
66477
66478         * lib/read-file.c (fread_file): Start with buffer allocation of
66479         0 bytes rather than 1 byte; this simplifies the code.
66480         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
66481         code to free buffer and save/restore errno.
66482         (internal_read_file): Remove unused local.
66483
66484 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
66485
66486         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
66487         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
66488         Problem reported by Denis Excoffier in
66489         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
66490
66491 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66492
66493         * modules/sys_socket, modules/socklen: Include sys/types since
66494         FreeBSD 4.x's sys/socket.h needs it.
66495
66496 2006-06-19  Simon Josefsson  <jas@extundo.com>
66497
66498         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
66499
66500 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
66501
66502         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
66503
66504 2006-06-19  Bruno Haible  <bruno@clisp.org>
66505
66506         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
66507         and FULL_PATH_INTTYPES_H in angle brackets.
66508         Reported by Mark D. Baushke <mdb@gnu.org>.
66509
66510 2006-06-17  Eric Blake  <ebb9@byu.net>
66511
66512         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
66513         errno.
66514
66515 2006-06-17  Bruno Haible  <bruno@clisp.org>
66516
66517         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
66518         <sys/inttypes.h>.
66519
66520 2006-06-17  Bruno Haible  <bruno@clisp.org>
66521
66522         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
66523         whether errno is declared. Assume <errno.h> declares errno.
66524
66525 2006-06-17  Bruno Haible  <bruno@clisp.org>
66526
66527         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
66528
66529 2006-06-17  Bruno Haible  <bruno@clisp.org>
66530
66531         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
66532         problem on Solaris 2.5.1.
66533
66534 2006-06-16  Eric Blake  <ebb9@byu.net>
66535
66536         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
66537         * lib/unicodeio.c [!defined errno]: Likewise.
66538         * lib/strtol.c [!defined errno]: Likewise.
66539         * lib/strtod.c [!defined errno]: Likewise.
66540
66541 2006-06-15  Eric Blake  <ebb9@byu.net>
66542
66543         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
66544
66545 2006-06-15  Eric Blake  <ebb9@byu.net>
66546
66547         * config/srclist.txt (ssize_t.m4): Lose sync.
66548
66549 2006-06-15  Bruno Haible  <bruno@clisp.org>
66550
66551         * modules/stdint (Files): Include m4/full-header-path.m4,
66552         m4/size_max.m4, m4/wchar_t.m4.
66553         (Makefile.am): Many more substitutions.
66554         * modules/stdint-tests: New file.
66555         * tests/test-stdint.c: New file.
66556
66557 2006-06-15  Bruno Haible  <bruno@clisp.org>
66558
66559         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
66560         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
66561         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
66562         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
66563         gl_CHECK_TYPE_SAME): New macros.
66564
66565 2006-06-15  Bruno Haible  <bruno@clisp.org>
66566
66567         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
66568
66569 2006-06-15  Bruno Haible  <bruno@clisp.org>
66570
66571         * lib/stdint_.h: Rewritten to be fully auto-configured.
66572         Fixes bug on HP-UX/IA64.
66573
66574 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
66575
66576         * lib/getdate.y (__attribute__): Don't define if already defined.
66577         Problem reported by Larry Jones.
66578         * lib/utimens.c (__attribute__): Likewise.
66579
66580 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
66581
66582         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
66583         reported by Andreas Schwab.
66584
66585 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66586             Bruno Haible  <bruno@clisp.org>
66587
66588         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
66589         check for the declaration of strnlen and a run test that exposes the
66590         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
66591         rpl_strndup.
66592
66593 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66594             Bruno Haible  <bruno@clisp.org>
66595
66596         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
66597
66598 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66599
66600         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
66601         compile test, for Tru64 4.0D.
66602
66603 2006-05-28  Karl Berry  <karl@gnu.org>
66604
66605         * config/srclist.txt (printf-args.c): lose sync.
66606
66607 2006-05-26  Martin Lambers  <marlam@marlam.de>
66608
66609         * lib/getpass.c: Updates the test for the native W32 API, and adds
66610         missing includes, thus fixing compilation warnings.
66611
66612 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
66613
66614         * lib/exclude.c (exclude_fnmatch): New function.
66615         (excluded_file_name): Call exclude_fnmatch.
66616         * lib/exclude.h (excluded_file_name): New prototype
66617
66618 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
66619
66620         * lib/tempname.c (small_open, large_open): New macros.
66621         (__open, __open64) [!_LIBC]: Remove.
66622         (__gen_tempname): Use small_open and large_open instead of __open
66623         and __open64.  This fixes a portability bug on HP-UX 11.11i
66624         reported by Simon Wing-Tang in
66625         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
66626
66627 2006-05-24  Bruno Haible  <bruno@clisp.org>
66628
66629         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
66630         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
66631         Reported by Thorsten Maerz <torte@netztorte.de> via
66632         Aaron Stone <aaron@serendipity.cx>.
66633
66634 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
66635
66636         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
66637         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
66638         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
66639         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
66640         not really conditional on the cache.
66641         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
66642
66643 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
66644
66645         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
66646         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
66647         (my_usleep): Don't mishandle maximum value.
66648
66649 2006-05-19  Jim Meyering  <jim@meyering.net>
66650
66651         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
66652
66653 2006-05-17  Bruno Haible  <bruno@clisp.org>
66654
66655         Cygwin portability.
66656         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
66657
66658 2006-05-17  Bruno Haible  <bruno@clisp.org>
66659
66660         * lib/stdint_.h: Fix recognition of Cygwin.
66661
66662 2006-05-15  Bruno Haible  <bruno@clisp.org>
66663
66664         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
66665         on libtool patch by Ralf Wildenhues.
66666
66667 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
66668
66669         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
66670         test for C99 conformance; (bool) 0.5 is an integer constant
66671         expression, but (bool) -0.5 is not.  Problem reported by Fedor
66672         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
66673
66674 2006-05-11  Simon Josefsson  <jas@extundo.com>
66675
66676         * m4/xvasprintf.m4: Fix obvious typo.
66677
66678 2006-05-11  Jim Meyering  <jim@meyering.net>
66679
66680         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
66681         James Lemley.
66682
66683 2006-05-10  Simon Josefsson  <jas@extundo.com>
66684
66685         * lib/md4.c: Typo fix, update copyright years.
66686         (K1, K2): Don't use L because it turn computations into 64-bit on
66687         64-bit platforms.
66688
66689 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
66690
66691         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
66692         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
66693         unwanted sign propagation, e.g., on hosts with 64-bit int.
66694         There still are some problems with reeelly weird theoretical hosts
66695         (e.g., 33-bit int) but it's not worth worrying about now.
66696         * lib/sha1.c (rol): Likewise.
66697         (K1, K2, K3, K4): Remove unnecessary L suffix.
66698
66699 2006-05-10  Bruno Haible  <bruno@clisp.org>
66700
66701         * lib/des.c: Cast to avoid warnings.
66702
66703 2006-05-09  Bruno Haible  <bruno@clisp.org>
66704
66705         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
66706         (Depends-on): Depend also on xsize, stdarg.
66707         (configure.ac): Add gl_XVASPRINTF.
66708
66709 2006-05-09  Bruno Haible  <bruno@clisp.org>
66710
66711         * m4/xvasprintf.m4: New file.
66712
66713 2006-05-09  Bruno Haible  <bruno@clisp.org>
66714
66715         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
66716         (EOVERFLOW): Define fallback value.
66717         (xstrcat): New function.
66718         (xvasprintf): Recognize the special case of a string concatenation.
66719
66720 2006-05-08  Eric Blake  <ebb9@byu.net>
66721
66722         * gnulib-tool (func_version): Base copyright year on CVS date.
66723         (func_emit_copyright_notice): New function.
66724         (func_emit_lib_Makefile_am): Use it.
66725         (func_emit_tests_Makefile_am): Likewise.
66726         (func_import): Likewise.
66727
66728 2006-05-08  Bruno Haible  <bruno@clisp.org>
66729
66730         * modules/stdarg: New file.
66731         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
66732
66733 2006-05-08  Bruno Haible  <bruno@clisp.org>
66734
66735         * m4/stdarg.m4: New file, from GNU gettext.
66736
66737 2006-05-08  Bruno Haible  <bruno@clisp.org>
66738
66739         * config/srclist.txt (build-aux/config.rpath): different from latest
66740         release.
66741
66742 2006-05-08  Bruno Haible  <bruno@clisp.org>
66743
66744         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
66745
66746 2006-05-05  Jim Meyering  <jim@meyering.net>
66747
66748         * m4/warning.m4: New file, derived from bison's file by the same name.
66749
66750 2006-05-03  Bruno Haible  <bruno@clisp.org>
66751
66752         * lib/stdint_.h: Shorter URL.
66753         * lib/inttypes.h: Likewise.
66754
66755 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
66756
66757         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
66758
66759 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
66760
66761         * lib/verify.h: Document the internals better.  Most of this change
66762         was written by Bruno Haible.
66763
66764 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
66765
66766         * doc/verify.texi: New file, partly based on a proposal by
66767         Bruno Haible.
66768
66769 2006-05-02  Bruno Haible  <bruno@clisp.org>
66770
66771         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
66772         test from here...
66773         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
66774
66775 2006-04-29  Bruno Haible  <bruno@clisp.org>
66776
66777         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
66778         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
66779
66780 2006-04-29  Bruno Haible  <bruno@clisp.org>
66781
66782         * gnulib-tool: Make --update option actually work.
66783
66784 2006-04-29  Bruno Haible  <bruno@clisp.org>
66785
66786         * doc/gcd.texi: New file.
66787         * doc/gnulib.texi: Include it.
66788
66789 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
66790
66791         * lib/getdate.y (get_date): When adding relative date, start with the
66792         initial time, not with the result of the first mktime call.
66793
66794 2006-04-25  Bruno Haible  <bruno@clisp.org>
66795
66796         * gnulib-tool (func_import): Output the include directives in three
66797         blocks, sorted separately.
66798         Reported by Ben Pfaff <blp@cs.stanford.edu>.
66799
66800 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
66801
66802         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
66803         to define main with arguments, for C++.  Reported by Eric Blake.
66804         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
66805         Prefer 'int main ()' to 'int main (void)', for C++.
66806         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
66807         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
66808         for 'main', for C99 and C++.
66809
66810 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
66811
66812         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
66813         Don't assume that exit status -1 is valid.
66814         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
66815         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
66816         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
66817         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
66818         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
66819         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
66820         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
66821         functions can be used without declaring them, or that you can
66822         exit with status -1.
66823         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
66824
66825 2006-04-24  Karl Berry  <karl@gnu.org>
66826
66827         * config/srclist.txt (longdouble.m4): sync lost.
66828
66829 2006-04-24  Eric Blake  <ebb9@byu.net>
66830
66831         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
66832
66833 2006-04-24  Bruno Haible  <bruno@clisp.org>
66834
66835         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
66836         poll() implementation in AIX.
66837         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
66838
66839 2006-04-24  Bruno Haible  <bruno@clisp.org>
66840
66841         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
66842         assigned exactly once.
66843
66844 2006-04-23  Claudio Fontana  <claudio@gnu.org>
66845             Bruno Haible  <bruno@clisp.org>
66846
66847         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
66848         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
66849         for AM_CPPFLAGS.
66850
66851 2006-04-23  Bruno Haible  <bruno@clisp.org>
66852
66853         * modules/copy-file: Depend on unistd.
66854         * modules/execute: Likewise.
66855         * modules/fatal-signal: Likewise.
66856         * modules/findprog: Likewise.
66857         * modules/mkdtemp : Likewise.
66858         * modules/pipe: Likewise.
66859         * modules/wait-process: Likewise.
66860
66861 2006-04-23  Bruno Haible  <bruno@clisp.org>
66862
66863         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
66864         condition was already detected.
66865         Reported by Ben Pfaff <blp@cs.stanford.edu>.
66866
66867 2006-04-23  Bruno Haible  <bruno@clisp.org>
66868
66869         * lib/copy-file.c: Include <unistd.h> unconditionally.
66870         * lib/execute.c: Likewise.
66871         * lib/fatal-signal.c: Likewise.
66872         * lib/findprog.c: Likewise.
66873         * lib/mkdtemp.c: Likewise.
66874         * lib/pipe.h: Likewise.
66875         * lib/pipe.c: Likewise.
66876         * lib/wait-process.h: Likewise.
66877
66878 2006-04-23  Bruno Haible  <bruno@clisp.org>
66879
66880         * gnulib-tool (func_usage): Fix --import description. Document
66881         --update.
66882         (func_import): Create temporary file in a temporary directory, if
66883         --dry-run is specified. Silence errors from 'grep' when there are no
66884         m4 files in $m4dir.
66885         (func_create_testdir): Silence errors from 'grep' when there are no
66886         m4 files in $m4dir.
66887         Reported by Karl Berry <karl@freefriends.org>.
66888
66889 2006-04-20  Bruno Haible  <bruno@clisp.org>
66890
66891         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
66892         one argument, so that the code will be portable to Autoconf 2.60.
66893         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
66894         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
66895         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
66896
66897 2006-04-19  Derek Price  <derek@ximbiot.com>
66898             Eric Blake  <ebb9@byu.net>
66899
66900         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
66901         rather than "/full/path.h".  Update comment to match.  Shorten &
66902         generalize m4_translit call via AS_TR_CPP.
66903
66904 2006-04-19  Derek Price  <derek@ximbiot.com>
66905             Eric Blake  <ebb9@byu.net>
66906
66907         * lib/inttypes.h: Correct grammar in comment.
66908
66909 2006-04-18  Derek Price  <derek@ximbiot.com>
66910             Paul Eggert  <eggert@cs.ucla.edu>
66911
66912         * modules/inttypes: New file.
66913         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
66914
66915 2006-04-18  Derek Price  <derek@ximbiot.com>
66916             Paul Eggert  <eggert@cs.ucla.edu>
66917
66918         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
66919         New files.
66920
66921 2006-04-18  Derek Price  <derek@ximbiot.com>
66922             Paul Eggert  <eggert@cs.ucla.edu>
66923
66924         * lib/inttypes.h: New file.
66925         * lib/strtoimax.c: Assume <inttypes.h>.
66926
66927 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
66928
66929         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
66930         isn't mounted.  Problem reported by Kir Kolyshkin.
66931
66932 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
66933
66934         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
66935         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
66936         Derek R. Price.
66937         * lib/regex.h (RE_DUP_MAX): Update comment to match current
66938         implementation.
66939
66940 2006-04-12  Eric Blake  <ebb9@byu.net>
66941
66942         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
66943         is now done automatically by the corresponding Autoconf macro.
66944
66945 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
66946
66947         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
66948         time_r.h.
66949
66950 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
66951
66952         Merge regex changes from libc, removing some of our
66953         POSIX-conformance changes that were rejected and redoing them in a
66954         less-intrusive way.
66955
66956         * lib/regcomp.c (re_compile_internal, init_dfa):
66957         Length arg is now size_t, not Idx.  All uses changed.
66958         (peek_token): Forward decl now says internal_function.
66959         (__re_error_msgid, __re_error_msgid_idx):
66960         Now static rather than extern with attribute_hidden.
66961         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
66962         For some reason libc prefers K&R style defns for external functions.
66963         (regerror) [!defined _LIBC]: Likewise.
66964         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
66965         (seek_collating_symbol_entry, lookup_collation_sequence_value):
66966         (build_range_exp, build_collating_symbol):
66967         Use K&R-style defn.
66968         (re_compile_fastmap): Use '\0' to memset, not 0.
66969         (utf8_sb_map): Make the calculations more obvious.
66970         (init_dfa, parse_bracket_exp, build_charclass_op):
66971         Call calloc and cast result, as glibc does.
66972         (init_word_char, fetch_token, peek_token, peek_token_bracket):
66973         (build_range_exp, build_collating_symbol):
66974         Now internal functions.
66975
66976         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
66977
66978         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
66979         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
66980         Don't depend on VMS; depend on __VMS instead, for POSIX
66981         namespace cleanness.
66982         (regoff_t): Define to ssize_t, not long int.
66983
66984         Remove the REG_ macros named below.  Instead, make the old names
66985         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
66986         __USE_GNU_REGEX.
66987         (REG_BACKSLASH_ESCAPE_IN_LISTS):
66988         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
66989         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
66990         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
66991         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
66992         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
66993         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
66994         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
66995         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
66996         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
66997         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
66998         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
66999         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
67000         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
67001         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
67002         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
67003         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
67004         (REG_NREGS):
67005         Remove.  All uses replaced by the old RE_* names.
67006         (RE_BACKSLASH_ESCAPE_IN_LISTS):
67007         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
67008         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
67009         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
67010         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
67011         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
67012         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
67013         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
67014         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
67015         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
67016         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
67017         Don't bother having these macros be independent of each others'
67018         values, since they no longer exist in the POSIX name space.
67019
67020         Rename the following member names back to their old names,
67021         unless !__USE_GNU_REGEX.  All uses changed back.
67022         (buffer): Renamed from re_buffer.
67023         (allocated): Renamed from re_allocated.
67024         (used): Renamed from re_used.
67025         (syntax): Renamed from re_syntax.
67026         (fastmap): Renamed from re_fastmap.
67027         (translate): Renamed from re_translate.
67028         (can_be_null): Renamed from re_can_be_null.
67029         (regs_allocated): Renamed from re_regs_allocated.
67030         (fastmap_accurate): Renamed from re_fastmap_accurate.
67031         (no_sub): Renamed from re_no_sub.
67032         (not_bol): Renamed from re_not_bol.
67033         (not_eol): Renamed from re_not_eol.
67034         (newline_anchor): Renamed from re_newline_anchor.
67035         (num_regs): Renamed from rm_num_regs.
67036         (start): Renamed from rm_start.
67037         (end): Renamed from rm_end.
67038
67039         (free_state): Move up a bit.
67040
67041         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
67042         #define to be empty.
67043         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
67044         when that is what is intended.
67045         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
67046         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
67047         (MAX): New macro.
67048         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
67049         All uses changed back to re_malloc, etc.  It's now the caller's
67050         responsibility to check for overflow; all callers changed.
67051         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
67052         (re_x2nrealloc): Remove.
67053         (free_state): Remove decl.
67054
67055         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
67056         (re_set_registers, re_exec):
67057         Use K&R-style defn.
67058
67059         2006-01-31  Roland McGrath  <roland@redhat.com>
67060
67061         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
67062         Reported by Mike Frysinger <vapier@gentoo.org>.
67063
67064         2006-01-15  Andreas Jaeger  <aj@suse.de>
67065
67066         [BZ #1950]
67067         * lib/regex_internal.c (re_string_reconstruct): Adjust for
67068         build_wcs_upper_buffer change.
67069         (build_wcs_upper_buffer): Change return type.
67070
67071         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
67072
67073         * lib/regex_internal.h: Include <stdint.h> if available.
67074
67075         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
67076
67077         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
67078
67079         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
67080
67081         * lib/regcomp.c: Adjust for changed secondary hash function.
67082
67083         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
67084
67085         * lib/regex.h: Pretty printing.
67086         Clean up namespace a bit.
67087
67088         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
67089
67090         * lib/regexec.c (update_cur_sifted_state, check_arrival,
67091         check_arrival_add_next_nodes): Avoid using uninitialized variable.
67092
67093         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
67094                     Ulrich Drepper  <drepper@redhat.com>
67095
67096         [BZ #1302]
67097         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
67098         changed.
67099         (bitset_word_t): Renamed from bitset_word.  All uses changed.
67100
67101         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
67102
67103         [BZ #281]
67104         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
67105         * lib/regcomp.c: Remove unnecessary uses of
67106         unsigned RE_TRANSLATE_TYPE.
67107         * lib/regex_internal.h: Likewise.
67108         * lib/regex_internal.c: Likewise.
67109         * lib/regexec.c: Likewise.
67110         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
67111
67112         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
67113
67114         * lib/regexec.c (find_recover_state): Remove unnecessary
67115         initialization.
67116         (transit_state_bkref): Make DFA a const pointer.
67117         (get_subexp): Likewise.
67118         (check_arrival): Likewise.
67119         (update_cur_sifted_state): Likewise.
67120         (re_search_internal): Likewise.
67121         (prune_impossible_nodes): Likewise.
67122         (acquire_init_state_context): Likewise.
67123         (proceed_next_node): Likewise.
67124         (set_regs): Likewise.
67125         (free_fail_stack_return): Likewise.
67126         (check_arrival_expand_ecl): Mark DFA parameter as const.
67127         (check_arrival_expand_ecl_sub): Likewise.
67128         (check_subexp_limits): Likewise.
67129         (sub_epsilon_src_nodes):  Likewise.
67130         (add_epsilon_src_nodes):  Likewise.
67131         (merge_state_array): Likewise.
67132         (update_regs): Likewise.
67133         (build_trtable): Likewise.
67134         (sift_states_backward): Mark MCTX parameter as const.
67135         (build_sifted_states): Likewise.
67136         (update_cur_sifted_state): Likewise.
67137         (sift_states_mkref): Likewise.
67138         (check_arrival_expand_ecl): Mark eclosure as const.
67139         (check_dst_limits_calc_pos_1): Likewise.
67140         * lib/regex_internal.h (re_match_context_t): Make dfa a const
67141         pointer.
67142
67143         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
67144
67145         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
67146         (transit_state_sb): Likewise.
67147         (transit_state_mb): Likewise.
67148         (sift_states_iter_mb): Likewise.
67149         (check_arrival_add_next_nodes): Likewise.
67150         (check_node_accept_bytes): Change first parameter to pointer-to-const.
67151         [_LIBC] (re_search_2_stub): Use mempcpy.
67152
67153         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
67154         mbrtowc for very simple UTF-8 case.
67155
67156         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
67157         a pointer-to-const.
67158         (re_acquire_state_context): Likewise.
67159         * lib/regex_internal.h: Adjust prototypes.
67160
67161         * lib/regex.c: Prevent using C++ compilers.
67162
67163         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
67164         (re_acquire_state_context): Likewise.
67165
67166 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
67167
67168         * modules/regex (Depends-on): Add ssize_t.
67169
67170 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
67171
67172         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
67173         translation table.
67174
67175 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
67176
67177         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
67178
67179 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
67180             Bruno Haible  <bruno@clisp.org>
67181
67182         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
67183         <sys/types.h> and <inttypes.h>.
67184
67185 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67186
67187         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
67188         `__error_t_defined', so argp.h will not typedef the former.
67189
67190 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
67191
67192         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
67193         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
67194         glibc names.  Even if glibc is changed to conform to POSIX, the
67195         traditional names will be available anyway, since regex depends on
67196         the extensions module.  Also, fix a longstanding typo in the
67197         implementation of Spencer ERE test #75 from grep 2.3.  Problems
67198         reported by Emanuele Giaquinta.  Also, change sense of cached
67199         variable, so that the message makes sense.
67200
67201 2006-03-24  Simon Josefsson  <jas@extundo.com>
67202
67203         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
67204         including some doc fixes.
67205         (base64_encode_alloc): Fix +1 bug on allocation failures.
67206
67207 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67208
67209         * lib/base64.c (base64_encode): Do not read past end of array with
67210         unsanitized input on systems with CHAR_BIT > 8.
67211
67212 2006-03-24  Eric Blake  <ebb9@byu.net>
67213
67214         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
67215
67216 2006-03-22  Karl Berry  <karl@gnu.org>
67217
67218         * config/srclist.txt (*setenv.[ch]): get from coreutils.
67219         * config/srclistvars.sh (COREUTILS): new var.
67220
67221 2006-03-17  Jim Meyering  <jim@meyering.net>
67222
67223         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
67224         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
67225
67226 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
67227
67228         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
67229         no longer needs it.  Instead, check that regoff_t is as least
67230         as wide as ptrdiff_t.
67231
67232         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
67233         so that our regex.h stays compatible with the installed regex.
67234         This is helpful for installers who configure --without-included-regex.
67235         Problem reported by Emanuele Giaquinta.
67236
67237 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
67238
67239         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
67240         Typedef to long int, not to off_, as POSIX will likely change
67241         in that direction.
67242
67243 2006-03-15  Eric Blake  <ebb9@byu.net>
67244
67245         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
67246
67247 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
67248
67249         * lib/argp-help.c (validate_uparams): Fix typo
67250         * lib/argp-parse.c (argp_default_options): Consistently begin help
67251         messages with a lowercase letter.
67252
67253 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
67254
67255         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
67256         overrun buffers and shouldn't be used (much as gets shouldn't be
67257         used).
67258         * lib/time_r.c (asctime_r, ctime_r): Likewise.
67259
67260 2006-03-08  Simon Josefsson  <jas@extundo.com>
67261
67262         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
67263         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67264
67265 2006-03-08  Simon Josefsson  <jas@extundo.com>
67266
67267         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
67268         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67269
67270 2006-03-08  Simon Josefsson  <jas@extundo.com>
67271
67272         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
67273         signal that configure disabled the device.
67274
67275 2006-03-08  Simon Josefsson  <jas@extundo.com>
67276
67277         * build-aux/maint.mk: Fix refresh-po, to handle no translated
67278         languages.
67279
67280 2006-03-07  Simon Josefsson  <jas@extundo.com>
67281
67282         * modules/getopt (Depends-on): Add unistd.
67283
67284         * modules/unistd: New file.
67285
67286 2006-03-07  Simon Josefsson  <jas@extundo.com>
67287
67288         * modules/gc-random: New file.
67289
67290 2006-03-07  Simon Josefsson  <jas@extundo.com>
67291
67292         * m4/unistd_h.m4: New file.
67293
67294 2006-03-07  Simon Josefsson  <jas@extundo.com>
67295
67296         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
67297         test to be side-effect free by storing the result in the cache
67298         variable gl_cv_lib_readline, and moving the assignment of
67299         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
67300         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67301
67302 2006-03-07  Simon Josefsson  <jas@extundo.com>
67303
67304         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
67305         error on missing devices (the functions will return an error).
67306
67307         * m4/gc.m4: Move random stuff to gc-random.m4
67308
67309 2006-03-07  Simon Josefsson  <jas@extundo.com>
67310
67311         * lib/unistd_.h: New file.
67312
67313 2006-03-07  Simon Josefsson  <jas@extundo.com>
67314
67315         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
67316
67317 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
67318
67319         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
67320         Problem reported by Juan Manuel Guerrero.
67321
67322 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
67323
67324         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
67325         the unistd module.
67326         * lib/getlogin_r.c: Likewise.
67327         * lib/getlogin_r.h: Likewise.
67328         * lib/glob.c: Likewise.
67329         * lib/pagealign_alloc.c: Likewise.
67330         * lib/unistd_.h: Remove; no longer needed.
67331
67332 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
67333
67334         * MODULES.html.sh (Support for systems lacking POSIX:2001):
67335         Add unistd.
67336         * modules/c-stack (Depends-on): Add unistd.
67337         * modules/getlogin_r: Likewise.
67338         * modules/glob: Likewise.
67339         * modules/pagealign_alloc: Likewise.
67340         * modules/unistd (Files): Remove lib/unistd_.h.
67341         (EXTRA_DIST): Remove.
67342         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
67343         need unistd_.h.
67344         (MOSTLYCLEANFILES): Remove unistd.h-t.
67345
67346 2006-03-03  Simon Josefsson  <jas@extundo.com>
67347
67348         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
67349
67350 2006-03-03  Simon Josefsson  <jas@extundo.com>
67351
67352         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
67353         libidn and bison.
67354
67355 2006-03-03  Simon Josefsson  <jas@extundo.com>
67356
67357         * build-aux/maint.mk: Add indent target.
67358
67359 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
67360
67361         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
67362         our replacement poll.h in any case, to avoid a differing
67363         declaration from a system header.  Seen on AIX.
67364
67365 2006-03-01  Simon Josefsson  <jas@extundo.com>
67366
67367         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
67368         <kasal@ucw.cz>.
67369
67370 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
67371
67372         * modules/gettime (Depends-on): Add extensions module.
67373         * modules/nanosleep (Depends-on): Likewise.
67374         * modules/settime (Depends-on): Likewise.
67375
67376 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
67377
67378         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
67379         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
67380         pedantically.
67381         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
67382         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
67383
67384         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
67385         not "==".  Reported by Ralf Wildenhues.
67386
67387 2006-03-01  Karl Berry  <karl@gnu.org>
67388
67389         * doc/Copyright/request-*: new files, synced from gnuorg.
67390
67391 2006-03-01  Karl Berry  <karl@gnu.org>
67392
67393         * config/srclist.txt (Copyright/*): new entries.
67394
67395 2006-02-28  Simon Josefsson  <jas@extundo.com>
67396
67397         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
67398
67399 2006-02-27  Simon Josefsson  <jas@extundo.com>
67400
67401         * lib/base64.h: Indent #define's.  From Jim Meyering
67402         <jim@meyering.net>.
67403
67404 2006-02-27  Jim Meyering  <jim@meyering.net>
67405
67406         Revert the change of 2006-02-24, so these files can continue
67407         to be sync'd from gettext.
67408         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
67409         of `config.h'.
67410
67411 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
67412
67413         * modules/intprops: New file.
67414         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
67415         Add intprops.
67416         * modules/getloadavg (Files): Remove lib/intprops.h.
67417         (Depends-on): Add intprops.
67418         * modules/human: Likewise.
67419         * modules/inttostr: Likewise.
67420         * modules/openat: Likewise.
67421         * modules/sig2str: Likewise.
67422         * modules/userspec: Likewise.
67423         * modules/utimecmp: Likewise.
67424         * modules/xnanosleep: Likewise.
67425         * modules/xstrtol: Likewise.
67426
67427 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
67428
67429         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
67430         * modules/lock-tests (TESTS): Use $(EXEEXT).
67431         * modules/tls-tests: Likewise.
67432         * modules/argp-tests: Likewise.
67433         (check_PROGRAMS): New var, replacing...
67434         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
67435
67436 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67437
67438         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
67439         `config.h'.
67440
67441 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
67442
67443         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
67444
67445 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67446
67447         Sync from coreutils.
67448         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
67449         gl_CHDIR_SAFER.
67450
67451 2006-02-22  Jim Meyering  <jim@meyering.net>
67452
67453         Sync from coreutils.
67454         * m4/chdir-safer.m4: New file.
67455
67456 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
67457
67458         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
67459         AT_FDCWD exceeds INT_MAX.
67460         * lib/openat.h (AT_FDCWD): Likewise.
67461
67462 2006-02-17  Eric Blake  <address@hidden>
67463
67464         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
67465
67466 2006-02-16  Simon Josefsson  <jas@extundo.com>
67467
67468         * modules/getaddrinfo (Depends-on): Add sys_socket.
67469
67470 2006-02-15  Simon Josefsson  <jas@extundo.com>
67471
67472         * build-aux/maint.mk: Add dsyntax-check rule.
67473
67474 2006-02-15  Eric Blake  <ebb9@byu.net>
67475
67476         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
67477         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
67478         'present but cannot compile' warnings on cygwin.
67479         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
67480         use ws2tcpip.h if sys/socket.h works.
67481         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
67482         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
67483
67484 2006-02-14  Simon Josefsson  <jas@extundo.com>
67485
67486         * modules/maintainer-makefile (Files): Rename.
67487
67488         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
67489         and (the local) Makefile.cfg to maint-cfg.mk.
67490
67491         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
67492         to the latter.
67493
67494         * modules/maintainer-makefile: New module.
67495
67496         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
67497         severaly stripped to make it possible to build it up from scratch
67498         with reliable tests.
67499
67500         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
67501         fixes to permit overriding the default actions when configure and
67502         makefile are not available.
67503
67504 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
67505
67506         Sync from coreutils.
67507         * modules/lstat (Depends-on): Don't depend on xalloc.
67508         (License): Change from GPL to LGPL, since this is now simply a
67509         replacement for a libc function.
67510
67511 2006-02-14  Jim Meyering  <jim@meyering.net>
67512
67513         Sync from coreutils.
67514
67515         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
67516         failure on deficient systems, and simplify gnulib lgpl dependencies.
67517         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
67518         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
67519
67520         * lib/xalloc-die.c: Remove unused definition of N_.
67521
67522 2006-02-14  Jim Meyering  <jim@meyering.net>
67523
67524         Sync from coreutils.
67525         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
67526         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
67527         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
67528         double-quote uses of that variable, to accommodate the rare case in
67529         which getmntent is available in none of the libraries checked.  This
67530         happens at least on FreeBSD 5.0.
67531
67532 2006-02-13  Simon Josefsson  <jas@extundo.com>
67533
67534         * gnulib-tool (Usage): Fix --import, from
67535         karl@freefriends.org (Karl Berry).
67536
67537 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
67538
67539         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
67540
67541 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
67542
67543         * lib/argp-namefrob.h: Restore changes accidentally lost during the
67544         "autoupdate" on 2005-12-12.
67545
67546 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
67547
67548         * modules/closeout (Depends-on): Remove atexit.
67549
67550 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
67551
67552         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
67553         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
67554
67555 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
67556
67557         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
67558         __EXTENSIONS__ if this causes compilation to fail.  Problem
67559         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
67560         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
67561
67562 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
67563
67564         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
67565         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
67566         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
67567         All uses changed.
67568
67569 2006-01-26  Simon Josefsson  <jas@extundo.com>
67570
67571         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
67572         prototype is visible on mingw32.
67573
67574         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
67575         for mingw32.
67576
67577         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
67578         mingw32).
67579
67580 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
67581
67582         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
67583         attempt to open for write; this always fails, at least on POSIX
67584         hosts.  This reinstates the 2006-01-09 change, which was
67585         inadvertently removed.
67586
67587 2006-01-26  Bruno Haible  <bruno@clisp.org>
67588
67589         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
67590         Reported by Paul Eggert.
67591
67592 2006-01-26  Bruno Haible  <bruno@clisp.org>
67593             Paul Eggert  <eggert@cs.ucla.edu>
67594
67595         * lib/stdbool_.h (_Bool)
67596         [(! (defined __cplusplus || defined __BEOS__)
67597           && !defined __GNUC__
67598           && !(defined __HP_cc || defined __xlc__
67599                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
67600                || defined __sgi))]:
67601         #define to signed char in these cases too; this simplifies
67602         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
67603         etc., separately) and makes it more conservative.
67604
67605 2006-01-25  Simon Josefsson  <jas@extundo.com>
67606
67607         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
67608         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
67609         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
67610
67611 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
67612
67613         * lib/argp-namefrob.h: Bugfix. Remove stray #
67614
67615 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
67616
67617         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
67618         so that we test the test.
67619         Check for yet another HP-UX cc bug involving *bool |= bool.
67620
67621 2006-01-25  Karl Berry  <karl@gnu.org>
67622
67623         * config/srclist.txt (vasnprintf.c): sync lost.
67624
67625 2006-01-25  Jim Meyering  <jim@meyering.net>
67626
67627         Sync from the stable (b5) branch of coreutils:
67628
67629         * lib/fts.c (fts_children): Don't let close() clobber errno from
67630         failed fchdir().
67631
67632         * lib/fts.c (fts_stat): When following a symlink-to-directory,
67633         don't necessarily interpret stat-fails+lstat-succeeds as indicating
67634         a dangling symlink.  That can also happen at least for ELOOP.
67635         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
67636         FYI, this bug predates the inclusion of fts.c in coreutils.
67637
67638         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
67639         in their own block, so pre-c99 compilers don't object.
67640
67641         Avoid the double-free (first in fts_read, second in fts_close) that
67642         would occur when an `active' directory is made inaccessible (e.g.,
67643         via chmod a-x) during a traversal.
67644         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
67645         before returning.  Reproduce this failure by
67646         mkdir -p a/b; cd a; chmod a-x . b
67647         Reported by Stavros Passas.
67648
67649 2006-01-25  Jim Meyering  <jim@meyering.net>
67650
67651         * lib/fileblocks.c: Remove more useless parentheses.
67652         * lib/readutmp.h: Likewise.
67653
67654 2006-01-25  Bruno Haible  <bruno@clisp.org>
67655
67656         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
67657         warnings.
67658         Reported by Paul Eggert.
67659
67660 2006-01-25  Bruno Haible  <bruno@clisp.org>
67661
67662         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
67663         rid of a trap command. For Solaris sh.
67664         Reported by Mark D. Baushke <mdb@gnu.org>.
67665
67666 2006-01-24  Simon Josefsson  <jas@extundo.com>
67667
67668         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
67669         Bruno.
67670
67671 2006-01-24  Karl Berry  <karl@gnu.org>
67672
67673         * config/srclist.txt (argp-namefrob.h): sync lost.
67674
67675 2006-01-24  Jim Meyering  <jim@meyering.net>
67676
67677         * modules/openat (Files): Add lib/intprops.h.
67678         From Mark D. Baushke.
67679
67680 2006-01-24  Jim Meyering  <jim@meyering.net>
67681
67682         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
67683         Reported by Mark D. Baushke.
67684
67685 2006-01-24  Jim Meyering  <jim@meyering.net>
67686
67687         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
67688
67689 2006-01-24  Bruno Haible  <bruno@clisp.org>
67690
67691         * modules/strnlen (Maintainer): Change from glibc to all.
67692
67693 2006-01-24  Bruno Haible  <bruno@clisp.org>
67694
67695         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
67696         Patch by Paul Eggert.
67697
67698 2006-01-24  Bruno Haible  <bruno@clisp.org>
67699
67700         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
67701         already has it.
67702         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
67703         2005-11-26.
67704
67705         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
67706         'signed char' to avoid problems with the built-in _Bool type.
67707         Reported by Paul Eggert on 2005-11-26.
67708
67709 2006-01-24  Bruno Haible  <bruno@clisp.org>
67710
67711         * gnulib-tool (func_import): Avoid constructing complicated sed
67712         expressions inside backquote.
67713         Report and solution by Mark D. Baushke <mdb@gnu.org>.
67714
67715 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
67716
67717         These changes imported from libc.
67718         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
67719         test and two separate function calls.
67720         * lib/strndup.c (__strndup): Add libc_hidden_def.
67721
67722 2006-01-23  Simon Josefsson  <jas@extundo.com>
67723
67724         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
67725         Remove the test_*_SOURCES variable: automake infers it by default.
67726         * modules/tls-tests: Likewise.
67727
67728 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
67729
67730         Work around porting bugs reported by Dieter in
67731         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
67732         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
67733         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
67734         Include "getopt.h" first, to check interface.
67735         (getenv): Declare only if defined HAVE_DECL_GETENV &&
67736         !HAVE_DECL_GETENV.
67737         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
67738         (__strndup): Revert to K&R-style function dfns, the glibc style.
67739         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
67740         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
67741         Include strnlen.h first, to get prototype properly.
67742         (strnlen): Renamed from __strnlen.
67743         Remove weak alias.
67744
67745 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
67746
67747         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
67748
67749 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
67750
67751         * config/srclist.txt: Adjust to reflect glibc reorganization.
67752         This affects only comments.
67753
67754 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
67755
67756          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
67757          Reported by Bruce Korb <bkorb@gnu.org>.
67758
67759 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
67760
67761         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
67762         to pacify gcc -Wswitch-default.
67763
67764 2006-01-22  Bruno Haible  <bruno@clisp.org>
67765
67766         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
67767         temporary buffer for sprintf, take into account the precision also
67768         for 'd', 'i', 'u', 'o', 'x', 'X'.
67769
67770 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
67771
67772         * modules/argp-tests: New module
67773         * tests/test-argp.c: New file
67774         * tests/test-argp-2.sh: New file
67775
67776 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
67777
67778         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
67779         (__argp_base_name): Removed
67780         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
67781         typo.
67782         (__argp_base_name): Provide macro definition or extern declaration
67783         depending on the configuration
67784
67785 2006-01-20  Simon Josefsson  <jas@extundo.com>
67786
67787         * modules/inet_ntop (Depends-on): Depend on sys_socket.
67788
67789 2006-01-20  Simon Josefsson  <jas@extundo.com>
67790
67791         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
67792
67793 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
67794
67795         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
67796         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
67797         Suggested by Bruno Haible.
67798
67799 2006-01-20  Karl Berry  <karl@gnu.org>
67800
67801         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
67802         until changes propagate, I guess.
67803
67804 2006-01-19  Simon Josefsson  <jas@extundo.com>
67805
67806         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
67807
67808 2006-01-19  Simon Josefsson  <jas@extundo.com>
67809
67810         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
67811
67812 2006-01-19  Simon Josefsson  <jas@extundo.com>
67813
67814         * gnulib-tool: Set check_PROGRAMS.
67815
67816         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
67817         modules/des-tests, modules/gc-arcfour-tests,
67818         modules/gc-arctwo-tests, modules/gc-des-tests,
67819         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
67820         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
67821         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
67822         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
67823         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
67824         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
67825         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
67826         test_*_SOURCES.
67827
67828 2006-01-18  Simon Josefsson  <jas@extundo.com>
67829
67830         * modules/socklen (Depends-on): Depend on sys_socket.
67831
67832 2006-01-18  Simon Josefsson  <jas@extundo.com>
67833
67834         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
67835         modules/des-tests, modules/gc-arcfour-tests,
67836         modules/gc-arctwo-tests, modules/gc-des-tests,
67837         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
67838         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
67839         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
67840         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
67841         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
67842         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
67843         $(EXEEXT) to automake TESTS variable, for mingw32.
67844
67845 2006-01-17  Simon Josefsson  <jas@extundo.com>
67846
67847         * modules/socklen (Include): Need sys/socket.h.
67848
67849 2006-01-17  Bruno Haible  <bruno@clisp.org>
67850
67851         * modules/ssize_t (Include): Add <sys/types.h>.
67852
67853 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
67854
67855         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
67856         it's not portable and it doesn't work with cross-compiles.
67857         Problem reported by Bruno Haible.  Fix missing-$ typo in
67858         'test "gl_cv_ignore_unused_libraries" ...' that prevented
67859         -zignore from being used with Sun's C compiler.
67860
67861 2006-01-12  Simon Josefsson  <jas@extundo.com>
67862
67863         * lib/base64.c: Fix warning, reported by Bruno Haible
67864         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
67865
67866 2006-01-12  Bruno Haible  <bruno@clisp.org>
67867
67868         * modules/ldd: New file.
67869         * build-aux/ldd.sh.in: New file.
67870         * MODULES.html.sh (Support for building libraries and executables): Add
67871         ldd.
67872
67873 2006-01-12  Bruno Haible  <bruno@clisp.org>
67874
67875         * m4/ldd.m4: New file.
67876
67877 2006-01-12  Bruno Haible  <bruno@clisp.org>
67878
67879         * gnulib-tool (func_import, func_create_testdir): Don't go into an
67880         endless loop while replacing $auxdir with build-aux.
67881
67882 2006-01-11  Simon Josefsson  <jas@extundo.com>
67883
67884         * lib/stdint_.h (SIZE_MAX): Add missing (.
67885
67886 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
67887
67888         Sync from coreutils.
67889         * lib/md5.c: Fix commentary typos.
67890         (alignof, UNALIGNED_P): No need for a GCC-specific version.
67891         * lib/md5.h (__attribute__): Remove; unused.
67892         * lib/sha1.c: Fix commentary to match md5 better.
67893         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
67894         so that we don't need to worry about alignment.  All uses changed.
67895         This merges the 2005-10-28 md5 change into sha1.
67896
67897 2006-01-11  Jim Meyering  <jim@meyering.net>
67898
67899         Sync from coreutils.
67900         * lib/md5.c (OP): Fix spacing.
67901
67902 2006-01-11  Bruno Haible  <bruno@clisp.org>
67903
67904         Ensure automatic ordering between gl_LOCK and gl_ARGP.
67905         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
67906         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
67907
67908 2006-01-11  Bruno Haible  <bruno@clisp.org>
67909
67910         Ensure automatic ordering between gl_LOCK and gl_ARGP.
67911         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
67912         the "early" section as well.
67913
67914 2006-01-11  Bruno Haible  <bruno@clisp.org>
67915
67916         Avoid "ar: no archive members specified" error on MacOS X.
67917         * gnulib-tool (func_modules_add_dummy): New function.
67918         (func_import, func_create_testdir): Invoke it.
67919
67920 2006-01-11  Bruno Haible  <bruno@clisp.org>
67921
67922         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
67923         with $auxdir in AC_CONFIG_FILES statements.
67924
67925 2006-01-11  Bruno Haible  <bruno@clisp.org>
67926
67927         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
67928         Initialize also noinst_HEADERS to empty.
67929
67930 2006-01-11  Bruno Haible  <bruno@clisp.org>
67931
67932         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
67933         variables.
67934         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
67935         autoreconf.
67936
67937 2006-01-11  Bruno Haible  <bruno@clisp.org>
67938
67939         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
67940         overridable by the user.
67941         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67942
67943 2006-01-10  Simon Josefsson  <jas@extundo.com>
67944
67945         * modules/sys_socket: New file.
67946
67947 2006-01-10  Simon Josefsson  <jas@extundo.com>
67948
67949         * m4/sys_socket_h.m4: New file.
67950
67951 2006-01-10  Simon Josefsson  <jas@extundo.com>
67952
67953         * lib/socket_.h: New file.
67954
67955 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
67956
67957         * modules/readutmp (Maintainer): Add myself.
67958
67959 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
67960
67961         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
67962         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
67963         People who are still concerned with buggy memcmp implementations
67964         can invoke gl_FUNC_MEMCMP themselves.
67965
67966 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
67967
67968         * lib/regex_internal.h (BITSET_WORD_BITS):
67969         Work around a bug in 64-bit PGC (before version 6.1-2), where the
67970         preprocessor mishandles large unsigned values as if they were signed.
67971         Problem reported by Claudio Fontana in
67972         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
67973
67974 2006-01-10  Jim Meyering  <jim@meyering.net>
67975
67976         Avoid the double-free (first in fts_read, second in fts_close) that
67977         would occur when an `active' directory is made inaccessible (e.g.,
67978         via chmod a-x) during a traversal.
67979         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
67980         before returning.  Reproduce this failure by
67981         mkdir -p a/b; cd a; chmod a-x . b
67982         Reported by Stavros Passas.
67983
67984         Sync from coreutils.
67985         * lib/sha1.c: Tweak grammar in a comment.
67986
67987 2006-01-10  Jim Meyering  <jim@meyering.net>
67988
67989         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
67990         Patch by Joerg Sonnenberger.
67991
67992 2006-01-10  Bruno Haible  <bruno@clisp.org>
67993
67994         * modules/readutmp: Depend on module free.
67995         * modules/strtok_r: Depend on module restrict.
67996
67997 2006-01-10  Bruno Haible  <bruno@clisp.org>
67998
67999         * modules/gettext (configure.ac): Add an invocation of
68000         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
68001
68002 2006-01-10  Bruno Haible  <bruno@clisp.org>
68003
68004         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
68005         Reported by Werner Lemberg <wl@gnu.org>.
68006
68007 2006-01-10  Bruno Haible  <bruno@clisp.org>
68008
68009         * lib/localcharset.c: Update from GNU gettext.
68010
68011 2006-01-10  Bruno Haible  <bruno@clisp.org>
68012
68013         * lib/argp.h (__const): Remove macro. Use const instead.
68014         * lib/argp-fmtstream.h (__const): Likewise.
68015         * lib/glob_.h (__const): Remove macro.
68016         * lib/glob-libc.h: Use const instead of __const.
68017
68018 2006-01-10  Bruno Haible  <bruno@clisp.org>
68019
68020         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
68021         variable.
68022         Needed to avoid an automake error regarding the 'gettext' module.
68023
68024 2006-01-09  Simon Josefsson  <jas@extundo.com>
68025
68026         * modules/inet_ntop (Depends-on): Add restrict.
68027
68028 2006-01-09  Simon Josefsson  <jas@extundo.com>
68029
68030         * modules/gc-rijndael-tests (License): Put under LGPL.
68031
68032         * modules/gc-des-tests (License): Likewise.
68033
68034         * modules/gc-arcfour-tests (License): Likewise.
68035
68036         * modules/gc-arctwo-tests (License): Likewise.
68037
68038         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
68039
68040         * modules/gc-hmac-sha1-tests (Files): Likewise.
68041
68042         * modules/gc-hmac-md5-tests (License): Likewise.
68043
68044         * modules/gc-sha1-tests (License): Likewise.
68045
68046         * modules/gc-md5-tests (License): Likewise.
68047
68048         * modules/gc-md4-tests (License): Likewise.
68049
68050         * modules/gc-md2-tests (License): Likewise.
68051
68052         * modules/gc-tests (License): Likewise.
68053
68054         * modules/des-tests (License): Likewise.
68055
68056         * modules/md4-tests (License): Likewise.
68057
68058         * modules/md2-tests (License): Likewise.
68059
68060 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
68061
68062         Sync from coreutils:
68063
68064         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
68065         * modules/lib-ignore: New file.
68066         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
68067         chdir-safer.m4, lchmod.m4.
68068         * modules/openat: Add mkdirat.c, openat-priv.h.
68069
68070 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
68071
68072         Sync from coreutils.
68073         * m4/lib-ignore.m4: New file.
68074         * m4/lchmod.m4: New file.
68075
68076 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
68077
68078         Sync from coreutils.
68079         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
68080         for write access: POSIX says that must fail.
68081         * lib/fts.c (diropen): Likewise.
68082         * lib/save-cwd.c (save_cwd): Likewise.
68083         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
68084         well, for minor improvements on hosts that lack O_DIRECTORY.
68085         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
68086         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
68087         Fall back on chown if open failed with EACCES.
68088
68089         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
68090         Report an error at compile-time if only a 1-second nominal clock
68091         resolution is found.
68092
68093         * lib/lchmod.h: New file.
68094         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
68095         (make_dir_parents): Use lchown rather than chown, and
68096         lchmod rather than chmod.
68097
68098         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
68099         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
68100         "proc" reported by n0dalus.
68101
68102         * lib/mountlist.c: Include <limits.h>.
68103         (dev_from_mount_options)
68104         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
68105         New function.  It no longer assumes "dev=" has the System V meaning
68106         on Linux (since it doesn't).  It also parses "dev=" more carefully.
68107         (read_file_system_list)
68108         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
68109         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
68110         dev= in that case.
68111
68112         * lib/posixtm.h (PDS_PRE_2000): New macro.
68113         * lib/posixtm.c (year): Arg is now syntax_bits rather than
68114         allow_century.  All usages changed.  Reject dates outside the range
68115         1969-1999 if PDS_PRE_2000 is used.
68116
68117 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
68118
68119         Sync from coreutils.
68120         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
68121         (Time of day items): Mention the possibility of leap seconds.
68122         Problem reported by Dr. David Alan Gilbert.
68123
68124 2006-01-09  Jim Meyering  <jim@meyering.net>
68125
68126         Sync from coreutils.
68127
68128         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
68129
68130         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
68131
68132         * lib/modechange.c (mode_compile): Reject an invalid mode string
68133         that starts with an octal digit.  From Andreas Gruenbacher.
68134
68135         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
68136         and dup to open_safer and dup_safer, respectively.
68137         (openat_permissive): Fix typo in comment.
68138
68139         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
68140         "gettext.h"; either no longer needed or are guaranteed by openat.h.
68141         (_): Remove; no longer needed.
68142         (openat): Renamed from rpl_openat; no need for rpl_openat
68143         since openat.h renames openat for us.
68144         Replace most of the body with a call to openat_permissive,
68145         to avoid duplicate code.
68146         Port to (probably hypothetical) environments were mode_t is
68147         wider than int.
68148         (openat_permissive): Require mode arg, so that we can check
68149         types better.  Put it just after flags.  Change cwd failure
68150         indicator from pointer-to-bool to pointer-to-errno-value.
68151         All callers changed.
68152         Invoke openat_save_fail and/or openat_restore_fail if
68153         cwd_errno is null, so that openat can call us.
68154         (openat_permissive, fdopendir, fstatat, unlinkat):
68155         Simplify errno handling to avoid some duplicate code,
68156         as it's OK to set errno on success.
68157         * lib/openat.h: Revamp code so that function macros depend on
68158         __OPENAT_PREFIX only, not also on AT_FDCWD.
68159         (openat_ro): Remove.  Caller changed to use openat_permissive.
68160         (openat_permissive): Now a macro, if not a function.
68161         (openat_restore_fail, openat_save_fail): Now always functions,
68162         since mkdirat needs them even if __OPENAT_PREFIX is defined.
68163
68164         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
68165         and openat.c.
68166         * lib/mkdirat.c: Include openat-priv.h.
68167         Remove definitions of macros defined therein.
68168         * lib/openat.c: Likewise.
68169
68170         * lib/mkdirat.c (mkdirat): New file and function.
68171         * lib/openat.h (mkdirat): Declare.
68172
68173         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
68174
68175         * lib/openat.h (openat_permissive): Declare.
68176         (openat_ro): Define.
68177
68178         * lib/openat.c (EXPECTED_ERRNO): New macro.
68179         (openat_permissive): New function -- used in remove.c rewrite.
68180         (all functions): Set errno just before returning, only if there
68181         was an actual failure.
68182         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
68183
68184         Emulate openat-family functions using Linux's procfs, if possible.
68185         Idea and some code based on Ulrich Drepper's glibc changes.
68186
68187         * lib/openat.c: (BUILD_PROC_NAME): New macro.
68188         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
68189         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
68190         before falling back on save_cwd and restore_cwd.
68191         (fdopendir, fstatat, unlinkat): Likewise.
68192
68193         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
68194         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
68195
68196         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
68197         as second argument to va_arg.  Otherwise, some versions of gcc
68198         warn that `if this code is reached, the program will abort'.
68199
68200 2006-01-09  Jim Meyering  <jim@meyering.net>
68201
68202         Sync from coreutils.
68203         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
68204         Require openat-priv.h.
68205
68206 2006-01-09  Bruno Haible  <bruno@clisp.org>
68207
68208         * modules/strnlen (Include): Use strnlen.h.
68209
68210 2006-01-09  Bruno Haible  <bruno@clisp.org>
68211
68212         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
68213
68214 2006-01-09  Bruno Haible  <bruno@clisp.org>
68215
68216         * lib/sysexit_.h (EX_OK): New macro.
68217         Suggested by Martin Lambers <marlam@marlam.de>.
68218
68219 2006-01-09  Bruno Haible  <bruno@clisp.org>
68220
68221         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
68222         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
68223
68224 2006-01-09  Bruno Haible  <bruno@clisp.org>
68225
68226         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
68227         numbers.
68228
68229 2006-01-09  Bruno Haible  <bruno@clisp.org>
68230
68231         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
68232         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
68233         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
68234         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
68235
68236 2006-01-09  Bruno Haible  <bruno@clisp.org>
68237
68238         * build-aux/javacomp.sh.in: New file, moved from lib/.
68239         * modules/javacomp-script (Files): Update.
68240         (configure.ac): Add AC_CONFIG_FILES invocation.
68241         (EXTRA_DIST): Remove variable.
68242
68243         * build-aux/javaexec.sh.in: New file, moved from lib/.
68244         * modules/javaexec (Files): Update.
68245         (configure.ac): Add AC_CONFIG_FILES invocation.
68246         (EXTRA_DIST): Remove javaexec.sh.in.
68247
68248         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
68249         * modules/csharpcomp-script (Files): Update.
68250         (configure.ac): Add AC_CONFIG_FILES invocation.
68251         (EXTRA_DIST): Remove variable.
68252
68253         * build-aux/csharpexec.sh.in: New file, moved from lib/.
68254         * modules/csharpexec (Files): Update.
68255         (configure.ac): Add AC_CONFIG_FILES invocation.
68256         (EXTRA_DIST): Remove csharpexec.sh.in.
68257
68258 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
68259
68260         Sync from coreutils.
68261
68262         Add POSIX ACL support
68263         * lib/acl.h (copy_acl, set_acl): Add declarations.
68264         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
68265         systems other than Linux.
68266         (chmod_or_fchmod): New function: use fchmod when possible,
68267         and chmod otherwise.
68268         (file_has_acl): Add a POSIX ACL implementation, with a
68269         Linux-specific subcase.
68270         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
68271         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
68272         acls are unsupported.
68273         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
68274         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
68275         are unsupported.
68276
68277 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
68278
68279         Sync from coreutils.
68280         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
68281
68282 2006-01-07  Bruno Haible  <bruno@clisp.org>
68283
68284         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
68285         gl_EARLY.
68286
68287 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
68288
68289         * lib/strftime.c (tzname): Don't declare if it is already #defined.
68290         Problem reported for Mingw by Mark Junker.
68291
68292 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
68293
68294         * README: Gnulib normally doesn't generate a tarball.
68295
68296 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
68297
68298         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
68299         long int, not int, for nanosecond counts, so that people who are
68300         used to POSIX struct timespec won't be surprised.  Reported by Jim
68301         Meyering.
68302
68303 2005-12-28  Bruno Haible  <bruno@clisp.org>
68304
68305         * build-aux/config.rpath: Update from GNU gettext.
68306
68307 2005-12-16  Jim Meyering  <jim@meyering.net>
68308
68309         * modules/fprintftime: New module.
68310         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
68311
68312 2005-12-16  Jim Meyering  <jim@meyering.net>
68313
68314         * m4/fprintftime.m4: New file.
68315
68316 2005-12-16  Jim Meyering  <jim@meyering.net>
68317
68318         * lib/fprintftime.c, lib/fprintftime.h: New files.
68319
68320 2005-12-15  Simon Josefsson  <jas@extundo.com>
68321
68322         * modules/socklen (configure.ac): Fix M4 macro name, to align with
68323         new m4/socklen.m4.
68324
68325 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
68326
68327         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
68328         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
68329
68330 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
68331
68332         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
68333         * lib/argp-help.c (fill_in_uparams): Check if the constructed
68334         struct uparams is valid. Fall back to the default values if it is
68335         not.
68336
68337 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
68338
68339         * modules/argp (Files): Add argp-pin.c
68340         (Depends-on): dirname
68341         (lib_SOURCES): Add argp-pin.c
68342
68343 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
68344
68345         * m4/argp.m4:  Check if program_invocation_name and
68346         program_invocation_short_name are declared and define appropriate
68347         macros if they are not.
68348
68349 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
68350
68351         * lib/argp-help.c (__argp_base_name): New function
68352         (__argp_short_program_name): Rewrite using __argp_base_name
68353         * lib/argp-namefrob.h: Define program_invocation_name and
68354         program_invocation_short_name if requested
68355         (__argp_base_name): Add prototype
68356         * lib/argp-parse.c (argp_def): Use gettext wrappers
68357         (argp_default_parser): Use __argp_base_name
68358         * lib/argp-pin.c: New file. Defines program_invocation_name and
68359         program_invocation_short_name on systems that lack them.
68360
68361 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
68362
68363         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
68364         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
68365         porting problem reported by Georg Schwarz in
68366         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
68367
68368 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
68369
68370         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
68371         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
68372         porting problem reported by Georg Schwarz in
68373         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
68374
68375 2005-12-05  Bruno Haible  <bruno@clisp.org>
68376
68377         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
68378         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
68379         Reported by Mark Junker <mjscod@gmx.de>.
68380
68381 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
68382
68383         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
68384         Use implementation from Albert Chin, with some
68385         comments/corrections by Stepan Kasal and myself.
68386
68387 2005-12-02  Bruno Haible  <bruno@clisp.org>
68388
68389         * gnulib-tool (func_import): Accept GPLed build tool modules when
68390         --lgpl is given.
68391         * modules/csharpcomp-script: New file.
68392         * modules/csharpcomp: Depend on it.
68393         * modules/javacomp-script: New file.
68394         * modules/javacomp: Depend on it.
68395         Suggested by Simon Josefsson.
68396
68397 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
68398
68399         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
68400         statement, to work around an HP-UX 10.20 compiler bug reported by
68401         Peter O'Gorman.
68402
68403 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
68404
68405         * modules/savedir (Depends-on): Add openat.
68406
68407 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
68408
68409         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
68410         (uintmax_t) [defined uintmax_t]: Do not declare.
68411         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
68412         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
68413         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
68414         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
68415         sake of portability to weird hosts that C allows (though we don't
68416         know of any practical examples).
68417
68418         * lib/savedir.h (fdsavedir): New decl.
68419         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
68420         contains most of the former guts of savedir.
68421         (savedir): Use savedirstream.
68422         Include "openat.h".
68423
68424 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
68425
68426         * modules/obstack (Files): Add m4/ulonglong.m4.
68427         Problem reported by Davide Angelocola.
68428
68429 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
68430
68431         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
68432         coreutils no longer futzes with rounding modes.
68433
68434 2005-11-14  Jim Meyering  <jim@meyering.net>
68435
68436         * lib/mkstemp-safer.c: Include <config.h>, required for possible
68437         replacement of mkstemp.
68438
68439 2005-11-10  Simon Josefsson  <jas@extundo.com>
68440
68441         * lib/readline.c: Remove EOL.
68442
68443 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
68444
68445         * modules/gethrxtime (Depends-on): Add gettime.
68446
68447 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
68448
68449         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
68450         or gettimeofday; no longer needed.
68451
68452 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
68453
68454         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
68455         time business.
68456         (gethrxtime) [! (HAVE_NANOUPTIME
68457         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
68458         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
68459         our own approximation.
68460
68461 2005-11-08  Eric Blake  <ebb9@byu.net>
68462
68463         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
68464
68465 2005-11-08  Eric Blake  <ebb9@byu.net>
68466
68467         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
68468
68469 2005-11-04  Bruno Haible  <bruno@clisp.org>
68470
68471         * gnulib-tool: Implement --update mode.
68472
68473 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
68474
68475         Fix porting problem reported by Theodoros V. Kalamatianos.
68476         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
68477         Don't assume that futimes failing means we must fail.
68478
68479 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
68480
68481         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
68482         variables to suggest the intended function of the PATH_MAX check.
68483
68484 2005-10-30  Kean Johnston  <jkj@sco.com>
68485
68486         Trivial changes to support SCO systems.
68487         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
68488         as PATH_MAX.
68489         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
68490         where __ptr is null when no I/O is pending.
68491
68492 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
68493
68494         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
68495         leave errno alone.  Problem reported by Dmitry V. Levin.
68496
68497 2005-10-28  Simon Josefsson  <jas@extundo.com>
68498
68499         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
68500         Test more.
68501
68502         * tests/test-gc-md2.c, tests/test-md2.c: New files.
68503
68504         * modules/md2, modules/md2-tests: New files.
68505
68506 2005-10-28  Simon Josefsson  <jas@extundo.com>
68507
68508         * m4/inet_ntop.m4: More tests.
68509
68510         * m4/gc-md2.m4, md2.m4: New file.
68511
68512 2005-10-28  Simon Josefsson  <jas@extundo.com>
68513
68514         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
68515         "restrict" keywords, as per POSIX.  Protect the function
68516         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
68517         Don't use K&R prototypes.  Check the sprintf return values.
68518         Re-define EAFNOSUPPORT if not present.  Indent.
68519
68520         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
68521         suggested by Bruno Haible <bruno@clisp.org>.
68522
68523         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
68524
68525         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
68526
68527         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
68528         libgcrypt).
68529
68530         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
68531
68532         * lib/md2.h, lib/md2.c: New files.
68533
68534 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
68535
68536         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
68537         errno alone.  Problem reported by Frederic Jolliton.
68538
68539 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
68540
68541         * modules/verify (License): Change from GPL to LGPL.  This is a
68542         tiny module and there are apparently near-equivalents that are
68543         under the BSD license.
68544
68545 2005-10-24  Simon Josefsson  <jas@extundo.com>
68546
68547         * modules/sha1: Relicense to LGPL.
68548
68549 2005-10-24  Simon Josefsson  <jas@extundo.com>
68550
68551         * lib/md4.h: Shrink buffer size, now that we changed the type.
68552
68553 2005-10-23  Simon Josefsson  <jas@extundo.com>
68554
68555         * gnulib-tool (func_import): Fix --tests-base.
68556
68557 2005-10-22  Simon Josefsson  <jas@extundo.com>
68558
68559         * modules/arcfour (Depends-on): Need stdint.
68560
68561 2005-10-22  Simon Josefsson  <jas@extundo.com>
68562
68563         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
68564         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
68565
68566 2005-10-22  Simon Josefsson  <jas@extundo.com>
68567
68568         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
68569         suggested by Bruno Haible <bruno@clisp.org>.
68570
68571 2005-10-22  Simon Josefsson  <jas@extundo.com>
68572
68573         * lib/crc.h: Include stddef.h, for size_t.
68574
68575 2005-10-22  Simon Josefsson  <jas@extundo.com>
68576
68577         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
68578         arcfour_context struct (simplify test vector testing in GNU
68579         Shishi).
68580
68581 2005-10-21  Simon Josefsson  <jas@extundo.com>
68582
68583         * modules/des, modules/des-tests: New files.
68584
68585         * modules/gc-des, modules/gc-des-tests: New files.
68586
68587         * tests/test-des.c, tests/test-gc-des.c: New file.
68588
68589 2005-10-21  Simon Josefsson  <jas@extundo.com>
68590
68591         * modules/arctwo, modules/arctwo-tests: New files.
68592
68593         * tests/test-arctwo.c: New file.
68594
68595         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
68596
68597         * tests/test-gc-arctwo.c: New file.
68598
68599 2005-10-21  Simon Josefsson  <jas@extundo.com>
68600
68601         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
68602         Bruno Haible <bruno@clisp.org>.
68603
68604         * m4/gc-des.m4: New file.
68605
68606 2005-10-21  Simon Josefsson  <jas@extundo.com>
68607
68608         * m4/arctwo.m4: New file.
68609
68610         * m4/gc-arctwo.m4: New file.
68611
68612 2005-10-21  Simon Josefsson  <jas@extundo.com>
68613
68614         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
68615         block.
68616
68617 2005-10-21  Simon Josefsson  <jas@extundo.com>
68618
68619         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
68620         <bruno@clisp.org>.
68621
68622         * lib/hmac-sha1.c (hmac_sha1): Likewise.
68623
68624         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
68625         Bruno Haible <bruno@clisp.org>.
68626
68627         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
68628         <bruno@clisp.org>.
68629
68630 2005-10-21  Simon Josefsson  <jas@extundo.com>
68631
68632         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
68633
68634 2005-10-21  Simon Josefsson  <jas@extundo.com>
68635
68636         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
68637
68638 2005-10-21  Simon Josefsson  <jas@extundo.com>
68639
68640         * lib/des.h, lib/des.c: New files.
68641
68642         * lib/gc-gnulib.c: Support DES.c
68643
68644 2005-10-21  Simon Josefsson  <jas@extundo.com>
68645
68646         * lib/arctwo.h, lib/arctwo.c: New files.
68647
68648         * lib/gc-gnulib.c: Support ARCTWO.
68649
68650 2005-10-21  Simon Josefsson  <jas@extundo.com>
68651
68652         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
68653         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
68654
68655 2005-10-21  Simon Josefsson  <jas@extundo.com>
68656
68657         * gnulib-tool (func_import, func_create_testdir): Define automake
68658         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
68659         Makefile.am snippet),
68660         suggested by Bruno Haible <bruno@clisp.org>.
68661
68662         * modules/gc (Makefile.am): Use it.
68663
68664 2005-10-21  Bruno Haible  <bruno@clisp.org>
68665
68666         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
68667         patch.
68668
68669 2005-10-19  Simon Josefsson  <jas@extundo.com>
68670
68671         * tests/test-gc-rijndael.c: New file.
68672
68673         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
68674
68675 2005-10-19  Simon Josefsson  <jas@extundo.com>
68676
68677         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
68678         interface too.
68679
68680 2005-10-19  Simon Josefsson  <jas@extundo.com>
68681
68682         * tests/test-gc-arcfour.c: New file.
68683
68684         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
68685
68686 2005-10-19  Simon Josefsson  <jas@extundo.com>
68687
68688         * modules/gc-md4, modules/gc-md4-tests: New file.
68689
68690         * tests/test-gc-md4.c: New file.
68691
68692 2005-10-19  Simon Josefsson  <jas@extundo.com>
68693
68694         * m4/gc-md4.m4: New file.
68695
68696 2005-10-19  Simon Josefsson  <jas@extundo.com>
68697
68698         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
68699         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
68700         <kasal@ucw.cz>.
68701
68702 2005-10-19  Simon Josefsson  <jas@extundo.com>
68703
68704         * m4/gc-arcfour.m4: New file.
68705
68706         * m4/gc-rijndael.m4: New file.
68707
68708 2005-10-19  Simon Josefsson  <jas@extundo.com>
68709
68710         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
68711
68712 2005-10-19  Simon Josefsson  <jas@extundo.com>
68713
68714         * lib/gc-gnulib.c: Support ARCFOUR.
68715
68716 2005-10-19  Simon Josefsson  <jas@extundo.com>
68717
68718         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
68719         support.
68720
68721         * lib/gc.h: Add ECB enum type.
68722
68723         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
68724
68725 2005-10-18  Simon Josefsson  <jas@extundo.com>
68726
68727         * tests/test-md5.c: New file.
68728
68729         * modules/md5-tests: New file.
68730
68731 2005-10-18  Simon Josefsson  <jas@extundo.com>
68732
68733         * tests/test-md4.c: New file.
68734
68735         * modules/md4, modules/md4-tests: New files.
68736
68737 2005-10-18  Simon Josefsson  <jas@extundo.com>
68738
68739         * m4/md4.m4: New file.
68740
68741 2005-10-18  Simon Josefsson  <jas@extundo.com>
68742
68743         * lib/md4.h, lib/md4.c: New files, based on md5.?.
68744
68745 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
68746
68747         * gnulib-tool (func_create_testdir): Omit the second check whether
68748         BUILT_SOURCES in nonempty.
68749
68750 2005-10-17  Simon Josefsson  <jas@extundo.com>
68751
68752         * tests/test-rijndael.c: New file.
68753
68754 2005-10-17  Simon Josefsson  <jas@extundo.com>
68755
68756         * modules/sha1: Depend on stdint instead of md5.
68757
68758         * modules/md5: Depend on stdint, remove uint32_t.
68759
68760 2005-10-17  Simon Josefsson  <jas@extundo.com>
68761
68762         * modules/gc-sha1-tests: New file.
68763
68764         * tests/test-gc-sha1.c: New file.
68765
68766 2005-10-17  Simon Josefsson  <jas@extundo.com>
68767
68768         * m4/md5.m4: Remove call to uint32_t.m4.
68769
68770 2005-10-17  Simon Josefsson  <jas@extundo.com>
68771
68772         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
68773
68774         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
68775         md5.h.
68776
68777         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
68778
68779         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
68780
68781 2005-10-17  Simon Josefsson  <jas@extundo.com>
68782
68783         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
68784
68785 2005-10-17  Simon Josefsson  <jas@extundo.com>
68786
68787         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
68788
68789 2005-10-17  Simon Josefsson  <jas@extundo.com>
68790
68791         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
68792
68793         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
68794
68795 2005-10-17  Bruno Haible  <bruno@clisp.org>
68796
68797         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
68798         that it can also be used in a test.
68799
68800 2005-10-16  Bruno Haible  <bruno@clisp.org>
68801
68802         * gnulib-tool (func_emit_tests_Makefile_am): Also define
68803         TESTS_ENVIRONMENT, so that individual tests can augment it.
68804
68805         * gnulib-tool (func_create_testdir): Use an intermediate target for
68806         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
68807         macros, like $(ALLOCA_H), which cannot be passed through the command
68808         line.
68809
68810 2005-10-15  Simon Josefsson  <jas@extundo.com>
68811
68812         * modules/rijndael-tests: New file.
68813
68814         * modules/rijndael: New file.
68815
68816 2005-10-15  Simon Josefsson  <jas@extundo.com>
68817
68818         * m4/rijndael.m4: New file.
68819
68820 2005-10-15  Simon Josefsson  <jas@extundo.com>
68821
68822         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
68823
68824         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
68825
68826 2005-10-14  Simon Josefsson  <jas@extundo.com>
68827
68828         * tests/test-arcfour.c: New file.
68829
68830         * modules/arcfour, modules/arcfour-tests: New files.
68831
68832 2005-10-14  Simon Josefsson  <jas@extundo.com>
68833
68834         * m4/arcfour.m4: New file.
68835
68836 2005-10-14  Simon Josefsson  <jas@extundo.com>
68837
68838         * lib/arcfour.h, lib/arcfour.c: New files.
68839
68840 2005-10-14  Roland McGrath  <roland@redhat.com>
68841
68842         Import from libc.  [BZ #1331]
68843         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
68844         macro argument.
68845         Reported by Matej Vela <vela@debian.org>.
68846
68847 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
68848
68849         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
68850         include <wchar.h>; no longer needed.
68851
68852 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
68853
68854         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
68855
68856 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
68857         and  Ulrich Drepper  <drepper@redhat.com>
68858
68859         Import from libc.
68860         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
68861         instead of inline stream orientation test and two separate
68862         function calls.  Pay no attention to USE_IN_LIBIO.
68863
68864 2005-10-13  Simon Josefsson  <jas@extundo.com>
68865
68866         * modules/gc-hmac-md5-tests: New file.
68867
68868         * tests/test-gc-hmac-sha1.c: New file.
68869
68870         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
68871
68872         * modules/gc-hmac-md5-tests: New file.
68873
68874         * tests/test-gc-md5.c: New file.
68875
68876         * modules/gc-md5-tests: New file.
68877
68878 2005-10-13  Simon Josefsson  <jas@extundo.com>
68879
68880         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
68881         Move memory allocation outside of loop.
68882
68883 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
68884
68885         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
68886         intermediate directory is in a read-only file system.  Problem
68887         reported by Eric Blake.
68888
68889 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
68890
68891         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
68892
68893 2005-10-12  Simon Josefsson  <jas@extundo.com>
68894
68895         * tests/test-hmac-sha1.c: New file.
68896
68897         * modules/hmac-sha1-tests: New file.
68898
68899         * modules/hmac-sha1: New file.
68900
68901 2005-10-12  Simon Josefsson  <jas@extundo.com>
68902
68903         * modules/gc-sha1: New file.
68904
68905 2005-10-12  Simon Josefsson  <jas@extundo.com>
68906
68907         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
68908
68909         * tests/test-gc-pbkdf2-sha1.c: New file.
68910
68911 2005-10-12  Simon Josefsson  <jas@extundo.com>
68912
68913         * modules/gc-md5, modules/gc-hmac-md5: New files.
68914
68915         * modules/gc (Files): Remove md5, memxor and hmac files.
68916
68917 2005-10-12  Simon Josefsson  <jas@extundo.com>
68918
68919         * m4/gc-pbkdf2-sha1.m4: New file.
68920
68921         * m4/gc-hmac-sha1.m4: New file.
68922
68923         * m4/gc-sha1: New file.
68924
68925         * m4/hmac-sha1.m4: New file.
68926
68927 2005-10-12  Simon Josefsson  <jas@extundo.com>
68928
68929         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
68930
68931         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
68932
68933 2005-10-12  Simon Josefsson  <jas@extundo.com>
68934
68935         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
68936         suggested by Bruno Haible <bruno@clisp.org>.
68937
68938 2005-10-12  Simon Josefsson  <jas@extundo.com>
68939
68940         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
68941
68942 2005-10-12  Simon Josefsson  <jas@extundo.com>
68943
68944         * lib/gc-pbkdf2-sha1.c: New file.
68945
68946         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
68947
68948 2005-10-12  Simon Josefsson  <jas@extundo.com>
68949
68950         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
68951
68952         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
68953
68954 2005-10-12  Simon Josefsson  <jas@extundo.com>
68955
68956         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
68957         GC_USE_HMAC_MD5, respectively.
68958
68959         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
68960         (gc_md5): Fix typo.
68961
68962         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
68963
68964         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
68965
68966         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
68967
68968 2005-10-12  Bruno Haible  <bruno@clisp.org>
68969
68970         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
68971         Reported by Stepan Kasal <kasal@ucw.cz>.
68972
68973 2005-10-11  Simon Josefsson  <jas@extundo.com>
68974
68975         * tests/test-crc.c: New file.
68976
68977         * modules/crc, modules/crc-tests: New files.
68978
68979 2005-10-11  Simon Josefsson  <jas@extundo.com>
68980
68981         * m4/crc.m4: New file.
68982
68983 2005-10-11  Simon Josefsson  <jas@extundo.com>
68984
68985         * lib/gc.h: Add gc_hash and gc_hash_buffer.
68986
68987         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
68988
68989         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
68990
68991 2005-10-11  Simon Josefsson  <jas@extundo.com>
68992
68993         * lib/crc.h, lib/crc.c: New files.
68994
68995         * lib/gc.h (gc_hash_buffer): Add doc.
68996
68997 2005-10-11  Bruno Haible  <bruno@clisp.org>
68998
68999         * modules/c-strcasestr: New file.
69000         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
69001
69002 2005-10-11  Bruno Haible  <bruno@clisp.org>
69003
69004         * modules/c-strcase: New file.
69005         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
69006
69007 2005-10-11  Bruno Haible  <bruno@clisp.org>
69008
69009         * lib/strcasecmp.c: Include limits.h.
69010         (strcasecmp): Avoid integer overflow on exotic platforms.
69011         * lib/strncasecmp.c: Include limits.h.
69012         (strncasecmp): Avoid integer overflow on exotic platforms.
69013         Reported by Paul Eggert.
69014
69015 2005-10-11  Bruno Haible  <bruno@clisp.org>
69016
69017         * lib/c-strcasestr.h: New file, from GNU gettext.
69018         * lib/c-strcasestr.c: New file, from GNU gettext.
69019
69020 2005-10-11  Bruno Haible  <bruno@clisp.org>
69021
69022         * lib/c-strcase.h: New file, from GNU gettext.
69023         * lib/c-strcasecmp.c: New file, from GNU gettext.
69024         * lib/c-strncasecmp.c: New file, from GNU gettext.
69025
69026 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
69027
69028         * modules/mempcpy (License): GPL -> LGPL.
69029         * modules/strchrnul (License): Likewise.
69030         * modules/sysexits (License): Likewise.
69031
69032 2005-10-08  Simon Josefsson  <jas@extundo.com>
69033
69034         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
69035
69036 2005-10-07  Simon Josefsson  <jas@extundo.com>
69037
69038         * m4/memxor.m4: Remove gl_C_RESTRICT call.
69039
69040 2005-10-06  Simon Josefsson  <jas@extundo.com>
69041
69042         * tests/test-hmac-md5.c: New file.
69043
69044         * modules/hmac-md5-tests: New file.
69045
69046         * modules/hmac-md5: New file.
69047
69048 2005-10-06  Simon Josefsson  <jas@extundo.com>
69049
69050         * m4/hmac-md5.m4: New file.
69051
69052         * m4/memxor.m4: Require gl_C_RESTRICT.
69053
69054 2005-10-06  Simon Josefsson  <jas@extundo.com>
69055
69056         * lib/memxor.c (memxor): Avoid casts and warnings.
69057
69058 2005-10-06  Simon Josefsson  <jas@extundo.com>
69059
69060         * lib/hmac-md5.c: New file.
69061
69062         * lib/hmac.h: New file.
69063
69064 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
69065
69066         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
69067         promotes to int, not unsigned int, to catch the AIX 5.3
69068         compiler bug.
69069
69070 2005-10-05  Simon Josefsson  <jas@extundo.com>
69071
69072         * modules/memxor: New file.
69073
69074         * modules/iconv (Files): Move config.rpath to havelib, it is used
69075         there.
69076
69077         * modules/havelib (Files): Add config.rpath.
69078
69079 2005-10-05  Simon Josefsson  <jas@extundo.com>
69080
69081         * m4/memxor.m4: New file.
69082
69083 2005-10-05  Simon Josefsson  <jas@extundo.com>
69084
69085         * lib/memxor.c (memxor): Fix compiler error.
69086
69087         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
69088         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
69089
69090         * lib/memxor.h, lib/memxor.c: New files.
69091
69092         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
69093         we assume all systems have it, suggested by Jim Meyering
69094         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
69095         any systems lack sys/socket.h; mingw32 is known to lack it, but we
69096         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
69097         same reasons.
69098
69099 2005-10-05  Simon Josefsson  <jas@extundo.com>
69100
69101         * config/srclist.txt: Add glibc bug 1423 for md5.h.
69102
69103 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
69104
69105         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
69106         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
69107         needed, since the source code now assumes these .h files.
69108
69109 2005-10-05  Derek Price  <derek@ximbiot.com>
69110
69111         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
69112
69113 2005-10-05  Bruno Haible  <bruno@clisp.org>
69114
69115         * modules/stdint (License): Change to LGPL.
69116
69117 2005-10-04  Simon Josefsson  <jas@extundo.com>
69118
69119         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
69120         D. Baushke" <mdb@gnu.org>.
69121
69122 2005-10-04  Bruno Haible  <bruno@clisp.org>
69123
69124         * lib/verify.h (verify_true): Provide alternative definition for C++.
69125
69126 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
69127
69128         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
69129         (SSIZE_MAX): New macro, if not already defined.
69130         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
69131         than 2 GiB.
69132
69133 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
69134
69135         Sync from coreutils.
69136         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
69137         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
69138         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
69139         ULLONG_MAX doesn't work with 2.7.2.1.
69140
69141 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
69142
69143         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
69144         From Ben Pfaff.
69145
69146         * modules/exclude (Depends-on): Depend on verify.
69147         * modules/strtoimax (Depends-on): Likewise.
69148         * modules/utimecmp (Depends-on): Likewise.
69149
69150 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
69151
69152         * lib/exclude.c: Include verify.h.
69153         (verify): Remove.  All callers changed to use verify.h's version.
69154         * lib/strtoimax.c: Likewise.
69155         * lib/utimecmp.c: Likewis.e
69156
69157         Sync from coreutils.
69158         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
69159         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
69160         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
69161         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
69162         bother returning ENOSYS if settimeofday or stime fails; just let
69163         them return whatever errno they want to return.
69164         * lib/utimens.c: Include unistd.h, for dup2.
69165         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
69166         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
69167
69168 2005-10-02  Jim Meyering  <jim@meyering.net>
69169
69170         Sync from coreutils.
69171         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
69172         from glibc-2.2.5 that fails for read-only files.
69173
69174 2005-10-02  Jim Meyering  <jim@meyering.net>
69175
69176         Sync from coreutils.
69177         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
69178         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
69179         `#if HAVE_CONFIG_H'.
69180         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
69181         Remove AT_FDCWD test.
69182         Do not consume the fd unless successful.
69183         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
69184         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
69185         block, so that we don't even try to compile it if settimeofday is
69186         available.  This works around a compilation failure on OSF1 V5.1,
69187         due to stime requiring a `long int*' while tv_sec is `int'.
69188
69189 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
69190
69191         Sync from coreutils.
69192         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
69193         against `yes', rather than just testing for nonempty.
69194
69195 2005-10-01  Simon Josefsson  <jas@extundo.com>
69196
69197         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
69198         and Darwin.
69199
69200         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
69201         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
69202         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
69203         freeaddrinfo and gai_strerror are declared by the POSIX headers.
69204         Check if struct addrinfo is declared.
69205
69206 2005-10-01  Simon Josefsson  <jas@extundo.com>
69207
69208         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
69209         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
69210         AI_* and EAI_* definitions.  Protect function declarations.
69211
69212 2005-10-01  Jim Meyering  <jim@meyering.net>
69213
69214         Sync from coreutils.
69215
69216         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
69217         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
69218         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
69219         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
69220         in the inet and nsl libraries.  Required on Solaris 5.7.
69221
69222 2005-10-01  Jim Meyering  <jim@meyering.net>
69223
69224         Sync from coreutils.
69225         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
69226         in the inet and nsl libraries.  Required on Solaris 5.7.
69227
69228 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
69229
69230         * lib/getdelim.c (getdelim): Remove unused variables.
69231
69232 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
69233
69234         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
69235         so that the code works even with ancient cpp.  Portability problem
69236         with GCC 2.7.2.1 reported by Thomas M.Ott.
69237
69238 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
69239
69240         * modules/regex (Depends-on): Add strcase.
69241
69242         * modules/gethostname (Licence): Change from GPL to LGPL, since
69243         gethostname.c is a trivial implementation of a standard library
69244         function.
69245         * modules/poll (License): Change from GPL to LGPL, since it's
69246         derived from LGPL code.
69247
69248 2005-09-27  Jim Meyering  <jim@meyering.net>
69249
69250         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
69251         HAVE_CONFIG_H.
69252
69253         * lib/intprops.h (signed_type_or_expr__): Define.
69254         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
69255         for unsigned types.
69256
69257 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
69258
69259         * lib/verify.h (verify_expr): Remove, replacing with:
69260         (verify_true): New macro that returns true instead of void.
69261         (verify_type__): Remove.
69262         (verify): Use verify_true rather than verify_type__.
69263
69264 2005-09-26  Bruno Haible  <bruno@clisp.org>
69265
69266         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
69267         is necessary.
69268         (lib_SOURCES): Remove mbchar.c.
69269         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
69270         (Files): Add m4/mbrtowc.m4.
69271         * modules/mbiter: Likewise.
69272         * modules/mbuiter: Likewise.
69273
69274 2005-09-26  Bruno Haible  <bruno@clisp.org>
69275
69276         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
69277         compile mbchar.c if they are not both present.
69278         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
69279         * m4/mbiter.m4 (gl_MBITER): Likewise.
69280         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
69281         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
69282         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
69283
69284 2005-09-25  Jim Meyering  <jim@meyering.net>
69285
69286         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
69287         also uses socklen_t.
69288
69289 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
69290
69291         * lib/utimens.c (ENOSYS): Define if not already defined.
69292         (futimens): Support having a null PATH if the file descriptor
69293         is nonnegative.
69294
69295         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
69296         Remove.
69297         (__attribute): Define to empty unless GCC 3.1 or later.
69298         This works around a core dump on OpenBSD 3.4, which has GCC
69299         2.95.3, which dumps core when given __attribute__(()).  It also
69300         simplifies other tests, since we really don't want to bother with
69301         worrying about which ancient version of GCC supported what.
69302         Original problem reported by Yoann Vandoorselaere, with part of
69303         the fix suggested by Derek Price.
69304
69305 2005-09-24  Jim Meyering  <jim@meyering.net>
69306
69307         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
69308         so we can once again use a positive bitfield width of 1 -- now we
69309         don't have to explain why we were using a bitfield width of 2.
69310
69311 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
69312
69313         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
69314         and similarly for the other external symbols.  Problem reported
69315         by James Gallager.
69316
69317         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
69318         bug reported by Jim Meyering.
69319
69320         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
69321         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
69322         not needed, since socklen is a prerequisite module.
69323
69324 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
69325
69326         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
69327         Problem reported by Eric Blake.
69328         (getaddrinfo): Initialize se so that it's not garbage.
69329         Redo internal storage allocation so that it doesn't make unportable
69330         assumptions about alignment.
69331         Fix a memory leak.
69332
69333         * lib/utimens.c (futimens): Use futimesat if available.
69334         Prefer it to futimes since it doesn't have the futimes bug.
69335
69336         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
69337         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
69338         Instead, declare a function that returns a pointer to an array,
69339         and use verify_type__ to declare the size of the array.
69340         Problem and germ of a solution reported by Bruno Haible.
69341         (verify_type__): Use 2, not 1, for bitfield size, to avoid
69342         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
69343
69344 2005-09-23  Jim Meyering  <jim@meyering.net>
69345
69346         Sync from coreutils.
69347         Correct build failure (socklen_t not defined) on at least
69348         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
69349         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
69350
69351 2005-09-23  Jim Meyering  <jim@meyering.net>
69352
69353         * modules/getaddrinfo (Depends-on): Add socklen.
69354
69355 2005-09-23  Bruno Haible  <bruno@clisp.org>
69356
69357         * tests/test-verify.c: New file.
69358
69359 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
69360
69361         Sync from coreutils.
69362
69363         * modules/argmatch (Depends-on): Add verify.
69364         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
69365         unistd-safer.
69366         * modules/save-cwd (Depends-on): Likewise.
69367
69368         * modules/openat (Files): Add lib/openat-die.c.
69369         (Depends-on): Remove error, exitfail.
69370         Add dirname.
69371
69372         * modules/verify: New file.
69373         * MODULES.html.sh (Diagnostics <assert.h>): New section,
69374         with "verify" module.
69375
69376 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
69377
69378         Sync from coreutils.
69379
69380         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
69381         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
69382         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
69383         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
69384         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
69385         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
69386         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
69387         Don't bother checking for string.h, stdlib.h, unistd.h.
69388         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
69389         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
69390         module's job.
69391         * m4/jm-macros.m4 (gl_MACROS): Likewise.
69392         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
69393
69394         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
69395         (gl_GETDATE): Use it.
69396
69397         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
69398
69399 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
69400
69401         Sync from coreutils.
69402
69403         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
69404         stat-time.h.
69405         * lib/argmatch.h: Include verify.h
69406         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
69407         (ARGMATCH_ASSERT): Remove; unused.
69408         * lib/canonicalize.c: Assume STDC_HEADERS.
69409         * lib/exclude.c: Include "strcase.h".
69410         * lib/regex_internal.h [!defined _LIBC]: Likewise.
69411         * lib/getusershell.c: Include stdio--.h rather than stdio.h
69412         and stdio-safer.h.
69413         (getusershell): Call fopen, not fopen_safer.
69414         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
69415         Do not include unistd-safer.h.
69416         (save_cwd): Don't call fd_safer; no longer needed
69417         now that we include fcntl--.h.
69418
69419         * lib/getdate.y (relative_time): New type.
69420         (RELATIVE_TIME_0): New constant.
69421         (parser_control): Use relative_time instead of doing it ourselves.
69422         (%union): Add new relative_time rel member.
69423         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
69424         Now typeless.
69425         (relunit, relunit_snumber): Now of type rel.
69426         (zone, rel, relunit, get_date): Adjust to above changes.
69427
69428         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
69429         Do not include unistd-safer.h.
69430         (getloadavg): Don't call fd_safer; no longer needed
69431         now that we include fcntl--.h.
69432
69433         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
69434         (make_dir_parents): Treat ENOSYS like EEXIST.
69435
69436         Improve quality of diagnostics on restore_cwd failure.
69437         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
69438         (make_dir_parents): Last arg is now int * (for errno), not bool *.
69439         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
69440         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
69441         each time through the loop.  Do not diagnose restore_cwd failure;
69442         that is the caller's job (and perhaps the caller does not care).
69443
69444         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
69445         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
69446         If the file already exists but is not a directory, don't bother
69447         to try to make its parents.
69448         Close potential file descriptor leak if we can't chdir("/") (!).
69449         Don't always return true if chdir($PWD) fails; return true only
69450         if the requested action was done successfully (except for the
69451         chdir($PWD)).
69452         Don't log final directory unless we actually made it.
69453         Refactor to avoid duplicate code to fix up permissions.
69454         Don't attempt to fix up parent permissions if chdir($PWD) fails.
69455
69456         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
69457         to make it a bit faster and (I hope) clearer.
69458         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
69459         Fix bug in formats like %2N.
69460
69461         * lib/verify.h: New file.
69462
69463 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
69464
69465         Sync from coreutils.
69466         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
69467
69468 2005-09-22  Jim Meyering  <jim@meyering.net>
69469
69470         Sync from coreutils.
69471
69472         * m4/lstat.m4 (gl_FUNC_LSTAT):
69473         Use AC_LIBSOURCES to require lstat.c and lstat.h.
69474         Remove obsolete comment.
69475         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
69476         * m4/xstrtod.m4: Likewise.
69477
69478         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
69479
69480 2005-09-22  Jim Meyering  <jim@meyering.net>
69481
69482         Sync from coreutils.
69483
69484         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
69485
69486         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
69487         the .tm_year member, since otherwise gcc-4.0 would now warn about
69488         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
69489
69490         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
69491         order to avoid an unsuppressible warning from gcc on 64-bit systems.
69492
69493         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
69494         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
69495         when run in a time zone for which daylight savings time is in effect
69496         for the starting date.
69497
69498         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
69499         stop us from restricting permissions of just-created absolute-named
69500         directories.
69501         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
69502         to restore initial working directory.
69503         * lib/mkdir-p.c (make_dir_parents): New parameter:
69504         different_working_dir, to tell caller if/when we change the working
69505         directory and are unable to return to the initial one.
69506         * lib/mkdir-p.h (make_dir_parents): Update prototype.
69507         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
69508         `return false'.  This fixes a bug introduced on 2004-07-30.
69509
69510         * lib/openat.c (fdopendir): Be sure to close the supplied
69511         file descriptor before returning.  This makes our replacement
69512         implementation a little closer to Solaris's, where fdopendir
69513         ties the file descriptor to the returned DIR* pointer.
69514         * lib/openat.c (unlinkat): New function.
69515         * lib/openat.h (unlinkat): Add prototype.
69516         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
69517         (openat_restore_fail): Rename from openat_restore_die.
69518         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
69519
69520         Provide an alternative to exiting immediately upon save_cwd or
69521         restore_cwd failure.  Now, an application can arrange e.g.,
69522         to perform a longjump in that case.
69523         * lib/openat.c: Include dirname.h.
69524         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
69525         (rpl_openat, fdopendir, fstatat): Call openat_save_die
69526         and openat_restore_die rather than calling error directly.
69527         Don't include "error.h" or "exitfail.h"; they're no longer needed.
69528
69529         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
69530         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
69531         define.
69532
69533         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
69534         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
69535                             int utc, int nanoseconds);
69536         Background:
69537         date should not have to allocate a megabyte of virtual memory to
69538         handle a format argument like +%1048575T.  When implemented with
69539         strftime, it must allocate such a buffer, use strftime to fill it
69540         in, print it, then free it.
69541         With fprintftime, it simply prints everything and exits.
69542         With no need for memory allocation, that's one fewer way to fail.
69543         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
69544         optional field width, not before, so we accept %9:z, not %:9z.
69545         (my_strftime): Be sure to use L_('x') for literals.
69546
69547         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
69548         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
69549         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
69550         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
69551         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
69552         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
69553         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
69554         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
69555         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
69556         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
69557         * lib/xgethostname.c, lib/xreadlink.c:
69558         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
69559
69560         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
69561         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
69562         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
69563         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
69564         and don't include <sys/file.h>).
69565
69566 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
69567
69568         Sync from coreutils.
69569
69570         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
69571         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
69572         [!LDAV_DONE]: Avoid unused variable warning.
69573
69574 2005-09-21  Bruno Haible  <bruno@clisp.org>
69575
69576         * lib/unicodeio.h (unicode_to_mb): New declaration.
69577
69578 2005-09-20  Derek Price  <derek@ximbiot.com>
69579
69580         * lib/getaddrinfo.c: Don't include <netdb.h> included from
69581         getaddrinfo.h.
69582
69583 2005-09-20  Bruno Haible  <bruno@clisp.org>
69584
69585         * gnulib-tool: Remove trailing slashes from the values specified for
69586         --source-base, --m4-base, --tests-base, --aux-dir.
69587         Suggested by Simon Josefsson <jas@extundo.com>.
69588
69589 2005-09-20  Bruno Haible  <bruno@clisp.org>
69590
69591         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
69592         func_modules_to_filelist, func_import, func_create_testdir): Make all
69593         sorting results locale-independent, so that gnulib-cache.m4 doesn't
69594         change when gnulib-tool is invoked in a different locale.
69595
69596 2005-09-19  Simon Josefsson  <jas@extundo.com>
69597
69598         * m4/socklen.m4: Fix typo.
69599
69600 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69601
69602         Use a consistent style for including <config.h>.
69603         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
69604         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
69605         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
69606         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
69607         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
69608         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
69609         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
69610         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
69611         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
69612         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
69613         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
69614         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
69615         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
69616         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
69617         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
69618         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
69619         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
69620         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
69621         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
69622         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
69623         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
69624         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
69625         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
69626         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
69627         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
69628         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
69629         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
69630         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
69631         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
69632         lib/xstrtoumax.c, lib/yesno.c:
69633         Standardize inclusion of config.h.
69634         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
69635         lib/inttostr.h:  Removed inclusion of config.h from header files.
69636         * lib/inttostr.c:  Adjusted in-tree users.
69637         * lib/timespec.h: Remove superfluous warning to include config.h.
69638         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
69639         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
69640         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
69641         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
69642         config.h with HAVE_CONFIG_H.
69643
69644 2005-09-19  Jim Meyering  <jim@meyering.net>
69645
69646         * modules/pathmax (License): Change to LGPL.
69647
69648 2005-09-19  Derek Price  <derek@ximbiot.com>
69649
69650         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
69651
69652 2005-09-19  Bruno Haible  <bruno@clisp.org>
69653
69654         * gnulib-tool (import): Provide default for --tests-base.
69655
69656 2005-09-19  Bruno Haible  <bruno@clisp.org>
69657
69658         * doc/quote.texi: New file, extracted from gnulib.texi.
69659         * doc/ctime.texi: New file, extracted from gnulib.texi.
69660         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
69661         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
69662         * doc/gnulib.texi: Include them.
69663
69664 2005-09-18  Bruno Haible  <bruno@clisp.org>
69665
69666         Portability fix.
69667         * gnulib-tool (func_readlink): New function.
69668         (func_ln_if_changed): Use it.
69669
69670 2005-09-18  Bruno Haible  <bruno@clisp.org>
69671
69672         * gnulib-tool: Support --with-tests also with --import.
69673         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
69674         (func_import): Use variables $testsbase and $inctests. Emit a
69675         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
69676         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
69677         SUBDIRS += $testsdir.
69678         (func_create_testdir): Update.
69679
69680 2005-09-18  Bruno Haible  <bruno@clisp.org>
69681
69682         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
69683         instead of $dry_run.
69684         (func_cp_if_changed, func_mv_if_changed): Remove functions.
69685         (func_ln_if_changed): Don't handle dry-run here.
69686         (func_import): In dry-run mode, detect more precisely which actions
69687         would be performed, and don't use "...ing" verbs.
69688
69689 2005-09-18  Bruno Haible  <bruno@clisp.org>
69690
69691         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
69692         (func_import): Use join on two temporary files instead of three nested
69693         loops, in order to determine which files are new or old.
69694
69695 2005-09-18  Bruno Haible  <bruno@clisp.org>
69696
69697         * gnulib-tool (func_import): Comment out code that spits out the
69698         new files with --dry-run.
69699
69700 2005-09-18  Bruno Haible  <bruno@clisp.org>
69701
69702         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
69703
69704 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
69705
69706         * lib/stat-time.h: New file.
69707         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
69708         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
69709         in a different way.
69710         (timespec_cmp): New function.
69711         * lib/utimecmp.c: Include stat-time.h.
69712         (SYSCALL_RESOLUTION): Depend on whether various struct stat
69713         members exist, not on the obsolescent ST_MTIM_NSEC.
69714         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
69715
69716 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
69717
69718         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
69719
69720 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
69721
69722         * MODULES.html.sh (File system functions): Add stat-time.
69723         * modules/stat-time: New file.
69724         * modules/timespec (Files): Remove m4/st_mtim.m4; this
69725         is now done in a different way, by the stat-time module.
69726         * modules/utimecmp (Depends-on): Add stat-time.
69727
69728 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
69729
69730         * m4/st_mtim.m4: Remove.  Superseded by...
69731         * m4/stat-time.m4: New file.
69732         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
69733         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
69734
69735 2005-09-15  Derek Price  <derek@ximbiot.com>
69736
69737         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
69738
69739 2005-09-15  Derek Price  <derek@ximbiot.com>
69740
69741         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
69742         * lib/regex_internal.c: Ditto, using this...
69743         (__GNUC_PREREQ): ...new macro.
69744         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
69745         using...
69746         (__GNUC_PREREQ): ...this new macro.
69747
69748         * lib/strstr.h: Include string.h. Define strstr as a macro here.
69749
69750 2005-09-15  Derek Price  <derek@ximbiot.com>
69751             Paul Eggert  <eggert@cs.ucla.edu>
69752
69753         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
69754         changes, consolidating in...
69755         * lib/regex_internal.h: ...this file.
69756
69757 2005-09-13  Jim Meyering  <jim@meyering.net>
69758
69759         * lib/canon-host.c: Filter through gnu indent and reword comments
69760         slightly.
69761         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
69762
69763 2005-09-13  Derek Price  <derek@ximbiot.com>
69764
69765         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
69766         failure.
69767         Reported by Jim Meyering  <jim@meyering.net>.
69768
69769 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
69770
69771         * lib/base64.c: Typo.
69772         (base64_encode): Put b64str in initialized data section.
69773
69774 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
69775
69776         Merge glibc and coreutils changes into gnulib, plus a few
69777         extra fixes.
69778         * lib/md5.c: Use #error rather than a string.
69779         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
69780         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
69781         (__attribute__): Define to empty for non recent-GCC.
69782         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
69783         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
69784         Renamed from their non-__ counterparts, with new macros replacing
69785         them if not _LIBC.  Add __THROW attribute.
69786         (rol): Remove.
69787         (struct md5_ctx): Align buffer if using GCC.
69788         * lib/sha1.h (struct sha1_ctx): Likewise.
69789         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
69790         The old name was backwards.
69791         (NOTSWAP): Remove; not used.
69792         (rol): New macro, moved here from md5.h.
69793         (sha1_process_block): Remove a FIXME that doesn't make sense.
69794
69795 2005-09-12  Derek Price  <derek@ximbiot.com>
69796
69797         Return usable errors from canon-host.
69798         * lib/canon-host.h: New file.
69799         * lib/canon-host.c (canon_host): Wrap...
69800         (canon_host_r): ...this new function, which now relies exclusively on
69801         getaddrinfo.
69802         (ch_strerror): New function.
69803         (last_cherror): New global.
69804         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
69805         interface.
69806         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
69807         void *.
69808         (freeaddrinfo): Free ai->ai_canonname when set.
69809
69810 2005-09-12  Derek Price  <derek@ximbiot.com>
69811
69812         Make canon-host require getaddrinfo.
69813         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
69814         AC_LIBSOURCE canon-host.h.  Call...
69815         (gl_PREREQ_CANON_HOST): ...this new function, which requires
69816         gl_GETADDRINFO.
69817         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
69818
69819 2005-09-12  Derek Price  <derek@ximbiot.com>
69820
69821         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
69822         LGPL.
69823         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
69824
69825 2005-09-12  Derek Price  <derek@ximbiot.com>
69826
69827         * lib/gai_strerror.c: Include config.h when available.  Include
69828         getaddrinfo.h before other headers to test interface.
69829         Reported by Larry Jones <lawrence.jones@ugs.com>.
69830
69831 2005-09-12  Derek Price  <derek@ximbiot.com>
69832             Paul Eggert  <eggert@cs.ucla.edu>
69833
69834         * modules/glob (Files): Add glob-libc.h.
69835
69836 2005-09-12  Derek Price  <derek@ximbiot.com>
69837             Paul Eggert  <eggert@cs.ucla.edu>
69838
69839         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
69840         glob_.h, glob-libc.h.
69841         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
69842
69843 2005-09-12  Derek Price  <derek@ximbiot.com>
69844             Paul Eggert  <eggert@cs.ucla.edu>
69845
69846         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
69847         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
69848         protecting things that should be done only in gnulib contexts.
69849         * lib/glob_.h: New file, containing only the glob things needed for
69850         gnulib.
69851         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
69852         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
69853         (glob, globfree, glob_pattern_p): Now defined simply in terms of
69854         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
69855         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
69856         and to respect the namespace rules better.
69857
69858 2005-09-08  Simon Josefsson  <jas@extundo.com>
69859
69860         * modules/socklen: New file.
69861
69862 2005-09-08  Simon Josefsson  <jas@extundo.com>
69863
69864         * m4/socklen.m4: New file.
69865
69866 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
69867
69868         * modules/utimens (Files): Add m4/utimbuf.m4, since
69869         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
69870         Reported by Sergey Poznyakoff.
69871
69872 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
69873
69874         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
69875         definitions, since that's the preferred style in glibc.
69876         Fix a minor spacing issue, and update copyright notice to match
69877         glibc's.
69878
69879 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
69880
69881         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
69882
69883 2005-09-06  Simon Josefsson  <jas@extundo.com>
69884
69885         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
69886         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
69887
69888 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
69889
69890         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
69891         warning.
69892
69893 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
69894
69895         * config/srclist.txt: Add glibc bug 1302.
69896
69897 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
69898
69899         Change bitset word type from unsigned int to unsigned long int,
69900         as this has better performance on typical 64-bit hosts.
69901         Port bitset code to hosts with unusual word sizes.
69902         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
69903         (build_collating_symbol):
69904         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
69905         argument is a bitset.  This is merely a style issue, but it makes
69906         it clearer that an entire array is expected.
69907         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
69908         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
69909         Port to the case where bitset_word is not the same as unsigned int.
69910         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
69911         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
69912         Likewise.
69913         * lib/regexec.c (check_dst_limits_calc_pos_1,
69914         check_subexp_matching_top):
69915         (build_trtable, group_nodes_into_DFAstates):
69916         Likewise.
69917         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
69918         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
69919         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
69920         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
69921         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
69922         * lib/regcomp.c (optimize_subexps, lower_subexp):
69923         Work even if bitset_word has holes in its bitwise representation.
69924         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
69925         * lib/regexec.c (check_dst_limits_calc_pos_1,
69926         check_subexp_matching_top):
69927         Likewise.
69928         * lib/regex_internal.c (re_string_reconstruct):
69929         Don't assume UCHAR_MAX == 255.
69930         * lib/regex_internal.h (bitset_set_all): Likewise.
69931         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
69932         All uses changed.
69933         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
69934         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
69935         All uses changed.
69936         (BITSET_WORD_MAX): New macro.
69937         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
69938         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
69939         (bitset_empty, bitset_copy):
69940         Prefer sizeof (bitset) to multiplying it out ourselves.
69941         (bitset_not_merge): Remove; unused.
69942         (bitset_contain): Return bool, not unsigned int with one bit on.
69943         All callers changed.
69944         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
69945         alignment than re_node_set; do this by defining a new internal
69946         type struct dests_alloc and using it to allocate memory.
69947
69948 2005-09-05  Bruno Haible  <bruno@clisp.org>
69949
69950         * gnulib-tool (func_import): Fix comparison in handling of symbolic
69951         links.
69952
69953 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
69954
69955         * modules/size_max (Makefile.am): Add size_max.h
69956
69957 2005-09-04  Derek Price  <derek@ximbiot.com>
69958
69959         * gnulib-tool (func_import): Fix reversed $symbolic logic.
69960
69961 2005-09-03  Simon Josefsson  <jas@extundo.com>
69962
69963         * gnulib-tool: Fix typo.
69964
69965 2005-09-03  Simon Josefsson  <jas@extundo.com>
69966
69967         * config/srclist.txt: Add glibc bug 1293.
69968
69969 2005-09-03  Derek Price  <derek@ximbiot.com>
69970
69971         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
69972         From Larry Jones <lawrence.jones@ugs.com>.
69973
69974 2005-09-02  Simon Josefsson  <jas@extundo.com>
69975
69976         * modules/socklen: New file.
69977
69978 2005-09-02  Simon Josefsson  <jas@extundo.com>
69979
69980         * modules/havelib: New module.
69981
69982         * modules/gettext, modules/iconv, modules/lock, modules/readline:
69983         Use havelib.
69984
69985 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
69986
69987         Check for arithmetic overflow when calculating sizes, to prevent
69988         some buffer-overflow issues.  These patches are conservative, in the
69989         sense that when I couldn't determine whether an overflow was possible,
69990         I inserted a run-time check.
69991         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
69992         macros.
69993         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
69994         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
69995         (re_xnrealloc, re_x2nrealloc): New inline functions.
69996         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
69997         parse_bracket_exp):
69998         (build_equiv_class, build_charclass): Check for arithmetic overflow
69999         in size expression calculations.
70000         * lib/regex_internal.c (re_string_realloc_buffers):
70001         (build_wcs_upper_buffer, re_node_set_add_intersect):
70002         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
70003         (re_dfa_add_node, register_state): Likewise.
70004         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
70005         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
70006         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
70007         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
70008
70009 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
70010
70011         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
70012         m4/ulonglong.m4.  Problem reported by Martin Lambers.
70013
70014 2005-09-02  Bruno Haible  <bruno@clisp.org>
70015
70016         Support for lib vs. lib64 distinction on biarch platforms.
70017         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
70018         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
70019         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
70020
70021 2005-09-02  Bruno Haible  <bruno@clisp.org>
70022
70023         * gnulib-tool (import): In the other first-use case, provide defaults
70024         as well.
70025
70026 2005-09-02  Bruno Haible  <bruno@clisp.org>
70027
70028         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
70029         patches not yet found in the latest gettext release.
70030
70031 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
70032
70033         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
70034         to avoid a collision with bits/local_lim.h in glibc.
70035         All uses changed.  Problem reported by Dmitry V. Levin in
70036         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
70037
70038         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
70039         bugs in int versus size_t comparisons.
70040         (re_string_context_at): Fix bug where the code assumed that
70041         Idx is signed.
70042
70043         Use bool where appropriate.
70044         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
70045         All callers changed.
70046         (calc_eclosure_iter): Likewise, for ROOT arg.
70047         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
70048         (build_charclass_op): Likewise, for NON_MATCH arg.
70049         * lib/regex_internal.c (re_string_allocate, re_string_construct):
70050         (re_string_construct_common): Likewise, for ICASE arg.
70051         * lib/regexec.c (re_search_2_stub, re_search_stub):
70052         Likewise, for RET_LEN arg.
70053         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
70054         (set_regs): Likewise, for FL_BACKTRACK arg.
70055         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
70056         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
70057         (calc_eclosure_iter, parse_bracket_exp):
70058         Use bool for internal variables that are booleans.
70059         * lib/regexec.c (re_search_internal, check_matching,
70060         proceed_next_node):
70061         (set_regs, build_sifted_states, sift_states_bkref):
70062         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
70063         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
70064         (find_collation_sequence_value):
70065         Likewise.
70066         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
70067         (re_node_set_compare):
70068         Return bool, not int. All callers changed.
70069         * lib/regexec.c (check_halt_node_context, check_dst_limits):
70070         (build_trtable, check_node_accept): Likewise.
70071         * lib/regex_internal.h: Include stdbool.h.
70072
70073         Fix bugs uncovered when converting to bool.
70074         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
70075         failure instead of charging ahead blindly.
70076         * lib/regex_internal.c (register_state): Likewise.
70077         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
70078         for freeing internal storage.
70079         (group_nodes_into_DFA_states): Use unsigned int, not int, for
70080         bitset pieces used as boolean, to avoid undefined behavior
70081         on hosts that do int overflow checking.
70082
70083 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
70084
70085         * config/srclist.txt: Add glibc bugs 1285-1287.
70086
70087 2005-09-01  Jim Meyering  <jim@meyering.net>
70088
70089         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
70090         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
70091         Require gl_STAT_MACROS, too.
70092
70093 2005-09-01  Bruno Haible  <bruno@clisp.org>
70094
70095         * gnulib-tool (import): In the first-use case, provide defaults.
70096
70097 2005-09-01  Bruno Haible  <bruno@clisp.org>
70098
70099         * gnulib-tool (func_import): Remove the .tmp files.
70100
70101 2005-09-01  Bruno Haible  <bruno@clisp.org>
70102
70103         * gnulib-tool (func_import): Fix handling of symbolic links.
70104
70105 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
70106
70107         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
70108         old glibc regex code mishandles strings longer than 2**31 bytes.
70109         This patch fixes this when the regex code is used in gnulib
70110         (i.e., outside glibc).
70111
70112         This patch should not affect the use of the regex code inside
70113         glibc.  No doubt this problem also needs to be handled for glibc
70114         as well, but the result will be an incompatible change to the
70115         glibc ABI, and the old ABI will have to be supported too.  That
70116         can be the the subject for another patch.
70117
70118         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
70119         governing whether the rest of this patch is active.  By default,
70120         the macro is disabled and the patch has no effect.
70121         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
70122         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
70123         (struct re_pattern_buffer, re_search, re_search_2, re_match):
70124         (re_match_2, re_set_registers): Use the new types.
70125         * lib/regex_internal.h (Idx, re_hashval_t): New types.
70126         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
70127         New macros.
70128         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
70129         (re_string_context_at, bin_tree_t, re_dfastate_t):
70130         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
70131         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
70132         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
70133         (re_string_char_size_at, re_string_wchar_at):
70134         (re_string_elem_size_at):
70135         Use the new types and macros to port to 64-bit hosts.
70136         Use unsigned types for internal values, so that the code
70137         mostly works even for arrays larger than SSIZE_MAX.
70138         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
70139         (search_duplicated_node, calc_eclosure_iter, fetch_number):
70140         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
70141         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
70142         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
70143         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
70144         (calc_inveclosure, parse_dup_op, build_range_exp):
70145         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
70146         (fetch_number, create_token_tree, mark_opt_subexp):
70147         Likewise.
70148         * lib/regex_internal.c (re_string_construct_common,
70149         create_ci_newstate):
70150         (create_cd_newstate, re_string_allocate, re_string_construct):
70151         (re_string_realloc_buffers, build_wcs_upper_buffer):
70152         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
70153         (re_string_reconstruct, re_string_peek_byte_case):
70154         (re_string_fetch_byte_case, re_string_context_at):
70155         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
70156         (re_node_set_init_copy, re_node_set_add_intersect):
70157         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
70158         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
70159         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
70160         (re_acquire_state, re_acquire_state_context, register_state):
70161         Likewise.
70162         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
70163         search_cur_bkref_entry):
70164         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
70165         (re_search_internal, re_search_2_stub, re_search_stub)
70166         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
70167         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
70168         (update_cur_sifted_state, check_dst_limits):
70169         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
70170         (check_subexp_limits, sift_states_bkref, merge_state_array):
70171         (check_subexp_matching_top, get_subexp, get_subexp_sub):
70172         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
70173         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
70174         (expand_bkref_cache, check_node_accept_bytes):
70175         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
70176         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
70177         (acquire_init_state_context, check_halt_node_context):
70178         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
70179         (sift_states_backward, clean_state_log_if_needed):
70180         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
70181         (find_recover_state, transit_state_sb, transit_state_mb):
70182         (transit_state_bkref, build_trtable, match_ctx_clean):
70183         Likewise.
70184         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
70185         to work around an assumption that REG_MISSING is negative.
70186
70187         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
70188         (seek_collating_symbol_entry) [defined _LIBC]:
70189         (lookup_collation_sequence_value) [defined _LIBC]:
70190         (build_range_exp, build_collating_symbol) [defined _LIBC]:
70191         Use prototypes rather than old-style function definitions.
70192         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
70193         (transit_state_sb) [0]:
70194         (find_collation_sequence_value) [defined _LIBC]: Likewise.
70195
70196         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
70197         rm_eo.
70198
70199         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
70200         (optimize_subexps, lower_subexp):
70201         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
70202         since the signed shift might overflow.  Use 1u<<31 instead.
70203         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
70204         Likewise.
70205         * lib/regexec.c (check_dst_limits_calc_pos_1,
70206         check_subexp_matching_top): Likewise.
70207
70208         * lib/regcomp.c (optimize_subexps, lower_subexp):
70209         Use CHAR_BIT rather than 8, for clarity.
70210         * lib/regexec.c (check_dst_limits_calc_pos_1):
70211         (check_subexp_matching_top): Likewise.
70212         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
70213         have to worry about portability issues when shifting it left.
70214         Remove no-longer-needed test for table_size > 0.
70215         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
70216         in a word, as the resulting behavior is undefined.
70217         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
70218         in one case, a <= should have been an <, and in another case the
70219         whole test was missing.
70220         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
70221         the standard name CHAR_BIT.
70222         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
70223         this is not true on one's complement and signed-magnitude hosts.
70224
70225         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
70226         next_last_offset.
70227         (struct re_dfa_t): Remove unused member states_alloc.
70228         * lib/regcomp.c (init_dfa): Don't initialize unused members.
70229
70230 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
70231
70232         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
70233         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
70234         and large-file glibc and in 32-bit large-file Solaris.
70235
70236 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
70237
70238         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
70239         lengths fit in regoff_t; this isn't true if regoff_t is the same
70240         width as size_t.
70241         * lib/regex.c (re_search_internal): 5th arg is LAST_START
70242         (= START + RANGE) instead of RANGE.  This avoids overflow
70243         problems when regoff_t is the same width as size_t.
70244         All callers changed.
70245         (re_search_2_stub): Check for overflow when adding the
70246         sizes of the two strings.
70247         (re_search_stub): Check for overflow when adding START
70248         to RANGE; if it occurs, substitute the extreme value.
70249
70250 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
70251
70252         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
70253
70254 2005-08-31  Jim Meyering  <jim@meyering.net>
70255
70256         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
70257         a pointer-to-const.
70258         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
70259         (register_state): Likewise.
70260         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
70261         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
70262         (group_nodes_into_DFAstates): Likewise.
70263
70264 2005-08-31  Jim Meyering  <jim@meyering.net>
70265
70266         * check-module: Add a FIXME comment.
70267
70268 2005-08-31  Eric Blake  <ebb9@byu.net>
70269
70270         * modules/unistd-safer (Files): Add unistd--.h.
70271         * modules/stdio-safer (Files): Add stdio--.h.
70272
70273 2005-08-31  Derek Price  <derek@ximbiot.com>
70274
70275         * lib/getdelim.c (getdelim): Return EOF on EOF.
70276         Reported by Larry Jones <lawrence.jones@ugs.com>.
70277
70278 2005-08-31  Bruno Haible  <bruno@clisp.org>
70279
70280         Avoid unnecessary diffs in the generated lib/Makefile.am.
70281         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
70282         the generated files.
70283         (func_import): Don't set cmd.
70284
70285 2005-08-31  Bruno Haible  <bruno@clisp.org>
70286
70287         * lib/strstr.c: Include <stddef.h>, for NULL.
70288         * lib/strcasestr.c: Likewise.
70289         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
70290
70291 2005-08-31  Bruno Haible  <bruno@clisp.org>
70292
70293         * gnulib-tool: New option --macro-prefix.
70294         (func_import): Use macro_prefix.
70295         (import): Handle option --macro-prefix.
70296
70297 2005-08-31  Bruno Haible  <bruno@clisp.org>
70298
70299         * gnulib-tool (import): Rename most ac_* variables to cached_*.
70300         Also use new variables cached_lgpl, cached_libtool.
70301
70302 2005-08-31  Bruno Haible  <bruno@clisp.org>
70303
70304         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
70305         always instantiating them.
70306
70307 2005-08-31  Bruno Haible  <bruno@clisp.org>
70308
70309         * gnulib-tool (func_import): Read the previous cached settings
70310         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
70311         earlier added by gnulib but are now dropped. Warn when a gnulib file
70312         overwrites a non-gnulib file.
70313
70314 2005-08-31  Bruno Haible  <bruno@clisp.org>
70315
70316         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
70317         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
70318         projects that don't keep autogenerated files in CVS. Put into
70319         actioncmd only the specified modules, not the transitive closure.
70320
70321 2005-08-31  Bruno Haible  <bruno@clisp.org>
70322
70323         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
70324         Create directories that shall be filled.
70325         (import): Don't look for gl_* macros in configure.ac. Recurse across
70326         all directories containing a gnulib-cache.m4 files, if meaningful.
70327
70328 2005-08-31  Bruno Haible  <bruno@clisp.org>
70329
70330         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
70331         (import): Set seen_libtool when we see gl_LIBTOOL.
70332
70333 2005-08-31  Bruno Haible  <bruno@clisp.org>
70334
70335         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
70336         declaration macro definitions from generated gnulib.m4.
70337
70338 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
70339
70340         * lib/iconvme.h: Add prototype for iconv_alloc.
70341
70342 2005-08-29  Simon Josefsson  <jas@extundo.com>
70343
70344         * lib/iconvme.c: Fix errno.
70345
70346 2005-08-29  Bruno Haible  <bruno@clisp.org>
70347
70348         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
70349         that it works when the directory contains spaces.
70350
70351 2005-08-29  Bruno Haible  <bruno@clisp.org>
70352
70353         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
70354
70355 2005-08-29  Bruno Haible  <bruno@clisp.org>
70356
70357         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
70358         Emit more advice.
70359
70360 2005-08-29  Bruno Haible  <bruno@clisp.org>
70361         and Stepan Kasal  <kasal@ucw.cz>
70362
70363         * check-module: If more parameters are given, check each of them
70364         separately; add more exceptions, as noted by Jim Meyering.
70365         (check_module): New procedure.
70366         (%exempt_header): Now contains all exceptions.
70367
70368 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
70369
70370         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
70371
70372 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
70373
70374         * lib/iconvme.c: Split iconv_string into iconv_alloc.
70375
70376 2005-08-28  Bruno Haible  <bruno@clisp.org>
70377
70378         * m4/gnulib-tool.m4: New file.
70379
70380 2005-08-27  Jim Meyering  <jim@meyering.net>
70381
70382         * modules/unistd-safer (Files): Add pipe-safer.c.
70383         * modules/fcntl-safer (Files): Add creat-safer.c.
70384
70385 2005-08-27  Jim Meyering  <jim@meyering.net>
70386
70387         * m4/stdlib-safer.m4: New file.  From coreutils.
70388         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
70389         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
70390         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
70391         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
70392         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
70393
70394 2005-08-27  Jim Meyering  <jim@meyering.net>
70395
70396         * lib/fopen-safer.c: Merge minor changes from coreutils.
70397         * lib/dup-safer.c: Likewise.
70398         * lib/fd-safer.c: Likewise.
70399
70400         Merge from coreutils.
70401         * lib/stdio--.h: New file.
70402         * lib/stdlib--.h: New file.
70403         * lib/mkstemp-safer.c: New file.
70404
70405         GNU tar needs these.
70406         * lib/pipe-safer.c: New file.
70407         * lib/creat-safer.c: New file.
70408         * lib/fcntl--.h (creat): Define to creat_safer.
70409         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
70410         * lib/unistd--.h (pipe): Define to pipe_safer.
70411         * lib/unistd-safer.h: Declare pipe_safer.
70412
70413 2005-08-26  Simon Josefsson  <jas@extundo.com>
70414
70415         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
70416         Haible <bruno@clisp.org>.
70417
70418 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
70419
70420         * lib/regex_internal.h: Remove all references to
70421         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
70422         or better.
70423         (bitset_not, bitset_merge, bitset_not_merge):
70424         (bitset_mask, re_string_allocate, re_string_construct):
70425         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
70426         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
70427         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
70428         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
70429         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
70430         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
70431         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
70432         (re_acquire_state_context):
70433         Remove unnecessary forward decls.
70434         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
70435         Put __attribute at function definition,
70436         now that the function decl has been removed.
70437         * lib/regex_internal.c (re_string_peek_byte_case):
70438         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
70439         Likewise.
70440
70441 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
70442
70443         * m4/regex.m4: Add AC_PREREQ(2.50).
70444         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
70445
70446 2005-08-25  Simon Josefsson  <jas@extundo.com>
70447
70448         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
70449         __fsetlocking.
70450
70451 2005-08-25  Simon Josefsson  <jas@extundo.com>
70452
70453         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
70454         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
70455         GLIBC specific code.
70456
70457 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
70458
70459         Make regex safe for g++.  This fixes one real bug (an "err"
70460         that should have been "*err").  g++ problem reported by
70461         Sam Steingold.
70462         * lib/regex_internal.h (re_calloc): New macro, consistent with
70463         re_malloc etc.  All callers of calloc changed to use re_calloc.
70464         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
70465         not int.  All callers changed.
70466         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
70467         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
70468         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
70469         (find_recover_state): Change "err" to "*err"; this fixes what
70470         appears to be a real bug.
70471         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
70472         versus int.
70473
70474 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
70475
70476         * modules/regex (Depends-on): Add malloc, since the code
70477         assumes that !malloc(0) means failure.
70478
70479 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
70480
70481         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
70482
70483         alloca modernization/simplification for regex.
70484         * lib/regex.c: Remove portability cruft for alloca.  This no longer
70485         needs to be at the start of the file, and can be moved into
70486         regex_internal.h and simplified.
70487         * lib/regex_internal.h: Include <alloca.h>.
70488         (__libc_use_alloca) [!defined _LIBC]: New macro.
70489         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
70490         now works outside glibc.
70491
70492 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
70493
70494         * config/srclist.txt: Add glibc bugs 1241, 1245.
70495
70496 2005-08-25  Jim Meyering  <jim@meyering.net>
70497
70498         * lib/open-safer.c: Include <config.h>.
70499         Otherwise, we'd lose LARGEFILE support in any file using
70500         e.g. "fcntl--.h"
70501
70502 2005-08-25  Bruno Haible  <bruno@clisp.org>
70503
70504         * m4/minmax.m4: Require autoconf 2.52.
70505         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
70506         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
70507         alternatives of translit over the alphabet.
70508         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
70509
70510 2005-08-24  Simon Josefsson  <jas@extundo.com>
70511
70512         * tests/test-getpass.c: New file.
70513
70514 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
70515
70516         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
70517         for GNU regex features.
70518
70519 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
70520
70521         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
70522         * lib/regex.h (regerror): Likewise.
70523
70524         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
70525         requires this.  (The code never needed it.)
70526
70527         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
70528         All uses of recently-renamed identifiers changed to use the new,
70529         POSIX-compliant names.  The code will build and run just fine
70530         without these changes, but it's better to eat our own dog food
70531         and use the standard-conforming names.
70532
70533         * lib/regex.h: Fix a multitude of POSIX name space violations.
70534         These changes have an effect only for programs that define
70535         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
70536         do not change anything for programs compiled in the normal way.
70537         Also, there is no effect on the ABI.
70538
70539         (_REGEX_SOURCE): New macro.
70540         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
70541         defined and _GNU_SOURCE is not; this fixes a name space violation.
70542
70543         Rename the following macros to obey POSIX requirements.
70544         The old names are still visible as macros if _REGEX_SOURCE is defined.
70545         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
70546         RE_BACKSLASH_ESCAPE_IN_LISTS.
70547         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
70548         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
70549         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
70550         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
70551         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
70552         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
70553         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
70554         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
70555         (REG_INTERVALS): renamed from RE_INTERVALS.
70556         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
70557         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
70558         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
70559         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
70560         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
70561         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
70562         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
70563         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
70564         RE_UNMATCHED_RIGHT_PAREN_ORD.
70565         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
70566         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
70567         (REG_DEBUG): renamed from RE_DEBUG.
70568         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
70569         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
70570         unusual, since we can't clash with the POSIX REG_ICASE.
70571         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
70572         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
70573         (REG_NO_SUB): renamed from RE_NO_SUB.
70574         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
70575         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
70576         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
70577         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
70578         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
70579         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
70580         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
70581         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
70582         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
70583         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
70584         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
70585         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
70586         RE_SYNTAX_POSIX_MINIMAL_BASIC.
70587         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
70588         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
70589         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
70590         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
70591         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
70592         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
70593         (REG_FIXED): Renamed from REGS_FIXED.
70594         (REG_NREGS): Renamed from RE_NREGS.
70595
70596         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
70597         of other REG_* macros, since POSIX says the user is allowed to
70598         #undef these macros selectively.
70599
70600         (reg_errcode_t): Update comment stating what other tables need
70601         to be consistent.
70602
70603         Rename the following enum values to obey POSIX requirements.
70604         The old names are still visible as macros.
70605         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
70606         is not defined, since GNU is supposed to be a superset of POSIX as
70607         much as possible, and since we want reg_errcode_t to be a signed
70608         type for implementation consistency.
70609         (_REG_NOERROR): Renamed from REG_NOERROR.
70610         (_REG_NOMATCH): Renamed from REG_NOMATCH.
70611         (_REG_BADPAT): Renamed from REG_BADPAT.
70612         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
70613         (_REG_ECTYPE): Renamed from REG_ECTYPE.
70614         (_REG_EESCAPE): Renamed from REG_EESCAPE.
70615         (_REG_ESUBREG): Renamed from REG_ESUBREG.
70616         (_REG_EBRACK): Renamed from REG_EBRACK.
70617         (_REG_EPAREN): Renamed from REG_EPAREN.
70618         (_REG_EBRACE): Renamed from REG_EBRACE.
70619         (_REG_BADBR): Renamed from REG_BADBR.
70620         (_REG_ERANGE): Renamed from REG_ERANGE.
70621         (_REG_ESPACE): Renamed from REG_ESPACE.
70622         (_REG_BADRPT): Renamed from REG_BADRPT.
70623         (_REG_EEND): Renamed from REG_EEND.
70624         (_REG_ESIZE): Renamed from REG_ESIZE.
70625         (_REG_ERPAREN): Renamed from REG_ERPAREN.
70626         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
70627         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
70628         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
70629         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
70630
70631         (_REG_RE_NAME, _REG_RM_NAME): New macros.
70632         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
70633         changed.  But support the old name if the new one is not defined
70634         and if _REGEX_SOURCE.
70635
70636         Change the following member names in struct re_pattern_buffer.
70637         The old names are still supported if !_REGEX_SOURCE.
70638         The new names are always supported, regardless of _REGEX_SOURCE.
70639         (re_buffer): Renamed from buffer.
70640         (re_allocated): Renamed from allocated.
70641         (re_used): Renamed from used.
70642         (re_syntax): Renamed from syntax.
70643         (re_fastmap): Renamed from fastmap.
70644         (re_translate): Renamed from translate.
70645         (re_can_be_null): Renamed from can_be_null.
70646         (re_regs_allocated): Renamed from regs_allocated.
70647         (re_fastmap_accurate): Renamed from fastmap_accurate.
70648         (re_no_sub): Renamed from no_sub.
70649         (re_not_bol): Renamed from not_bol.
70650         (re_not_eol): Renamed from not_eol.
70651         (re_newline_anchor): Renamed from newline_anchor.
70652
70653         Change the following member names in struct re_registers.
70654         The old names are still supported if !_REGEX_SOURCE.
70655         The new names are always supported, regardless of _REGEX_SOURCE.
70656         (rm_num_regs): Renamed from num_regs.
70657         (rm_start): Renamed from start.
70658         (rm_end): Renamed from end.
70659
70660         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
70661         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
70662         Prepend __ to parameter names.
70663
70664         Undo yesterday's changes.
70665
70666 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
70667
70668         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
70669         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
70670         lib/regex.c.
70671
70672 2005-08-24  Jim Meyering  <jim@meyering.net>
70673
70674         Sync from coreutils.
70675         * m4/fcntl-safer.m4: New file.
70676
70677         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
70678         and object files for this module.
70679
70680 2005-08-24  Jim Meyering  <jim@meyering.net>
70681
70682         Sync from coreutils.
70683         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
70684
70685 2005-08-24  Jim Meyering  <jim@meyering.net>
70686
70687         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
70688         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
70689
70690 2005-08-24  Jim Meyering  <jim@meyering.net>
70691
70692         * modules/fcntl-safer: New module.
70693         * modules/fts (Depends-on): Add fcntl-safer.
70694         * MODULES.html.sh (File descriptor based Input/Output):
70695         Add fcntl-safer.
70696
70697 2005-08-24  Bruno Haible  <bruno@clisp.org>
70698
70699         Support for unit test modules.
70700         * modules/README: Mention tests modules.
70701         * modules/TEMPLATE-TESTS: New file.
70702         * gnulib-tool: New options --extract-tests-module, --with-tests and
70703         --tests-base (unused for the moment).
70704         (testsbase, inctests): New variables.
70705         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
70706         (func_verify_module): Exclude TEMPLATE-TESTS.
70707         (func_verify_nontests_module, func_verify_tests_module): New functions.
70708         (func_get_dependencies): Add implicit dependency for tests modules.
70709         (func_get_tests_module): New function.
70710         (func_modules_transitive_closure): When --with-tests was specified,
70711         include the unit tests as well, unless explicitly avoided.
70712         (func_emit_lib_Makefile_am): Ignore the tests modules here.
70713         (func_emit_tests_Makefile_am): New function.
70714         (func_create_testdir): When --with-tests was specified, emit a
70715         tests/ directory.
70716         * MODULES.html.sh (Future developments): Update.
70717
70718 2005-08-24  Bruno Haible  <bruno@clisp.org>
70719
70720         * modules/tls-tests: New file.
70721         * tests/test-tls.c: New file, from GNU gettext.
70722
70723 2005-08-24  Bruno Haible  <bruno@clisp.org>
70724
70725         * modules/lock-tests: New file.
70726         * tests/test-lock.c: New file, from GNU gettext.
70727
70728 2005-08-24  Bruno Haible  <bruno@clisp.org>
70729
70730         * lib/lock.h: Add multiple inclusion guard.
70731         * lib/tls.h: Add multiple inclusion guard.
70732
70733 2005-08-24  Bruno Haible  <bruno@clisp.org>
70734
70735         * gnulib-tool: Add support for the --aux-dir option to
70736         --create-testdir, --create-megatestdir, --test, --megatest.
70737         (func_create_testdir, func_create_megatestdir): Optionally emit a
70738         AC_CONFIG_AUX_DIR directive.
70739         (create-testdir, create-megatestdir, test, megatest): Provide a
70740         default value for $auxdir.
70741
70742 2005-08-24  Bruno Haible  <bruno@clisp.org>
70743
70744         * gnulib-tool (import): Use compound statement instead of subshell
70745         where possible.
70746
70747 2005-08-24  Bruno Haible  <bruno@clisp.org>
70748
70749         * gnulib-tool (import): Change --aux-dir default to "build-aux".
70750
70751 2005-08-24  Bruno Haible  <bruno@clisp.org>
70752
70753         * gnulib-tool (func_version): Update.
70754
70755 2005-08-24  Bruno Haible  <bruno@clisp.org>
70756
70757         * gnulib-tool (func_import, func_create_testdir,
70758         func_create_megatestdir): Quote all autoconf macro arguments.
70759
70760 2005-08-24  Bruno Haible  <bruno@clisp.org>
70761
70762         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
70763         option --force, because --force causes the aclocal.m4 of each
70764         subdirectory to be newer than the corresponding config.h.in.
70765
70766 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
70767
70768         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
70769         All contents moved to gl_REGEX.
70770         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
70771         assume that it does.
70772
70773 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
70774
70775         * lib/regex.h (REG_NOSYS)
70776         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
70777         Define, since POSIX requires it as of 2001.
70778         (_REG_ENOSYS)
70779         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
70780         New private symbol, used to keep the enum signed in all cases.
70781         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
70782         Youngman in
70783         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
70784
70785         * lib/regex_internal.c (re_string_skip_chars, register_state):
70786         (calc_state_hash):
70787         Remove forward decls; no longer needed now that we use prototypes.
70788         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
70789         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
70790         (clean_state_log_if_needed): Likewise.
70791
70792 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
70793
70794         * config/srclist.txt: Add glibc bugs 1231-1233.
70795
70796 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
70797
70798         Fix problems reported by Sam Steingold in
70799         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
70800         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
70801         assumed that reg_errcode_t is a signed type, which is not
70802         necessarily true if _XOPEN_SOURCE is not defined.
70803         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
70804         since some compilers warn about it otherwise.
70805
70806 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
70807
70808         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
70809         (init_word_char, create_initial_state, duplicate_node_closure):
70810         (fetch_token, peek_token_bracket, build_range_exp):
70811         (build_collating_symbol): Remove forward decls; no longer needed
70812         now that we use prototypes.
70813
70814         * lib/regcomp.c:
70815         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
70816         (re_compile_fastmap_iter, regcomp, regerror, regfree):
70817         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
70818         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
70819         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
70820         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
70821         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
70822         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
70823         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
70824         (build_range_exp, build_collating_symbol, parse_bracket_exp):
70825         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
70826         (build_charclass, build_charclass_op, fetch_number, create_tree):
70827         (create_token_tree, mark_opt_subexp, duplicate_tree):
70828         Use prototypes rather than old-style definitions.
70829
70830         * lib/regex_internal.c:
70831         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
70832         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
70833         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
70834         (re_string_reconstruct, re_string_peek_byte_case):
70835         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
70836         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
70837         (re_node_set_init_copy, re_node_set_add_intersect):
70838         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
70839         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
70840         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
70841         (re_acquire_state, re_acquire_state_context, register_state):
70842         (create_ci_newstate, create_cd_newstate, free_state):
70843         Likewise.
70844         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
70845         re_search_2):
70846         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
70847         (re_search_internal, prune_impossible_nodes):
70848         (acquire_init_state_context, check_matching, static):
70849         (check_halt_node_context, check_halt_state_context, proceed_next_node):
70850         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
70851         (update_regs, sift_states_backward, build_sifted_states):
70852         (clean_state_log_if_needed, merge_state_array):
70853         (update_cur_sifted_state, add_epsilon_src_nodes):
70854         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
70855         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
70856         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
70857         (find_recover_state, check_subexp_matching_top, transit_state_mb):
70858         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
70859         (check_arrival, check_arrival_add_next_nodes):
70860         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
70861         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
70862         (check_node_accept_bytes, check_node_accept, extend_buffers):
70863         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
70864         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
70865         (sift_ctx_init):
70866         Likewise.
70867
70868         * lib/regex_internal.h:
70869         (re_string_allocate, re_string_construct, re_string_reconstruct):
70870         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
70871         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
70872         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
70873         (re_string_context_at, re_string_peek_byte_case):
70874         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
70875         is defined, since we now use prototypes always.
70876
70877         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
70878         C89 or better.  All uses removed.
70879
70880 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
70881
70882         * config/srclist.txt: Add glibc bugs 1220-1227.
70883
70884 2005-08-20  Jim Meyering  <jim@meyering.net>
70885
70886         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
70887         of unused local, dfa.
70888
70889 2005-08-20  Bruno Haible  <bruno@clisp.org>
70890
70891         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
70892
70893 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
70894
70895         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
70896         (re_node_set_insert_last, re_dfa_add_node):
70897         Rename local variables to avoid GCC shadowing warnings.
70898
70899 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
70900
70901         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
70902         [defined lint]: Suppress bogus uninitialized-variable warnings.
70903
70904         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
70905         and let the caller return REG_ESPACE if out of space.  This
70906         removes an uninitialied-variable warning with GCC 4.0.1, and also
70907         avoids taking the address of a local variable.  All callers
70908         changed.
70909
70910 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
70911
70912         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
70913         $LIBCSRC/posix/regexec.c.
70914         Add glibc bug 1217 for regcomp.c.
70915
70916 2005-08-19  Jim Meyering  <jim@meyering.net>
70917
70918         * lib/regexec.c (proceed_next_node): Redo local variables to
70919         avoid GCC shadowing warnings.
70920
70921 2005-08-18  Bruno Haible  <bruno@clisp.org>
70922
70923         * lib/strstr.c (strstr): Fix return value in multibyte case.
70924         * lib/strcasestr.c (strcasestr): Likewise.
70925
70926 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
70927
70928         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
70929
70930 2005-08-17  Jim Meyering  <jim@meyering.net>
70931
70932         Make the %s format (seconds since the epoch) work for a negative
70933         number and when used with a zero-padded field width, e.g. %015s.
70934
70935         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
70936         label so that it precedes the code to set `digits'.  Otherwise,
70937         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
70938         print `00-22'.  Now, it prints `-0022', as it should.
70939
70940 2005-08-17  Bruno Haible  <bruno@clisp.org>
70941
70942         * modules/strstr (Files): Add m4/mbrtowc.m4.
70943         (Depends-on): Add mbuiter.
70944
70945 2005-08-17  Bruno Haible  <bruno@clisp.org>
70946
70947         * modules/strcasestr: New file.
70948         * MODULES.html.sh (String handling, based on ANSI C 89): Add
70949         strcasestr.
70950
70951 2005-08-17  Bruno Haible  <bruno@clisp.org>
70952
70953         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
70954
70955 2005-08-17  Bruno Haible  <bruno@clisp.org>
70956
70957         * modules/mbuiter: New file.
70958         * MODULES.html.sh (Extended multibyte and wide character utilities):
70959         Add mbuiter.
70960
70961 2005-08-17  Bruno Haible  <bruno@clisp.org>
70962
70963         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
70964         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
70965
70966 2005-08-17  Bruno Haible  <bruno@clisp.org>
70967
70968         * m4/strcasestr.m4: New file.
70969
70970 2005-08-17  Bruno Haible  <bruno@clisp.org>
70971
70972         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
70973         * lib/strstr.c: Completely rewritten, with multibyte locale support.
70974
70975 2005-08-17  Bruno Haible  <bruno@clisp.org>
70976
70977         * lib/strcasestr.h: New file.
70978         * lib/strcasestr.c: New file.
70979
70980 2005-08-17  Bruno Haible  <bruno@clisp.org>
70981
70982         * lib/strcasecmp.c: Use mbuiter.h.
70983
70984 2005-08-17  Bruno Haible  <bruno@clisp.org>
70985
70986         * lib/mbuiter.h: New file.
70987
70988 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
70989
70990         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
70991         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
70992         and gl_GETOPT are both invoked via different paths (as happens
70993         with GNU tar CVS because it uses both argp and getopt), the former
70994         wins.
70995
70996 2005-08-16  Bruno Haible  <bruno@clisp.org>
70997
70998         * modules/tls: New file.
70999         * MODULES.html.sh (Multithreading): Add tls.
71000
71001 2005-08-16  Bruno Haible  <bruno@clisp.org>
71002
71003         * modules/strnlen1: New file.
71004         * MODULES.html.sh (String handling): Add strnlen1.
71005
71006 2005-08-16  Bruno Haible  <bruno@clisp.org>
71007
71008         * modules/strcase (Files): Add m4/mbrtowc.m4.
71009         (Depends-on): Add strnlen1, mbchar.
71010
71011 2005-08-16  Bruno Haible  <bruno@clisp.org>
71012
71013         * modules/mbiter: New file.
71014         * MODULES.html.sh (Extended multibyte and wide character utilities):
71015         Add mbiter.
71016
71017 2005-08-16  Bruno Haible  <bruno@clisp.org>
71018
71019         * modules/mbfile: New file.
71020         * MODULES.html.sh (Extended multibyte and wide character utilities):
71021         Add mbfile.
71022
71023 2005-08-16  Bruno Haible  <bruno@clisp.org>
71024
71025         * modules/mbchar: New file.
71026         * MODULES.html.sh (Extended multibyte and wide character utilities):
71027         New section.
71028
71029 2005-08-16  Bruno Haible  <bruno@clisp.org>
71030
71031         * m4/tls.m4: New file, from GNU gettext.
71032
71033 2005-08-16  Bruno Haible  <bruno@clisp.org>
71034
71035         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
71036         always.
71037         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
71038
71039 2005-08-16  Bruno Haible  <bruno@clisp.org>
71040
71041         * m4/mbiter.m4: New file.
71042
71043 2005-08-16  Bruno Haible  <bruno@clisp.org>
71044
71045         * m4/mbfile.m4: New file.
71046
71047 2005-08-16  Bruno Haible  <bruno@clisp.org>
71048
71049         * m4/mbchar.m4: New file.
71050
71051 2005-08-16  Bruno Haible  <bruno@clisp.org>
71052
71053         * lib/tls.h: New file, from GNU gettext.
71054         * lib/tls.c: New file, from GNU gettext.
71055
71056 2005-08-16  Bruno Haible  <bruno@clisp.org>
71057
71058         * lib/strnlen1.h: New file.
71059         * lib/strnlen1.c: New file.
71060
71061 2005-08-16  Bruno Haible  <bruno@clisp.org>
71062
71063         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
71064         (mbi_init): Update.
71065         (mbi_avail, mbi_advance): Let the iteration end before the terminating
71066         NUL byte, not after it.
71067
71068 2005-08-16  Bruno Haible  <bruno@clisp.org>
71069
71070         * lib/strcase.h (strcasecmp): Add note in comments.
71071         * lib/strncasecmp.c: Use code from strcasecmp.c.
71072         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
71073         (strcasecmp): Work correctly in multibyte locales.
71074
71075 2005-08-16  Bruno Haible  <bruno@clisp.org>
71076
71077         * lib/mbiter.h: New file.
71078
71079 2005-08-16  Bruno Haible  <bruno@clisp.org>
71080
71081         * lib/mbfile.h: New file.
71082
71083 2005-08-16  Bruno Haible  <bruno@clisp.org>
71084
71085         * lib/mbchar.h: New file.
71086         * lib/mbchar.c: New file.
71087
71088 2005-08-16  Bruno Haible  <bruno@clisp.org>
71089
71090         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
71091         the valid ones. Makes the comparison operations transitive:
71092         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
71093         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
71094
71095 2005-08-15  Simon Josefsson  <jas@extundo.com>
71096
71097         * modules/ssize_t (License): Change to 'unlimited'.
71098
71099         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
71100
71101 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
71102
71103         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
71104         Add comments for each pending glibc patch.
71105
71106 2005-08-15  Bruno Haible  <bruno@clisp.org>
71107
71108         * lib/regex.h (__restrict_arr): Don't define to __restrict if
71109         __cplusplus is defined.
71110
71111 2005-08-14  Jim Meyering  <jim@meyering.net>
71112
71113         Sync from coreutils.
71114
71115         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
71116         Use the hash-table-based cycle-detection code not just when
71117         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
71118         Reported by James Youngman in
71119         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
71120         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
71121         FTS_TIGHT_CYCLE_CHECK.
71122         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
71123         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
71124         once again.
71125         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
71126         * lib/fts.c (fd_safer): Remove decl.
71127         Include fcntl--.h rather than unistd-safer.h
71128         (fts_safe_changedir): Don't call fd_safer; no longer needed
71129         now that we include fcntl--.h.
71130
71131 2005-08-12  Simon Josefsson  <jas@extundo.com>
71132
71133         * modules/getndelim2: Use ssize_t module.
71134         * modules/getnline: Likewise.
71135         * modules/safe-read: Likewise.
71136         * modules/xreadlink: Likewise.
71137
71138         * modules/ssize_t: New file.
71139
71140 2005-08-12  Simon Josefsson  <jas@extundo.com>
71141
71142         * m4/readline.m4: Look for termcap, curses or ncurses if required.
71143
71144 2005-08-12  Simon Josefsson  <jas@extundo.com>
71145
71146         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
71147         ssize_t.
71148
71149 2005-08-12  Simon Josefsson  <jas@extundo.com>
71150
71151         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
71152         readline, getdelim and check_version.
71153         (Support for systems lacking ISO C 99: Sizes of integer types):
71154         Add size_max.
71155
71156 2005-08-12  Bruno Haible  <bruno@clisp.org>
71157
71158         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
71159
71160 2005-08-11  Simon Josefsson  <jas@extundo.com>
71161
71162         * modules/readline: New file.
71163
71164         * modules/strnlen (Files): Add strnlen.h.
71165
71166 2005-08-11  Simon Josefsson  <jas@extundo.com>
71167
71168         * m4/readline.m4: New file.
71169
71170 2005-08-11  Simon Josefsson  <jas@extundo.com>
71171
71172         * lib/readline.h, readline.c: New file.
71173
71174 2005-08-11  Simon Josefsson  <jas@extundo.com>
71175
71176         * doc/gnulib.texi (Initial import, Finishing touches): Mention
71177         gl_AVOID.
71178
71179 2005-08-11  Bruno Haible  <bruno@clisp.org>
71180
71181         * lib/strnlen.h (strnlen): Change parameter name to match comment.
71182
71183 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
71184
71185         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
71186
71187 2005-08-10  Simon Josefsson  <jas@extundo.com>
71188
71189         * tests/test-iconvme.c: New file.
71190
71191 2005-08-10  Simon Josefsson  <jas@extundo.com>
71192
71193         * m4/strnlen.m4: New file.
71194
71195         * m4/strndup.m4: Don't check for strnlen declaration, done in
71196         strnlen.m4.
71197
71198 2005-08-10  Simon Josefsson  <jas@extundo.com>
71199
71200         * lib/strndup.c: Use strnlen.h.
71201
71202         * lib/strnlen.h: New file.
71203
71204 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
71205
71206         * README: Typos.
71207
71208 2005-08-02  Simon Josefsson  <jas@extundo.com>
71209
71210         * modules/readline: New file.
71211
71212 2005-08-02  Simon Josefsson  <jas@extundo.com>
71213
71214         * modules/getdelim: New file.
71215
71216         * modules/getline: Rewrite, don't use getndelim2.
71217
71218 2005-08-02  Simon Josefsson  <jas@extundo.com>
71219
71220         * m4/getline.m4: Separate out getdelim stuff into separate module.
71221
71222         * m4/getdelim.m4: New file.
71223
71224 2005-08-02  Simon Josefsson  <jas@extundo.com>
71225
71226         * lib/getline.h, getline.c: Rewrite.
71227
71228         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
71229
71230 2005-07-31  Bruno Haible  <bruno@clisp.org>
71231
71232         * lib/lock.h (gl_lock_initializer): New macro.
71233         (gl_lock_define_initialized): Use it.
71234         (gl_rwlock_initializer): New macro.
71235         (gl_rwlock_define_initialized): Use it.
71236         (gl_recursive_lock_initializer): New macro.
71237         (gl_recursive_lock_define_initialized): Use it.
71238
71239 2005-07-30  Karl Berry  <karl@gnu.org>
71240
71241         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
71242         Report from Ben Pfaff, regarding getopt.
71243
71244 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
71245
71246         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
71247         normal way.
71248         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
71249         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
71250         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
71251         (gl_GETOPT): Use the new macros.  Most of the implementation
71252         is moved to the new macros.  This is for programs like Emacs
71253         that don't want all the functionality of gl_GETOPT.
71254
71255 2005-07-26  Bruno Haible  <bruno@clisp.org>
71256
71257         * m4/lock.m4: Update from GNU gettext.
71258
71259 2005-07-26  Bruno Haible  <bruno@clisp.org>
71260
71261         * lib/lock.h: Update from GNU gettext.
71262         * lib/lock.c: Update from GNU gettext.
71263
71264 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
71265
71266         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
71267         obsolescent AC_TRY_RUN.  Include the default includes files, for
71268         'exit'.
71269
71270 2005-07-24  Bruno Haible  <bruno@clisp.org>
71271
71272         * modules/visibility: New file.
71273         * MODULES.html.sh (Misc): Add visibility.
71274
71275 2005-07-24  Bruno Haible  <bruno@clisp.org>
71276
71277         * m4/visibility.m4: New file.
71278
71279 2005-07-24  Bruno Haible  <bruno@clisp.org>
71280
71281         * doc/visibility.texi: New file.
71282
71283 2005-07-22  Bruno Haible  <bruno@clisp.org>
71284
71285         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
71286         $(ALLOCA_H), redundant through BUILT_SOURCES.
71287         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
71288         redundant through BUILT_SOURCES.
71289         * modules/byteswap (Makefile.am): Remove explicit dependency on
71290         $(BYTESWAP_H), redundant through BUILT_SOURCES.
71291         * modules/fnmatch (Makefile.am): Remove explicit dependency on
71292         $(FNMATCH_H), redundant through BUILT_SOURCES.
71293         * modules/getopt (Makefile.am): Remove explicit dependency on
71294         $(GETOPT_H), redundant through BUILT_SOURCES.
71295         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
71296         redundant through BUILT_SOURCES.
71297         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
71298         redundant through BUILT_SOURCES.
71299         * modules/stdbool (Makefile.am): Remove explicit dependency on
71300         $(STDBOOL_H), redundant through BUILT_SOURCES.
71301         * modules/stdint (Makefile.am): Remove explicit dependency on
71302         $(STDINT_H), redundant through BUILT_SOURCES.
71303         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
71304         Remove explicit dependency on $(SYSEXITS_H).
71305         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
71306
71307 2005-07-18  Simon Josefsson  <jas@extundo.com>
71308
71309         * lib/check-version.c (check_version): Accept identical versions too.
71310
71311 2005-07-18  Bruno Haible  <bruno@clisp.org>
71312
71313         * modules/lock: New file.
71314         * MODULES.html.sh (Multithreading): New section.
71315
71316 2005-07-18  Bruno Haible  <bruno@clisp.org>
71317
71318         * m4/lock.m4: New file, from GNU gettext.
71319
71320 2005-07-18  Bruno Haible  <bruno@clisp.org>
71321
71322         * lib/lock.h: New file, from GNU gettext.
71323         * lib/lock.c: New file, from GNU gettext.
71324
71325 2005-07-18  Bruno Haible  <bruno@clisp.org>
71326
71327         * lib/lock.h (gl_once_t): New type.
71328         (gl_once_define, gl_once): New macros.
71329         * lib/lock.c (fresh_once): New variable.
71330         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
71331         functions.
71332
71333 2005-07-16  Simon Josefsson  <jas@extundo.com>
71334
71335         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
71336         workaround, suggested by Bruno.
71337
71338 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
71339
71340         * modules/xalloc (Depends-on): Add xalloc-die.
71341         * modules/xvasprintf (Depends-on): Add xalloc-die.
71342
71343 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
71344
71345         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
71346         with a minor change.
71347
71348 2005-07-15  Bruno Haible  <bruno@clisp.org>
71349
71350         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
71351         When using lib/poll.c, define poll as rpl_poll.
71352
71353 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
71354
71355         * modules/argp (Depends-on): Remove unlocked-io.
71356
71357 2005-07-14  Derek Price  <derek@ximbiot.com>
71358
71359         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
71360         for glob symlink bug.
71361
71362 2005-07-14  Bruno Haible  <bruno@clisp.org>
71363
71364         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
71365         Instead, test for *_unlocked function declarations directly.
71366
71367 2005-07-11  Simon Josefsson  <jas@extundo.com>
71368
71369         * modules/size_max: New file.
71370
71371         * modules/xsize: Depend on size_max module for size_max.m4.
71372
71373 2005-07-11  Simon Josefsson  <jas@extundo.com>
71374
71375         * lib/size_max.h: New file.
71376
71377 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
71378
71379         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
71380         copyright symbol and the year.
71381         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
71382         (version_etc_va): Use parameterized copyright notice.
71383         Reword to conform to the current GNU coding standards.
71384
71385 2005-07-11  Karl Berry  <karl@gnu.org>
71386
71387         * doc/gnulib.texi (Quoting): new node.
71388         (Initial import): more info, from Patrice.
71389
71390 2005-07-11  Bruno Haible  <bruno@clisp.org>
71391
71392         * gnulib-tool (func_usage): Document option --avoid.
71393         (Command line options): Handle --avoid.
71394         (func_acceptable): New function.
71395         (func_modules_transitive_closure): Use it.
71396
71397 2005-07-11  Bruno Haible  <bruno@clisp.org>
71398
71399         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
71400         Reported by Jim Meyering.
71401
71402 2005-07-10  Bruno Haible  <bruno@clisp.org>
71403
71404         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
71405         Needed when size_t is smaller than 'unsigned int'.
71406         Reported by Paul Eggert.
71407
71408 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
71409
71410         * modules/argp (Depends-on): Add unlocked-io
71411
71412 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
71413
71414         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
71415         block of defines.
71416
71417 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
71418
71419         * config/srclist.txt: Comment out regcomp.c, since we have a porting
71420         fix now.
71421
71422 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
71423         and Paul Eggert  <eggert@cs.ucla.edu>
71424
71425         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
71426         in wint_t, not wchar_t.  Remove now-unnecessary cast.
71427
71428 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
71429
71430         * modules/regex (Files): Add lib/regex_internal.c,
71431         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
71432         (Depends-on): Add extensions.
71433         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
71434
71435 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
71436
71437         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
71438         pathconf.
71439         * m4/same.m4 (gl_SAME): Likewise.
71440         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
71441
71442         * m4/regex.m4: Adjust to new libc regex implementation.
71443         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
71444         all the .c and .h parts of (the new) regex.
71445         Quote the m4 stuff better.
71446         Check for RE_ICASE bug of old gnulib.
71447         Check for REG_STARTEND of recent libc.
71448         Rename local variables from jm_* to gl_*.
71449         Quote operand of "test -f".
71450         Say "recent enough" version of libc, not "version 2".
71451         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
71452         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
71453         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
71454         Remove check for btowc, isascii.
71455         Require AM_LANGINFO_CODESET.
71456
71457 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
71458
71459         * lib/regex.c, regex.h: Sync from libc.
71460         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
71461         * lib/regexec.c:
71462         New files, synced from libc, except that regex_internal.h
71463         currently has a small porting fix.
71464
71465 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
71466
71467         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
71468         regex_internal.c, regexec.c.
71469         Add regex_internal.h too, but as a comment, since the libc version
71470         is currently broken in gnulib mode.
71471
71472 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
71473
71474         Support programs like Emacs that use gnulib but not gettext.
71475         * MODULES.html.sh (Internationalization functions): Add gettext-h.
71476         * modules/gettext-h: New file.
71477         * modules/gettext (Files): Remove lib/gettext.h.
71478         (Depends-on): Add gettext-h.
71479         (Makefile.am): Remove lib_SOURCES.
71480         * modules/argmatch, modules/c-stack, modules/closeout:
71481         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
71482         * modules/execute, modules/file-type, modules/getaddrinfo:
71483         * modules/getopt, modules/human, modules/javacomp:
71484         * modules/javaexec, modules/mkdir-p, modules/obstack:
71485         * modules/openat, modules/pagealign_alloc, modules/pipe:
71486         * modules/quotearg, modules/regex, modules/rpmatch:
71487         * modules/unicodeio, modules/userspec, modules/version-etc:
71488         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
71489         * modules/xsetenv:
71490         Depend on gettext-h, not gettext.
71491
71492 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
71493
71494         * gnulib-tool (func_import): Add support for 'public domain' license.
71495         * modules/alloca, modules/atexit, modules/memmove:
71496         Now public domain, not GPL.
71497         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
71498         * modules/realloc, modules/strerror, modules/strtod:
71499         Now LGPL, not GPL.
71500
71501 2005-07-05  Bruno Haible  <bruno@clisp.org>
71502
71503         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
71504         autoconf CVS. Needed for mingw.
71505
71506 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
71507
71508         Remove the dependency of the strftime module on the tzset module.
71509         * modules/strftime (Depends-on): Remove dependency on tzset.
71510
71511 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
71512
71513         Remove the dependency of the strftime module on the tzset module.
71514         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
71515         gl_FUNC_TZSET_CLOBBER.
71516
71517 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
71518
71519         Remove the dependency of the strftime module on the tzset module.
71520         * lib/strftime.c (my_strftime)
71521         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
71522         Copy the input structure, to work around some of the bug with
71523         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
71524         Solaris releases, you should also use the tzset module, but we won't
71525         require it as a dependency any more since we don't want LGPLed code
71526         to depend on GPLed code.
71527
71528 2005-07-02  Jim Meyering  <jim@meyering.net>
71529
71530         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
71531         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
71532         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
71533         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
71534
71535 2005-07-02  Jim Meyering  <jim@meyering.net>
71536
71537         * lib/backupfile.c (backup_args): Change a `0' to NULL.
71538
71539 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
71540
71541         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
71542         declares only 'struct timespec;' (!).
71543
71544 2005-07-01  Jim Meyering  <jim@meyering.net>
71545
71546         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
71547         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
71548         * lib/save-cwd.c, tempname.c:
71549         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
71550         and don't include <sys/file.h>).
71551
71552 2005-06-29  Jim Meyering  <jim@meyering.net>
71553
71554         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
71555         type name.  Use the variable name instead.
71556         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
71557         Likewise.
71558
71559 2005-06-28  Simon Josefsson  <jas@extundo.com>
71560
71561         * modules/check-version (Files): Add check-version.m4.
71562
71563 2005-06-28  Simon Josefsson  <jas@extundo.com>
71564
71565         * m4/check-version.m4: New file, suggested by Jim Meyering
71566         <jim@meyering.net>.
71567
71568 2005-06-28  Simon Josefsson  <jas@extundo.com>
71569
71570         * lib/check-version.h, lib/check-version.c: New files.
71571
71572 2005-06-28  Simon Josefsson  <jas@extundo.com>
71573
71574         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
71575         collision with global variable.  Better indentation.  Don't
71576         increment buffer pointer beyond buffer end.  Based on comments
71577         from Paul Eggert <eggert@cs.ucla.edu>.
71578
71579         * lib/base64.h: Indent.
71580
71581 2005-06-28  Simon Josefsson  <jas@extundo.com>
71582
71583         * doc/gnulib.texi (Library version handling): New section.
71584
71585 2005-06-28  Jim Meyering  <jim@meyering.net>
71586
71587         * check-module (find_included_lib_files): Hard-code another
71588         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
71589         but modules/fts-lgpl (correctly) does not list those files.
71590
71591         * modules/canonicalize (Files): Add lib/pathmax.h.
71592
71593 2005-06-25  Simon Josefsson  <jas@extundo.com>
71594
71595         * modules/check-version: New file.
71596
71597 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
71598
71599         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
71600         initializer of struct addrinfo, as an indication that we don't
71601         care how many members the structure has.
71602
71603 2005-06-24  Derek Price  <derek@ximbiot.com>
71604         and Bruno Haible  <bruno@clisp.org>
71605
71606         Remove stat module & update lstat.
71607         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
71608         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
71609         * m4/stat.m4: Remove this file.
71610
71611 2005-06-24  Derek Price  <derek@ximbiot.com>
71612         and Bruno Haible  <bruno@clisp.org>
71613
71614         Remove stat module & update lstat.
71615         * lib/stat.c: Remove this file...
71616         (slash_aware_lstat): ...moving this content and its support...
71617         * lib/lstat.c (rpl_lstat): ...into here.
71618         * lib/lstat.h: New file.
71619
71620 2005-06-24  Derek Price  <derek@ximbiot.com>
71621         and Bruno Haible  <bruno@clisp.org>
71622
71623         Remove stat module & update lstat.
71624         * config/srclist.txt (libc sources): Remove stat.
71625
71626 2005-06-24  Derek Price  <derek@ximbiot.com>
71627         and Bruno Haible  <bruno@clisp.org>
71628
71629         Remove stat module & update lstat.
71630         * MODULES.html.sh (stat): Remove.
71631         * MODULES.html: Regenerated.
71632         * modules/lstat (Description): Correct function name.
71633         (Files): Add "lstat.h".
71634         (Depends-on): Remove stat, add xalloc, stat-macros.
71635         * modules/stat: Remove this file.
71636         (Include): Add "lstat.h", remove <sys/stat.h>.
71637
71638 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
71639
71640         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
71641         (ranged_convert): Don't save conversion in a temporary struct.
71642         This causes a warning with GCC 4.0.0, and anyway in the typical
71643         case it's not worth the extra 100 bytes or so of code.
71644         (ranged_convert, __mktime_internal): When calling a function via a
71645         pointer P, use P () rather than (*P) (), as we now assume C89 or
71646         better.
71647
71648 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
71649
71650         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
71651         "who -r" failed to give output.  Problem reported by Tim Waugh.
71652
71653         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
71654         (xcalloc): Use it to avoid needless tests.
71655         Problem reported by Jim Meyering.
71656
71657 2005-06-20  Derek Price  <derek@ximbiot.com>
71658
71659         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
71660         unnecessary for Autoconfs > 2.59c.
71661
71662 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
71663
71664         * lib/argp.h (__option_is_short): Check upper limit of
71665         __key. Isprint() requires its argument to have the value
71666         of an unsigned char or EOF.
71667
71668 2005-06-16  Jim Meyering  <jim@meyering.net>
71669
71670         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
71671         when either N or S is zero.
71672
71673 2005-06-16  Derek Price  <derek@ximbiot.com>
71674
71675         * m4/bison.m4: Declare YACC & YFLAGS precious.
71676
71677 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
71678
71679         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
71680         multibyte string or pattern, fall back on unibyte matching.
71681         Problem reported by James Youngman.
71682
71683 2005-06-08  Bruno Haible  <bruno@clisp.org>
71684
71685         * modules/csharpcomp: New file.
71686         * MODULES.html.sh (C#): Add csharpcomp.
71687
71688 2005-06-08  Bruno Haible  <bruno@clisp.org>
71689
71690         * m4/csharpcomp.m4: New file, from GNU gettext.
71691
71692 2005-06-08  Bruno Haible  <bruno@clisp.org>
71693
71694         * lib/csharpcomp.h: New file, from GNU gettext.
71695         * lib/csharpcomp.c: New file, from GNU gettext.
71696         * lib/csharpcomp.sh.in: New file, from GNU gettext.
71697
71698 2005-06-08  Bruno Haible  <bruno@clisp.org>
71699
71700         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
71701         warning on mingw.
71702
71703 2005-06-07  Derek Price  <derek@ximbiot.com>
71704
71705         Sync from CVS.
71706         * lib/glob_.h: Indent nested #ifdef.
71707
71708 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
71709
71710         Sync from coreutils.
71711         Use "file name" when talking about file names, instead of "filename"
71712         or "path", as per the GNU coding standards.
71713         * lib/mkdir-p.c: Renamed from makepath.c.
71714         (make_dir_parents): Renamed from make_path.  All callers changed.
71715         * lib/mkdir-p.h: Likewise.  All includers changed.
71716         * lib/filenamecat.c: Renamed from path-concat.c.
71717         (file_name_concat): Renamed from path_concat.  All callers changed.
71718         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
71719         * lib/filenamecat.h: Likewise.  All includers changed.
71720         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
71721         in comments or local variable names.
71722         * lib/basename.c: Likewise.
71723         * lib/canonicalize.c, canonicalize.h: Likewise.
71724         * lib/dirname.c, dirname.h: Likewise.
71725         * lib/euidaccess.c: Likewise.
71726         * lib/exclude.c: Likewise
71727         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
71728         * lib/fsusage.c, fsuage.h: Likewise.
71729         * lib/fts.c, fts_.h: Likewise.
71730         * lib/getcwd.c: Likewise.
71731         * lib/getloadavg.c: Likewise.
71732         * lib/mkstemp.c: Likewise.
71733         * lib/mountlist.c, mountlist.h: Likewise.
71734         * lib/openat.c, openat.h: Likewise.
71735         * lib/readlink-stub.c: Likewise.
71736         * lib/readutmp.c, readutmp.h: Likewise.
71737         * lib/rename.c: Likewise.
71738         * lib/rmdir.c: Likewise.
71739         * lib/same.c: Likewise.
71740         * lib/savedir.c: Likewise.
71741         * lib/stripslash.c: Likewise.
71742         * lib/tempname.c: Likewise.
71743         * lib/xreadlink.c: Likewise.
71744         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
71745         All uses changed.
71746         * lib/exclude.h: Likewise.
71747
71748         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
71749         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
71750         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
71751         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
71752         * lib/pathmax.h: Include <limits.h> unconditionally, since other
71753         files have been getting away with it for years (MORE/BSD 4.3
71754         is extinct now).
71755         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
71756         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
71757
71758         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
71759         Define to 256, not 255, as per modern POSIX.
71760
71761 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
71762
71763         Sync from coreutils.
71764         Use "file name" when talking about file names, instead of "filename"
71765         or "path", as per the GNU coding standards.
71766         * MODULES.html.sh: mkdir-p renamed from makepath.
71767         filenamecat renamed from path-concat.
71768         * modules/filenamecat: Renamed from modules/path-concat.
71769         (Files): filenamecat.h and filenamecat.c renamed from
71770         path-concat.h and path-concat.c.
71771         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
71772         (Include): filenamecat.h, not path-concat.h.
71773         * modules/mkdir-p: Renamed from modules/makepath.
71774         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
71775         makepath.c.
71776         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
71777         (Include): mkdir-p.h, not makepath.h.
71778
71779 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
71780
71781         Sync from coreutils.
71782         * m4/mkdir-p.m4: Renamed from makepath.m4.
71783         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
71784         Rename files from makepath.c to mkdir-p.c, and from
71785         makepath.h to mkdir-p.h.
71786         * m4/filenamecat.m4: Renamed from path-concat.m4.
71787         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
71788         Rename files from path-concat.c to filenamecat.c,
71789         and from path-concat.h to filenamecat.h.
71790         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
71791         "file name" in local variables or comments.
71792         * m4/rename.m4: Likewise.
71793
71794 2005-06-01  Bruno Haible  <bruno@clisp.org>
71795
71796         * modules/csharpexec: New file.
71797         * MODULES.html.sh (C#): New section.
71798
71799 2005-06-01  Bruno Haible  <bruno@clisp.org>
71800
71801         * m4/csharp.m4: New file, from GNU gettext.
71802         * m4/csharpexec.m4: New file, from GNU gettext.
71803
71804 2005-06-01  Bruno Haible  <bruno@clisp.org>
71805
71806         * lib/csharpexec.h: New file, from GNU gettext.
71807         * lib/csharpexec.c: New file, from GNU gettext.
71808         * lib/csharpexec.sh.in: New file, from GNU gettext.
71809
71810 2005-05-31  Derek Price  <derek@ximbiot.com>
71811             Paul Eggert  <eggert@cs.ucla.edu>
71812
71813         Sync from cvs.
71814         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
71815
71816 2005-05-31  Derek Price  <derek@ximbiot.com>
71817             Paul Eggert  <eggert@cs.ucla.edu>
71818
71819         Sync from cvs.
71820         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
71821
71822 2005-05-29  Derek Price  <derek@ximbiot.com>
71823
71824         * config/srclist.txt (glob_.h, glob.c): Add these files.
71825
71826 2005-05-29  Derek Price  <derek@ximbiot.com>
71827
71828         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
71829         * modules/glob: New file.
71830         * modules/getlogin_r: Add link to POSIX spec in description.
71831
71832 2005-05-29  Derek Price  <derek@ximbiot.com>
71833             Paul Eggert  <eggert@cs.ucla.edu>
71834
71835         * m4/glob.m4: New file.
71836
71837 2005-05-29  Derek Price  <derek@ximbiot.com>
71838             Paul Eggert  <eggert@cs.ucla.edu>
71839
71840         * lib/glob_.h, lib/glob.c: New files.
71841
71842 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
71843
71844         * modules/fts (Files): Remove m4/inttypes-pri.m4.
71845         * modules/fts-lgpl (Depends-on): Remove gettext.
71846
71847 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
71848
71849         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
71850         and don't require gt_INTTYPES_PRI.
71851
71852 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
71853
71854         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
71855
71856         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
71857         the configuration hassle isn't worth it.
71858         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
71859         (LONGEST_MODIFIER, PRIuMAX): Remove.
71860
71861 2005-05-27  Bruno Haible  <bruno@clisp.org>
71862
71863         * lib/getlogin_r.h: Remove second include of <stddef.h>.
71864
71865 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
71866
71867         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
71868         _POSIX_PTHREAD_SEMANTICS for Solaris.
71869
71870 2005-05-25  Derek Price  <derek@ximbiot.com>
71871
71872         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
71873
71874 2005-05-25  Derek Price  <derek@ximbiot.com>
71875             Paul Eggert  <eggert@cs.ucla.edu>
71876
71877         * modules/getlogin_r, m4/getlogin_r.m4: New files.
71878         * lib/getlogin_r.c, getlogin_r.h: New files.
71879
71880 2005-05-25  Bruno Haible  <bruno@clisp.org>
71881             Derek Price  <derek@ximbiot.com>
71882
71883         * lib/getlogin_r.h: Simplify API documentation.
71884
71885 2005-05-23  Derek Price  <derek@ximbiot.com>
71886
71887         * modules/minmax (Files): Add m4/minmax.m4.
71888         (configure.ac): Add gl_MINMAX.
71889
71890 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
71891
71892         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
71893         so that unistd-safer.h (GPL'ed code) need not be included.
71894
71895 2005-05-22  Bruno Haible  <bruno@clisp.org>
71896
71897         * m4/minmax.m4: New file.
71898         Based on a patch by Derek Price <derek@ximbiot.com>.
71899
71900 2005-05-22  Bruno Haible  <bruno@clisp.org>
71901
71902         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
71903         (INT64_MIN): Fix definition.
71904         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
71905
71906         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
71907         NEED_SIGNED_INT_TYPES.
71908
71909         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
71910         HAVE_SYSTEM_INTTYPES.
71911
71912 2005-05-22  Bruno Haible  <bruno@clisp.org>
71913
71914         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
71915         Also include <sys/param.h> if it defines MIN, MAX.
71916         Based on a patch by Derek Price <derek@ximbiot.com>.
71917
71918 2005-05-21  Jim Meyering  <jim@meyering.net>
71919
71920         * modules/fts (Files): Add m4/inttypes-pri.m4.
71921         (Depends-on): Add lstat and remove gettext.  Alphabetize.
71922
71923 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
71924
71925         New fts module.
71926         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
71927         (setup_dir, free_dir): New functions.
71928         (enter_dir, leave_dir): Define trivial
71929         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
71930         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
71931         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
71932         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
71933         Move to fts-cycle.c.
71934         (fts_open): Use setup_dir.
71935         (fts_close): Use free_dir.
71936         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
71937         This adds a label and some gotos, but the alternatives were messier.
71938         Check for memory allocation failure when entering a dir.
71939         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
71940         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
71941         (FTS): New member fts_cycle, that is a union that contains the
71942         old active_dir_ht and cycle_state.  All uses changed to mention
71943         fts_cycle.ht and fts_cycle.state.
71944         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
71945         fts.c, with the following changes:
71946         (setup_dir, free_dir): New functions.
71947         (enter_dir): Now returns bool.  Return true if successful, false
71948         if memory exhausted.  All callers changed.
71949         Do not bother partly cleaning up on
71950         memory allocation failure; that is free_dir's job.
71951         However, free ad if hash_insert fails, to avoid memory leak.
71952         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
71953         fts->fts_options to see which union member to use.
71954
71955 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
71956
71957         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
71958         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
71959
71960 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
71961
71962         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
71963
71964 2005-05-20  Jim Meyering  <jim@meyering.net>
71965
71966         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
71967         Now a macro, to pacify GCC.
71968
71969 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
71970
71971         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
71972         of -1.
71973
71974 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
71975
71976         * lib/chown.c (rpl_chown): Return -1 on failure.
71977
71978 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
71979
71980         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
71981         Don't check for stddef.h.
71982         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
71983         don't use its results.
71984         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
71985         since we include them unconditionally.  Don't require
71986         AM_STDBOOL_H, since stdbool is a prerequisite.
71987         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
71988         since we assume C89 or better.
71989         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
71990         as we don't use their results.
71991         Don't check for fchdir, memmove, memset, strrchr, as we use
71992         them unconditionally.
71993         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
71994         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
71995
71996 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
71997
71998         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
71999         Include <stddef.h> unconditionally, since we assume C89 now.
72000         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
72001         * lib/fts.c: Include fts_.h first, to check interface.
72002         Do not include intprops.h; no longer needed.
72003         Include cycle-check.h and hash.h, since fts_.h no longer does.
72004         Remove unnecessary casts of closedir to void.
72005         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
72006         decide whether to decrement nlinks.
72007         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
72008         (FTS): Use struct hash_table * instead of Hash_table, so that
72009         we no longer need to include hash.h here.
72010
72011 2005-05-18  Jim Meyering  <jim@meyering.net>
72012
72013         * modules/dirfd (License): Change to LGPL.  Most of the code
72014         is already in the public domain.
72015
72016 2005-05-18  Jim Meyering  <jim@meyering.net>
72017
72018         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
72019         Reported by Yoann Vandoorselaere.
72020
72021 2005-05-17  Jim Meyering  <jim@meyering.net>
72022
72023         * m4/fts.m4: New file, from coreutils.
72024
72025 2005-05-17  Jim Meyering  <jim@meyering.net>
72026
72027         * lib/fts.c, lib/fts_.h: New files, from coreutils.
72028
72029 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
72030
72031         Sync from coreutils.
72032         * m4/unlinkdir.m4: New file.
72033
72034 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
72035
72036         Sync from coreutils.
72037         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
72038         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
72039         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
72040         White space changes only.
72041         * lib/makepath.c (make_path): Port to hosts where leading "//" is
72042         special.
72043         * lib/yesno.c: Include getline.h, not ctype.h.
72044         (yesno): Don't remove leading white space; POSIX doesn't allow it.
72045         Use getline to remove arbitrary restriction on response length.
72046
72047 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
72048
72049         * config/srclist-update: Spell out "Street" in FSF postal
72050         mail address; this is the style the FSF seems to prefer.
72051
72052         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
72053         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
72054         this updates FSF postal mail address.
72055
72056         Sync from coreutils.
72057         * modules/unlinkdir: New file.
72058         * modules/yesno (Depends-on): Add getline.
72059         * MODULES.html.sh (File system functions): Add unlinkdir.
72060
72061 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
72062
72063         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
72064         lib/strsep.h:
72065         Change the initial comment to refer to GPL, not LGPL.
72066         gnulib-tool will change it to LGPL as needed.
72067
72068         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
72069         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
72070         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
72071         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
72072         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
72073         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
72074         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
72075         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
72076         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
72077         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
72078         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
72079         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
72080         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
72081         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
72082         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
72083         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
72084         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
72085         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
72086         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
72087         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
72088         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
72089         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
72090         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
72091         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
72092         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
72093         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
72094         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
72095         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
72096         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
72097         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
72098         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
72099         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
72100         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
72101         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
72102         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
72103         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
72104         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
72105         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
72106         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
72107         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
72108         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
72109         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
72110         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
72111         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
72112         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
72113         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
72114         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
72115         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
72116         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
72117         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
72118         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
72119         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
72120         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
72121         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
72122         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
72123         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
72124         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
72125         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
72126         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
72127         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
72128         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
72129         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
72130         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
72131         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
72132         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
72133         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
72134         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
72135         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
72136         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
72137         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
72138         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
72139         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
72140         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
72141         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
72142         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
72143         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
72144         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
72145         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
72146         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
72147         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
72148         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
72149         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
72150         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
72151         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
72152         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
72153         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
72154         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
72155         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
72156         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
72157         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
72158         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
72159         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
72160         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
72161         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
72162         lib/yesno.c, lib/yesno.h:
72163         Update FSF postal mail address.
72164
72165 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
72166
72167         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
72168         tests/test-memmem.c, tests/test-stpncpy.c:
72169         Update FSF postal mail address.
72170
72171 2005-05-13  Bruno Haible  <bruno@clisp.org>
72172
72173         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
72174         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
72175         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
72176         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
72177         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
72178         Add support for 64-bit integers in the MSVC compiler.
72179
72180 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
72181
72182         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
72183
72184 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
72185
72186         * gnulib-tool (func_import): Sort and uniquify recommended includes.
72187
72188 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
72189
72190         * doc/getdate.texi (General date syntax): Don't say that date
72191         date --iso-8601=ns generates acceptable dates; it doesn't yet.
72192         Problem reported by Nic Ferrier.
72193
72194 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72195
72196         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
72197         specified in ai_socktype. Fix invalid ai_protocol
72198         check. ai_protocol is usually set to 0 or depending on
72199         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
72200         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
72201         ai_socktype / ai_protocol in the returned addrinfo structure.
72202
72203 2005-05-10  Simon Josefsson  <jas@extundo.com>
72204
72205         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
72206         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
72207
72208 2005-05-10  Karl Berry  <karl@gnu.org>
72209
72210         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
72211         (from http://www.gnu.org/licenses).
72212         * doc/COPYING.LIB: also rename to COPYING.LESSER.
72213         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
72214         fdl.texi suffices.
72215
72216 2005-05-10  Karl Berry  <karl@gnu.org>
72217
72218         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
72219         (COPYING.DOC): remove.
72220
72221         * config/srclist-update: new FSF address.
72222
72223 2005-05-10  Derek Price  <derek@ximbiot.com>
72224
72225         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
72226         possible.
72227
72228 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72229             Bruno Haible  <bruno@clisp.org>
72230
72231         * modules/inet_ntop: New file.
72232         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
72233         inet_ntop.
72234
72235 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72236             Bruno Haible  <bruno@clisp.org>
72237
72238         * m4/inet_ntop.m4: New file.
72239
72240 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72241             Bruno Haible  <bruno@clisp.org>
72242
72243         * lib/inet_ntop.h: New file.
72244         * lib/inet_ntop.c: New file, from glibc with modifications.
72245
72246 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
72247
72248         * modules/time_r (License): Change to LGPL.
72249         * modules/extensions (License): Change to LGPL.  Actually,
72250         the license is more permissive than that, but currently gnulib-tool
72251         doesn't know how to handle more-permissive licenses.
72252
72253         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
72254         Problem reported by Dave Love.
72255
72256 2005-05-08  Jim Meyering  <jim@meyering.net>
72257
72258         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
72259         blank.
72260
72261 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
72262
72263         * modules/argmatch (Depends-on): Add stdbool.
72264         * modules/backupfile (Depends-on): Likewise.
72265         * modules/chdir-long (Depends-on): Likewise.
72266         * modules/closeout (Depends-on): Likewise.
72267         * modules/cycle-check (Depends-on): Likewise.
72268         * modules/dirname (Depends-on): Likewise.
72269         * modules/fnmatch (Depends-on): Likewise.
72270         * modules/fsusage (Depends-on): Likewise.
72271         * modules/fwriteerror (Depends-on): Likewise.
72272         * modules/getcwd (Depends-on): Likewise.
72273         * modules/getloadavg (Depends-on): Likewise.
72274         * modules/hard-locale (Depends-on): Likewise.
72275         * modules/makepath (Depends-on): Likewise.
72276         * modules/mountlist (Depends-on): Likewise.
72277         * modules/nanosleep (Depends-on): Likewise.
72278         * modules/posixtm (Depends-on): Likewise.
72279         * modules/quotearg (Depends-on): Likewise.
72280         * modules/readtokens (Depends-on): Likewise.
72281         * modules/readtokens0 (Depends-on): Likewise.
72282         * modules/readutmp (Depends-on): Likewise.
72283         * modules/save-cwd (Depends-on): Likewise.
72284         * modules/strftime (Depends-on): Likewise.
72285         * modules/userspec (Depends-on): Likewise.
72286         * modules/utimecmp (Depends-on): Likewise.
72287         * modules/xgetcwd (Depends-on): Likewise.
72288         * modules/xnanosleep (Depends-on): Likewise.
72289         * modules/xstrtod (Depends-on): Likewise.
72290         * modules/yesno (Depends-on): Likewise.
72291
72292 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
72293
72294         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
72295         needless checks.
72296
72297 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
72298
72299         Merge from coreutils.  Among other things,
72300         add bulletproofing for cases where stdin, stdout, or stderr are closed.
72301         * lib/fd-safer.c: New file.
72302         * lib/fcntl-safer.h, open-safer.c: Remove.
72303         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
72304         * lib/dup-safer.c: Include unistd-safer.h first.
72305         Don't include errno.h.
72306         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
72307         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
72308         * lib/file-type.c: Rely on file-type.h change.
72309         * lib/getloadavg.c: Include unistd-safer.h.
72310         (getloadavg): Use safer open.
72311         * lib/getusershell.c: Include "stdio-safer.h".
72312         (getusershell): Use safer fopen.
72313         * lib/long-options.c (long_options): Use NULL rather than 0.
72314         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
72315         'free'.
72316         * lib/modechange.c: Likewise.
72317         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
72318         (MODE_DONE): New constant.
72319         (struct mode_change): Remove 'next' member.
72320         (make_node_op_equals): New function; like the old one of the
72321         same name, except it allocates an array.
72322         (mode_compile, mode_create_from_ref): Use it.
72323         (mode_compile): Allocate result as an array, not a linked list.
72324         Parse octal string ourself, so that we catch mistakes like "+0".
72325         (mode_adjust): Arg is an array, not a linked list.
72326         * lib/modechange.c: Include stat-macros.h, xalloc.h.
72327         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
72328         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
72329         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
72330         Remove.  This is now stat-macros.h's job.
72331         (talloc): Remove.  All callers replaced by xalloc, so that
72332         our invokers don't have to worry about reporting memory failures.
72333         (make_node_op_equals): Remove.
72334         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
72335         New constants.
72336         (struct mode_change): Moved here from modechange.h.
72337         (mode_append_entry): Remove.
72338         (mode_compile): Remove MASKED_OPS arg, since it encouraged
72339         apps to have incorrect behavior.  Use simpler algorithm for head
72340         and tail.  Don't futz with umask; that's now the job of mode_adjust.
72341         Detect more invalid usages rather than having somewhat-random behavior.
72342         Don't insert an "a=" action, as that leads to incorrect behavior.
72343         (mode_compile, mode_create_from_ref): Return NULL on error instead
72344         of an enum, since now there's only one way to have an error.  All
72345         callers changed.
72346         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
72347         at the correct time.  Simplify calculation of "+u" and its ilk.
72348         Don't mishandle "+X".
72349         (mode_free): Remove "register" and localize decls.
72350         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
72351         (struct mode_change): Move to modechange.c; callers don't
72352         need to see this stuff.
72353         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
72354         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
72355         (mode_change, mode_adjust): Reflect the new signatures noted above.
72356         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
72357         that might redefine system include files.
72358         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
72359         (my_usleep): Use NULL rather than (void *) 0.
72360         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
72361         Use siginterrupt to specify that system calls should be interrupted.
72362         (rpl_nanosleep): Move initialization of suspended closer to call of
72363         my_usleep.
72364         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
72365         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
72366         (desirable_utmp_entry): New function.
72367         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
72368         using x2nrealloc, to simplify logic.
72369         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
72370         size calculation.  Do not assume utmp file is a regular file.
72371         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
72372         (READ_UTMP_CHECK_PIDS): New constant.
72373         * lib/save-cwd.c: Include unistd-safer.h.
72374         (save_cwd): Use fd_safer.
72375         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
72376         [!_LIBC] Include "stat-macros.h" instead.
72377         * lib/unistd-safer.h (fd_safer): New decl.
72378
72379 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
72380
72381         * modules/getloadavg (Depends-on): Add unistd-safer.
72382         * modules/getusershell (Depends-on): Add stdio-safer.
72383         * modules/lstat (Depends-on): Remove xalloc.
72384         * modules/mkstemp (Depends-on): Add stat-macros.
72385         * modules/modechange (Depends-on): Remove xstrtol.
72386         Add stat-macros, xalloc.
72387         * modules/save-cwd (Depends-on): Add unistd-safer.
72388         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
72389         * modules/unistd-safer (Files): Add lib/fd-safer.c
72390         (Makefile.am): Remove lib_SOURCES.
72391
72392         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
72393         Remove fcntl-safer; unistd-safer supersedes it.
72394
72395 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
72396
72397         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
72398         AC_HEADER_STAT.
72399         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
72400         (gl_PREREQ_CHOWN): Remove.
72401         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
72402         it.  Don't require AC_HEADER_STAT.
72403         (gl_PREREQ_LSTAT): Remove.
72404         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
72405         Don't require AC_HEADER_STAT.
72406         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
72407         (gl_PREREQ_RMDIR): Remove.
72408         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
72409         mention stat-macros.h or AC_HEADER_STAT, since we'll make
72410         the stat-macros module a prerequisite.
72411         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
72412         * m4/filemode.m4 (gl_FILEMODE): Likewise.
72413         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
72414         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
72415         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
72416         variable names.
72417         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
72418         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
72419         variable prefixes.
72420         * m4/fcntl-safer.m4: Remove.
72421         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
72422         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
72423         Invoke gl_PREREQ_FD_SAFER.
72424         (gl_PREREQ_FD_SAFER): New macro.
72425         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
72426         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
72427         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
72428         Remove duplicate call to AC_LIBOBJ(readutmp).
72429         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
72430
72431         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
72432         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
72433
72434 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
72435
72436         * MODULES.html.sh (Misc): Add byteswap.
72437
72438 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
72439
72440         * modules/getcwd (Depends-on): Add extensions.
72441         * modules/openat (Depends-on): Likewise.
72442
72443 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
72444
72445         * modules/byteswap: New file.
72446
72447 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
72448
72449         * m4/byteswap.m4: New file.
72450
72451 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
72452
72453         * lib/byteswap_.h: New file.
72454
72455 2005-04-25  Karl Berry  <karl@gnu.org>
72456
72457         * m4/gettext.m4: Update from GNU gettext 0.14.4.
72458
72459 2005-04-25  Albert Chin  <china@thewrittenword.com>
72460
72461         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
72462         Toolkit C bug.
72463
72464 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
72465
72466         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
72467         (func_ln_if_changed): Remove forcibly for no error message
72468         in case file does not exist.
72469
72470 2005-04-19  Simon Josefsson  <jas@extundo.com>
72471
72472         * gnulib-tool (Options): Make --symlink mean --symbolic.
72473
72474 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
72475
72476         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
72477
72478 2005-04-16  Simon Josefsson  <jas@extundo.com>
72479
72480         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
72481
72482 2005-04-15  Simon Josefsson  <jas@extundo.com>
72483
72484         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
72485
72486 2005-04-15  Simon Josefsson  <jas@extundo.com>
72487
72488         * gnulib-tool: Rename --symlink to --symbolic.
72489
72490 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
72491
72492         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
72493         symbolic links to files instead of copying/moving.  Add --aux-dir,
72494         specifying directory relative --dir where auxiliary build tools
72495         are placed.
72496
72497 2005-04-14  Bruno Haible  <bruno@clisp.org>
72498
72499         * modules/allocsa (License): Change to LGPL.
72500         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
72501
72502 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
72503
72504         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
72505         that "UTC +1 second" continues to work.  Problem reported
72506         by Dmitry V. Levin.
72507         (relunit_snumber): New rule.
72508         (relunit): Use it.
72509
72510 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
72511
72512         * lib/getdate.y (universal_time_zone_table): New constant.
72513         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
72514         universal_time_zone_table.
72515         (lookup_zone): Prefer universal_time_zone_table to
72516         local_time_zone_table, so that "GMT" time stamps are allowed in
72517         London during the summer.  Problem reported by Ian Abbott.
72518
72519 2005-04-12  Jim Meyering  <jim@meyering.net>
72520
72521         * lib/human.c (humblock): Set *options even when returning due to
72522         xstrtoumax conversion failure.  Thanks to a used-uninitialized
72523         warning from gcc-4.
72524
72525 2005-04-09  Jim Meyering  <jim@meyering.net>
72526
72527         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
72528         -Wuninitialized: initialize tm0.tm_year.
72529
72530 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
72531
72532         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
72533         count, since there's no maximum.  All uses changed.
72534         Add member dsts_seen.
72535         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
72536         not being INT_MAX.
72537         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
72538         Use pc_rels_seen to decide whther a date is absolute.
72539
72540         * lib/getdate.y (number): Don't overwrite year.
72541         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
72542         check.
72543
72544 2005-04-02  Simon Josefsson  <jas@extundo.com>
72545
72546         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
72547         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
72548
72549 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
72550
72551         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
72552         where no absolute path name can be longer than PATH_MAX.
72553
72554 2005-03-27  Jim Meyering  <jim@meyering.net>
72555
72556         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
72557
72558 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
72559
72560         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
72561         "one's complement" -> "ones' complement" in comment, as per Knuth.
72562         "value of type" -> "type or expression" in comment.
72563         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
72564
72565 2005-03-26  Jim Meyering  <jim@meyering.net>
72566
72567         Comment nits.
72568         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
72569         Correct typos: s/or/of/.
72570
72571 2005-03-26  Jim Meyering  <jim@meyering.net>
72572
72573         * modules/check-include-files: Move to ../ and rename to...
72574         * check-module: ...this.
72575
72576 2005-03-25  Jim Meyering  <jim@meyering.net>
72577
72578         * modules/xvasprintf (Files): Add xalloc.h.
72579
72580 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
72581
72582         * modules/gettext (Files): config/config.rpath ->
72583         build-aux/config.rpath
72584         * modules/iconv (Files): Likewise.
72585         Problem reported by Oskar Liljeblad.
72586
72587 2005-03-23  Jim Meyering  <jim@meyering.net>
72588
72589         * modules/check-include-files: New script to check for
72590         missing dependencies, multiple includes, etc.
72591
72592         * modules/c-strtold (Depends-on): Add xalloc.
72593         * modules/c-strtod (Depends-on): Add xalloc.
72594         * modules/hash (Depends-on): Add xalloc.
72595         (Files): Remove lib/xalloc.h.
72596
72597         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
72598         * modules/userspec (Files): Add lib/inttostr.h.
72599
72600 2005-03-23  Jim Meyering  <jim@meyering.net>
72601
72602         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
72603
72604 2005-03-22  Jim Meyering  <jim@meyering.net>
72605
72606         * modules/stat-macros: New module.
72607         * modules/canonicalize, modules/euidaccess, modules/file-type,
72608         * modules/filemode, modules/lchown, modules/makepath,
72609         * modules/rmdir, modules/stat: Depend on new stat-macros module
72610         rather than listing lib/stat-macros.h manually.
72611         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
72612
72613 2005-03-22  Jim Meyering  <jim@meyering.net>
72614
72615         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
72616
72617 2005-03-22  Bruno Haible  <bruno@clisp.org>
72618
72619         * config/srclist.txt: Replace target directory 'config' with
72620         'build-aux'.
72621         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
72622         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
72623         ../build-aux/.
72624
72625 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
72626
72627         * modules/chdir-long (Depends-on): Add mempcpy.
72628
72629         * modules/acl, modules/backupfile, modules/c-strtod,
72630         modules/c-strtold, modules/canon-host, modules/canonicalize,
72631         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
72632         modules/exclude, modules/exitfail, modules/file-type,
72633         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
72634         modules/getdate, modules/getline, modules/getpagesize,
72635         modules/getpass, modules/getugroups, modules/group-member,
72636         modules/hard-locale, modules/hash, modules/human, modules/idcache,
72637         modules/inttostr, modules/long-options, modules/makepath,
72638         modules/md5, modules/memcasecmp, modules/memcoll,
72639         modules/modechange, modules/mountlist, modules/path-concat,
72640         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
72641         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
72642         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
72643         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
72644         modules/strftime, modules/strndup, modules/strverscmp,
72645         modules/timespec, modules/unlocked-io, modules/userspec,
72646         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
72647         modules/yesno:
72648         Remove lib_SOURCES line from Makefile.am section, as this is now
72649         done automatically by the corresponding Autoconf macro.
72650
72651 2005-03-21  Jim Meyering  <jim@meyering.net>
72652
72653         Changes imported from coreutils.
72654
72655         * lib/cycle-check.c: Don't include xalloc.h.
72656
72657         * lib/path-concat.c: Don't include assert.h.
72658         (path_concat): Remove assertion that would have triggered
72659         for ABASE starting with more than one slash.
72660         Reported by Andreas Schwab.
72661
72662         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
72663         properly when ABASE is an absolute file name.
72664         Correct the description of this function.
72665         Include <assert.h>.
72666         Add an assertion and a test driver.
72667         This fixes a bug introduced on 2004-07-02.
72668         Andreas Schwab reported the resulting failure of cp --parents:
72669         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
72670
72671 2005-03-21  Jim Meyering  <jim@meyering.net>
72672
72673         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
72674         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
72675
72676 2005-03-21  Jim Meyering  <jim@meyering.net>
72677         and  Paul Eggert  <eggert@cs.ucla.edu>
72678
72679         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
72680         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
72681         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
72682         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
72683         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
72684         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
72685         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
72686         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
72687         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
72688         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
72689         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
72690         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
72691         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
72692         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
72693         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
72694         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
72695         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
72696         for these modules.
72697
72698 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
72699
72700         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
72701         (which shouldn't happen), generate nothing instead of returning 0
72702         immediately, so that nstrftime (NULL, ...) doesn't return 0.
72703
72704 2005-03-16  Bruno Haible  <bruno@clisp.org>
72705
72706         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
72707         HAVE_LONGLONG_64BIT.
72708
72709 2005-03-16  Bruno Haible  <bruno@clisp.org>
72710
72711         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
72712         HAVE_LONGLONG_64BIT.
72713
72714 2005-03-16  Bruno Haible  <bruno@clisp.org>
72715
72716         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
72717         HAVE_LONGLONG_64BIT.
72718
72719 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
72720
72721         * lib/strftime.c (my_strftime): Prepend space to format so that we can
72722         reliably distinguish strftime failure from empty output on POSIX
72723         hosts.
72724
72725 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
72726
72727         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
72728         (iconv_string): Don't guess a size-zero buffer, as that might cause
72729         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
72730         result would be 'too large', where 'too large' is (heuristically)
72731         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
72732         overflow concerns.  This will prevent some unwanted malloc failures
72733         when the inputs are very large.
72734
72735 2005-03-15  Karl Berry  <karl@gnu.org>
72736
72737         * config/srclist.txt (config.rpath): from gettext.
72738         * config/config.rpath: update.
72739
72740 2005-03-15  Bruno Haible  <bruno@clisp.org>
72741
72742         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
72743         to 'negate'.
72744
72745         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
72746         variable.
72747
72748         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
72749         results.
72750
72751 2005-03-14  Simon Josefsson  <jas@extundo.com>
72752
72753         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
72754         <fx@gnu.org>.
72755
72756 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
72757
72758         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
72759         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
72760         intprops.h.
72761         * lib/strtol.c: Likewise.
72762
72763 2005-03-14  Jim Meyering  <jim@meyering.net>
72764
72765         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
72766         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
72767         to be nonzero so that we (and caller) can detect the difference
72768         between a valid zero-length expansion and an error return, even
72769         when the underlying strftime fails before writing anything into
72770         that location.
72771
72772 2005-03-14  Bruno Haible  <bruno@clisp.org>
72773
72774         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
72775         Update from GNU gettext 0.14.3.
72776
72777 2005-03-10  Jim Meyering  <jim@meyering.net>
72778
72779         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
72780
72781 2005-03-10  Jim Meyering  <jim@meyering.net>
72782
72783         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
72784         so that this module works on systems without fchdir.
72785
72786 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
72787
72788         Factor int-properties macros into a single file, except for
72789         glibc-related files.
72790         * lib/intprops.h: New file.
72791         * lib/getloadavg.c: Include it instead of limits.h.
72792         (INT_STRLEN_BOUND): Remove.
72793         * lib/human.c: Include intprops.h.
72794         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
72795         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
72796         302/1000.
72797         * lib/inttostr.h: Include intprops.h instead of limits.h.
72798         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
72799         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
72800         for consistency with intprops.h.
72801         (time_t_is_integer, twos_complement_arithmetic): Use them.
72802         * lib/sig2str.h: Include <signal.h>, intprops.h.
72803         (INT_STRLEN_BOUND): Remove.
72804         * lib/strftime.c (TYPE_SIGNED): Remove.
72805         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
72806         * lib/strtol.c: Adjust comments to match intprops.h.
72807         * lib/userspec.c: Include intprops.h.
72808         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
72809         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
72810         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
72811         instead of rolling our own expressions.
72812         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
72813
72814         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
72815         instead of int.
72816         (my_strftime): Do not mishandle years close to INT_MAX, by doing
72817         the right thing even if adding 1900 would overflow.  Similarly
72818         for tm_mon + 1 and tm_yday + 1.
72819         Make %Y always equivalent to %C%y, and similarly for %G and %g.
72820         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
72821         (DO_SIGNED_NUMBER): New macro.
72822         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
72823
72824 2005-03-07  Bruno Haible  <bruno@clisp.org>
72825
72826         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
72827
72828 2005-03-07  Bruno Haible  <bruno@clisp.org>
72829
72830         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
72831
72832 2005-03-04  Derek R. Price  <derek@ximbiot.com>
72833
72834         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
72835         (func_import): Only replace files via --import when they have actually
72836         changed.
72837
72838 2005-03-03  Derek R. Price  <derek@ximbiot.com>
72839
72840         * m4/mmap-anon.m4: New file.
72841         * m4/pagealign_alloc.m4: New file.
72842
72843 2005-03-03  Derek R. Price  <derek@ximbiot.com>
72844             Bruno Haible  <bruno@clisp.org>
72845
72846         * modules/pagealign_alloc: New file.
72847         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
72848
72849 2005-03-03  Derek R. Price  <derek@ximbiot.com>
72850             Bruno Haible  <bruno@clisp.org>
72851
72852         * lib/pagealign_alloc.h: New file.
72853         * lib/pagealign_alloc.c: New file.
72854
72855 2005-03-03  Bruno Haible  <bruno@clisp.org>
72856
72857         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
72858         Use an all-permissive copyright notice, recommended by RMS.
72859
72860 2005-03-02  Bruno Haible  <bruno@clisp.org>
72861
72862         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
72863         of AIX, the replacement has to be done only after <string.h> is
72864         included, therefore not in config.h. stpncpy.h does the replacement,
72865         and stpncpy.c uses it.
72866
72867 2005-03-02  Bruno Haible  <bruno@clisp.org>
72868
72869         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
72870         stpncpy.c uses it.
72871
72872 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
72873
72874         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
72875         The workaround isn't strictly needed for POSIX conformance, and
72876         it's too much of a pain to configure and maintain.  We'll ask
72877         people to fix their kernels instead.
72878         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
72879         (NANOSLEEP_BUG_WORKAROUND): Remove.
72880         (xnanosleep): Remove the workaround.
72881
72882 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
72883
72884         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
72885         Reported by Derek Price.
72886         (Include): Add "timespec.h".
72887
72888         * modules/xnanosleep (Depends-on): Remove gethrxtime.
72889
72890 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
72891
72892         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
72893         to detect nanosleep bug.
72894
72895 2005-03-01  Bruno Haible  <bruno@clisp.org>
72896
72897         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
72898
72899 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
72900
72901         * modules/gethrxtime: New file.
72902         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
72903         (Depends-on): Add gethrxtime.
72904         (configure.ac): Add gl_XNANOSLEEP.
72905         (Makefile.am): Remove lib_SOURCES line.
72906
72907 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
72908
72909         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
72910         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
72911
72912 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
72913
72914         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
72915         * lib/timespec.h (gettime): Return void, since it always
72916         succeeds now.  All uses changed.
72917         * lib/gettime.c (gettime): Likewise.
72918         [HAVE_NANOTIME]: Prefer nanotime.
72919         Assume gettimeofday succeeds, as POSIX requires.
72920         Assime time () succeeds, since other code already does.
72921         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
72922         (timespec_subtract): Remove.
72923         (NANOSLEEP_BUG_WORKAROUND): New constant.
72924         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
72925         things considerably.  Use it only on GNU/Linux hosts, since the
72926         workaround shouldn't be needed elsewhere.
72927
72928 2005-02-24  Bruno Haible  <bruno@clisp.org>
72929
72930         * modules/gettext (Files): Add m4/glibc2.m4.
72931
72932 2005-02-24  Bruno Haible  <bruno@clisp.org>
72933
72934         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
72935         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
72936         * m4/progtest.m4:
72937         Update from GNU gettext 0.14.2.
72938         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
72939
72940 2005-02-24  Bruno Haible  <bruno@clisp.org>
72941
72942         * lib/localcharset.c: Update from GNU gettext 0.14.2.
72943         * lib/config.charset: Update from GNU gettext 0.14.2.
72944
72945 2005-02-24  Bruno Haible  <bruno@clisp.org>
72946
72947         * lib/gettext.h: Update from GNU gettext 0.14.2.
72948
72949 2005-02-23  Simon Josefsson  <jas@extundo.com>
72950
72951         * m4/iconvme.m4: New file.
72952
72953 2005-02-23  Jim Meyering  <jim@meyering.net>
72954
72955         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
72956         change.
72957         Thanks to Bruno Haible for catching it.
72958
72959 2005-02-22  Simon Josefsson  <jas@extundo.com>
72960
72961         * modules/iconvme: New file.
72962
72963         * MODULES.html.sh: Add iconvme.
72964
72965 2005-02-22  Simon Josefsson  <jas@extundo.com>
72966
72967         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
72968
72969 2005-02-22  Simon Josefsson  <jas@extundo.com>
72970
72971         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
72972
72973 2005-02-22  Jim Meyering  <jim@meyering.net>
72974
72975         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
72976         s/ifndef/ifdef/.
72977
72978 2005-02-20  Neil Conway  <neilc@samurai.com>
72979
72980         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
72981         returned by OSX/Darwin if the specified buffer is not large
72982         enough for the hostname.
72983
72984 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
72985
72986         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
72987         pass it to _help, otherwise the latter coredumps trying to
72988         dereference state.root_argp.
72989
72990 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
72991
72992         * modules/chdir-long (Depends-on): Add memrchr.
72993         * modules/memrchr (Files): Add lib/memrchr.h.
72994         (Include): "memrchr.h".
72995
72996 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
72997
72998         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
72999
73000 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
73001
73002         * lib/memrchr.h: New file.
73003         * lib/chdir-long.c: Include it.
73004         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
73005         Don't bother including stddef.h.
73006
73007 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
73008
73009         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
73010         inclusion.
73011         Include <sys/types.h>, for dev_t.
73012         (ME_DUMMY, ME_REMOTE): Move from here....
73013         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
73014         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
73015         Dmitry V. Levin.
73016         Include mountlist.h first, to test the interface.
73017
73018 2005-01-29  Bruno Haible  <bruno@clisp.org>
73019
73020         * lib/progname.c (program_name): Initialize.
73021         Needed when linking statically on MacOS X.
73022
73023 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
73024
73025         Sync from coreutils.
73026         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
73027         (Depends-on): Add c-strtod.
73028         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
73029
73030 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
73031
73032         Sync from coreutils.
73033         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
73034
73035         Remove files that are specific to coreutils.
73036         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
73037
73038 2005-01-28  Bruno Haible  <bruno@clisp.org>
73039
73040         * modules/javacomp: New file.
73041         * MODULES.html.sh (Java): Add javacomp.
73042
73043 2005-01-28  Bruno Haible  <bruno@clisp.org>
73044
73045         * m4/javacomp.m4: New file, from GNU gettext.
73046
73047 2005-01-28  Bruno Haible  <bruno@clisp.org>
73048
73049         * lib/javacomp.sh.in: New file, from GNU gettext.
73050         * lib/javacomp.h: New file, from GNU gettext.
73051         * lib/javacomp.c: New file, from GNU gettext.
73052
73053 2005-01-26  Simon Josefsson  <jas@extundo.com>
73054
73055         * lib/gai_strerror.c: Use GPL in header.
73056
73057 2005-01-26  Bruno Haible  <bruno@clisp.org>
73058
73059         * modules/javaexec: New file.
73060         * MODULES.html.sh (Java): Add javaexec.
73061
73062 2005-01-26  Bruno Haible  <bruno@clisp.org>
73063
73064         * m4/javaexec.m4: New file, from GNU gettext.
73065
73066 2005-01-26  Bruno Haible  <bruno@clisp.org>
73067
73068         * lib/javaexec.sh.in: New file, from GNU gettext.
73069         * lib/javaexec.h: New file, from GNU gettext.
73070         * lib/javaexec.c: New file, from GNU gettext.
73071
73072 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
73073
73074         * modules/lchown (Depends-on): Remove lchown.h
73075
73076 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
73077
73078         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
73079         must be defined if the header file was not found, in order
73080         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
73081
73082 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
73083
73084         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
73085         initializers for struct pentry_state.
73086         (__argp_error): Check return value of __asprintf
73087         (__argp_failure): Translate error message
73088
73089         * lib/argp-parse.c: Removed braces around the expansion of N_()
73090
73091 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
73092
73093         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
73094         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
73095         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
73096         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
73097         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
73098         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
73099         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
73100         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
73101         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
73102         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
73103         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
73104         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
73105         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
73106         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
73107         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
73108         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
73109         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
73110         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
73111         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
73112         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
73113         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
73114         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
73115         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
73116         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
73117         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
73118         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
73119         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
73120         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
73121         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
73122         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
73123         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
73124         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
73125         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
73126         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
73127         xstrtol.m4, xstrtoumax.m4, yesno.m4:
73128         Use an all-permissive copyright notice, recommended by RMS.
73129
73130 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
73131
73132         * modules/chdir-long (Depends-on): Remove mempcpy.
73133
73134 2005-01-21  Jim Meyering  <jim@meyering.net>
73135
73136         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
73137         same value as for Solaris 9.
73138
73139         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
73140         component length.  This included changing the parameter to be
73141         of type `char *' rather than `char const *'.
73142         * lib/chdir-long.h (chdir_long): Update prototype.
73143
73144         * lib/openat.c (fdopendir, fstatat): New functions.
73145         * lib/openat.h: Include headers required for use of DIR and struct
73146         stat.
73147         [AT_SYMLINK_NOFOLLOW]: Define.
73148         (fdopendir, fstatat): Add prototypes.
73149
73150 2005-01-21  Bruno Haible  <bruno@clisp.org>
73151
73152         * modules/classpath: New file.
73153         * MODULES.html.sh (Java): Add classpath.
73154
73155 2005-01-21  Bruno Haible  <bruno@clisp.org>
73156
73157         * lib/classpath.h: New file, from GNU gettext.
73158         * lib/classpath.c: New file, from GNU gettext.
73159
73160 2005-01-20  Simon Josefsson  <jas@extundo.com>
73161
73162         * modules/version-etc-fsf: New file.
73163
73164 2005-01-20  Simon Josefsson  <jas@extundo.com>
73165
73166         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
73167         * lib/version-etc.c: Remove version_etc_copyright.
73168         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
73169         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
73170
73171 2005-01-20  Simon Josefsson  <jas@extundo.com>
73172
73173         * lib/base64.h (isbase64): Add.
73174
73175         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
73176         using a unsigned prototype, don't inline.
73177         (base64_decode): Use it.
73178
73179 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
73180
73181         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
73182         it.
73183
73184 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
73185
73186         * lib/save-cwd.c (save_cwd): Remove code to support the case
73187         where fchdir is missing or flaky.
73188
73189 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
73190
73191         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
73192
73193 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
73194
73195         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
73196         AC_LIBSOURCES now does this.
73197         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
73198         with new ullong_max module.
73199
73200 2005-01-19  Bruno Haible  <bruno@clisp.org>
73201
73202         * modules/sh-quote: New file.
73203         * MODULES.html.sh (Executing programs): Add sh-quote.
73204
73205 2005-01-19  Bruno Haible  <bruno@clisp.org>
73206
73207         * lib/sh-quote.h: New file, from GNU gettext.
73208         * lib/sh-quote.c: New file, from GNU gettext.
73209
73210 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
73211
73212         Merge from coreutils.
73213         * m4/ullong_max.m4: New file.
73214         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
73215         (gl_MACROS): Assume localeconv exists.
73216
73217 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
73218
73219         Merge changes from coreutils, as described below in several
73220         changelogs dated today.
73221
73222         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
73223         (O_DIRECTORY): Remove; not needed here, since "." must be
73224         a directory.  All uses removed.
73225         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
73226         universal on Suns, and we also need to test for IRIX.
73227         Revamp code to use 'if' rather than '#if'.
73228         Avoid unnecessary comparison of cwd->desc to 0.
73229
73230         * lib/utimens.c (futimens): Robustify the previous patch, by checking
73231         for known valid error numbers rather than observed invalid ones.
73232
73233 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
73234
73235         * modules/ullong_max: New file.
73236
73237         * modules/chdir-long, modules/openat: New files.
73238         * modules/save-cwd (Depends-on): Depend on chdir-long.
73239         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
73240
73241 2005-01-18  Jim Meyering  <jim@meyering.net>
73242
73243         Merge from coreutils.
73244         * m4/chdir-long.m4, m4/openat.m4: New files.
73245         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
73246         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
73247         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
73248         is sane and DOES follow symlinks.  Besides, testing 20 different
73249         systems found no broken chown implementations.
73250         Prompted by a change in rsync's copy of this macro.
73251         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
73252
73253         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
73254
73255         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
73256         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
73257         NULL-means-set-to-current-time semantics.
73258         Remove temporary file immediately, rather than waiting
73259         for configure's at-exit trap code to do it.
73260
73261 2005-01-18  Jim Meyering  <jim@meyering.net>
73262
73263         * lib/version-etc.c (version_etc_copyright): Update copyright date.
73264
73265         * lib/utimens.c (futimens): Account for the fact that futimes
73266         can also fail with errno == ENOSYS or errno == ENOENT.
73267         Patch from Dmitry V. Levin.
73268
73269         Change the name of the robust chdir function from chdir to chdir_long.
73270         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
73271         (restore_cwd): Use chdir_long, not chdir.
73272         * lib/chdir-long.c: Renamed from chdir.c.
73273         * lib/chdir-long.h: Renamed from chdir.h.
73274         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
73275         Hurd.
73276
73277 2005-01-18  Bruno Haible  <bruno@clisp.org>
73278
73279         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
73280         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
73281         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
73282         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
73283         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
73284         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
73285         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
73286         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
73287         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
73288         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
73289         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
73290         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
73291         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
73292         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
73293         Use an all-permissive copyright notice, recommended by RMS.
73294
73295 2005-01-18  Bob Proulx  <bob@proulx.com>
73296
73297         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
73298         simplify offsetof() macro construct to avoid compile failure with
73299         native HP-UX 11.0 ANSI C compiler.
73300
73301 2005-01-17  Bruno Haible  <bruno@clisp.org>
73302
73303         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
73304         redundant because stpncpy.m4 takes care of it.
73305
73306 2005-01-17  Bruno Haible  <bruno@clisp.org>
73307
73308         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
73309
73310 2005-01-17  Bruno Haible  <bruno@clisp.org>
73311
73312         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
73313         used.
73314
73315 2005-01-17  Bruno Haible  <bruno@clisp.org>
73316
73317         * lib/fwriteerror.h (fwriteerror): Change specification to include
73318         fclose.
73319         * lib/fwriteerror.c: Include <stdbool.h>.
73320         (fwriteerror): At the end, close the file stream. Record whether
73321         stdout was already closed.
73322
73323 2005-01-17  Bruno Haible  <bruno@clisp.org>
73324
73325         * lib/execute.c (environ): Declare if needed.
73326         * lib/pipe.c (environ): Likewise.
73327         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
73328
73329 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
73330
73331         * modules/argp: Depend on vsnprintf
73332
73333 2005-01-10  Jim Meyering  <jim@meyering.net>
73334
73335         * modules/closeout (Depends-on): Add atexit.
73336
73337 2005-01-06  Bruno Haible  <bruno@clisp.org>
73338
73339         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
73340
73341 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
73342
73343         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
73344         definitions to be after all include files, to avoid collisions.
73345         Problem reported by Bob Proulx.
73346
73347 2005-01-04  Jim Meyering  <jim@meyering.net>
73348
73349         Changes imported from coreutils.
73350         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
73351         as the mkstemp template, use a temporary directory and an
73352         8.3-friendly template to avoid trouble on systems like DJGPP.
73353         Reported by Juan M. Guerrero via Stepan Kasal.
73354         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
73355         close. Remove the temporary directory right away, rather than waiting
73356         for configure's at-exit trap code to do it.
73357         Suggestion from Stepan Kasal.
73358
73359 2005-01-01  Simon Josefsson  <jas@extundo.com>
73360
73361         * gnulib-tool: Print #include directives when --import'ing.
73362
73363 2004-12-28  Simon Josefsson  <jas@extundo.com>
73364
73365         * tests/test-base64.c: Include required header files.  Remove
73366         unused variables.
73367
73368 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
73369
73370         * modules/error (Depends-on): Remove gettext.
73371
73372 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
73373
73374         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
73375         not needed.  This removes a dependency on the gettext module.
73376         [defined _LIBC]: Do not include <libintl.h>; not needed.
73377
73378 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
73379
73380         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
73381         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
73382
73383 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
73384
73385         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
73386         HAVE_DECL_STRTOLD.
73387
73388 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
73389
73390         * modules/getdate (Depends-on): Remove alloca-opt.
73391
73392 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
73393
73394         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
73395
73396 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
73397
73398         * lib/argp-parse.c: Include <stddef.h>.
73399         (alignof, alignto): New macros.
73400         (parser_init): Don't assume that void * is aligned sufficiently
73401         for struct option.
73402
73403         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
73404         need to extend the stack.
73405         (YYINITDEPTH): New macro, so that the initial stack isn't overly
73406         large.
73407
73408 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
73409
73410         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
73411
73412 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
73413
73414         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
73415         (2004-10-24) change.  Apparently this was a false alarm.
73416
73417         * modules/getdate: Depend on alloca-opt, not alloca.
73418
73419 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
73420
73421         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
73422         Remove now-obsolete comment about AIX.
73423         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
73424         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
73425         (YYMAXDEPTH): New macro.
73426
73427 2004-12-18  Simon Josefsson  <jas@extundo.com>
73428
73429         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
73430
73431 2004-12-18  Bruno Haible  <bruno@clisp.org>
73432
73433         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
73434
73435 2004-12-18  Bruno Haible  <bruno@clisp.org>
73436
73437         * lib/fatal-signal.c (fatal_signals): Make non-const.
73438         (init_fatal_signals): New function.
73439         (uninstall_handlers, install_handlers): Ignore signals that were set to
73440         SIG_IGN.
73441         (at_fatal_signal): Call init_fatal_signals.
73442         (init_fatal_signal_set): Likewise. Ignore signals that were set to
73443         SIG_IGN.
73444         Reported by Paul Eggert.
73445
73446 2004-12-18  Bruno Haible  <bruno@clisp.org>
73447
73448         * doc/alloca.texi: New file.
73449         * doc/alloca-opt.texi: New file.
73450
73451 2004-12-17  Jim Meyering  <jim@meyering.net>
73452
73453         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
73454         Otherwise, install-sh could exit with improper exit status when
73455         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
73456
73457 2004-12-16  Simon Josefsson  <jas@extundo.com>
73458
73459         * tests/test-base64.c: Add license.
73460
73461 2004-12-15  Stepan Kasal  <address@hidden>
73462
73463         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
73464
73465 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
73466
73467         * modules/getcwd (Files): Add m4/d-ino.m4.
73468         Suggested by Mark D. Baushke.
73469
73470 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
73471
73472         * lib/getdate.y (textint): New member "negative".
73473         (time_zone_hhmm): New function.
73474         Expect 14 shift-reduce conflicts, not 13.
73475         (o_colon_minutes): New rule.
73476         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
73477         (yylex): Set the "negative" member of signed numbers.
73478
73479 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
73480
73481         * doc/getdate.texi (Time of day items, Time zone items):
73482         Describe new formats +00:00, UTC+00:00.
73483
73484 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
73485
73486         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
73487         spurious "-l"s.  Problem reported by Stepan Kasal.
73488
73489 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
73490
73491         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
73492         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
73493
73494 2004-12-04  Simon Josefsson  <jas@extundo.com>
73495
73496         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
73497         Vandoorselaere <yoann@prelude-ids.org>.
73498
73499 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
73500
73501         Changes imported from coreutils.
73502         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
73503         exist.
73504         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
73505
73506 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
73507
73508         Changes imported from coreutils.
73509         * lib/hard-locale.c: Assume <locale.h> exists.
73510         Include "strdup.h".
73511         (GLIBC_VERSION): New macro.
73512         (hard_locale): Assume setlocale exists.
73513         Rewrite to avoid #ifdef.
73514         Use strdup rather than malloc + strcpy.
73515         * lib/human.c: Assume <locale.h> exists.
73516         (human_readable): Assume localeconv exists.
73517
73518 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
73519
73520         * modules/hard-locale (Depends-on): Add strdup.
73521
73522 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
73523
73524         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
73525         convert T2, not T.  (Imported from libc.)
73526
73527 2004-11-30  Simon Josefsson  <jas@extundo.com>
73528
73529         * modules/restrict (License): Change to LGPL.
73530
73531 2004-11-30  Simon Josefsson  <jas@extundo.com>
73532
73533         * m4/restrict.m4: Add copyright and copying conditions.
73534
73535 2004-11-30  Simon Josefsson  <jas@extundo.com>
73536
73537         * m4/base64.m4: New file.
73538
73539 2004-11-30  Simon Josefsson  <jas@extundo.com>
73540
73541         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
73542         base64.
73543
73544         * tests/test-base64.c: New file.
73545
73546         * modules/base64: New file.
73547
73548 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
73549
73550         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
73551         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
73552
73553         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
73554
73555 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
73556
73557         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
73558         (__getcwd.c): Don't restore errno; glibc doesn't.
73559         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
73560         first, falling back to our code only if its results look suspicious.
73561         Ensure that the resulting buffer is only as large as necessary.
73562
73563         * lib/readutmp.c: Include readutmp.h first.
73564         Include <errno.h>, since readutmp.h no longer does that.
73565         * lib/readutmp.h: Don't include <errno.h>,
73566         <sys/param.h>, <time.h>; not needed to establish interface.
73567         (errno): Remove decl.
73568         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
73569         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
73570         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
73571
73572 2004-11-28  Simon Josefsson  <jas@extundo.com>
73573
73574         * lib/base64.h, base64.c: New file.
73575
73576 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
73577
73578         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
73579
73580 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
73581
73582         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
73583         (Depends-on): Remove pathmax, same.  Add mempcpy.
73584         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
73585         (Makefile.am): Append getcwd.h to lib_SOURCES.
73586         (Include): Add getcwd.h.
73587         (Maintainer): Change from Jim Meyering to "all, glibc",
73588         since getdate now uses intended-for-glibc code.
73589         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
73590         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
73591
73592 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
73593
73594         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
73595         HP's ANSI C compiler.
73596         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
73597         Declaring int functions causes warnings on some modern systems and
73598         shouldn't be needed to compile on ancient ones.
73599         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
73600         defined.
73601
73602         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
73603         with the following changes.
73604         (__set_errno): Parenthesize properly.
73605         Include <stdbool.h>.
73606         (MIN, MAX, MATCHING_INO): New macros.
73607         (__getcwd): Define with prototype, not K&R form.
73608         Use heuristics to allocate default buffer on stack if possible.
73609         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
73610         behavior, and to avoid the PATH_MAX limit when computing
73611         ../../../../...
73612         Use MATCHING_INO to compare inode number to file.
73613         Check for arithmetic overflow in size calculations.
73614         Fix bug in reallocation of dot array that caused getcwd to fail
73615         on directories nested deeper than 75.
73616         Be more careful about saving errno on error.
73617         Do not use realloc; use only free+malloc, as this is a bit
73618         more flexible and avoids a needless copy operation.
73619         Do not inspect st_dev and st_ino for symbolic links; POSIX
73620         doesn't specify the latter.
73621         Check for closedir errors.
73622         Avoid needless casts.
73623         Use "#ifdef weak_alias" around weak_alias, to be like other
73624         glibc code.
73625         The following changes to getcwd.c have effect only when used in
73626         gnulib; they have no effect inside glibc proper.
73627         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
73628         as alloca isn't used.
73629         (alloca, __alloca): Likewise.
73630         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
73631         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
73632         unconditionally, as gnulib assumes C89 or better.
73633         Do not include <sys/param.h>.
73634         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
73635         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
73636         better.
73637         (NULL) [!defined NULL]: Remove; we assume C89 or better.
73638         Include <dirent.h> in a way that is compatible with modern Autoconf.
73639         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
73640         New macros, if not already defined.
73641         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
73642         Use "_LIBC", not "defined _LIBC", for consistency.
73643         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
73644         a mempcpy module.
73645         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
73646         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
73647         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
73648         credit only to Jim Meyering and adjust the copyright dates.
73649         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
73650         <stdlib.h>, <unistd.h>, "pathmax.h".
73651         Instead, include "xgetcwd.h" (first) and "getcwd.h".
73652         (INITIAL_BUFFER_SIZE): Remove.
73653         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
73654
73655 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
73656
73657         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
73658         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
73659         Use the _ONCE methods, for efficiency.
73660         Check for fcntl.h.  In test program, include <errno.h>
73661         and <fcntl.h> if available.  Remove old K&R cruft from
73662         test program.  Check for common errors in GNU/Linux,
73663         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
73664         don't do AC_LIBOBJ, as that's getcwd.m4's job.
73665         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
73666         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
73667         name accordingly.
73668         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
73669         accommodate new getcwd.c.
73670         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
73671         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
73672         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
73673         that's all we need now.
73674
73675 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
73676
73677         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
73678         argp-parse.c depends on getopt internals, that means we should
73679         always use our getopt, to be on the safe side.
73680         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
73681         order not to spoil the result of an eventual previous invocation
73682         of gl_GETOPT_SUBSTITUTE.
73683
73684 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
73685
73686         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
73687         redefinition warnings. To avoid them, include the defines
73688         in `#if !defined __need_getopt ... #endif'. The only place
73689         where __getopt_argv_const is used is in definitions
73690         of getopt_long and getopt_long_only below, which are as well
73691         protected by `#ifndef __need_getopt'.
73692         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
73693         __need_getopt after including <stdio.h> and <unistd.h> These
73694         headers might have defined it.
73695
73696 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
73697
73698         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
73699
73700 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
73701
73702         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
73703         (futimens): New function, which uses futimes if available.
73704         (futimens, utimens): Support timespec==NULL, with same semantics
73705         as utime and utimens.
73706         * lib/utimens.h (futimens): New decl.
73707
73708 2004-11-23  Jim Meyering  <jim@meyering.net>
73709
73710         * lib/getopt_.h: Remove trailing blanks.
73711
73712 2004-11-23  Jim Meyering  <jim@meyering.net>
73713
73714         * lib/__fpending.c: Add comment.
73715
73716 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
73717
73718         * modules/canonicalize (Depends-on): Add xreadlink.
73719         Problem reported by James Youngman.
73720
73721 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
73722
73723         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
73724         New macros.
73725         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
73726         optopt): Use them instead of invoking ## directly; otherwise, the
73727         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
73728
73729 2004-11-19  Bruno Haible  <bruno@clisp.org>
73730
73731         * lib/strtok_r.c: Move comments from here...
73732         * lib/strtok_r.h: ... to here.
73733
73734 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
73735
73736         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
73737         implementations that mishandle size_t overflow.
73738
73739 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
73740
73741         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
73742         might fail.  Problem reported by Yoann Vandoorselaere.
73743         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
73744         implementations that mishandle size_t overflow.
73745
73746 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
73747
73748         * modules/canon-host (Depends-on): Add strdup.
73749
73750 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
73751
73752         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
73753
73754 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
73755
73756         * lib/canon-host.c: Include "strdup.h".
73757         (canon_host): Use getaddrinfo if available, so that IPv6 works.
73758         Use strdup instead of malloc/strcpy to duplicate strings.
73759
73760         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
73761         (human_space_before_unit): New constant.
73762         * lib/human.c (human_readable): Support it.
73763
73764         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
73765         (xgetcwd): Set errno correctly when failing.
73766         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
73767         the failure is actually due to a PATH_MAX problem.
73768
73769         Further getopt changes to make it more likely that glibc will
73770         buy the changes back.
73771         * lib/getopt.c (POSIXLY_CORRECT): New constant.
73772         (getopt): Use it, so to preserve glibc semantic
73773         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
73774         when compiling for libc.
73775         * lib/getopt_.h (__getopt_argv_const): Bring it back.
73776         (getopt_long, getopt_long_only): Use it.
73777
73778         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
73779         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
73780         (getopt): Argv is now char * const *, as per standard.
73781         (_getopt_internal_r, _getopt_internal): Argv is now char **,
73782         not char *__getopt_argv_const *.
73783         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
73784         _getopt_long_only_r): Likewise.
73785         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
73786         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
73787         _getopt_long_r, _getopt_long_only_r): Likewise.
73788         * lib/getopt_.h (__getopt_argv_const): Remove.
73789         (getopt): Argv is now char * const *, as per standard.
73790
73791         * lib/getdate.y (tORDINAL): New token.
73792         (day, relunit): Allow it for relative times.
73793         (relative_time_table): Use tORDINAL for ordinals.
73794
73795 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
73796
73797         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
73798         Document that "second" isn't allowed as an ordinal number.
73799
73800 2004-11-16  Jim Meyering  <jim@meyering.net>
73801
73802         * modules/closeout (Depends-on): Add fpending.
73803
73804 2004-11-15  Jim Meyering  <jim@meyering.net>
73805
73806         * lib/closeout.c: Include "__fpending.h" once again.
73807         Include <stdbool.h>.
73808         (close_stdout): Don't fail just because stdout was closed initially,
73809         since some programs don't write to stdout in the normal course of
73810         operation (other than --version and --help), and we don't want this
73811         function to make e.g. `touch file >&-' fail.
73812         But do fail if it was closed and someone has tried to write to it.
73813         E.g., `printf foo >&-' must fail.
73814
73815 2004-11-13  Jim Meyering  <jim@meyering.net>
73816
73817         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
73818
73819 2004-11-12  Simon Josefsson  <jas@extundo.com>
73820
73821         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
73822         small doc fix is still pending.
73823
73824 2004-11-11  Simon Josefsson  <jas@extundo.com>
73825
73826         * modules/strtok_r: New file.
73827
73828         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
73829         strtok_r.
73830
73831 2004-11-11  Simon Josefsson  <jas@extundo.com>
73832
73833         * m4/strtok_r.m4: New file.
73834
73835         * m4/getopt.m4: Replace opterr.
73836
73837 2004-11-11  Simon Josefsson  <jas@extundo.com>
73838
73839         * lib/strtok_r.h, strtok_r.c: New file.
73840
73841 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
73842
73843         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
73844         of replacing opterr, getopt, etc.  This should handle the
73845         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
73846
73847 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
73848
73849         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
73850         we can stop lying to compilers about the constness of argv when we
73851         are compiled outside glibc.
73852         (getopt, getopt_long, getopt_long_only): Use it.
73853         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
73854         _getopt_internal, getopt): Likewise.
73855         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
73856         _getopt_long_only_r): Likewise.
73857         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
73858         _getopt_long_r, _getopt_long_only_r): Likewise.
73859
73860         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
73861         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
73862         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
73863         the other external symbols.
73864         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
73865         declaration, since the above renaming now works around collisions.
73866
73867 2004-11-11  Jim Meyering  <jim@meyering.net>
73868
73869         * lib/linebreak.c: Remove trailing blanks.
73870         * lib/alloca_.h: Likewise.
73871         * lib/acosl.c: Likewise.
73872         * lib/euidaccess.c: Likewise.
73873         * lib/allocsa.h: Likewise.
73874
73875 2004-11-10  Simon Josefsson  <jas@extundo.com>
73876
73877         * m4/getaddrinfo.m4: New file.
73878
73879 2004-11-10  Simon Josefsson  <jas@extundo.com>
73880
73881         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
73882
73883 2004-11-10  Simon Josefsson  <jas@extundo.com>
73884
73885         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
73886         getaddrinfo.
73887
73888         * modules/getaddrinfo: New file.
73889
73890 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
73891
73892         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
73893
73894 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
73895
73896         * lib/mktime.c (SHR): New macro, which is a portable
73897         substitute for >> that should work even on Crays.
73898         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
73899         Problem reported by Mark D. Baushke in
73900         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
73901         * lib/getdate.y (SHR): Likewise.
73902         (tm_diff): Use it.
73903         * lib/strftime.c (SHR): Likewise.
73904         (tm_diff): Use it.
73905         * lib/quotearg.c (struct quoting_options): Use unsigned int for
73906         quote_these_too, so that right shifts are well defined.  All uses
73907         changed.
73908
73909 2004-11-10  Jim Meyering  <jim@meyering.net>
73910
73911         Ensure that no close failure goes unreported.
73912         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
73913         return early when it seems there's nothing to flush.
73914         Don't include __fpending.h.
73915
73916 2004-11-10  Jim Meyering  <jim@meyering.net>
73917
73918         * modules/closeout (Depends-on): Remove fpending.
73919
73920 2004-11-10  Jim Meyering  <jim@meyering.net>
73921
73922         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
73923
73924 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
73925
73926         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
73927         gl_FUNC_STRFTIME.
73928         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
73929         and AC_REQUIRE when possible, to avoid duplicate checks.
73930         Check for <wchar.h>.
73931
73932 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
73933
73934         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
73935
73936 2004-11-09  Bruno Haible  <bruno@clisp.org>
73937
73938         * m4/sockpfaf.m4: New file.
73939
73940 2004-11-05  Bruno Haible  <bruno@clisp.org>
73941
73942         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
73943         Reported by Mark D. Baushke <mdb@cvshome.org>.
73944
73945 2004-11-04  Bruno Haible  <bruno@clisp.org>
73946
73947         2004-09-11  Bruno Haible  <bruno@clisp.org>
73948                 * allocsa.valgrind: New file.
73949         2004-02-06  Bruno Haible  <bruno@clisp.org>
73950                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
73951                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
73952                 Reported by Christopher Seip <chris.seip@hp.com>.
73953
73954 2004-11-04  Bruno Haible  <bruno@clisp.org>
73955
73956         * modules/allocsa (Files): Add lib/allocsa.valgrind.
73957         (Makefile.am): Distribute it.
73958
73959 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
73960
73961         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
73962         with errno == ERANGE if the buffer is too small.
73963         Problem reported by Mark D. Baushke.
73964
73965 2004-11-03  Albert Chin  <china@thewrittenword.com>
73966             Paul Eggert  <eggert@cs.ucla.edu>
73967
73968         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
73969         equivalent, substitute $ac_type for equivalent type rather than
73970         blindly using uint32_t *always* which won't work if uint32_t is not
73971         available.  Define _UINT32_T to work around typedef of uint32_t if
73972         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
73973         2.5.1.
73974
73975 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
73976
73977         * m4/jm-macros.m4: Sync from coreutils.
73978         (gl_MACROS): Check for mbrlen, for pathchk.
73979         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
73980
73981 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
73982
73983         * lib/xreadlink.c (MAXSIZE): New macro.
73984         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
73985         size does not exceed MAXSIZE.  Avoid cast.
73986         As suggested by Mark D. Baushke in
73987         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
73988         if readlink fails with buffer size just under MAXSIZE, try again
73989         with MAXSIZE.
73990
73991 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
73992
73993         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
73994
73995 2004-11-02  Derek R. Price  <derek@ximbiot.com>
73996         and  Paul Eggert  <eggert@cs.ucla.edu>
73997
73998         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
73999         (get_date): Overparenthesize to avoid GCC warning.
74000
74001 2004-11-02  Bruno Haible  <bruno@clisp.org>
74002
74003         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
74004         returns void.
74005
74006 2004-11-02  Bruno Haible  <bruno@clisp.org>
74007
74008         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
74009         function returns void.
74010
74011 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
74012
74013         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
74014         fflush_unlocked, flockfile, funlockfile, funlockfile,
74015         fputs_unlocked, putc_unlocked.
74016
74017 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
74018
74019         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
74020         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
74021         already declared.
74022
74023 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
74024
74025         * modules/getdate (Files): Add doc/getdate.texi.
74026         (Depends-on): Add setenv, xalloc.
74027
74028 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
74029
74030         * lib/getdate.y: Add support for TZ="foo" within a date string.
74031         Fix some bugs near time_t boundaries.  Reject dates with
74032         out-of-range components, e.g., "Sept 31".
74033         Include <stdlib.h>, "setenv.h", "xalloc.h".
74034         (ISDIGIT_LOCALE): Remove; unused.
74035         Note that the TZ and time functions used here are not reentrant.
74036         (mktime_ok, get_tz): New functions.
74037         (TZBUFSIZE): New constant.
74038         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
74039         This requires that we sometimes generate our own TZ="XXX..." setting.
74040
74041 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
74042
74043         * doc/getdate.texi: New file, from coreutils with modifications for
74044         the new TZ parsing.
74045
74046 2004-10-27  Derek R. Price  <derek@ximbiot.com>
74047
74048         * lib/mktime.c (not_equal_tm): Remove redundant check.
74049
74050 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
74051
74052         * modules/regex (lib_SOURCES): Add regex.c.
74053         Reported by James Youngman in
74054         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
74055
74056 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
74057
74058         * lib/getdate.y: Use Bison 1.875 features, and some minor
74059         code cleanups.  This change does not affect semantics.
74060         Don't include <stdlib.h>; no longer needed.
74061         Don't include unlocked-io.h; only the "#if TEST" code uses
74062         stdio, and performance isn't crucial there.
74063         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
74064         Bison 1.875 features as described below.
74065         All uses of "PC." replaced by "pc->".
74066         (YYSTYPE): Add a forward declaration.
74067         (yylex, yyerror): Use full prototypes in forward decls.
74068         Use "%pure-parser" rather than obsolescent "%pure_parser".
74069         Use %parse-param and %lex-param instead of obsolescent
74070         YYPARSE_PARAM and YYLEX_PARAM.
74071         (meridian_table, month_and_day_table, time_units_table,
74072         relative_time_table, time_zone_table, military_table,
74073         lookup_zone, lookup_word, get_date):
74074         Use NULL instead of 0 where appropriate.
74075         (to_hour): Avoid abort (), to avoid a dependency on
74076         stdlib.h.
74077         (yyerror, yylex): Now accepts parser_control * arg.
74078         (main) [TEST]: Use '\0' rather than 0 for char.
74079
74080 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
74081
74082         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
74083
74084 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
74085
74086         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
74087         It's now the caller's responsibility to handle the case where
74088         !HAVE_GETPAGESIZE && !defined getpagesize.
74089
74090         * lib/mktime.c (leapyear): Arg is long int, not int.
74091
74092 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
74093
74094         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
74095
74096 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
74097
74098         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
74099         missing.  Problem reported by James Youngman.
74100
74101 2004-10-16  Simon Josefsson  <jas@extundo.com>
74102
74103         * gnulib-tool: Fix comments.  Fix parse problem.
74104         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
74105
74106 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
74107
74108         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
74109         implementation of getopt_long.  Problem reported by Alexander Taler in:
74110         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
74111
74112 2004-10-15  Bruno Haible  <bruno@clisp.org>
74113
74114         * gnulib-tool: Untabify. Initialize supplied_libname.
74115         (func_usage): More homogenous output.
74116         (func_modules_transitive_closure, func_modules_to_filelist,
74117         func_emit_lib_Makefile_am): New functions.
74118         (func_import): New function, extracted from big case statement. Use
74119         func_get_license, func_modules_transitive_closure,
74120         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
74121         opt_lgpl. Don't use test -a, as it's not portable.
74122         (func_create_testdir): Use func_modules_transitive_closure,
74123         func_modules_to_filelist, func_emit_lib_Makefile_am.
74124
74125 2004-10-15  Bruno Haible  <bruno@clisp.org>
74126
74127         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
74128
74129 2004-10-15  Bruno Haible  <bruno@clisp.org>
74130
74131         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
74132         the portions belonging to each module.
74133         Suggested by Derek Robert Price <derek@ximbiot.com>.
74134
74135 2004-10-12  Simon Josefsson  <jas@extundo.com>
74136
74137         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
74138         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
74139         to real functions.
74140
74141 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
74142
74143         * modules/vsnprintf: New file.
74144
74145 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
74146
74147         * m4/vsnprintf.m4: New file.
74148
74149 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
74150
74151         * lib/vsnprintf.h: New file.
74152         * lib/vsnprintf.c: New file.
74153
74154 2004-10-11  Bruno Haible  <bruno@clisp.org>
74155
74156         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
74157         vsnprintf.
74158
74159 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
74160
74161         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
74162
74163 2004-10-07  Bruno Haible  <bruno@clisp.org>
74164
74165         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
74166         fits into the provided buffer.
74167
74168 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
74169
74170         * lib/diacrit.c, diacrit.h: Add GPL notice.
74171
74172         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
74173         notice.
74174         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
74175         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
74176         This avoids a potential constant-folding bug.
74177
74178 2004-10-05  Bruno Haible  <bruno@clisp.org>
74179
74180         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
74181         for the declaration of strsep.
74182
74183 2004-10-05  Bruno Haible  <bruno@clisp.org>
74184
74185         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
74186
74187 2004-10-04  Simon Josefsson  <jas@extundo.com>
74188
74189         * modules/memmem: New file.
74190         * tests/test-memmem.c: New file.
74191         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
74192
74193 2004-10-04  Simon Josefsson  <jas@extundo.com>
74194
74195         * m4/memmem.m4: New file.
74196
74197 2004-10-04  Simon Josefsson  <jas@extundo.com>
74198
74199         * lib/memmem.h: New file.
74200         * lib/memmem.c: New file, taken from glibc.
74201
74202 2004-10-04  Simon Josefsson  <jas@extundo.com>
74203
74204         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
74205         '#ifdef USE_UNLOCKED_IO'.
74206
74207 2004-10-04  Simon Josefsson  <jas@extundo.com>
74208
74209         * config/srclist.txt: Add memmem from glibc.
74210
74211 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
74212
74213         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
74214
74215         * modules/argmatch, modules/argp, modules/closeout, modules/error,
74216         modules/exclude, modules/getdate, modules/getline,
74217         modules/getndelim2, modules/getpass, modules/getpass-gnu,
74218         modules/getusershell, modules/linebuffer, modules/md5,
74219         modules/mountlist, modules/posixtm, modules/readtokens,
74220         modules/readutmp, modules/regex, modules/sha1,
74221         modules/version-etc, modules/yesno:
74222         Remove dependency on unlocked-io.
74223
74224 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
74225
74226         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
74227
74228         * m4/unlocked-io.m4: Add copyright notice.
74229         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
74230
74231 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
74232
74233         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
74234         * lib/xmalloc.c (xmemdup): Likewise.
74235         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
74236         XFREE): Remove these long-obsolescent macros.
74237         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
74238         * lib/xstrdup.c: Remove.
74239
74240         * lib/regex.c (re_comp): Cast gettext return value to char *,
74241         Problem reported by Martin Neitzel via Mark D. Baushke.
74242
74243 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
74244
74245         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
74246         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
74247         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
74248         regex.c, sha1.c, version-etc.c, yesno.c:
74249         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
74250         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
74251         the includer's responsibility.
74252
74253         Sync from coreutils.
74254
74255         * lib/modechange.c (mode_compile): Don't decrement a pointer that
74256         points to the start of a string, as the C Standard says the
74257         resulting behavior is undefined.
74258
74259         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
74260         simple -> simple_backups, numbered_existing ->
74261         numbered_existing_backups, numbered -> numbered_backups
74262         to avoid shadowing problems.  All uses changed.
74263         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
74264         * lib/backupfile.c (check_extension, numbered_backup):
74265         Rename locals to avoid shadowing 'basename'.
74266         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
74267         once.
74268
74269         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
74270         * lib/.cvsignore: Add getopt.h.
74271
74272 2004-10-04  Bruno Haible  <bruno@clisp.org>
74273
74274         * modules/README: New file.
74275         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
74276         not a module.
74277
74278 2004-10-02  Jim Meyering  <jim@meyering.net>
74279
74280         * lib/dirfd.h, getpagesize.h: Add copyright notice.
74281
74282 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
74283
74284         * modules/strsep: New file.
74285
74286 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
74287
74288         * m4/strsep.m4: New file.
74289
74290 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
74291
74292         * lib/strsep.h: New file.
74293         * lib/strsep.c: New file.
74294
74295 2004-10-01  Simon Josefsson  <jas@extundo.com>
74296
74297         * lib/snprintf.c (snprintf): Handle size==0.
74298
74299 2004-10-01  Simon Josefsson  <jas@extundo.com>
74300             Bruno Haible  <bruno@clisp.org>
74301
74302         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
74303         (snprintf): Declare 'args'.
74304
74305 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
74306
74307         * lib/snprintf.c: Remove comments as to why each header is needed.
74308
74309 2004-10-01  Bruno Haible  <bruno@clisp.org>
74310
74311         * MODULES.html.sh: Add strsep.
74312
74313 2004-09-30  Simon Josefsson  <jas@extundo.com>
74314
74315         * modules/snprintf: New file.
74316
74317 2004-09-30  Simon Josefsson  <jas@extundo.com>
74318
74319         * m4/snprintf.m4: New file.
74320
74321 2004-09-30  Simon Josefsson  <jas@extundo.com>
74322
74323         * lib/snprintf.h, lib/snprintf.c: New files.
74324
74325 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
74326
74327         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
74328         (hol_entry_help): Never translate an empty string.
74329         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
74330         * lib/argp.h (OPTION_NO_TRANS): New option.
74331
74332 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
74333
74334         * modules/argp (Maintainer): Replace Simon Josefsson
74335         by Sergey Poznyakoff.
74336
74337 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
74338
74339         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
74340         changes merged back into glibc.
74341
74342 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
74343
74344         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
74345
74346 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
74347
74348         * lib/xvasprintf.c: Include xalloc.h.
74349         (xvasprintf): Use xalloc_die, not xmalloc_die.
74350
74351 2004-09-29  Bruno Haible  <bruno@clisp.org>
74352
74353         * modules/alloca-opt: New file, derived from modules/alloca.
74354         * modules/allocsa: Depend on alloca-opt instead of alloca.
74355         * modules/setenv: Likewise.
74356         * modules/vasnprintf: Likewise.
74357         * MODULES.html.sh: Add alloca-opt.
74358
74359 2004-09-28  Simon Josefsson  <jas@extundo.com>
74360
74361         * gnulib-tool: New parameter --lgpl, to asseert that modules are
74362         LGPL, and to replace license template from GPL to LGPL.
74363
74364 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
74365
74366         * modules/dummy: Change license to LGPL.
74367
74368 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
74369
74370         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
74371
74372 2004-09-24  Simon Josefsson  <jas@extundo.com>
74373
74374         * modules/minmax (License): Change from GPL to LGPL.
74375
74376 2004-09-23  Simon Josefsson  <jas@extundo.com>
74377
74378         * gnulib-tool (--import): Typo.
74379
74380 2004-09-23  Simon Josefsson  <jas@extundo.com>
74381
74382         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
74383
74384 2004-09-22  Bruno Haible  <bruno@clisp.org>
74385
74386         * modules/*: Add 'License' field.
74387         * gnulib-tool: Accept --extract-license option.
74388         (func_get_license): New function.
74389
74390 2004-09-21  Bruno Haible  <bruno@clisp.org>
74391
74392         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
74393         Reported by Simon Josefsson.
74394
74395 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
74396
74397         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
74398         gl_AC_TYPE_LONG_LONG.
74399
74400 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
74401
74402         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
74403
74404 2004-09-18  Simon Josefsson  <jas@extundo.com>
74405         and  Paul Eggert  <eggert@cs.ucla.edu>
74406
74407         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
74408         calls with autoreconf.  Define GL_LIB.
74409
74410 2004-09-14  Karl Berry  <karl@gnu.org>
74411
74412         * config/srclist.txt: unsync setenv.c, sigh.
74413
74414 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
74415
74416         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
74417         Problem reported by Bruno Haible in:
74418         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
74419
74420 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
74421
74422         * config/srclist.txt: Comment out argp-pvh.c.
74423
74424 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
74425
74426         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
74427         in case some system header has #define'd it.  Problem reported by
74428         Soeren D. Schulze in
74429         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
74430
74431 2004-09-09  Karl Berry  <karl@gnu.org>
74432
74433         * regex.[ch]: delete from the root.  These were supposed to be
74434                 synced with emacs cvs, but this has not happened for about
74435                 a year, and anyway nothing else uses emacs regex.[ch].
74436                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
74437                 lib/regex[.ch] is untouched.
74438
74439 2004-09-09  Bruno Haible  <bruno@clisp.org>
74440
74441         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
74442
74443 2004-09-09  Bruno Haible  <bruno@clisp.org>
74444
74445         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
74446         modifications.
74447         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
74448
74449 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
74450
74451         * modules/xvasprintf: New file.
74452         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
74453
74454 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
74455
74456         * lib/xvasprintf.h: New file.
74457         * lib/xvasprintf.c: New file.
74458         * lib/xasprintf.c: New file.
74459
74460 2004-09-08  Bruno Haible  <bruno@clisp.org>
74461
74462         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
74463
74464 2004-09-08  Bruno Haible  <bruno@clisp.org>
74465
74466         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
74467         length is > INT_MAX.
74468         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
74469         more.
74470
74471 2004-09-08  Bruno Haible  <bruno@clisp.org>
74472
74473         * lib/stdint_.h: New file, taken from GNU clisp.
74474
74475 2004-09-08  Bruno Haible  <bruno@clisp.org>
74476             Oskar Liljeblad  <oskar@osk.mine.nu>
74477
74478         * modules/stdint: New file.
74479         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
74480
74481 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
74482
74483         Import from coreutils.
74484         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
74485         strings on unbounded length.  alloca's performance benefits aren't
74486         that important here.
74487         (V_STRDUP): Remove.
74488         (parse_with_separator): New function, with most of the internals
74489         of the old parse_user_spec.  Allow user to omit both user and group,
74490         for compatibility with FreeBSD.
74491         Clone only the user name, not the entire spec.
74492         Do not set *uid, *gid unless entirely successful.
74493         Avoid memory leak in some failing cases.
74494         Fix regression for USER.GROUP reported by Dmitry V. Levin in
74495         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
74496         (parse_user_spec): Rewrite to use parse_with_separator.
74497
74498 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
74499
74500         * modules/userspec: Don't depend on alloca.
74501
74502 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
74503
74504         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
74505
74506 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
74507
74508         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
74509         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
74510         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
74511
74512 2004-08-16  Simon Josefsson  <jas@extundo.com>
74513
74514         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
74515         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
74516         Add --dry-run for --import.
74517         Let user provided command line parameters override configure.ac
74518         settings.
74519
74520 2004-08-12  Simon Josefsson  <jas@extundo.com>
74521
74522         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
74523         as discussed with Paul Eggert in threads rooted at
74524         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
74525         and
74526         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
74527         Before, the test was empty, and relied on ELIDE_CODE in source
74528         code.)
74529         (gl_PREREQ_GETOPT): New macro.
74530         (gl_GETOPT): Use them.
74531
74532 2004-08-12  Simon Josefsson  <jas@extundo.com>
74533
74534         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
74535         * lib/getopt_.h: Renamed from getopt.h.
74536
74537 2004-08-12  Simon Josefsson  <jas@extundo.com>
74538
74539         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
74540         Change default library name from libfoo to libgnu.
74541         Now, if you have a configure.ac that says:
74542                 gl_SOURCE_BASE(gl)
74543                 gl_M4_BASE(gl/m4)
74544                 gl_MODULES(error getopt etcetera)
74545                 gl_INIT
74546         you can import all you need by running:
74547                 ../gnulib/gnulib-tool --import
74548
74549         * modules/getopt (Files): Rename getopt.h to getopt_.h.
74550         (Makefile.am): Rewrite, use logic from argz.
74551         (Include): Use <getopt.h> instead of "getopt.h".
74552
74553 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
74554
74555         * modules/argp (Files): Add m4/unlocked-io.m4.
74556         (Depends-on): Add extensions.
74557
74558 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
74559
74560         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
74561         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
74562         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
74563         Check for program_invocation_name, program_invocation_short_name,
74564         flockfile, funlockfile, features.h, _getopt_long_only_r.
74565
74566 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
74567
74568         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
74569         its complicated substitute.
74570         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
74571         and program_invocation_name.
74572         (__argp_basename) [!_LIBC]: Remove; the only use was
74573         replaced by its body.
74574         (__argp_short_program_name): Change condition from
74575         !defined __argp_short_program_name to
74576         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
74577         to match argp-namefrob.h.
74578         (__argp_failure): Don't assume strerror_r returns char *.
74579         * lib/argp-parse.c (N_): Define unconditionally.
74580         (argp_default_options): Fill out initializers with 0 to avoid
74581         gcc warnings.
74582
74583 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
74584
74585         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
74586         getopt1.c.
74587
74588 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
74589
74590         Merge from coreutils.
74591
74592         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
74593
74594         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
74595         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
74596
74597 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
74598
74599         Merge from coreutils.
74600
74601         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
74602         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
74603         for Reliant Unix 5.43.
74604
74605         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
74606         (union fooround): Use uintmax_t, not long int.
74607         The rest is a merge from libc:
74608         [defined _LIBC]: Include <shlib-compat.h>.
74609         (_obstack) [defined _LIBC]: Remove after 2.3.4.
74610
74611         * lib/settime.c (settime): Recode to avoid warning with
74612         Sun Forte C 6U2.
74613
74614         * lib/strverscmp.c: Convert to UTF-8.
74615
74616 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
74617
74618         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
74619         m4/uintmax_t.m4.
74620
74621 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
74622
74623         * modules/xalloc-die: New file.
74624         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
74625
74626         * modules/md5 (Files): Add m4/uint32_t.m4.
74627         * modules/sha1: Renamed from modules/sha.
74628         (Files):
74629         Rename lib/sha.h to lib/sha1.h.
74630         Rename lib/sha.c to lib/sha1.c.
74631         Rename m4/sha.m4 to m4/sha1.m4.
74632         (lib_SOURCES): Likewise.
74633         (configure.ac): Rename gl_SHA to gl_SHA1.
74634         (Include): sha.h -> sha1.h.
74635
74636 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
74637
74638         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
74639         * m4/sha1.m4: Renamed from sha.m4.
74640         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
74641
74642 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
74643
74644         * lib/obstack.h (obstack_empty_p):
74645         Don't assume that chunk->contents is suitably aligned.
74646         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
74647         Likewise. Problem reported by Benno in
74648         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
74649
74650         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
74651         readable.  This could be improved further but it'd take some work.
74652
74653 2004-08-08  Simon Josefsson  <jas@extundo.com>
74654
74655         * modules/xgethostname (Depends-on): Remove exit and error (not
74656         used).
74657
74658         * modules/getpass-gnu: Add getpass.h.
74659         (Depends-on): Add stdbool.
74660         * modules/getpass: Add getpass.h.
74661
74662 2004-08-08  Simon Josefsson  <jas@extundo.com>
74663
74664         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
74665         Check getpass declaration.
74666
74667 2004-08-08  Simon Josefsson  <jas@extundo.com>
74668
74669         * lib/xgethostname.c: Don't include error.h (not used).
74670
74671         * lib/getpass.h: Add.
74672         * lib/getpass.c: Include getpass.h first.
74673
74674 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
74675
74676         * lib/xalloc-die.c: New file.
74677         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
74678         All uses removed.
74679         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
74680         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
74681         xalloc-die.c.
74682         (_, N_, xalloc_die): Move to xalloc-die.c.
74683         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
74684         so that we needn't mess with xalloc_msg_memory_exhausted.
74685
74686         * lib/sha1.h: Renamed from sha.h.
74687         (SHA1_H): Renamed from _SHA_H.
74688         (sha1_ctx): Renamed from sha_ctx.
74689         (sha1_init_ctx): Renamed from sha_init_ctx.
74690         (sha1_process_block): Renamed from sha_process_block.
74691         (sha1_process_bytes): Renamed from sha_process_bytes.
74692         (sha1_finish_ctx): Renamed from sha_finish_ctx.
74693         (sha1_read_ctx): Renamed from sha_read_ctx.
74694         (sha1_stream): Renamed from sha_stream.
74695         (sha1_buffer): Renamed from sha_buffer.
74696         * lib/sha1.c: Likewise; renamed from sha.c.
74697         Do not include <sys/types.h>.
74698         Include <stddef.h> rather than <stdlib.h>.
74699
74700 2004-08-08  Bruno Haible  <bruno@clisp.org>
74701
74702         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
74703         FILESYSTEM_PREFIX_LEN.
74704         * lib/progreloc.c: Likewise.
74705         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
74706
74707 2004-08-06  Simon Josefsson  <jas@extundo.com>
74708
74709         * modules/progname (Depends-on): Don't depend on stdbool.
74710
74711 2004-08-06  Simon Josefsson  <jas@extundo.com>
74712
74713         * modules/getsubopt: New file.
74714         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
74715         getsubopt.
74716
74717 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
74718
74719         More merge from coreutils.
74720
74721         * m4/utimens.m4, m4/utimecmp.m4: New files.
74722         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
74723         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
74724         prereq.m4, sha.m4: Import changes from coreutils.
74725
74726 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
74727
74728         More merge from coreutils.
74729         * modules/raise, modules/readtokens0, modules/utimens:
74730         * modules/utimecmp, module/xnanosleep: New files.
74731         * modules/strftime: Add lib/strftime.h.
74732         Change include from <time.h> to "strftime.h".
74733         * modules/yesno: Add lib/yesno.h.
74734         * modules/backupfile: Remove lib/addext.c.
74735         * modules/euidaccess: Add stat-macros.h.
74736         * modules/canonicalize, modules/euidaccess,
74737         modules/filemode, modules/lchown, modules/makepath,
74738         modules/rmdir, modules/stat: Likewise.
74739
74740 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
74741
74742         Merge from tar.
74743         * lib/argp-help.c (make_hol, hol_append): Don't assume that
74744         SIZE_MAX is a valid preprocessor constant.
74745         (__argp_basename): Change from "#ifndef _LIBC"
74746         to "#ifndef __argp_short_program_name", so that
74747         we don't compile these functions for tar.
74748
74749         More merges from coreutils.
74750         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
74751         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
74752         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
74753         * lib/addext.c: Remove; no longer needed.
74754         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
74755         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
74756         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
74757         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
74758         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
74759         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
74760         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
74761         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
74762         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
74763         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
74764         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
74765         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
74766         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
74767         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
74768         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
74769         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
74770         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
74771         Import changes from coreutils.
74772
74773 2004-08-05  Simon Josefsson  <jas@extundo.com>
74774
74775         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
74776
74777 2004-08-05  Simon Josefsson  <jas@extundo.com>
74778
74779         * m4/getsubopt.m4: New file.
74780
74781 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
74782
74783         Merge from coreutils.
74784
74785         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
74786         * m4/getcwd-path-max.m4: New files.
74787
74788         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
74789         FILESYSTEM_PREFIX_LEN ->
74790         FILE_SYSTEM_PREFIX_LEN.
74791         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
74792         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
74793         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
74794         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
74795
74796         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
74797         prerequisite modules now handle the DOS stuff.
74798         Don't check for unistd.h.
74799
74800 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
74801
74802         Merge from coreutils.
74803
74804         * lib/.gdb-history: Remove; this doesn't belong here.
74805
74806         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
74807         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
74808         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
74809         * lib/getcwd.c: New files.
74810
74811         * lib/dirname.h: Include <stdbool.h>.
74812         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
74813         for consistency with POSIX terminology.  All uses changed.
74814         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
74815         (strip_trailing_slashes): Use bool for booleans.
74816         * lib/stripslash.c (strip_trailing_slashes): Likewise.
74817
74818         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
74819         sometimes returns a positive errno value even when it succeeds.
74820         (print_errno_message) [!LIBC]: Fall back on strerror if
74821         __strerror_r fails.
74822
74823         * lib/path-concat.c (mempcpy): Don't define if a system header defines
74824         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
74825         (longest_relative_suffix): New function.
74826         (path_concat): Use it.  Assume first argument is not NULL.
74827         Port to DOS.  Omit redundant separators.
74828         Report an error instead of returning NULL.
74829         Use mempcpy instead of memcpy.
74830         (xpath_concat): Remove: not declared or used.
74831
74832         * lib/same.h: Include <stdbool.h>
74833         (same_name): Return bool, not int.
74834         * lib/same.c (same_name): Likewise.
74835         (errno): Don't declare; we assume C89 or better now.
74836
74837         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
74838         if not already defined.
74839
74840         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
74841         * lib/dup-safer.c (errno): Likewise.
74842
74843 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
74844
74845         Merge from coreutils.
74846         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
74847         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
74848         * modules/path-concat: Don't depend on strdup.
74849
74850 2004-08-03  Simon Josefsson  <jas@extundo.com>
74851
74852         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
74853         * lib/progname.h: Don't include stdbool.h.
74854
74855 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
74856
74857         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
74858         * MODULES.html.sh (func_all_modules): Remove fatal.
74859
74860 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
74861
74862         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
74863
74864 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
74865
74866         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
74867         working.
74868
74869 2004-08-02  Simon Josefsson  <jas@extundo.com>
74870
74871         * lib/getsubopt.h: New file, with comments from Bruno Haible.
74872         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
74873         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
74874
74875 2004-08-01  Simon Josefsson  <jas@extundo.com>
74876
74877         * lib/xgetdomainname.c: Include stdlib.h, for free().
74878
74879 2004-07-19  Bruno Haible  <bruno@clisp.org>
74880
74881         * MODULES.html.sh (func_all_modules): Add dummy.
74882
74883 2004-07-16  Simon Josefsson  <jas@extundo.com>
74884
74885         * modules/dummy: New file.
74886
74887 2004-07-16  Simon Josefsson  <jas@extundo.com>
74888
74889         * lib/dummy.c: New file.
74890
74891 2004-07-16  Bruno Haible  <bruno@clisp.org>
74892
74893         * lib/backupfile.h: Add extern "C" for C++.
74894         * lib/closeout.h: Likewise.
74895         * lib/copy-file.h: Likewise.
74896         * lib/findprog.h: Likewise.
74897         * lib/full-write.h: Likewise.
74898         * lib/pathname.h: Likewise.
74899         * lib/progname.h: Likewise.
74900         * lib/stpcpy.h: Likewise.
74901         * lib/stpncpy.h: Likewise.
74902         * lib/strcase.h: Likewise.
74903         * lib/strstr.h: Likewise.
74904         * lib/xalloc.h: Likewise.
74905
74906         * lib/mbswidth.h: Add extern "C" for C++.
74907         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
74908
74909 2004-07-13  Robert Millan  <robertmh@gnu.org>
74910
74911         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
74912
74913 2004-07-09  Simon Josefsson  <jas@extundo.com>
74914
74915         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
74916         failed without this.)
74917
74918 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
74919
74920         * modules/chown (Files): Add lib/fchown-stub.c, since
74921         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
74922
74923 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
74924
74925         * lib/fchown-stub.c: New file.
74926
74927 2004-06-24  Jim Meyering  <jim@meyering.net>
74928
74929         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
74930
74931 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
74932
74933         * modules/argz: Omit "#include".
74934
74935         * MODULES.html.sh (func_all_modules): Add calloc, to match
74936         2004-06-01 addition of calloc module.
74937
74938 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
74939
74940         * m4/argz.m4: New file, which is autoupdated from libtool.
74941
74942 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
74943
74944         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
74945         libtool.
74946
74947 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
74948
74949         * config/srclist-update: Don't insist on "USA." before the
74950         close-comment, as libtool omits the period and puts the */ on a
74951         separate line.
74952         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
74953         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
74954
74955 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
74956
74957         * modules/argz: New file.
74958         * MODULES.html.sh (func_all_modules): Add argz.
74959
74960 2004-06-12  Jim Meyering  <jim@meyering.net>
74961         and  Paul Eggert  <eggert@cs.ucla.edu>
74962
74963         * modules/hash (Files): Add lib/xalloc.h.
74964         * modules/pipe (Depends-on): Add wait-process.
74965         * modules/stat (Depends-on): Add xalloc.
74966         * modules/userspec (Files): Add lib/userspec.h.
74967         * modules/xstrto
74968
74969         Upgrade from gettext-0.13.
74970         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
74971         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
74972         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
74973
74974 2004-06-10  Jim Meyering  <jim@meyering.net>
74975
74976         * lib/calloc.c: New file.
74977
74978 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
74979
74980         * lib/getdate.y (yylex): Allow space between sign and number.
74981         Problem reported by Dan Jacobson.
74982
74983 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
74984
74985         Merge from coreutils CVS.
74986
74987         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
74988         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
74989         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
74990         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
74991         xstrtol.m4: Fix copyright date and/or serial number.
74992
74993         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
74994         See if we need an fchown replacement.
74995         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
74996         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
74997         and use the replacement function if we detect either defect.
74998
74999         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
75000         gl_UTIMECMP.
75001
75002 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
75003         and  Jim Meyering  <jim@meyering.net>
75004
75005         Merge from coreutils CVS.
75006
75007         * lib/stat-macros.h: New file, with contents from file-type.h
75008         and coreutils' system.h.
75009         * lib/file-type.c: Include "stat-macros.h".
75010         * lib/file-type.h (file_type): Move all macro definitions to new file,
75011         stat-macros.h.
75012
75013         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
75014         Wrap old code with this conditional.
75015         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
75016         function that does not dereference symlinks.
75017         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
75018
75019         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
75020         dependency problems.
75021         (xreadlink): Accept new arg SIZE, for efficiency.
75022         All decls and uses changed.
75023         * lib/xreadlink.h: Include <stddef.h>, for size_t.
75024
75025         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
75026         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
75027
75028         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
75029         sysexits.h.
75030
75031 2004-06-01  Jim Meyering  <jim@meyering.net>
75032
75033         * m4/calloc.m4: New file.
75034
75035 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
75036
75037         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
75038         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
75039         Also, fix a typo in a diagnostic.
75040
75041 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
75042
75043         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
75044         or AC_FUNC_REALLOC.
75045
75046 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
75047
75048         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
75049         macros to be defined.
75050         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
75051         the allocator returns NULL because the requested size is zero.
75052
75053 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
75054
75055         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
75056         var.  Add comment explaining why libc still defines it.  This
75057         merges the following patch from glibc:
75058         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
75059
75060 2004-05-20  Andreas Schwab  <schwab@suse.de>
75061
75062         * m4/free.m4: Replace free if it not known to work, not the other
75063         way round.
75064
75065 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
75066
75067         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
75068         present in glibc since revision 1.1 of this file.
75069         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
75070         obstack_alignment_mask, obstack_alloc, obstack_base,
75071         obstack_blank, obstack_blank_fast, obstack_chunk_size,
75072         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
75073         obstack_grow0, obstack_init, obstack_int_grow,
75074         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
75075         obstack_next_free, obstack_object_size, obstack_ptr_grow,
75076         obstack_ptr_grow_fast, obstack_room): Remove declarations of
75077         nonexistent functions.
75078
75079 2004-05-18  Karl Berry  <karl@gnu.org>
75080
75081         * config/srclist.txt: break link for vasnprintf.c.
75082
75083 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
75084
75085         Port obstack to the AS/400, where pointers are 16 bytes wide and
75086         you cannot cast an integer to a valid pointer.  This patch is
75087         currently waiting to be integrated into glibc; see
75088         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
75089
75090         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
75091         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
75092         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
75093         (struct obstack): temp member is now a union of a pointer and
75094         an integer, instead of an integer.  All integer uses changed.
75095         This does not affect the physical layout of struct obstack,
75096         except on hosts (like the AS/400) where the size or alignment of
75097         void * is greater than that of ptrdiff_t.
75098         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
75099         __STDC__)]: Store temporary in pointer member of union, not
75100         integer member.
75101         * lib/obstack.c: Include <stddef.h>, for offsetof.
75102         (struct fooalign): Remove; it doesn't need a name.
75103         (union fooround): Change double to long double, and add void *.
75104         (DEFAULT_ALIGNMENT): Use offsetof to compute.
75105         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
75106         not a macro.  Hence the values are always int; so remove all
75107         casts-to-int in uses.
75108
75109 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
75110
75111         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
75112         we can get this patch merged into glibc.
75113
75114 2004-05-17  Derek R. Price  <derek@ximbiot.com>
75115             Paul Eggert  <eggert@cs.ucla.edu>
75116
75117         * m4/argp: Depend on alloca.
75118
75119 2004-05-17  Derek R. Price  <derek@ximbiot.com>
75120             Paul Eggert  <eggert@cs.ucla.edu>
75121
75122         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
75123         freecoding.
75124
75125 2004-05-17  Bruno Haible  <bruno@clisp.org>
75126
75127         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
75128         precision that consists of a '.' followed by an empty digit string.
75129         Patch by Tor Lillqvist <tml@iki.fi>.
75130
75131 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
75132
75133         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
75134         for backward compatibility with older code.  We need our own
75135         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
75136         it under some other name, and our alloca.h will define it.
75137
75138 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
75139             Derek Price  <derek@ximbiot.com>
75140
75141         * lib/alloca.c: Include <alloca.h>, to get our interface.
75142         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
75143         include <alloca.h> first.  Use C89 prototype for alloca; this
75144         requires including <stddef.h> for size_t.  Use extern "C" if C++.
75145         Use #elif for simplicity, since we can assume C89 now.
75146         Don't try to source the system alloca.h since it will not be found
75147         and to prevent recursively including its replacement.
75148         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
75149         * lib/regex.c: Likewise.
75150
75151 2004-05-16  Derek Price  <derek@ximbiot.com>
75152             Paul Eggert  <eggert@cs.ucla.edu>
75153
75154         getline cleanup.  This changes the getndelim2 API: both order of
75155         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
75156         no delimiter).
75157
75158         * lib/getline.c: Don't include stddef.h or stdio.h, since our
75159         interface does that.
75160         (getline): Always use getdelim, so that we don't have two
75161         copies of this code.
75162         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
75163         if available.
75164         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
75165         (GETNDELIM2_MAXIMUM): New macro.
75166         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
75167         instead of the old practice of delim2==0.  All callers changed.
75168         Return -1 on overflow, instead of returning junk.
75169         Do not set *linesize unless allocation succeeds.
75170         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
75171         that we include sys/types.h.
75172         * lib/getnline.h: Likewise.
75173         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
75174         (getndelim2): Reorder arguments.
75175         * lib/getnline.c (getnline, getndelim):
75176         Don't discard the NMAX argument.
75177         (getnline): Invoke getndelim, to avoid code duplication.
75178         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
75179         of (size_t) -1 by callers of the getnline family.
75180
75181 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
75182
75183         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
75184         Check for gettimeofday.
75185         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
75186         Check for settimeofday, stime.
75187
75188 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
75189
75190         * lib/nanosleep.c (suspended): Change its type from int to
75191         sig_atomic_t volatile.
75192         (first_call): Make it private to rpl_nanosleep, and have it
75193         be zero initially as that's a bit faster.
75194         (my_usleep): Round up fractional times instead of truncating them,
75195         as this is the usual meaning for 'sleep'.
75196
75197         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
75198         doesn't work.
75199         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
75200         (ENOSYS): Define if not defined.
75201         (settime): Fall back on stime if it exists and settimeofday fails.
75202         But don't bother with fallbacks if a method fails with errno == EPERM.
75203
75204 2004-05-11  Jim Meyering  <jim@meyering.net>
75205
75206         Prior to this change, the save_cwd caller required read access to the
75207         current directory on most systems (ones with the fchdir function).
75208
75209         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
75210         fails, try write-only, and finally, resort to using xgetcwd.
75211
75212 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
75213
75214         * lib/obstack.c, obstack.h: Import changes from libc.
75215
75216 2004-04-28  Bruno Haible  <bruno@clisp.org>
75217
75218         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
75219         also implicitly appends .exe to executables.
75220         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
75221         accepts Windows pathnames.
75222         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
75223         Treat Cygwin like Windows, since it now accepts Windows pathnames.
75224         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
75225         Treat Cygwin like Windows, since it now accepts Windows pathnames.
75226         Reported by Derek Robert Price <derek@ximbiot.com>.
75227
75228 2004-04-21  Karl Berry  <karl@gnu.org>
75229
75230         * config/srclist.txt (localcharset.c): break sync.
75231
75232 2004-04-20  Paul Eggert  <eggert@twinsun.com>
75233
75234         * m4/host-os.m4: Add a copyright notice.
75235
75236 2004-04-20  Jim Meyering  <jim@meyering.net>
75237
75238         Change UTILS_ to gl_ in AC_DEFINE'd names.
75239         Change utils_- and jm_-prefixed variables, too.
75240         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
75241         UTILS_FUNC_MKDIR_TRAILING_SLASH.
75242         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
75243
75244         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
75245         Don't emit trailing blanks.
75246         Also rename jm_-prefixed variables to have gl_ prefix.
75247
75248         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
75249         Also rename jm_-prefixed variables to have gl_ prefix.
75250
75251         * m4/jm-macros.m4: Reflect the renamings.
75252         * m4/prereq.m4: Likewise.
75253
75254 2004-04-20  Jim Meyering  <jim@meyering.net>
75255
75256         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
75257         memory.
75258
75259 2004-04-20  Jim Meyering  <jim@meyering.net>
75260             Bruno Haible  <bruno@clisp.org>
75261
75262         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
75263         memory when realloc fails.
75264
75265 2004-04-19  Jim Meyering  <jim@meyering.net>
75266
75267         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
75268         now that readutmp.c may call `free (0)'.
75269
75270 2004-04-19  Bruno Haible  <bruno@clisp.org>
75271
75272         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
75273         * m4/inttypes_h.m4: Likewise.
75274         * m4/stdint_h.m4: Likewise.
75275         * m4/intmax_t.m4: Likewise.
75276         * m4/uintmax_t.m4: Likewise.
75277
75278 2004-04-18  Jim Meyering  <jim@meyering.net>
75279
75280         * m4/prereq.m4: Don't forbid jm_ prefix.
75281
75282         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
75283         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
75284         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
75285         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
75286         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
75287         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
75288         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
75289         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
75290         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
75291         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
75292         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
75293         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
75294         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
75295         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
75296         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
75297         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
75298         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
75299         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
75300         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
75301
75302 2004-04-18  Jim Meyering  <jim@meyering.net>
75303
75304         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
75305         failure, don't leak memory and do call END_UTMP_ENT.
75306
75307 2004-04-16  Jim Meyering  <jim@meyering.net>
75308
75309         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
75310         coreutils' stat program.
75311         (gl_PREREQ): Don't require jm_PREREQ_STAT.
75312
75313 2004-04-11  Paul Eggert  <eggert@twinsun.com>
75314
75315         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
75316         C89.
75317         (CHAR_BIT): Remove, since we assume C89.
75318         Include <stdint.h> if available, as per current Autoconf CVS advice.
75319
75320 2004-03-31  Jim Meyering  <jim@meyering.net>
75321
75322         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
75323         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
75324         * m4/xalloc.m4: Likewise.
75325
75326 2004-03-30  Paul Eggert  <eggert@twinsun.com>
75327
75328         Merge from coreutils.
75329
75330         * m4/inttostr.m4: New file.
75331         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
75332         Require AM_STDBOOL_H and gl_TIMESPEC instead.
75333         Require gl_CLOCK_TIME.
75334         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
75335
75336 2004-03-30  Paul Eggert  <eggert@twinsun.com>
75337
75338         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
75339         not bool, to be more consistent with Unix conventions.
75340         Suggested by Bruno Haible.
75341
75342         Merge from coreutils.
75343
75344         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
75345         * lib/umaxtostr.c: New files.
75346
75347         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
75348         the usual <time.h> dance.
75349         (get_date): Change signature to support fractional time stamps.
75350         All callers changed.
75351         * lib/getdate.y: Include "getdate.h" first, as we can now
75352         assume C89 and don't need to worry about 'const'.
75353         Similarly, include "unlocked-io.h" near start, not in middle.
75354         Include <limits.h>.
75355         (textint.value): Use long int rather than int.
75356         (textint.digits): Use size_t rather than int.
75357         (BILLION, LOG10_BILLION): New constants.
75358         (parser_control): New member rel_ns.  Members day_ordinal,
75359         time_zone, month, day, hour, minutes, rel_year, rel_month,
75360         rel_day, rel_hour, rel_minutes, rel_seconds
75361         are now long int, not int.  Member seconds is now struct timespec,
75362         not int.  New member timespec_seen.  Members dates_seen, days_seen,
75363         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
75364         not int.
75365         (%union.intval): Now long int, not int.
75366         New member timespec.
75367         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
75368         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
75369         (spec): Now is a timespec or an item list.
75370         (timespec, items): New nonterminals.
75371         (time, rel, relunit, number, get_date):
75372         Add support for fractional seconds.
75373         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
75374         (gmtime, localtime, mktime): Remove decls; not needed with C89.
75375         (to_hour): First arg is now long int, not int.
75376         (to_year): Returns long int, not int.
75377         Don't treat year -70 like 70.
75378         (tm_diff): Returns long int, not int.
75379         (lookup_word): Use bool instead of int when appropriate.
75380         (yylex): Use size_t for count, not int.
75381         Detect overflow when parsing large integer constants.
75382         Add support for fractions.
75383         (get_date): Make pointers 'const' if possible.
75384         Use more-portable code to detect integer overflow.
75385         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
75386         Don't use ctime; it's not reliable if the year has >4 digits.
75387
75388         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
75389         This is for compatibility with BSD.
75390
75391         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
75392         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
75393         From coreutils' system.h.
75394
75395         * lib/userspec.c: Don't include "posixver.h".
75396         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
75397         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
75398         compatible extension.  Simplify code by removing a boolean int
75399         that was always nonzero if a string was nonnull.
75400
75401 2004-03-30  Jim Meyering  <jim@meyering.net>
75402
75403         Merge from coreutils.
75404
75405         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
75406         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
75407         on some systems one must include <grp.h> before it.
75408         Reported by Christian Krackowizer.
75409
75410 2004-03-30  Jim Meyering  <jim@meyering.net>
75411
75412         Merge from coreutils.
75413
75414         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
75415
75416         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
75417         an empty input stream.
75418
75419         * lib/readtokens.c: Include <stdbool.h>.
75420         (readtoken): Use `size_t' rather than int/long.
75421         All callers adjusted.
75422         Use `bool' rather than `int' where appropriate.
75423         Use memset rather than an explicit loop.
75424         Use x2nrealloc rather than xrealloc.
75425         Allow the use of `\0' as a delimiter.
75426         (readtokens): Likewise.
75427         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
75428
75429 2004-03-30  Jim Meyering  <jim@meyering.net>
75430
75431         * m4/realloc.m4: Remove file, since now it does no more than
75432         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
75433         the `configure.ac' section of module/realloc.
75434         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
75435
75436 2004-03-30  Bruno Haible  <bruno@clisp.org>
75437
75438         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
75439         nonnull.
75440
75441 2004-03-29  Paul Eggert  <eggert@twinsun.com>
75442
75443         Merge changes to getloadavg.c from coreutils and Emacs.
75444
75445         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
75446         Define to an expression, not to the empty string.
75447         Include cloexec.h and xalloc.h.
75448         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
75449         Use set_cloexec_flag rather than rolling our own.
75450         * lib/cloexec.c, lib/cloexec.h: New files.
75451
75452 2004-03-29  Paul Eggert  <eggert@twinsun.com>
75453
75454         * m4/cloexec.m4: New file.
75455
75456 2004-03-18  Paul Eggert  <eggert@twinsun.com>
75457
75458         * lib/getopt.h: Sync with libc CVS.
75459
75460 2004-03-18  Paul Eggert  <eggert@twinsun.com>
75461             Bruno Haible  <bruno@clisp.org>
75462
75463         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
75464         mbswidth.
75465
75466 2004-03-18  Paul Eggert  <eggert@twinsun.com>
75467             Bruno Haible  <bruno@clisp.org>
75468
75469         * lib/mbswidth.h: Include <wchar.h> only if
75470         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
75471         <wchar.h>.
75472         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
75473
75474 2004-03-09  Paul Eggert  <eggert@twinsun.com>
75475
75476         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
75477         Sync with libc CVS.
75478         * lib/getopt_int.h: New file, also synced from libc.
75479
75480 2004-03-09  Paul Eggert  <eggert@twinsun.com>
75481
75482         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
75483         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
75484         Bring back getopt.c, getopt.h, getopt1.c.
75485
75486 2004-03-07  Paul Eggert  <eggert@twinsun.com>
75487
75488         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
75489         All uses changed.  Check for sa_sigaction member; this fixes
75490         a bug first reported by Jason Andrade in
75491         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
75492
75493 2004-03-07  Paul Eggert  <eggert@twinsun.com>
75494
75495         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
75496         '#if' expressions.  Unlike the code it replaces, it does not
75497         depend on (defined _SC_PAGESIZE).  However, it does depend on
75498         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
75499         first reported by Jason Andrade in
75500         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
75501
75502 2004-02-25  Simon Josefsson  <jas@extundo.com>
75503
75504         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
75505
75506 2004-02-25  Simon Josefsson  <jas@extundo.com>
75507
75508         * lib/strdup.h: New file.
75509         * lib/strdup.c: Include it.
75510         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
75511         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
75512
75513 2004-02-23  Karl Berry  <karl@gnu.org>
75514
75515         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
75516         (from fencepost.gnu.org:/gd/gnuorg).
75517
75518 2004-02-23  Karl Berry  <karl@gnu.org>
75519
75520         * config/srclistvars.sh (GNUORG) [karl]: redefine.
75521         * config/srclist.txt: add maintain/standards documents.
75522
75523 2004-02-18  Bruno Haible  <bruno@clisp.org>
75524
75525         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
75526         Reported by Derek Robert Price <derek@ximbiot.com>.
75527
75528 2004-02-16  Karl Berry  <karl@gnu.org>
75529
75530         * config/mkinstalldirs, install-sh: update from automake.
75531
75532 2004-02-06  Karl Berry  <karl@gnu.org>
75533
75534         * m4/po.m4: update from gettext 0.14.1.
75535
75536 2004-02-06  Karl Berry  <karl@gnu.org>
75537
75538         * lib/config.charset: update from gettext 0.14.1.
75539
75540 2004-02-05  Paul Eggert  <eggert@twinsun.com>
75541
75542         Add comments and code, prompted by suggestions from Bruno Haible
75543         for sh-quote.
75544         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
75545         describing the enum quoting_style values.
75546         * lib/quotearg.c (quotearg_alloc): New function.
75547         (quotearg_buffer_restyled): Treat lone { and } as special.
75548         Treat = as special.  Work around bug with older shells
75549         that "see" a '\' that is really the 2nd byte of a multibyte char.
75550         Quote empty string with shell_quoting_style.
75551
75552 2004-02-03  Bruno Haible  <bruno@clisp.org>
75553
75554         * m4/pipe.m4: New file, from GNU gettext.
75555
75556 2004-02-03  Bruno Haible  <bruno@clisp.org>
75557
75558         * lib/pipe.h: New file, from GNU gettext.
75559         * lib/pipe.c: New file, from GNU gettext.
75560
75561 2004-01-27  Bruno Haible  <bruno@clisp.org>
75562
75563         * m4/execute.m4: New file, from GNU gettext.
75564
75565 2004-01-27  Bruno Haible  <bruno@clisp.org>
75566
75567         * lib/execute.h: New file, from GNU gettext.
75568         * lib/execute.c: New file, from GNU gettext.
75569         * lib/w32spawn.h: New file, from GNU gettext.
75570
75571 2004-01-24  Paul Eggert  <eggert@twinsun.com>
75572
75573         Merge from diffutils.
75574
75575         * lib/file-type.c (file_type): Add typed memory objects.
75576         * lib/file-type.h (S_TYPEISTMO): New macro.
75577
75578         * lib/c-stack.h (c_stack_action): Remove argv argument.
75579         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
75580         (die): Don't calculate message unless segv_action returns.
75581         (get_stack_location, min_address_from_argv, max_address_from_argv,
75582         volatile stack_base, volatile_stack_size): Remove.
75583         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
75584         that every segmentation violation is a stack overflow.  (Ouch!)
75585         See Debian bug 136249 (still outstanding) for more info about why
75586         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
75587
75588 2004-01-24  Paul Eggert  <eggert@twinsun.com>
75589
75590         Exit-status fix from coreutils.
75591
75592         Use exit_failure consistently in place of EXIT_FAILURE,
75593         so that program exit statuses are consistent on failure.
75594
75595         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
75596         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
75597         * lib/argmatch.h: Comment fix to match the above.
75598         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
75599         Now a macro referring to exit_failure, instead of a separate
75600         variable.  Include "exitfail.h" to get it.
75601         * lib/xstrtol.h: Include "exitfail.h".
75602         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
75603
75604         * lib/long-options.c (parse_long_options): Use prototype
75605         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
75606         for clarity.
75607
75608 2004-01-21  Jim Meyering  <jim@meyering.net>
75609
75610         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
75611         so as not to conflict with a different-sized __mktime_internal
75612         function in GNU libc.
75613         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
75614         Problem building statically-linked `ls' reported by Michael Brunnbauer.
75615
75616 2004-01-20  Karl Berry  <karl@gnu.org>
75617
75618         * config/config.guess: update from config.
75619
75620         * config/srclistvars.sh: GNUWWWLICENSES for karl.
75621
75622 2004-01-20  Bruno Haible  <bruno@clisp.org>
75623
75624         Safer stack allocation.
75625         * lib/setenv.c: Include allocsa.h.
75626         (alloca): Remove fallback definition.
75627         (freea): Remove macro.
75628         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
75629         instead of freea.
75630
75631 2004-01-20  Bruno Haible  <bruno@clisp.org>
75632
75633         * m4/eealloc.m4: New file, from GNU gettext.
75634
75635 2004-01-20  Bruno Haible  <bruno@clisp.org>
75636
75637         * m4/allocsa.m4: New file, from GNU gettext.
75638
75639 2004-01-20  Bruno Haible  <bruno@clisp.org>
75640
75641         * lib/xallocsa.h: New file, from GNU gettext.
75642         * lib/xallocsa.c: New file, from GNU gettext.
75643
75644 2004-01-20  Bruno Haible  <bruno@clisp.org>
75645
75646         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
75647
75648 2004-01-20  Bruno Haible  <bruno@clisp.org>
75649
75650         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
75651         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
75652         specially.
75653
75654 2004-01-20  Bruno Haible  <bruno@clisp.org>
75655
75656         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
75657         patch.
75658
75659 2004-01-20  Bruno Haible  <bruno@clisp.org>
75660
75661         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
75662
75663 2004-01-20  Bruno Haible  <bruno@clisp.org>
75664
75665         * lib/eealloc.h: New file.
75666
75667 2004-01-20  Bruno Haible  <bruno@clisp.org>
75668
75669         * lib/binary-io.h: Avoid warnings on Cygwin.
75670
75671 2004-01-20  Bruno Haible  <bruno@clisp.org>
75672
75673         * lib/allocsa.h: New file, from GNU gettext.
75674         * lib/allocsa.c: New file, from GNU gettext.
75675
75676 2004-01-18  Karl Berry  <karl@gnu.org>
75677
75678         * doc/gpl.texi, doc/lgpl.texi: new files.
75679
75680 2004-01-18  Karl Berry  <karl@gnu.org>
75681
75682         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
75683         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
75684
75685 2004-01-15  Paul Eggert  <eggert@twinsun.com>
75686
75687         Merge from coreutils.
75688
75689         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
75690         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
75691         (gl_DEFAULT_POSIX2_VERSION): Move
75692         the documentation from 'configure' into 'config.hin',
75693         so that 'configure --help' isn't burdened by it and
75694         we don't have to worry about its formatting there.
75695         Reword the documentation so that it's more succinct
75696         and can be run together into a single paragraph.
75697         * m4/same.m4 (gl_SAME): Check for pathconf.
75698
75699 2004-01-15  Paul Eggert  <eggert@twinsun.com>
75700
75701         Merge from coreutils.
75702
75703         * lib/posixver.c: Include posixver.h.
75704
75705         * lib/same.c: Include <stdbool.h>, <limits.h>.
75706         (_POSIX_NAME_MAX): Define if not defined.
75707         (MIN): New macro.
75708         (same_name): If file names are silently truncated, report
75709         that the file names are the same if they are the same after
75710         the silent truncation.
75711
75712         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
75713         conversion function.
75714         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
75715         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
75716         longer needed.
75717
75718 2004-01-15  Jim Meyering  <jim@meyering.net>
75719
75720         Merge from coreutils.
75721
75722         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
75723         if no library is required.
75724         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
75725         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
75726         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
75727         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
75728         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
75729         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
75730         value, $ac_cv_search_crypt, if it's "none required".
75731         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
75732         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
75733         not gl_FUNC_GETLOADAVG.
75734         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
75735         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
75736
75737 2004-01-15  Jim Meyering  <jim@meyering.net>
75738
75739         Merge from coreutils.
75740
75741         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
75742         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
75743         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
75744
75745         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
75746         optional configure-time default.
75747
75748         * lib/version-etc.c (version_etc_copyright): Update copyright date.
75749
75750         * lib/xreadlink.c (xreadlink): Correct outdated comment.
75751
75752 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
75753
75754         Merge from coreutils.
75755
75756         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
75757         value, $ac_cv_search_nanosleep, if it's "none required".
75758
75759 2004-01-14  Paul Eggert  <eggert@twinsun.com>
75760
75761         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
75762         with like-named macro in fnmatch.c.
75763         (EXT): Use an internal constant instead.
75764
75765         Merge fnmatch patches from glibc.
75766         * lib/fnmatch.c (mbsinit): Remove define.
75767         Add libc_hidden_ver (__fnmatch, fnmatch).
75768         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
75769         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
75770
75771 2004-01-14  Karl Berry  <karl@gnu.org>
75772
75773         * config/install-sh: update from automake.
75774
75775 2004-01-13  Karl Berry  <karl@gnu.org>
75776
75777         * config/install-sh: update from automake.
75778
75779 2004-01-09  Karl Berry  <karl@gnu.org>
75780
75781         * config/install-sh: update from automake.
75782
75783 2004-01-05  Karl Berry  <karl@gnu.org>
75784
75785         * config/config.{sub,guess}: update from config.
75786
75787 2003-12-31  Karl Berry  <karl@gnu.org>
75788
75789         * config/depcomp: update from automake.
75790
75791 2003-12-14  Karl Berry  <karl@gnu.org>
75792
75793         * lib/config.charset: update from gettext-runtime.
75794
75795 2003-12-03  Paul Eggert  <eggert@twinsun.com>
75796
75797         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
75798         Bug reported by Alfred M. Szmidt.
75799
75800 2003-12-03  Bruno Haible  <bruno@clisp.org>
75801
75802         * m4/gettext.m4: Upgrade from gettext-0.13.
75803         * m4/po.m4: Upgrade from gettext-0.13.
75804         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
75805         * m4/intmax.m4: New file, from gettext-0.13.
75806         * m4/printf-posix.m4: New file, from gettext-0.13.
75807
75808 2003-11-29  Karl Berry  <karl@gnu.org>
75809
75810         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
75811
75812 2003-11-25  Paul Eggert  <eggert@twinsun.com>
75813             Bruno Haible  <bruno@clisp.org>
75814
75815         * lib/printf-parse.h: Don't include sys/types.h.
75816         (ARG_NONE): New macro.
75817         (char_directive): Change type of *arg_index fields to size_t.
75818         * lib/printf-parse.c: Don't include sys/types.h.
75819         (SSIZE_MAX): Remove macro.
75820         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
75821         Remove unnecessary overflow check.
75822         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
75823         fields.
75824
75825 2003-11-25  Bruno Haible  <bruno@clisp.org>
75826
75827         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
75828
75829 2003-11-25  Bruno Haible  <bruno@clisp.org>
75830
75831         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
75832         gt_TYPE_SSIZE_T.
75833
75834 2003-11-24  Paul Eggert  <eggert@twinsun.com>
75835
75836         * modules/alloca: Remove dependency on xalloc.
75837
75838 2003-11-24  Paul Eggert  <eggert@twinsun.com>
75839
75840         * lib/alloca.c: Remove dependency on xalloc module.
75841         (xalloc_die): Remove.
75842         (memory_full) [!defined emacs]: New macro.
75843         [!defined emacs]: Don't include xalloc.h.
75844         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
75845         address arithmetic overflows.  Change datatypes a bit to avoid
75846         unnecessary casts.
75847
75848 2003-11-22  Jim Meyering  <jim@meyering.net>
75849
75850         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
75851         s/size/size_t/.
75852
75853 2003-11-21  Karl Berry  <karl@gnu.org>
75854
75855         * config/config.{sub,guess}: update from config.
75856
75857 2003-11-18  Karl Berry  <karl@gnu.org>
75858
75859         * config/config.{sub,guess}: update from config.
75860
75861         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
75862
75863 2003-11-17  Paul Eggert  <eggert@twinsun.com>
75864
75865         * README: Mention that S+T cannot overflow if S is the size of
75866         an existing object and T is sufficiently small.
75867
75868 2003-11-17  Jim Meyering  <jim@meyering.net>
75869
75870         On systems without utime and without a utimes function capable of
75871         dealing with a NULL struct utimbuf* argument, this utime replacement
75872         could -- in unusual circumstances -- leak a file descriptor.
75873         * lib/utime.c: Include <unistd.h> and <errno.h>.
75874         (utime_null): Be sure to close `fd' and to preserve errno.
75875         Reported by Geoff Collyer via Arnold Robbins.
75876
75877 2003-11-17  Bruno Haible  <bruno@clisp.org>
75878
75879         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
75880         (Depends-on): Add xsize.
75881
75882 2003-11-17  Bruno Haible  <bruno@clisp.org>
75883
75884         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
75885
75886 2003-11-17  Bruno Haible  <bruno@clisp.org>
75887
75888         * lib/vasnprintf.c (alloca): Remove fallback definition.
75889         (freea): Remove definition.
75890         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
75891         Reported by Paul Eggert.
75892
75893 2003-11-16  Paul Eggert  <eggert@twinsun.com>
75894             Bruno Haible  <bruno@clisp.org>
75895
75896         Protect against address arithmetic overflow.
75897         * lib/printf-args.h: Include stddef.h.
75898         (arguments): Change type of field 'count' to size_t.
75899         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
75900         'unsigned int' where appropriate.
75901         * lib/printf-parse.h: Include sys/types.h.
75902         (char_directive): Change type of *arg_index fields to ssize_t.
75903         (char_directives): Change type of fields 'count', max_*_length to
75904         size_t.
75905         * lib/printf-parse.c: Include sys/types.h and xsize.h.
75906         (SSIZE_MAX): Define fallback value.
75907         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
75908         instead of 'int' where appropriate. Check a_allocated, d_allocated
75909         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
75910         * lib/vasnprintf.c: Include xsize.h.
75911         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
75912         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
75913         overflow. Avoid wraparound when converting a width or precision from
75914         decimal to binary.
75915
75916 2003-11-16  Bruno Haible  <bruno@clisp.org>
75917
75918         Update from GNU gettext.
75919         * lib/printf-parse.c: Generalize to it can be compiled for wide
75920         strings.
75921         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
75922         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
75923         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
75924         SNPRINTF): New macros.
75925         Don't include <alloca.h> if the file is used inside libintl.
75926         (local_wcslen): New function, for Solaris 2.5.1.
75927         (VASNPRINTF): Use it instead of wcslen.
75928
75929 2003-11-16  Bruno Haible  <bruno@clisp.org>
75930
75931         * lib/xsize.h (xmax): New function.
75932         (xsum, xsum3, xsum4): Declare as "pure" functions.
75933
75934 2003-11-12  Paul Eggert  <eggert@twinsun.com>
75935
75936         * modules/xalloc (Files): Undo latest change, since xalloc.h
75937         no longer needs SIZE_MAX or PTRDIFF_MAX.
75938
75939 2003-11-12  Paul Eggert  <eggert@twinsun.com>
75940
75941         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
75942         gl_PTRDIFF_MAX.
75943
75944 2003-11-12  Paul Eggert  <eggert@twinsun.com>
75945
75946         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
75947         "return", to pacify some unknown compiler.  Problem reported
75948         by Joerg Schilling.
75949
75950 2003-11-12  Paul Eggert  <eggert@twinsun.com>
75951
75952         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
75953         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
75954         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
75955         heuristic is just as accurate as far as we know, and it removes a
75956         dependency on size_max.m4 and ptrdiff_max.m4.
75957
75958 2003-11-11  Bruno Haible  <bruno@clisp.org>
75959
75960         * modules/xsize (Files): Add m4/size_max.m4.
75961         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
75962
75963 2003-11-11  Bruno Haible  <bruno@clisp.org>
75964
75965         * m4/size_max.m4: New file.
75966         * m4/ptrdiff_max.m4: New file.
75967         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
75968         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
75969         (gl_XALLOC): Invoke it.
75970
75971 2003-11-11  Bruno Haible  <bruno@clisp.org>
75972
75973         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
75974         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
75975         defined.
75976
75977 2003-11-10  Paul Eggert  <eggert@twinsun.com>
75978
75979         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
75980         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
75981         rejected some allocations of exactly SIZE_MAX - 2 bytes.
75982         From Bruno Haible.
75983         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
75984         not (size_t) -1, since it's defined here.
75985
75986 2003-11-09  Karl Berry  <karl@gnu.org>
75987
75988         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
75989
75990 2003-11-06  Paul Eggert  <eggert@twinsun.com>
75991
75992         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
75993         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
75994         Reject sizes of exactly SIZE_MAX bytes.
75995         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
75996         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
75997
75998 2003-11-05  Bruno Haible  <bruno@clisp.org>
75999
76000         * lib/xsize.h: Include limits.h, to avoid a possible collision with
76001         SIZE_MAX defined in <limits.h> on Solaris.
76002
76003 2003-11-04  Jim Meyering  <jim@meyering.net>
76004
76005         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
76006         variable names, rather than @VAR@.
76007         * modules/poll: Likewise.
76008
76009 2003-11-04  Bruno Haible  <bruno@clisp.org>
76010
76011         * modules/xsize: New file.
76012         * modules/linebreak: Depend on xsize.
76013         * MODULES.html.sh (func_all_modules): Add xsize.
76014
76015 2003-11-04  Bruno Haible  <bruno@clisp.org>
76016
76017         * m4/xsize.m4: New file.
76018
76019 2003-11-04  Bruno Haible  <bruno@clisp.org>
76020
76021         * lib/xsize.h: New file.
76022         * lib/linebreak.c: Include xsize.h.
76023         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
76024         argument for overflow.
76025         Suggested by Paul Eggert.
76026
76027 2003-11-03  Karl Berry  <karl@gnu.org>
76028
76029         * config/config.{guess,sub}: update from config.
76030
76031 2003-11-03  Jim Meyering  <jim@meyering.net>
76032
76033         * modules/userspec (lib_SOURCES): Add userspec.h.
76034         (Include): Add "userspec.h".
76035         Improve description.
76036
76037 2003-11-03  Jim Meyering  <jim@meyering.net>
76038
76039         * lib/userspec.c: Include "userspec.h".
76040         * lib/userspec.h: New file.
76041
76042 2003-11-03  Bruno Haible  <bruno@clisp.org>
76043
76044         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
76045
76046 2003-11-03  Bruno Haible  <bruno@clisp.org>
76047
76048         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
76049         available, to avoid (extremely rare) race condition.
76050         Suggested by Paul Eggert.
76051
76052 2003-11-02  Karl Berry  <karl@gnu.org>
76053
76054         * config/srclist.txt (vasprintf.c): sync broken, sigh.
76055
76056 2003-10-31  Paul Eggert  <eggert@twinsun.com>
76057
76058         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
76059         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
76060         (read_filesystem_list): Set and use me_type_malloced.
76061         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
76062         whatever the type happens to be), for brevity and consistency.
76063         Check for size calculation overflow on Alphas running OSF/1.
76064
76065 2003-10-31  Jim Meyering  <jim@meyering.net>
76066
76067         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
76068
76069         * lib/linebuffer.c: Include <string.h> for declaration of memset.
76070
76071 2003-10-30  Paul Eggert  <eggert@twinsun.com>
76072             Bruno Haible  <bruno@clisp.org>
76073
76074         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
76075         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
76076
76077 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
76078
76079         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
76080         netbsd*-gnu*.  Suggested by Robert Millan.
76081
76082 2003-10-29  Paul Eggert  <eggert@twinsun.com>
76083
76084         * modules/group-member: Depend on stdbool.
76085
76086 2003-10-29  Paul Eggert  <eggert@twinsun.com>
76087
76088         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
76089
76090 2003-10-29  Paul Eggert  <eggert@twinsun.com>
76091
76092         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
76093         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
76094         after the 'gnu' in these cases.  This fixes some bugs in the
76095         previous change, and is based on suggestions by Robert Millan.
76096
76097 2003-10-29  Paul Eggert  <eggert@twinsun.com>
76098
76099         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
76100         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
76101         no longer needed.
76102         * lib/quotearg.c (quotearg_n_options): Use it.
76103         * lib/group-member.c: Include <stdbool.h>.
76104         (free_group_info): Arg is now const *; don't free arg.
76105         (get_group_info): Now returns bool and accepts struct group_info *,
76106         rather than returning a malloc'ed struct group_info *.
76107         All uses changed.  Check for overflow in internal size calculation.
76108
76109         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
76110         rather than xmalloc/xrealloc.
76111         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
76112         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
76113         conformance bug: the old code used a pointer after freeing the
76114         storage that it addressed.
76115         * lib/hash.c (hash_initialize): Simplify the code by using
76116         xalloc_oversized rather than doing it by hand.
76117         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
76118         the buffer preserved.  Use free and xmalloc instead.
76119         * lib/quotearg.c (quotearg_n_options): Likewise.
76120         Use a simpler test for size overflow.  Don't use xalloc_oversized
76121         because unsigned int might be wider than size_t (!); this suggests
76122         that we should switch from unsigned int to size_t for slot numbers.
76123
76124 2003-10-28  Paul Eggert  <eggert@twinsun.com>
76125
76126         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
76127         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
76128         NetBSD kernels.  Requested by Richard Stallman.
76129
76130 2003-10-27  Paul Eggert  <eggert@twinsun.com>
76131
76132         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
76133         to allocate the returned structure.  Do not allocate a subarray,
76134         as x2nrealloc will do that.
76135         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
76136         instead of xnrealloc.
76137         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
76138
76139 2003-10-27  Bruno Haible  <bruno@clisp.org>
76140
76141         * lib/stdbool_.h: Better support for BeOS.
76142
76143 2003-10-26  Paul Eggert  <eggert@twinsun.com>
76144
76145         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
76146         now uses inline.
76147
76148 2003-10-26  Paul Eggert  <eggert@twinsun.com>
76149
76150         * lib/xalloc.h (xalloc_oversized): New static inline function, for
76151         callers that want to do their own size-overflow checking.  Include
76152         <stdbool.h>, since xalloc_oversized returns bool.
76153         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
76154         to use xalloc_oversized.
76155
76156         Add two functions x2realloc, x2nrealloc, for programs that grow
76157         arrays dynamically by doubling their sizes.
76158         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
76159         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
76160         New functions.
76161
76162         Port to C99 semantics for 'inline' of external functions.
76163         Bug reported by Bruno Haible.
76164         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
76165         with the old contents of xnmalloc.
76166         (xnmalloc, xmalloc): Use it.
76167         (xnrealloc_inline): New static inline function,
76168         with the old contents of xnrealloc.
76169         (xnrealloc, xrealloc): Use it.
76170
76171         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
76172         that.
76173
76174 2003-10-26  Karl Berry  <karl@gnu.org>
76175
76176         * config/srclist.txt (COPYING.DOC): no longer available from
76177         /gd/gnuorg; don't know where the ultimate source is.
76178
76179 2003-10-25  Paul Eggert  <eggert@twinsun.com>
76180
76181         Fix several address-calculation bugs in the hash modules,
76182         plus some minor code cleanup.
76183
76184         * lib/hash.h: Include <stdbool.h>, for bool.
76185         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
76186         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
76187         hash_get_n_entries, hash_get_max_bucket_length,
76188         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
76189         hash_rehash): Use size_t rather than unsigned.
76190         * lib/hash.c (struct hash_table, hash_get_n_buckets,
76191         hash_get_n_buckets_used, hash_get_n_entries,
76192         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
76193         hash_get_entries, hash_do_for_each, hash_string, is_prime,
76194         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
76195         Likewise.
76196         (SIZE_MAX): Define if not defined.
76197         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
76198         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
76199         hash_print):
76200         Use const * when possible.
76201         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
76202         (check_tuning): Fix bug: if tuning parameters were very close to
76203         0 or 1, rounding errors could have caused subscript violations.
76204         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
76205         (hash_initialize): Add 'fail:' label
76206         to free table and return NULL, and use it to simplify code.
76207         Use calloc rather than clearing the storage ourself.
76208         (hash_initialize, hash_rehash): Check for arithmetic overflow in
76209         buffer size calculations.
76210         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
76211         Include <stddef.h>, for size_t.
76212         * lib/hash-pjw.c (hash_pjw): Likewise.
76213         Switch to method described by Bruno Haible.
76214         Include <limits.h>, for CHAR_BIT.
76215         (SIZE_BITS): New macro.
76216
76217 2003-10-23  Paul Eggert  <eggert@twinsun.com>
76218
76219         * m4/getline.m4 (AM_FUNC_GETLINE):
76220         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
76221         hosts.  Problem reported by Derek Robert Price in
76222         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
76223         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
76224         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
76225
76226 2003-10-21  Paul Eggert  <eggert@twinsun.com>
76227
76228         * lib/getndelim2.c (getndelim2): When size calculation overflows,
76229         ceiling the allocation at NMAX bytes rather than silently
76230         discarding input bytes before NMAX is reached.  This makes
76231         a difference only if NMAX exceeds SIZE_MAX / 2.
76232
76233         * lib/obstack.c: Merge from glibc.
76234         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
76235         Add libc_hidden_def (_obstack_newchunk).
76236         (_obstack_free) [! defined _LIBC]: Remove.
76237         [defined _LIBC]: Make a strong alias from obstack_free, rather than
76238         a clone of the function body.
76239         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
76240         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
76241
76242         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
76243         glibc.
76244         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
76245         arg to memcpy.
76246
76247         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
76248         (obstack_ptr_grow_fast, obstack_int_grow_fast):
76249         Don't use lvalue casts, as GCC plans to remove support for them
76250         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
76251         was also present in the non-GCC version, indicating that this
76252         code had always been buggy and had never been widely used.
76253         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
76254         Use the fast variant of each macro, rather than copying the
76255         definiens of the fast variant; that way, we'll be more likely to
76256         catch future bugs in the fast variants.
76257
76258 2003-10-20  Bruno Haible  <bruno@clisp.org>
76259
76260         * modules/wait-process: New file.
76261         * MODULES.html.sh (func_all_modules): Add wait-process.
76262
76263 2003-10-20  Bruno Haible  <bruno@clisp.org>
76264
76265         * m4/wait-process.m4: New file.
76266
76267 2003-10-20  Bruno Haible  <bruno@clisp.org>
76268
76269         * lib/wait-process.h: New file, from GNU gettext.
76270         * lib/wait-process.c: New file, from GNU gettext.
76271
76272 2003-10-19  Jim Meyering  <jim@meyering.net>
76273
76274         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
76275         HPUX 10.20.
76276
76277 2003-10-18  Karl Berry  <karl@gnu.org>
76278
76279         * config/config.guess: update from config.
76280
76281 2003-10-16  Paul Eggert  <eggert@twinsun.com>
76282
76283         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
76284         (getgroups): First arg is int, not size_t.
76285         Don't let 'free' mangle errno.
76286
76287 2003-10-16  Paul Eggert  <eggert@twinsun.com>
76288
76289         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
76290
76291 2003-10-16  Karl Berry  <karl@gnu.org>
76292
76293         * config/config.{guess,sub}: update from config.
76294
76295 2003-10-16  Jim Meyering  <jim@meyering.net>
76296
76297         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
76298         memcpy.
76299
76300 2003-10-15  Paul Eggert  <eggert@twinsun.com>
76301
76302         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
76303         (SIZE_MAX): Remove.
76304         (new_exclude, add_exclude_file): Initial size no longer needs to
76305         be a power of 2.
76306         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
76307         our own address arithmetic overflow checking.
76308
76309         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
76310         (fnmatch): Do not alloca more than 2000 wide characters;
76311         instead, use malloc for large buffers.
76312         Check for address arithmetic overflow, and return -1
76313         with errno set to ENOMEM in that case.
76314         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
76315         (NEW_PATTERN): Do not alloca more than 8000 bytes;
76316         instead, return -1.  Check for address arithmetic overflow.
76317
76318 2003-10-14  Paul Eggert  <eggert@twinsun.com>
76319
76320         Handle invalid suffixes and overflow independently, so that
76321         callers can treat them independently as needed.  Fix some bugs in
76322         suffix handling, e.g., "100k@" was not diagnosed as an invalid
76323         suffix for a human-readable blocksize.  The major caller-visible
76324         change is the addition of a new
76325         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
76326         that both overflow and suffix chars were found.
76327
76328         * lib/human.c (humblock): Don't check separately for invalid suffix
76329         char; that is xstrtoumax's job (now that its bug is fixed).
76330         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
76331         INTMAX_MAX]: New macros.
76332         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
76333         TYPE_MAXIMUM): New macros.
76334         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
76335         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
76336         if overflow occurs, as it's what __strtol does and it's more useful
76337         in practice.
76338         (__xstrtol): If __strtol reports some error other than ERANGE,
76339         reflect it to the caller as LONGINT_INVALID.  If it reports
76340         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
76341         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
76342         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
76343         value.
76344         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
76345         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
76346         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
76347         [defined UINTMAX_MAX]: New macros.
76348
76349 2003-10-14  Bruno Haible  <bruno@clisp.org>
76350
76351         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
76352
76353 2003-10-14  Bruno Haible  <bruno@clisp.org>
76354
76355         * m4/sig_atomic_t: New file, from GNU gettext.
76356         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
76357
76358 2003-10-14  Bruno Haible  <bruno@clisp.org>
76359
76360         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
76361         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
76362         Also use volatile where needed.
76363
76364 2003-10-12  Paul Eggert  <eggert@twinsun.com>
76365
76366         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
76367         Change maintainer from Bruno Haible to 'all'.
76368
76369 2003-10-12  Paul Eggert  <eggert@twinsun.com>
76370
76371         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
76372
76373 2003-10-12  Paul Eggert  <eggert@twinsun.com>
76374
76375         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
76376         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
76377         and define in terms of the other primitives.
76378         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
76379         (SIZE_MAX): Define if not already defined.
76380         (array_size_overflow): New function.
76381         (xalloc_die): Abort instead of exiting if 'error' returns.
76382         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
76383         (xmalloc, xrealloc): Use them.
76384         (xcalloc): Check for address arithmetic overflow.
76385         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
76386         a bit faster than strcpy.
76387
76388 2003-10-10  Simon Josefsson  <jas@extundo.com>
76389
76390         * modules/argp (Depends-on): Add restrict and strcase.
76391
76392 2003-10-10  Simon Josefsson  <jas@extundo.com>
76393
76394         * m4/argp.m4: Add AC_C_INLINE.
76395
76396 2003-10-08  Paul Eggert  <eggert@twinsun.com>
76397
76398         Merge getpass from libc, plus a few fixes.
76399
76400         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
76401         Include <stdbool.h>.
76402         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
76403         __fsetlocking to empty.
76404         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
76405         do include <bits/libc-lock.h>.
76406         Do not include <fcntl.h>; not needed.
76407         [_LIBC]: Include <wchar.h>.
76408         (NOTCANCEL_MODE): New macro.
76409         (flockfile, funlockfile) [_LIBC]: New macros.
76410         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
76411         [!_LIBC]: New macros.
76412         (call_fclose): New function.
76413         (getpass): Use it.  Save tty stream separately; this simplifies the
76414         code and makes it more reliable if stdin happens to equal stdout.
76415         Invoke __fsetlocking on tty.
76416         Handle thread cancellation if needed.
76417         Namespace cleanup (use __tcgetattr, __getline).
76418         Use bool for Booleans.
76419         [USE_IN_LIBIO]: Handle wide streams.
76420         [!_LIBC]: Unconditionally do the fseek, since we don't know what
76421         stream might go where.
76422
76423         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
76424         doesn't have to include <stdio.h> before us.
76425         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
76426         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
76427         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
76428         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
76429         if not declared, so that we can use getpass.c code from libc without
76430         rewriting it.
76431         (flockfile, ftrylockfile, funlockfile): New macros.
76432
76433 2003-10-08  Paul Eggert  <eggert@twinsun.com>
76434
76435         * modules/getpass: Depend on stdbool.
76436
76437 2003-10-08  Paul Eggert  <eggert@twinsun.com>
76438
76439         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
76440
76441 2003-10-07  Karl Berry  <karl@gnu.org>
76442
76443         * config/config.{guess,sub}: update from config.
76444
76445 2003-10-06  Jim Meyering  <jim@meyering.net>
76446             Bruno Haible  <bruno@clisp.org>
76447
76448         This lets translators provide better translations for the
76449         "Written by ..." part of --version output.
76450         * lib/version-etc.h: Include stdarg.h.
76451         (version_etc_copyright): Declare as readonly.
76452         (version_etc): Make this function variadic with a NULL-terminated list
76453         of author name strings.
76454         (version_etc_va): New declaration.
76455         * lib/version-etc.c: Include stdarg.h, stdlib.h.
76456         (version_etc_copyright): Declare as readonly.
76457         (version_etc_va): New function. Provide a different translatable string
76458         for each possible number of authors < 10. Abbreviate when there are 10
76459         authors or more.
76460         (version_etc): Make this function variadic. Call version_etc_va.
76461         Suggestion from Gary V. Vaughan.
76462
76463         * lib/long-options.h (parse_long_options): Change prototype: the
76464         authors string is moved to the end and becomes variadic.
76465         * lib/long-options.c: Include stdarg.h.
76466         (parse_long_options): Make this function variadic, too.
76467         Call version_etc_va, not version_etc.
76468
76469 2003-10-06  Bruno Haible  <bruno@clisp.org>
76470
76471         * modules/version-etc-2: Remove file.
76472         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
76473
76474 2003-10-06  Bruno Haible  <bruno@clisp.org>
76475
76476         * modules/fatal-signal: New file.
76477         * MODULES.html.sh (func_all_modules): Add fatal-signal.
76478
76479 2003-10-06  Bruno Haible  <bruno@clisp.org>
76480
76481         * m4/fatal-signal.m4: New file.
76482         * m4/signalblocking.m4: New file, from GNU gettext.
76483
76484 2003-10-06  Bruno Haible  <bruno@clisp.org>
76485
76486         * lib/version-etc-2.h: Remove file.
76487         * lib/version-etc-2.c: Remove file.
76488
76489 2003-10-06  Bruno Haible  <bruno@clisp.org>
76490
76491         * lib/fatal-signal.h: New file, from GNU gettext.
76492         * lib/fatal-signal.c: New file, from GNU gettext.
76493
76494 2003-10-05  Paul Eggert  <eggert@twinsun.com>
76495
76496         * README: Rework advice for preventing empty .o files.
76497         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
76498         not <sys/types.h>.
76499
76500 2003-10-04  Karl Berry  <karl@gnu.org>
76501
76502         * lib/argp*: update from libc.
76503
76504 2003-10-04  Karl Berry  <karl@gnu.org>
76505
76506         * config/config.{guess,sub}: update from config.
76507
76508 2003-10-02  Bruno Haible  <bruno@clisp.org>
76509
76510         * modules/lchown (Include): Add lchown.h.
76511         * modules/time_r (Include): Use "..." syntax.
76512         * modules/xgetdomainname (Include): Add xgetdomainname.h.
76513
76514 2003-10-01  Simon Josefsson  <jas@extundo.com>
76515
76516         * MODULES.html.sh (func_all_modules): Move gethostname from section
76517         'based on' to section 'lacking' POSIX:2001.
76518
76519 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
76520
76521         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
76522         to output mode on the same stream.
76523
76524 2003-09-29  Paul Eggert  <eggert@twinsun.com>
76525
76526         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
76527         Fix arg typo in previous patch.
76528
76529 2003-09-28  Jim Meyering  <jim@meyering.net>
76530
76531         * lib/error.c: Correct cpp indentation.
76532
76533 2003-09-27  Paul Eggert  <eggert@twinsun.com>
76534
76535         * modules/free: New file.
76536
76537 2003-09-27  Paul Eggert  <eggert@twinsun.com>
76538
76539         * m4/free.m4: New file.
76540
76541 2003-09-27  Paul Eggert  <eggert@twinsun.com>
76542
76543         * lib/minmax.h (MIN, MAX)
76544         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
76545         Omit the special code that used __typeof__, since we worry that
76546         it could be more trouble than it's worth.  See:
76547         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
76548         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
76549
76550         * lib/free.c: New file.
76551
76552 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
76553
76554         Trivial fixes to Makefile.am parts of module listings.
76555         * modules/strstr: Append strstr.h to lib_SOURCES.
76556         * modules/strcase: Likewise, for strcase.h.
76557
76558 2003-09-27  Karl Berry  <karl@gnu.org>
76559
76560         * config/mkinstalldirs: update from automake.
76561
76562 2003-09-26  Paul Eggert  <eggert@twinsun.com>
76563
76564         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
76565         (error_tail): Do not loop, reallocating temporary buffer, since
76566         the output cannot contain more wide characters than the input
76567         contains bytes, the size must be big enough already.  This avoids
76568         one potential size overflow calculation.  Check for size overflow
76569         when calculating temporary buffer size.  Free temporary buffer
76570         when done, if it was allocated with malloc; this plugs a memory
76571         leak.  Remove casts from void * to pointers, that are no longer
76572         needed now that we're assuming C89 or better.
76573
76574         Merge error changes from glibc.
76575
76576         * lib/error.c, error.h: Update copyright notice header to match glibc.
76577         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
76578         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
76579         Disable cancellation while printing error.
76580         * lib/error.h: Prepend __ to parameter names.
76581
76582 2003-09-26  Jim Meyering  <jim@meyering.net>
76583
76584         * lib/error.c (error_tail): Move some declarations
76585         into inner scope where the local variables are used.
76586
76587 2003-09-26  Bruno Haible  <bruno@clisp.org>
76588
76589         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
76590         stpncpy().
76591         Don't define stpncpy through config.h; it's now done through stpncpy.h.
76592
76593 2003-09-26  Bruno Haible  <bruno@clisp.org>
76594
76595         * lib/stpncpy.h (gnu_stpncpy): New declaration.
76596         (stpncpy): Define as alias for gnu_stpncpy.
76597         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
76598
76599 2003-09-25  Simon Josefsson  <jas@extundo.com>
76600
76601         * lib/xgetdomainname.h: New file.
76602         * lib/xgetdomainname.c: New file.
76603
76604 2003-09-25  Simon Josefsson  <jas@extundo.com>
76605             Bruno Haible  <bruno@clisp.org>
76606
76607         * modules/getdomainname: New file.
76608         * modules/xgetdomainname: New file.
76609         * MODULES.html.sh (func_all_modules): Add getdomainname,
76610         xgetdomainname.
76611
76612 2003-09-25  Simon Josefsson  <jas@extundo.com>
76613             Bruno Haible  <bruno@clisp.org>
76614
76615         * m4/getdomainname.m4: New file.
76616
76617 2003-09-25  Simon Josefsson  <jas@extundo.com>
76618             Bruno Haible  <bruno@clisp.org>
76619
76620         * lib/getdomainname.h: New file.
76621         * lib/getdomainname.c: New file.
76622
76623 2003-09-25  Karl Berry  <karl@gnu.org>
76624
76625         * lib/argp-fmtstream.c, argp-help.c: update from libc.
76626
76627 2003-09-25  Karl Berry  <karl@gnu.org>
76628
76629         * config/install-sh: update from automake.
76630
76631 2003-09-25  Bruno Haible  <bruno@clisp.org>
76632
76633         * modules/version-etc-2: New file, from modules/version-etc with
76634         modifications.
76635         * MODULES.html.sh (func_all_modules): Add version-etc-2.
76636
76637 2003-09-25  Bruno Haible  <bruno@clisp.org>
76638
76639         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
76640         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
76641
76642 2003-09-24  Simon Josefsson  <jas@extundo.com>
76643
76644         * modules/xgethostname: Add xgethostname.h.
76645
76646 2003-09-24  Paul Eggert  <eggert@twinsun.com>
76647
76648         * lib/linebuffer.c (freebuffer): Don't free the argument, just
76649         the buffer associated with the argument.  Bug reported by
76650         Simon Josefsson.
76651
76652 2003-09-24  Paul Eggert  <eggert@twinsun.com>
76653
76654         * README: Document assumptions that 'int' is at least 32 bits
76655         wide, that integer arithmetic is 2's complement without overflow,
76656         that there are no holes in integer values, that adding sizes of
76657         two nonoverlapping objects can't overflow, and that all-bits-zero
76658         yields scalar zero.  Fix spelling and capitalization typos.
76659
76660 2003-09-19  Karl Berry  <karl@gnu.org>
76661
76662         * lib/argp.h: update from libc.
76663
76664 2003-09-17  Paul Eggert  <eggert@twinsun.com>
76665
76666         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
76667         to avoid spurious warnings like "AC_RUN_IFELSE was called before
76668         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
76669
76670 2003-09-17  Paul Eggert  <eggert@twinsun.com>
76671
76672         * gnulib-tool: Use "test -h", not "test -L", for portability
76673         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
76674         (tags_regexp): Remove, since \| doesn't conform to POSIX.
76675         (sed_extract_prog): Issue s commands one-by-one, rather than
76676         using \| in one s command.
76677
76678 2003-09-16  Paul Eggert  <eggert@twinsun.com>
76679
76680         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
76681         input error, instead of returning NULL the next time we are called
76682         (and therefore losing track of errno).
76683
76684 2003-09-16  Bruno Haible  <bruno@clisp.org>
76685
76686         * gnulib-tool (func_create_testdir): Warn about duplicated
76687         dependencies.
76688
76689 2003-09-15  Paul Eggert  <eggert@twinsun.com>
76690
76691         * modules/argmatch, modules/fatal, modules/obstack,
76692         modules/xalloc, modules/xgethostname: Sort dependencies by
76693         importance, not alphabetically.
76694
76695 2003-09-15  Paul Eggert  <eggert@twinsun.com>
76696
76697         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
76698         fails, so that the caller gets the proper errno.
76699
76700         * lib/readutmp.c (read_utmp): Likewise.
76701         Check for fstat error.  Close stream and free storage
76702         when failing.
76703
76704 2003-09-14  Karl Berry  <karl@gnu.org>
76705
76706         * config/srclist.txt (strdup.c): disable for c89 changes.
76707
76708 2003-09-14  Jim Meyering  <jim@meyering.net>
76709
76710         * lib/getloadavg.c: Correct cpp indentation.
76711         * lib/strdup.c: Likewise.
76712         * lib/vasnprintf.c: Likewise.
76713
76714 2003-09-14  Bruno Haible  <bruno@clisp.org>
76715
76716         * modules/fwriteerror: New file.
76717         * MODULES.html.sh (func_all_modules): Add fwriteerror.
76718
76719 2003-09-14  Bruno Haible  <bruno@clisp.org>
76720
76721         * lib/fwriteerror.h: New file.
76722         * lib/fwriteerror.c: New file.
76723
76724 2003-09-12  Paul Eggert  <eggert@twinsun.com>
76725
76726         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
76727         modules/xgethostname, modules/xalloc: Depend on exit.
76728
76729 2003-09-12  Paul Eggert  <eggert@twinsun.com>
76730
76731         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
76732
76733         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
76734         and AC_MINIX, too, so that their extensions are available.
76735
76736         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
76737         This macro has been superseded by gl_BACKUPFILE.
76738
76739         More patches to assume C89 or better.
76740
76741         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
76742
76743         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
76744         unconditionally.
76745         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
76746         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
76747         Include <string.h>, <stdlib.h> unconditionally.
76748         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
76749         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
76750         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
76751         headers or for string.h.
76752         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
76753         or strtoul.
76754
76755         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
76756         headers.
76757         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
76758         * m4/userspec.m4 (gl_USERSPEC): Likewise.
76759         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
76760         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
76761         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
76762         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
76763         memcpy, memset.
76764         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
76765         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
76766         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
76767         strtol.
76768         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
76769         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
76770         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
76771         strtoul.
76772
76773 2003-09-12  Paul Eggert  <eggert@twinsun.com>
76774
76775         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
76776         * lib/obstack.c [!defined _LIBC]: Likewise.
76777         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
76778         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
76779         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
76780
76781         More changes to assume C89 or better.
76782
76783         * lib/error.c (error_tail): Assume vprintf.
76784
76785         * lib/argmatch.c (getenv): Remove decl.
76786         * lib/progreloc.c (get_full_program_name): Define via prototype.
76787         * lib/setenv.c (clearenv): Likewise.
76788         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
76789         needed.
76790         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
76791         (malloc, memcpy): Remove decls.
76792         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
76793         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
76794         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
76795         (memcpy): Remove macro.
76796         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
76797         (__P): Remove.  All uses removed.
76798         (PTR): Remove.  All uses changed to void *.
76799         (CHAR_BIT, NULL): Remove.
76800         (spaces, zeros, memset_space, memset_zero)
76801         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
76802         Remove.
76803         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
76804         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
76805         Define with prototype.
76806         Remove now-unnecessary prototype decl.
76807         (extra_args_spec): Assume ANSI C.  All uses changed.
76808         (extra_args_spec_iso): Remove.
76809         (my_strftime, emacs_strftimeu): Define via prototype.
76810         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
76811         unconditionally.
76812         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
76813         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
76814         (strtoul, strtol): Remove decls.
76815         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
76816         LONG_MAX): Remove.
76817         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
76818         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
76819         (LOCALE_PARAM_PROTO): New macro.
76820         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
76821         (INTERNAL (strtol), strtol): Define with a prototype.
76822         (PARAMS): Remove.  All uses removed.
76823         * lib/tempname.c: Include <string.h> unconditionally.
76824         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
76825         * lib/xgethostname.c (main): Define with a prototype.
76826         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
76827         Include <stdlib.h> unconditionally.
76828         (calloc, malloc, realloc, free): Remove decls.
76829         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
76830         Include <stdlib.h> unconditionally.  Sort include file names.
76831         (strtod): Remove.
76832         (xstrtod): Define with a prototype.
76833         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
76834         (strtol, strtoul): Remove decls.
76835
76836 2003-09-11  Paul Eggert  <eggert@twinsun.com>
76837
76838         More patches to assume C89 or better.
76839         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
76840         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
76841         string.h, memchr, STDC_HEADERS.
76842
76843 2003-09-11  Paul Eggert  <eggert@twinsun.com>
76844
76845         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
76846         Include <stdlib.h>, <string.h> unconditionally.
76847         Remove now-unnecessary cast to char *.
76848         * lib/strnlen.c: Include <string.h> unconditionally.
76849         * lib/yesno.c (yesno): Define with a prototype.
76850
76851 2003-09-11  Bruno Haible  <bruno@clisp.org>
76852
76853         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
76854
76855 2003-09-10  Jim Meyering  <jim@meyering.net>
76856
76857         * lib/error.c: Correct indentation of cpp directives.
76858
76859 2003-09-10  Bruno Haible  <bruno@clisp.org>
76860
76861         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
76862         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
76863         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
76864         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
76865         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
76866         <stdlib.h> and <string.h> checks.
76867         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
76868         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
76869
76870 2003-09-10  Bruno Haible  <bruno@clisp.org>
76871
76872         * lib/strcspn.c: Include <string.h> unconditionally.
76873         * lib/strpbrk.c: Include <string.h> unconditionally.
76874         * lib/strstr.c: Include <string.h> unconditionally.
76875         * lib/unicodeio.c: Include <string.h> unconditionally.
76876         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
76877         * lib/unsetenv.c: Likewise.
76878         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
76879         * lib/yesno.c: Include <stdlib.h> unconditionally.
76880         (rpmatch): Add prototype.
76881
76882 2003-09-09  Paul Eggert  <eggert@twinsun.com>
76883
76884         More patches to assume C89 or better.
76885         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
76886         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
76887         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
76888         or for string.h.
76889         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
76890         stdlib.h.
76891         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
76892         C headers.
76893         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
76894         string.h.
76895         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
76896         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
76897         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
76898         or for string.h.
76899         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
76900         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
76901         C headers.
76902         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
76903         memcpy.
76904         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
76905         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
76906         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
76907         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
76908         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
76909         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
76910         string.h, free.
76911         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
76912         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
76913         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
76914         C headers, or for string.h.
76915         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
76916         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
76917         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
76918         headers, memory.h, stdlib.h, string.h, strings.h.
76919         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
76920         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
76921         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
76922         strchr.
76923         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
76924         headers, memory.h, string.h.
76925         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
76926         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
76927         free.
76928         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
76929         headers.
76930         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
76931         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
76932         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
76933         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
76934         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
76935
76936 2003-09-09  Paul Eggert  <eggert@twinsun.com>
76937
76938         More K&R removal.
76939
76940         * lib/acosl.c (main): Use a prototype.
76941         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
76942         tanl.c: Likewise.
76943
76944         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
76945
76946         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
76947         (getopt, etopt_long, getopt_long_only, _getopt_internal)
76948         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
76949         with a prototype.
76950         * lib/getopt.c (const): Remove macro.
76951         Include <string.h> unconditionally.
76952         (my_index): Remove; all uses changed to strchr.
76953         (strlen): Remove decl.
76954         (exchange): Remove forward decl; no longer needed.
76955         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
76956         Define with prototype.
76957         * lib/getopt1.c (const): Remove macro.
76958         (getopt_long, getopt_long_only, main): Define with prototype.
76959
76960         * lib/getugroups.c: Include <string.h> unconditionally.
76961
76962         * lib/getusershell.c: Include <stdlib.h> unconditionally.
76963         (getusershell, setusershell, endusershell, readname, main):
76964         Define with prototypes.
76965
76966         * lib/group-member.c: Include group-member.h first.
76967         Include <stdlib.h> unconditionally.
76968
76969         * lib/hard-locale.c: Include hard-locale.h first.
76970         Include <stdlib.h>, <string.h> unconditionally.
76971
76972         * lib/hash.c (free, malloc): Remove decls.
76973         Include <stdlib.h> unconditionally.
76974
76975         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
76976         (getenv): Do not declare.
76977
76978         * lib/idcache.c: Include <string.h> unconditionally.
76979
76980         * lib/long-options.c: Include long-options.h first, to test interface.
76981         Include <stdlib.h> unconditionally.
76982
76983         * lib/makepath.c: Include makepath.h first, to test interface.
76984         Include <stdlib.h> and <string.h> unconditionally.
76985
76986         * lib/linebuffer.c: Include <stdlib.h>.
76987         (free): Remove decl.
76988
76989         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
76990         stddef.h. rpl_malloc returns void *, not char *.
76991         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
76992         prototype.
76993
76994         * lib/md5.h: Include <limits.h> unconditionally.
76995         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
76996         (__P): Remove; all uses removed.
76997         * lib/md5.c: Include "md5.h" first.
76998         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
76999         md5_buffer, md5_process_bytes, md5_process_block):
77000         Define with prototypes.
77001         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
77002         * lib/sha.c: Include "sha.h" first.
77003         Include <stdlib.h>, <string.h> unconditionally.
77004
77005         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
77006         * lib/memcmp.c (__ptr_t): Likewise.
77007         * lib/memrchr.c (__ptr_t): Likewise.
77008         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
77009         Include <string.h> unconditionally.
77010         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
77011         * lib/memchr.c: Include <stdlib.h> unconditionally.
77012         * lib/memchr.c (LONG_MAX): Remove.
77013         * lib/memrchr.c (LONG_MAX): Likewise.
77014         * lib/memchr.c (__memchr): Define via a prototype.
77015         * lib/memrchr.c (__memrchr): Likewise.
77016         * lib/memcmp.c (__P): Remove, and remove all uses.
77017         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
77018         Remove forward decls; no longer needed.
77019         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
77020         Use types required by C89 in prototype.
77021
77022         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
77023         * lib/savedir.c: Likewise.
77024         * lib/mkdir.c (free): Remove decl.
77025         * lib/rmdir.c (rmdir): Define with a prototype.
77026         * lib/savedir.c: Include savedir.h first, to test interface.
77027
77028         * lib/mktime.c (STDC_HEADERS): Remove.
77029         Include <stdlib.h>, <string.h> unconditionally.
77030
77031         * lib/modechange.c: Include <stdlib.h> unconditionally.
77032         (malloc): Remove decl.
77033
77034         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
77035         (free): Remove decl.
77036
77037         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
77038         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
77039         (This type really should be intptr_t, but that's a C99ism.)
77040         (_obstack_memcpy): Remove: all uses changed to memcpy.
77041         Include <string.h> unconditionally.
77042         (struct obstack): Assume __STDC__ for types of members
77043         chunkfun, freefun, extra_arg.
77044         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
77045         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
77046         obstack_begin, obstack_specify_allocation,
77047         obstack_specify_allocation_with_arg, obstack_chunkfun,
77048         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
77049         Remove unprototyped decls and the macros that use them.
77050         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
77051         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
77052         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
77053         (defined __STDC__ && __STDC__)]:
77054         Remove nonprototyped code.
77055         Include <stdlib.h> unconditionally.
77056         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
77057         _obstack_allocated_p, _obstack_free, obstack_free,
77058         _obstack_memory_used, print_and_abort):
77059         Define using prototypes.
77060         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
77061         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
77062         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
77063         obstack_next_free, obstack_object_size, obstack_room) [0]:
77064         Remove unused, unprototyped code.
77065
77066         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
77067
77068         * lib/physmem.c (physmem_total, physmem_available, main): Define
77069         with prototypes.
77070
77071         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
77072         (main): Define with a prototype.
77073
77074         * lib/posixver.c (getenv): Remove decl.
77075
77076         * lib/putenv.c (malloc): Returns void *, not char *.
77077         Include <string.h> unconditionally.
77078         (strchr, memcpy, NULL): Do not define.
77079
77080         * lib/readtokens.c: Include readtokens.h first, to test interface.
77081         Include <stdlib.h>, <string.h> unconditionally.
77082         (init_tokenbuffer): Define with a prototype.
77083
77084         * lib/regex.c (PARAMS): Remove.  All uses removed.
77085         All uses of _RE_ARGS removed, too.
77086         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
77087         unconditionally.
77088         (bzero): Assume memset exists.
77089         (memcmp, memcpy, NULL): Remove.
77090         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
77091         char, or assignments to local vars of type signed char.
77092         (init_syntax_once, PREFIX(extract_number_and_incr),
77093         PREFIX(print_partial_compiled_pattern),
77094         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
77095         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
77096         PREFIX(regex_grow_registers), PREFIX(regex_compile),
77097         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
77098         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
77099         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
77100         wcs_compile_range, byte_compile_range, truncate_wchar,
77101         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
77102         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
77103         count_mbs_length, wcs_re_match_2_internal,
77104         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
77105         PREFIX(alt_match_null_string_p),
77106         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
77107         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
77108         regfree, PREFIX(extract_number)): Define with prototype.  Remove
77109         now-unnecessary declaration, if any.
77110         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
77111         regcomp, regexec):
77112         Remove now-unnecessary casts among pointer types.
77113         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
77114
77115         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
77116         (free): Remove decl.
77117
77118         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
77119
77120         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
77121         (free): Remove decl.
77122
77123         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
77124         * lib/xgetcwd.c: Likewise.
77125
77126         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
77127         (free): Remove decl.
77128
77129         * lib/strchrnul.c (strchrnul): Define with a prototype.
77130         Fix bug: c_in was not converted to char before searching.
77131
77132         The following changes are not K&R related:
77133
77134         * lib/group-member.h: Include <sys/types.h>, so that this file is
77135         self-contained.
77136         * lib/makepath.h: Likewise.
77137
77138         * lib/getusershell.c (readname, default_index, line_size, readname):
77139         Use size_t, not int, for sizes.
77140         (readname): If the size overflows, report an error instead of
77141         looping forever.
77142
77143 2003-09-09  Paul Eggert  <eggert@twinsun.com>
77144
77145         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
77146         libc.
77147
77148 2003-09-09  Paul Eggert  <eggert@twinsun.com>
77149
77150         * README: New section: portability guidelines.
77151
77152 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
77153
77154         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
77155         C89 spec.
77156
77157 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
77158
77159         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
77160
77161 2003-09-08  Paul Eggert  <eggert@twinsun.com>
77162
77163         Assume C89 or better; remove K&R cruft.
77164         A few of these changes were first proposed by Derek Robert Price
77165         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
77166
77167         * lib/addext.c: Include <string.h> unconditionally.
77168         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
77169         Don't declare getenv or malloc.
77170
77171         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
77172         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
77173         (NULL): Remove.
77174         (find_stack_direction, alloca): Use prototypes.
77175
77176         * lib/atexit.c (atexit): Define using a prototype.
77177
77178         * lib/basename.c, dirname.c, stripslash.c:
77179         Include <string.h> unconditionally.
77180
77181         * lib/bcopy.c: Include <stddef.h>.
77182         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
77183
77184         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
77185
77186         * lib/error.h (error, error_at_line, error_print_progname)
77187         [! (defined (__STDC__) && __STDC__)]: Remove decls.
77188         * lib/error.c: Include error.h first, to check interface.
77189         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
77190         (VA_START): Remove; all uses changeed to va_start.
77191         (exit, strerror): Remove decls.
77192         (error_print_progname): Prototype uncondionally.
77193         Don't include <errno.h>; no longer needed.
77194         (private_strerror): Remove.
77195         (error_tail): Always define.
77196         (error, error_at_line): Assume C89 or better; always use prototypes.
77197         * lib/fatal.c: Include "fatal.h" first, to test interface.
77198         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
77199         (VA_START): Remove; all uses changed to va_start.
77200         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
77201         this case.
77202         (exit): Remove decl.
77203         (fatal): Prototype unconditionally.  Assume va_start works.
77204         Abort at end, to pacify gcc.
77205
77206         * lib/euidaccess.c (main): Define with a prototype.
77207
77208         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
77209
77210         * lib/exitfail.c: Include <stdlib.h> unconditionally.
77211
77212         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
77213         prototypes.
77214         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
77215         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
77216         (getenv): Remove decl.
77217         (fnmatch): Define using a prototype.
77218         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
77219         (FCT): Define using a prototype.
77220
77221         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
77222
77223         * lib/gethostname.c: Include <stddef.h>.
77224         (gethostname): Define with prototype.  Length is size_t, not int.
77225
77226 2003-09-08  Paul Eggert  <eggert@twinsun.com>
77227
77228         Assume C89 or better; remove K&R cruft.
77229         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
77230         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
77231         string.h, getenv, malloc.
77232         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
77233         headers.
77234         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
77235         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
77236         do not check for strerror.
77237         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
77238         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
77239         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
77240         do not check for doprnt or vprintf.
77241         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
77242         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
77243
77244 2003-09-08  Paul Eggert  <eggert@twinsun.com>
77245
77246         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
77247         getversion.c should have been removed then, but was accidentally
77248         preserved.
77249
77250         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
77251         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
77252
77253 2003-09-08  Karl Berry  <karl@gnu.org>
77254
77255         * config/config.sub, config.guess, srclistvars.sh: update from savannah
77256                 config, forget about prep.
77257
77258         * config/depcomp, missing: update from automake.
77259
77260 2003-09-07  Paul Eggert  <eggert@twinsun.com>
77261
77262         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
77263         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
77264
77265 2003-09-07  Paul Eggert  <eggert@twinsun.com>
77266
77267         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
77268         copy_tm_result.  Bug reported by Simon Josefsson in
77269         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
77270
77271 2003-09-06  Paul Eggert  <eggert@twinsun.com>
77272
77273         * m4/time_r.m4: New file.
77274         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
77275         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
77276         is. Check for timegm declaration.
77277         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
77278         Do not check for gmtime_r.
77279         Replace mktime if __mktime_internal does not exist and if mktime
77280         hasn't been replaced already.
77281
77282 2003-09-06  Paul Eggert  <eggert@twinsun.com>
77283
77284         * lib/time_r.c, lib/time_r.h: New files.
77285
77286         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
77287         __localtime_r.
77288         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
77289         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
77290
77291         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
77292         __gmtime_r.
77293         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
77294         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
77295         Include <time_r.h>.
77296
77297         * lib/timegm.c: Switch to glibc implementation, with the following
77298         changes:
77299         [defined HAVE_CONFIG_H]: Include <config.h>.
77300         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
77301         (__mktime_internal) [!defined _LIBC]: New decl.
77302         (__gmtime_r) [!defined _LIBC]: New macro and function.
77303         (timegm): Use a prototype, since gnulib assumes C89.
77304         Do not bother declaring tmp to be const, as it's not really usefu.
77305         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
77306         (timegm): Declare only if HAVE_DECL_TIMEGM.
77307
77308 2003-09-06  Paul Eggert  <eggert@twinsun.com>
77309
77310         * MODULES.html.sh (func_all_modules): Add time_r.
77311         * modules/time_r: New file.
77312         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
77313         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
77314
77315 2003-09-03  Paul Eggert  <eggert@twinsun.com>
77316
77317         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
77318         Bug reported by Lute Kamstra in
77319         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
77320
77321         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
77322         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
77323         course with correspondingly smaller numbers for tomorrow and
77324         yesterday.  From Tadayoshi Funaba.  Originally installed into
77325         sh-utils on 1999-08-07, but the patch got lost (I guess during the
77326         coreutils merge?).
77327
77328 2003-08-31  Simon Josefsson  <jas@extundo.com>
77329
77330         * modules/timegm: New file.
77331         * MODULES.html.sh (func_all_modules): Add timegm.
77332
77333 2003-08-31  Simon Josefsson  <jas@extundo.com>
77334
77335         * m4/timegm.m4: New file.
77336
77337 2003-08-31  Simon Josefsson  <jas@extundo.com>
77338
77339         * lib/timegm.h: New file.
77340         * lib/timegm.c: New file.  Based on
77341         wget-1.8.2/src/http.c:mktime_from_utc.
77342
77343 2003-08-31  Karl Berry  <karl@gnu.org>
77344
77345         * lib/argp.h: update from libc.
77346
77347 2003-08-28  Bruno Haible  <bruno@clisp.org>
77348
77349         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
77350         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
77351         followed by '#define fnmatch fnmatch_posix' gives an error.
77352
77353 2003-08-28  Bruno Haible  <bruno@clisp.org>
77354
77355         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
77356         warning on QNX, which defines O_BINARY to 000000.
77357
77358 2003-08-27  Jim Meyering  <jim@meyering.net>
77359
77360         * m4/mkstemp.m4: Require that the system mkstemp be able to create
77361         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
77362         would fail after 32.  Reported by Danny Levinson.  Details here:
77363         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
77364
77365 2003-08-24  Bruno Haible  <bruno@clisp.org>
77366
77367         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
77368         MSVC7 <stdio.h> is included later.
77369
77370 2003-08-22  Simon Josefsson  <jas@extundo.com>
77371
77372         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
77373
77374 2003-08-20  Karl Berry  <karl@gnu.org>
77375
77376         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
77377
77378 2003-08-20  Bruno Haible  <bruno@clisp.org>
77379
77380         * modules/progname: New file.
77381         * MODULES.html.sh (func_all_modules): Add progname.
77382
77383 2003-08-20  Bruno Haible  <bruno@clisp.org>
77384
77385         * lib/progname.h: New file, from GNU gettext.
77386         * lib/progname.c: New file, from GNU gettext.
77387         * lib/progreloc.c: New file, from GNU gettext.
77388
77389 2003-08-19  Jim Meyering  <jim@meyering.net>
77390
77391         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
77392         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
77393
77394 2003-08-19  Bruno Haible  <bruno@clisp.org>
77395
77396         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
77397         more.
77398
77399 2003-08-19  Bruno Haible  <bruno@clisp.org>
77400
77401         * lib/xstrdup.c: Assume <string.h> exists.
77402
77403 2003-08-18  Paul Eggert  <eggert@twinsun.com>
77404
77405         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
77406         in makefile rules.
77407
77408 2003-08-18  Jim Meyering  <jim@meyering.net>
77409
77410         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
77411         * m4/lib-ld.m4: Likewise.
77412
77413 2003-08-18  Jim Meyering  <jim@meyering.net>
77414
77415         * lib/setenv.h: Indent nested cpp directive.
77416         * lib/vasnprintf.c: Remove trailing blanks.
77417
77418 2003-08-17  Simon Josefsson  <jas@extundo.com>
77419
77420         * modules/xstrndup: New file.
77421         * MODULES.html.sh (func_all_modules): Add xstrndup.
77422
77423 2003-08-17  Simon Josefsson  <jas@extundo.com>
77424
77425         * modules/argp: Fix autoconf macro name. Add more dependencies.
77426
77427 2003-08-17  Simon Josefsson  <jas@extundo.com>
77428
77429         * m4/xstrndup.m4: New file.
77430
77431 2003-08-17  Simon Josefsson  <jas@extundo.com>
77432
77433         * m4/argp.m4: New file.
77434
77435 2003-08-17  Simon Josefsson  <jas@extundo.com>
77436             Bruno Haible  <bruno@clisp.org>
77437
77438         * lib/xstrndup.h: New file.
77439         * lib/xstrndup.c: New file.
77440
77441 2003-08-17  Bruno Haible  <bruno@clisp.org>
77442
77443         * modules/strndup (Files, Include): Add lib/strndup.h.
77444
77445 2003-08-17  Bruno Haible  <bruno@clisp.org>
77446
77447         * modules/euidaccess (Files): Add lib/euidaccess.h.
77448
77449 2003-08-17  Bruno Haible  <bruno@clisp.org>
77450
77451         * lib/strndup.h: New file.
77452
77453 2003-08-17  Bruno Haible  <bruno@clisp.org>
77454
77455         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
77456         like AC_GNU_SOURCE.
77457         * modules/extensions (configure.ac): Comment out the invocation of
77458         gl_USE_SYSTEM_EXTENSIONS.
77459
77460 2003-08-16  Paul Eggert  <eggert@twinsun.com>
77461
77462         Merges from coreutils, etc.
77463         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
77464         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
77465         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
77466         fixing a typo.
77467         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
77468         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
77469
77470 2003-08-16  Paul Eggert  <eggert@twinsun.com>
77471
77472         Document merge from coreutils.
77473         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
77474         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
77475         * modules/utime: Add m4/utimes-null.m4.
77476
77477 2003-08-16  Paul Eggert  <eggert@twinsun.com>
77478
77479         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
77480         space, undoing this 2003-08-12 change:
77481         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
77482
77483 2003-08-16  Paul Eggert  <eggert@twinsun.com>
77484
77485         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
77486         strtoul.c from libc, undoing this 2003-08-12 change:
77487         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
77488
77489 2003-08-16  Jim Meyering  <jim@meyering.net>
77490
77491         Merges from coreutils.
77492         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
77493         prefix.  Adjust cache variables similarly.  Create 500 rather than
77494         just 300 files, to exercise bug on Darwin6.5, too.
77495         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
77496         $missing_dir.
77497         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
77498         AM_SYS_POSIX_TERMIOS.
77499         Reported by mkc@mathdogs.com.
77500         Also change use of $am_cv_sys_posix_termios
77501         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
77502         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
77503         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
77504         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
77505         in /proc/mounts until it finds one with matching device number.  This
77506         is unnecessary when the FILE argument *is* a mount point.  No stat call
77507         is necessary in that case.  So, disable the statvfs-testing code on
77508         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
77509         as RedHat bug# 84846.
77510         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
77511         to 1MB, so as not to render systems with no stack size limit (e.g.,
77512         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
77513         Include <unistd.h>.  On some systems,
77514         it is required for the definition of _SC_PAGESIZE.
77515
77516 2003-08-16  Jim Meyering  <jim@meyering.net>
77517
77518         Merge from coreutils.
77519         * lib/xstrtoimax.c: #else #if -> #elif.
77520         * lib/xstrtoumax.c: Likewise.
77521
77522 2003-08-16  Jim Meyering  <jim@meyering.net>
77523
77524         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
77525         * m4/utimes.m4: Removed.
77526         * m4/utimes-null.m4: Renamed from utimes.m4.
77527
77528         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
77529         to 1MB, so as not to render systems with no stack size limit (e.g.,
77530         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
77531         Include <unistd.h>.  On some systems,
77532         it is required for the definition of _SC_PAGESIZE.
77533
77534 2003-08-16  Jim Meyering  <jim@meyering.net>
77535         and Paul Eggert  <eggert@cs.ucla.edu>
77536
77537         Merges from coreutils, etc.
77538
77539         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
77540         using the latest version from cvs.  This avoids problems with #line
77541         directives using a vendor (Sun) compiler.
77542         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
77543         Don't set GETGROUPS_LIB here; now it's
77544         done via getgroups.m4's wrapper function.
77545         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
77546         rather than just in sh-util/configure.in, so that the
77547         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
77548         same.
77549         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
77550         AC_FUNC_GETLOADAVG where to find getloadavg.c.
77551         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
77552         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
77553         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
77554         Remove code that is now done by the newly-required macros.
77555         Append $(EXEEXT) to DF_PROG.
77556         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
77557         Do not invoke or require the following here,
77558         since prereq.m4 or some gnulib .m4 now does this for us:
77559         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
77560         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
77561         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
77562         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
77563         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
77564         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
77565         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
77566         AC_FUNC_OBSTACK.
77567         Do not replace the following functions, as this is now the job
77568         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
77569         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
77570         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
77571         atexit getpass, strdup, getpagesize.
77572         Replace 'raise'.
77573         Do not check for the following functions, as this is now the job
77574         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
77575         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
77576         setregid.
77577         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
77578         Check for sys/sysctl.h.
77579         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
77580         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
77581         of checking for ssize_t ourselves.
77582
77583         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
77584         Require every macro that gnulib/modules/* suggests for us.
77585         (jm_PREREQ_ADDEXT): New macro.
77586         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
77587         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
77588
77589         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
77590         (gl_PHYSMEM): Use it.
77591         Also check for `table' function.
77592         Check for new headers and functions.
77593         Add check for sys/sysmp.h.
77594         With suggestions from Kaveh Ghazi.
77595         Ignore headers that are present but cannot be compiled.  This
77596         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
77597         C 5.4.
77598
77599 2003-08-15  Paul Eggert  <eggert@twinsun.com>
77600
77601         Document merge from coreutils.
77602         * modules/userspec: Depend on posixver.
77603         * modules/strftime: Depend on tzset.
77604
77605 2003-08-15  Paul Eggert  <eggert@twinsun.com>
77606
77607         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
77608         rather than tab, after '#' in shell-script copyright notices.
77609         Suggested by Bruno Haible.
77610
77611 2003-08-15  Paul Eggert  <eggert@twinsun.com>
77612
77613         * config/srclist-update: Use three spaces, rather than tab, after '#'
77614         in shell-script copyright notices.  Suggested by Bruno Haible.
77615         Remove unnecessary parenthesization in regular expression.
77616
77617 2003-08-15  Jim Meyering  <jim@meyering.net>
77618
77619         Merge from coreutils.
77620         * lib/xgethostname.c: Include <stdlib.h>.
77621         (xghostname): Don't exit for anything other than memory-related
77622         failure; just return NULL.
77623         * lib/userspec.c: Include "posixver.h".
77624         (parse_user_spec): Accept `.' as a separator only
77625         in pre-POSIX-200112 mode.
77626         * lib/strtoimax.c: Use #elif rather than #else #if.
77627         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
77628         Remove function, now that we can rely on a working tzset function.
77629         [!_LIBC]: Ensure that the required autoconf test has been run.
77630         [!defined _NL_CURRENT && HAVE_STRFTIME]:
77631         Use underlying_strftime for %r.
77632         * lib/sha.c: Merge in some clean-up and optimization changes from
77633         glibc.
77634         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
77635         Ensure that it is a multiple of 64.
77636         Rearrange loop exit tests so as to avoid performing an
77637         additional fread after encountering an error or EOF.
77638         * lib/realloc.c: Update copyright date.
77639
77640 2003-08-15  Jim Meyering  <jim@meyering.net>
77641         and Paul Eggert  <eggert@twinsun.com>
77642
77643         Merge from coreutils.
77644         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
77645         member but strut utmpx does not.  Needed for AIX 4.3.3.
77646         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
77647
77648 2003-08-15  Jim Meyering  <jim@meyering.net>
77649         and Paul Eggert  <eggert@cs.ucla.edu>
77650
77651         Merges from coreutils, etc.
77652         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
77653         Require gl_FUNC_TZSET_CLOBBER.
77654         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
77655         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
77656         members.
77657
77658 2003-08-14  Paul Eggert  <eggert@twinsun.com>
77659
77660         Help the merge from coreutils.
77661         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
77662         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
77663         * m4/tzset.m4: Use it too.
77664
77665 2003-08-14  Paul Eggert  <eggert@twinsun.com>
77666
77667         * modules/tzset: New file.
77668
77669 2003-08-14  Jim Meyering  <jim@meyering.net>
77670
77671         Merges from coreutils.
77672         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
77673         variable names, rather than @FNMATCH_H@.
77674         * modules/alloca: Likewise for $(ALLOCA_H).
77675
77676         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
77677         the three copies of the literal target, `fnmatch.h'.
77678         * modules/alloca (alloca.h): Likewise.
77679
77680 2003-08-14  Jim Meyering  <jim@meyering.net>
77681
77682         Merge from coreutils.
77683         * m4/tzset.m4: New file.
77684         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
77685         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
77686         otherwise, AIX 5.1 systems would end up using the latter.
77687         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
77688         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
77689         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
77690         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
77691
77692 2003-08-14  Jim Meyering  <jim@meyering.net>
77693
77694         Merge from coreutils.
77695         * lib/obstack.h: Whitespace changes.
77696         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
77697         and xcalloc return values.
77698         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
77699         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
77700         hang on OSF/1 5.1 for DIR on both local and remote file systems.
77701         Reported by (and fix confirmed by) Nelson H. F. Beebe.
77702         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
77703         error from mntctl.
77704         Use mntctl's return value to drive the entry-processing loop, since
77705         we can't rely on the value of the vmt_length member in the last
77706         entry.  On some systems doing so could result in exhausting
77707         virtual memory.  Based in part on a patch from Mike Jetzer.
77708
77709 2003-08-14  Jim Meyering  <jim@meyering.net>
77710         and Paul Eggert  <eggert@twinsun.com>
77711
77712         Merges from coreutils, plus other fixes.
77713         * lib/physmem.c: Merge in portability changes from gcc/libiberty
77714         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
77715         for credits and details.  Thanks to Kaveh Ghazi for helping
77716         to keep these files in sync.
77717         (ARRAY_SIZE): Define it.
77718         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
77719         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
77720         (memcasecmp): Don't assume size_t fits in unsigned int.
77721         Remove casts and duplicate code.
77722         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
77723         (memcpy): Remove definition.
77724         Merge in some clean-up and optimization changes from glibc.
77725         [BLOCKSIZE]: Move definition to top of file.
77726         Ensure that it is a multiple of 64.
77727         Rearrange loop exit tests so as to avoid performing an
77728         additional fread after encountering an error or EOF.
77729         * lib/md5.h (md5_uintptr): Define.
77730         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
77731         return to the initial working directory.  Preserve errno
77732         for caller.
77733         * lib/idcache.c: Include "xalloc.h".
77734         (xmalloc, xrealloc): Remove decls.
77735         (getuser): Remove casts no longer required in C89.
77736         * lib/human.c: Include stdio.h, for sprintf.
77737         * lib/group-member.c: Include "xalloc.h".
77738         (xmalloc, xrealloc): Remove decls.
77739         (get_group_info): Remove casts no longer required in C89.
77740         * lib/getusershell.c (readname): Remove casts no longer required in
77741         C89.
77742         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
77743         * lib/getline.c: Whitespace fix, from coreutils.
77744
77745 2003-08-13  Paul Eggert  <eggert@twinsun.com>
77746
77747         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
77748         Check for isascii.
77749
77750         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
77751         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
77752         Undo previous (whitespace-only) change.
77753
77754 2003-08-13  Paul Eggert  <eggert@twinsun.com>
77755
77756         * lib/exclude.c: Include <ctype.h>
77757         (IN_CTYPE_DOMAIN): New macro.
77758         (is_space): New fn.
77759         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
77760         and empty lines.
77761
77762         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
77763         Undo previous (whitespace-only) change.
77764
77765 2003-08-13  Paul Eggert  <eggert@twinsun.com>
77766
77767         * config/srclist-update: Change update back to the old behavior,
77768         leaving whitespace alone.  Use one 'sed' command rather than a
77769         pipeline.
77770         (fixlicense): Now a variable, not a function.
77771         (remove_trailing_blanks): Remove.
77772         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
77773         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
77774         Undo previous (whitespace-only) change.
77775
77776 2003-08-12  Paul Eggert  <eggert@twinsun.com>
77777
77778         Merge from coreutils.
77779         * modules/euidaccess: Add lib_SOURCES, include for new
77780         file euidaccess.h
77781
77782 2003-08-12  Paul Eggert  <eggert@twinsun.com>
77783
77784         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
77785         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
77786         Normalize leading white space and remove trailing white space.
77787
77788         Merge from coreutils
77789         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
77790
77791         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
77792         0.12.1.  These files are now being upgraded automatically by
77793         ../config/srclist-update.
77794
77795 2003-08-12  Paul Eggert  <eggert@twinsun.com>
77796
77797         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
77798         Normalize leading white space and remove trailing white space.
77799         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
77800         notice, as per ../config/srclist-update.
77801
77802         Merge from coreutils.
77803         * lib/euidaccess.h: New file.
77804         * lib/euidaccess.c: Include it.
77805         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
77806         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
77807         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
77808
77809 2003-08-12  Paul Eggert  <eggert@twinsun.com>
77810
77811         * config/srclist-update: Add copyright notice.
77812         (remove_id_lines, remove_trailing_blanks): New constants.
77813         (fixfile): Use them to normalize spacing a bit in copied files.
77814         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
77815         Normalize leading white space and remove trailing white space.
77816
77817         * config/texinfo.tex: Sync with texinfo.
77818
77819         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
77820         strtoul.c from libc, to merge coreutils whitespace changes.
77821
77822         * config/srclist.txt: Get the following m4 files from gettext:
77823         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
77824         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
77825         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
77826         wint_t.m4.
77827
77828 2003-08-12  Karl Berry  <karl@gnu.org>
77829
77830         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
77831         been made.
77832
77833 2003-08-11  Paul Eggert  <eggert@twinsun.com>
77834
77835         * modules/gnu-source, m4/gnu-source.m4:
77836         Remove; we're assuming Autoconf 2.54 or later now.
77837         Suggested by Bruno Haible.
77838         * MODULES.html.sh (func_all_modules): Remove gnu-source.
77839
77840 2003-08-11  Bruno Haible  <bruno@clisp.org>
77841
77842         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
77843
77844 2003-08-11  Bruno Haible  <bruno@clisp.org>
77845
77846         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
77847         (vasnprintf): Use it instead of wcslen.
77848
77849 2003-08-11  Bruno Haible  <bruno@clisp.org>
77850
77851         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
77852         value to ensure that _Bool promotes to int. Use #define for _Bool when
77853         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
77854
77855 2003-08-10  Karl Berry  <karl@gnu.org>
77856
77857         * lib/regex.h: update from libc (whitespace fix).
77858
77859 2003-08-09  Paul Eggert  <eggert@twinsun.com>
77860
77861         Merge some files from coreutils.  These changes were
77862         originally made by Jim Meyering.
77863         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
77864         many older Unixes require this.
77865         * lib/alloca.c (alloca): Remove cast to argument of free;
77866         no longer needed in C89.
77867         * lib/alloca_.h, regex.h: Fix white space to match
77868         what GNU indent does.
77869
77870 2003-08-09  Paul Eggert  <eggert@twinsun.com>
77871
77872         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
77873         apparently Emacs's Unicode mode got confused before my 2003-08-05
77874         checkin.
77875
77876 2003-08-08  Paul Eggert  <eggert@twinsun.com>
77877
77878         * m4/extensions.m4: New file.
77879         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
77880         Require gl_USE_SYSTEM_EXTENSIONS.
77881         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
77882         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
77883
77884 2003-08-08  Paul Eggert  <eggert@twinsun.com>
77885
77886         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
77887         * modules/extensions, modules/gnu-source: New files.
77888         * modules/timespec, modules/unlocked-io: Depend on extensions.
77889
77890 2003-08-07  Paul Eggert  <eggert@twinsun.com>
77891
77892         * modules/restrict: New file.
77893         * MODULES.html.sh (func_all_modules): Add restrict.
77894         * modules/regex: Depend on restrict.
77895
77896 2003-08-07  Paul Eggert  <eggert@twinsun.com>
77897
77898         * m4/restrict.m4: New file.
77899         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
77900
77901 2003-08-07  Bruno Haible  <bruno@clisp.org>
77902
77903         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
77904         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
77905
77906 2003-08-07  Bruno Haible  <bruno@clisp.org>
77907
77908         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
77909         makes the module 'getndelim2' compatible with the module 'getline'.
77910
77911 2003-08-05  Paul Eggert  <eggert@twinsun.com>
77912
77913         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
77914         byte with "\201" to avoid glitches when editing that source file
77915         with multi-gnome-terminal.
77916
77917 2003-08-05  Paul Eggert  <eggert@twinsun.com>
77918
77919         * lib/bumpalloc.h: Remove.
77920
77921 2003-08-05  Paul Eggert  <eggert@twinsun.com>
77922
77923         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
77924         * modules/bumpalloc: Remove.
77925
77926 2003-08-04  Paul Eggert  <eggert@twinsun.com>
77927
77928         * lib/getloadavg.c: Change copyright notice and spacing to conform to
77929         GNU coding style.
77930
77931         Merge from coreutils.
77932         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
77933         1. From glibc.
77934         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
77935         from Karl Berry, implemented by Jim Meyering.
77936         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
77937         from Dmitry V. Levin.
77938         Remove anachronistic cast of xrealloc.
77939         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
77940         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
77941         type. Otherwise, it wouldn't compile with at least /bin/cc on
77942         ymp-cray-unicos9.0.2.X.
77943         Combine two mostly-identical uses of alloca into one.
77944         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
77945
77946 2003-08-04  Dave Love  <d.love@dl.ac.uk>
77947
77948         [From Emacs.]
77949
77950         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
77951         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
77952         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
77953         obsolete NLIST_NAME_UNION.
77954         [__GNU__]: Undef BSD and FSCALE.
77955         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
77956
77957 2003-08-03  Paul Eggert  <eggert@twinsun.com>
77958
77959         * lib/stdbool_.h (_Bool): Make it signed char, instead of
77960         an enum type, so that it's guaranteed to promote to int.  See:
77961         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
77962
77963 2003-08-03  Karl Berry  <karl@gnu.org>
77964
77965         * config/depcomp: update from automake.
77966
77967 2003-07-31  Paul Eggert  <eggert@twinsun.com>
77968
77969         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
77970         (strerror): Don't assume that a printable int fits in 14 bytes.
77971
77972 2003-07-31  Bruno Haible  <bruno@clisp.org>
77973
77974         * modules/getpass-gnu: New file.
77975         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
77976
77977 2003-07-31  Bruno Haible  <bruno@clisp.org>
77978
77979         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
77980
77981 2003-07-24  Karl Berry  <karl@gnu.org>
77982
77983         * config/missing: update from automake.
77984
77985 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
77986             Bruno Haible  <bruno@clisp.org>
77987
77988         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
77989         * lib/getline.c (getline, getdelim): Likewise.
77990         Remove _GNU_SOURCE define; now it's defined in config.h through
77991         m4/getline.m4.
77992
77993 2003-07-23  Karl Berry  <karl@gnu.org>
77994
77995         * config/config.sub: update from prep.
77996
77997 2003-07-22  Paul Eggert  <eggert@twinsun.com>
77998
77999         * modules/xalloc (Depends-on): Add exitfail.
78000         * modules/xmemcoll: Likewise.
78001
78002 2003-07-22  Paul Eggert  <eggert@twinsun.com>
78003
78004         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
78005         over-parenthesization in macros.
78006
78007         Sync with coreutils.
78008
78009         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
78010         required by C99.
78011
78012         Use `exit_failure' for xalloc and xmemcoll instead of their own
78013         private exit-failure variables.
78014         * lib/xalloc.h (xalloc_exit_failure): Remove.
78015         * lib/xmalloc.c: Likewise.  Include exitfail.h.
78016         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
78017         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
78018         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
78019         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
78020
78021 2003-07-20  Jim Meyering  <jim@meyering.net>
78022
78023         * modules/closeout (Depends-on): Add exitfail.
78024         Suggestion from Bruno Haible.
78025
78026 2003-07-19  Karl Berry  <karl@gnu.org>
78027
78028         * config/config.sub: update from prep.
78029
78030 2003-07-18  Paul Eggert  <eggert@twinsun.com>
78031
78032         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
78033         Remove.
78034         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
78035         to test that it can stand by itself.  Include "exitfail.h".
78036         Clients should set exit_failure instead.
78037         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
78038
78039 2003-07-18  Bruno Haible  <bruno@clisp.org>
78040
78041         * modules/getndelim2: New file.
78042         * modules/getline: Share files with module getndelim2.
78043         * modules/getnline: Depend on getndelim2 instead of sharing files with
78044         it. Add getnline.c to lib_SOURCES.
78045         * MODULES.html.sh (func_all_modules): Add getndelim2.
78046
78047 2003-07-18  Bruno Haible  <bruno@clisp.org>
78048
78049         * m4/getndelim2.m4: New file.
78050         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
78051         invoke gl_PREREQ_GETNDELIM2.
78052         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
78053         gl_PREREQ_GETNDELIM2.
78054         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
78055         gl_GETNDELIM2.
78056
78057 2003-07-18  Bruno Haible  <bruno@clisp.org>
78058
78059         * lib/getndelim2.h: New file.
78060         * lib/getndelim2.c: Make into a module of its own. Include config.h,
78061         getndelim2.h.
78062         (getndelim2): Make non-static. Change return type to ssize_t.
78063         * lib/getline.h: Change argument names.
78064         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
78065         * lib/getnline.c: Include getndelim2.h.
78066
78067 2003-07-18  Andreas Schwab  <schwab@suse.de>
78068
78069         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
78070
78071 2003-07-17  Karl Berry  <karl@gnu.org>
78072
78073         * config/config.sub: update from prep.
78074
78075 2003-07-17  Bruno Haible  <bruno@clisp.org>
78076
78077         * modules/getnline: New file.
78078         * modules/getline: Add lib/getndelim2.c to source file list.
78079         * MODULES.html.sh (func_all_modules): Add getnline.
78080
78081 2003-07-17  Bruno Haible  <bruno@clisp.org>
78082
78083         * m4/getnline.m4: New file.
78084
78085 2003-07-17  Bruno Haible  <bruno@clisp.org>
78086
78087         * m4/Makefile.am.in: Remove file.
78088         * m4/Makefile.am: Remove file.
78089         * m4/Makefile.in: Remove file.
78090
78091 2003-07-17  Bruno Haible  <bruno@clisp.org>
78092
78093         * lib/getnline.h: New file.
78094         * lib/getnline.c: New file.
78095         * lib/getndelim2.c: New file, extracted from getline.c.
78096         (getndelim2): Renamed from getdelim2, with added nmax argument.
78097         * lib/getline.c: Include getndelim2.c.
78098         (getdelim2): Moved out to getndelim2.c.
78099         (getline, getdelim): Update.
78100
78101 2003-07-17  Bruno Haible  <bruno@clisp.org>
78102
78103         * lib/Makefile.am: Remove file.
78104         * lib/Makefile.in: Remove file.
78105
78106 2003-07-17  Bruno Haible  <bruno@clisp.org>
78107
78108         * configure.in: Remove file.
78109         * Makefile.in: Remove file.
78110
78111 2003-07-17  Bruno Haible  <bruno@clisp.org>
78112
78113         * MODULES.html.sh: Put the </BODY> right before </HTML>.
78114
78115 2003-07-16  Karl Berry  <karl@gnu.org>
78116
78117         * config/srclist-update: was running fixlicense twice, which caused
78118                 texinfo.tex to be nullified for some reason.  Simplify,
78119                 $gplsrc is no longer needed as far as I can see?
78120
78121 2003-07-16  Jim Meyering  <jim@meyering.net>
78122
78123         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
78124
78125 2003-07-15  Paul Eggert  <eggert@twinsun.com>
78126
78127         * config/srclist.txt: Get the following files from gettext-runtime/intl
78128         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
78129         ref-del.sin.  From Bruno Haible.
78130         * config/srclist-update (fixfile): Change grep pattern again, since the
78131         previous fix didn't work (there was another trailing $).  Use
78132         '[$]' to escape the $s.
78133
78134 2003-07-15  Karl Berry  <karl@gnu.org>
78135
78136         * lib/vasnprintf.c: update from gettext.
78137
78138 2003-07-15  Karl Berry  <karl@gnu.org>
78139
78140         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
78141         gets expanded when surrounded by '$'.
78142
78143 2003-07-15  Jim Meyering  <jim@meyering.net>
78144
78145         * modules/save-cwd: Don't depend on error.  From Derek Price.
78146
78147 2003-07-15  Jim Meyering  <jim@meyering.net>
78148
78149         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
78150
78151 2003-07-14  Simon Josefsson  <jas@extundo.com>
78152
78153         * modules/mempcpy: New file.
78154         * MODULES.html.sh (func_all_modules): Add mempcpy.
78155
78156 2003-07-14  Simon Josefsson  <jas@extundo.com>
78157
78158         * m4/mempcpy.m4: New file.
78159
78160 2003-07-14  Simon Josefsson  <jas@extundo.com>
78161
78162         * lib/mempcpy.h: New file.
78163         * lib/mempcpy.c: New file.
78164
78165 2003-07-14  Paul Eggert  <eggert@twinsun.com>
78166
78167         * modules/getdate, modules/posixtm: Depend on mktime.
78168
78169 2003-07-14  Paul Eggert  <eggert@twinsun.com>
78170
78171         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
78172         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
78173         unicodeio.c, unicodeio.h, unlocked-io.h:
78174         Switch from LGPL to GPL.
78175
78176 2003-07-14  Paul Eggert  <eggert@twinsun.com>
78177
78178         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
78179         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
78180         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
78181         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
78182         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
78183         updated automatically by ../config/srclist-update.  This changes
78184         their license from LPGL to GPL.
78185
78186 2003-07-14  Paul Eggert  <eggert@twinsun.com>
78187
78188         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
78189         assumed to refer to the root of the most recent stable gettext version.
78190         * config/srclistvars.sh: Add defaults for eggert.
78191         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
78192         Match "This program" as well as "The program".  This is needed
78193         for gettext.
78194
78195 2003-07-14  Jim Meyering  <jim@meyering.net>
78196
78197         Don't emit diagnostics.  Let callers do that.
78198         * lib/save-cwd.c: Don't include "error.h".
78199         (save_cwd): Don't call error.  Ensure that errno is valid
78200         when returning nonzero.
78201
78202         * lib/save-cwd.h (restore_cwd): Update prototype.
78203         * lib/save-cwd.c (restore_cwd): Remove two parameters.
78204         Simplify.  Don't call error upon failure.  Let callers do that.
78205         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
78206         when auditing is enabled.  But don't bother updating the #if.
78207
78208 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
78209
78210         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
78211         it breaks C++ compilation.
78212         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
78213
78214 2003-07-10  Simon Josefsson  <jas@extundo.com>
78215
78216         * modules/strchrnul (Makefile.am): Add strchrnul.h.
78217
78218 2003-07-10  Jim Meyering  <jim@meyering.net>
78219
78220         * m4/clock_time.m4: Remove trailing blank.
78221         * m4/intmax_t.m4: Likewise.
78222
78223 2003-07-10  Jim Meyering  <jim@meyering.net>
78224
78225         * lib/vasnprintf.c: Remove trailing blanks.
78226         Make cpp indentation consistent.
78227
78228 2003-07-09  Paul Eggert  <eggert@twinsun.com>
78229
78230         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
78231         posixver.c, strftime.c, strnlen.c, strverscmp.c:
78232         Switch from LGPL to GPL.
78233
78234 2003-07-09  Paul Eggert  <eggert@twinsun.com>
78235
78236         * config/srclist.txt: Sort sublists.  Add
78237         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
78238         that differ from gnulib for one reason or another; we'd like this list
78239         to be smaller but for now let's document what we have.
78240
78241 2003-07-08  Paul Eggert  <eggert@twinsun.com>
78242
78243         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
78244         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
78245         and sweeter "eval x=$x".
78246         * config/srclist.txt: Get lib/argp* from glibc.
78247
78248 2003-07-07  Paul Eggert  <eggert@twinsun.com>
78249
78250         * lib/mktime.c: Fix some boundary cases and remove need for floating
78251         point.
78252
78253         Issue a compile-time diagnostic if time_t is floating point, or if
78254         two's complement arithmetic is not in effect, or if arithmetic
78255         right shift does not propagate the sign.  These assumptions were
78256         all in the original code but they weren't checked.
78257
78258         (TIME_T_MIDPOINT, verify): New macros.
78259         (__isleap): Remove; it has integer overflow problems.
78260         (leapyear): New function, without those problems.
78261         (ydhms_tm_diff): Remove; splitting into two parts.
78262         (ydhms_diff): New function, containing the arithmetic part of
78263         the old ydhms_tm_diff function.  Issue a compile-time
78264         diagnostic if we are not using C99 integer division.
78265         Avoid casts when possible.
78266         (guess_time_tm): New function, containing the checking part of
78267         the old ydhms_tm_diff function.  Return the new value, rather than
78268         the difference between it and the old.  Accept a new argument T
78269         so that *T specifies the old value.  Check for overflow in the result.
78270
78271         (__mktime_internal): Use a time_t offset, not a long int offset.
78272         This undoes the 2003-06-04 change, which is no longer needed now
78273         that we have better overflow checking.
78274         (localtime_offset): Likewise.
78275
78276         (__mktime_internal): Avoid harmful overflow on hosts where time_t
78277         and long are 64-bit but int is only 32-bit.
78278         (ydhms_diff): Use long int to store year1 and yday1.
78279         Issue a compile-time diagnostic if long int is not wide enough.
78280
78281         (__mktime_internal): Use long int to store adjusted year and yday.
78282         Use plain C rather than preprocessor commands, if that doesn't
78283         affect efficiency.
78284         Check for overflow (and try to repair) after each probe
78285         rather than checking only at the very end.  This avoids some bugs
78286         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
78287         does not equal GMT offset at maximum time).
78288         Use integer to check for overflow rather than floating point; this
78289         is more portable to non-IEEE hosts, and is a tad faster.
78290         When we detect that we are oscillating between two values,
78291         don't check whether tm_isdst has the requested value, since
78292         we already know the answer.  When tm_isdst has the wrong value,
78293         use a different heuristic to find the right one, based on the
78294         extreme values actually observed in practice in tz2003a,
78295         rather than the (overly optimistic) "previous 3 calendar quarters".
78296
78297         (not_equal_tm, print_tm, check_result): Use "const T" rather than
78298         "T const" to accommodate glibc style.
78299         (check_result): Use less-confusing report format.  "long" -> "long int.
78300         (main): Likewise.
78301         Don't loop if the iteration overflows time_t.
78302         Allow a negative step in the iteration.
78303
78304 2003-07-06  Karl Berry  <karl@gnu.org>
78305
78306         * config/depcomp: update from automake.
78307         * config/config.sub: update from prep.
78308
78309 2003-07-03  Karl Berry  <karl@gnu.org>
78310
78311         * config/config.guess: update from prep.
78312
78313 2003-07-01  Paul Eggert  <eggert@twinsun.com>
78314
78315         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
78316         xreadlink.c now includes it unconditionally.
78317
78318 2003-07-01  Paul Eggert  <eggert@twinsun.com>
78319
78320         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
78321         having it depend on HAVE_SYS_TYPES_H.
78322
78323 2003-07-01  Bruno Haible  <bruno@clisp.org>
78324
78325         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
78326         <sys/types.h> should be sufficient.
78327         Reported by Paul Eggert.
78328
78329 2003-06-26  Karl Berry  <karl@gnu.org>
78330
78331         * config/depcomp: update from automake.
78332
78333 2003-06-26  Bruno Haible  <bruno@clisp.org>
78334
78335         * modules/human: Depend on module stdbool.
78336
78337 2003-06-25  Bruno Haible  <bruno@clisp.org>
78338
78339         * modules/readlink: New file.
78340         * modules/xreadlink: Depend on it.
78341         * MODULES.html.sh (func_all_modules): Add readlink.
78342
78343 2003-06-25  Bruno Haible  <bruno@clisp.org>
78344
78345         * m4/readlink.m4: New file.
78346
78347 2003-06-25  Bruno Haible  <bruno@clisp.org>
78348
78349         * lib/readlink.c: New file.
78350
78351 2003-06-22  Karl Berry  <karl@gnu.org>
78352
78353         * config/srclist.txt: update mkinstalldirs from automake.
78354         * config/mkinstalldirs: update.
78355
78356 2003-06-22  Bruno Haible  <bruno@clisp.org>
78357
78358         Portability to mingw32.
78359         * m4/ssize_t.m4: New file, from GNU gettext.
78360         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
78361         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
78362
78363 2003-06-22  Bruno Haible  <bruno@clisp.org>
78364
78365         * modules/safe-read: Add m4/ssize_t.m4.
78366         * modules/xreadlink: Add m4/ssize_t.m4.
78367
78368 2003-06-20  Bruno Haible  <bruno@clisp.org>
78369
78370         Assume C89, so PARAMS isn't needed.
78371         * lib/unicodeio.h (PARAMS): Remove.
78372         * lib/unicodeio.c: Don't use PARAMS.
78373
78374 2003-06-18  Karl Berry  <karl@gnu.org>
78375
78376         * config/config.{guess,sub}: update from prep.
78377
78378 2003-06-18  Jim Meyering  <jim@meyering.net>
78379
78380         Merge changes from coreutils.
78381         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
78382         Remove explicit declarations of xmalloc and realloc.
78383         Include xalloc.h.
78384         (read_utmp): Remove anachronistic cast of xmalloc.
78385
78386 2003-06-17  Paul Eggert  <eggert@twinsun.com>
78387
78388         Assume C89, so PARAMS isn't needed.
78389         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
78390         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
78391         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
78392         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
78393         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
78394         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
78395         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
78396         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
78397         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
78398         lib/xstrtod.h, lib/xstrtol.h: Likewise.
78399         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
78400         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
78401         no longer needed. Anyway, config.h should always be included before any
78402         other file.
78403
78404 2003-06-11  Simon Josefsson  <jas@extundo.com>
78405
78406         * modules/sysexits: New file.
78407         * MODULES.html.sh (func_all_modules): Add sysexits.
78408
78409 2003-06-11  Simon Josefsson  <jas@extundo.com>
78410
78411         * lib/sysexit_.h: New file.
78412
78413 2003-06-11  Derek Price  <derek@ximbiot.com>
78414
78415         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
78416         necessary.
78417
78418 2003-06-11  Bruno Haible  <bruno@clisp.org>
78419
78420         * m4/sysexits.m4: New file.
78421
78422 2003-06-10  Simon Josefsson  <jas@extundo.com>
78423
78424         * lib/argp.h: New file, from glibc.
78425         * lib/argp-ba.c: New file, from glibc.
78426         * lib/argp-eexst.c: New file, from glibc.
78427         * lib/argp-fmtstream.c: New file, from glibc.
78428         * lib/argp-fmtstream.h: New file, from glibc.
78429         * lib/argp-fs-xinl.c: New file, from glibc.
78430         * lib/argp-help.c: New file, from glibc.
78431         * lib/argp-namefrob.h: New file, from glibc.
78432         * lib/argp-parse.c: New file, from glibc.
78433         * lib/argp-pv.c: New file, from glibc.
78434         * lib/argp-pvh.c: New file, from glibc.
78435         * lib/argp-xinl.c: New file, from glibc.
78436
78437 2003-06-10  Simon Josefsson  <jas@extundo.com>
78438
78439         * modules/strchrnul: New file.
78440
78441 2003-06-10  Simon Josefsson  <jas@extundo.com>
78442
78443         * modules/argp: New file.
78444
78445 2003-06-10  Simon Josefsson  <jas@extundo.com>
78446
78447         * m4/strchrnul.m4: New file.
78448
78449 2003-06-10  Simon Josefsson  <jas@extundo.com>
78450
78451         * lib/strchrnul.h: New file.
78452         * lib/strchrnul.c: New file.
78453
78454 2003-06-10  Bruno Haible  <bruno@clisp.org>
78455
78456         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
78457
78458 2003-06-07  Karl Berry  <karl@gnu.org>
78459
78460         * config/config.{guess,sub}: update from prep.
78461
78462 2003-06-07  Jim Meyering  <jim@meyering.net>
78463
78464         * modules/strtod: Use $(...) notation, not @...@ for
78465         AC_REPLACE'd variables.
78466         * modules/localcharset: Likewise.
78467
78468 2003-06-07  Jim Meyering  <jim@meyering.net>
78469
78470         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
78471         in place of my name in the copyright comment.
78472         Remove definition and uses of __P.
78473
78474         From coreutils.
78475         * lib/stat.c: Don't declare xmalloc explicitly.
78476         Instead, include "xalloc.h".
78477         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
78478         xrealloc, and xcalloc return values.
78479         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
78480         Improve comment.
78481         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
78482
78483 2003-06-07  Bruno Haible  <bruno@clisp.org>
78484
78485         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
78486         avoid AC_CONFIG_LINKS.
78487         * modules/fnmatch (Makefile.am): Use explicit creation rule for
78488         fnmatch.h, to avoid AC_CONFIG_LINKS.
78489         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
78490
78491 2003-06-07  Bruno Haible  <bruno@clisp.org>
78492
78493         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
78494         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
78495         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
78496         directory.
78497         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
78498         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
78499         directory.
78500
78501 2003-06-06  Jim Meyering  <jim@meyering.net>
78502
78503         Merge from coreutils.
78504         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
78505         Consolidate declarations and initializations of *_base* locals.
78506
78507         Merge from coreutils.
78508         This avoids a core dump on systems without GNU putenv,
78509         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
78510         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
78511         (unsetenv): New static function, from GNU libc.
78512         (rpl_putenv): Use it.
78513
78514         * lib/modechange.c: Remove trailing blanks.
78515
78516         Merge from coreutils.
78517         * lib/fsusage.c: Remove declaration of statfs.
78518         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
78519
78520         * lib/posixtm.c: Include <stdbool.h> unconditionally.
78521
78522 2003-06-06  Jim Meyering  <jim@meyering.net>
78523
78524         * lib/stdbool_.h: Renamed from stdbool.h.in.
78525
78526 2003-06-06  Jim Meyering  <jim@meyering.net>
78527             Bruno Haible  <bruno@clisp.org>
78528
78529         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
78530         Adjust Makefile.am snippet not to redirect directly to target.
78531         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
78532
78533 2003-06-05  Paul Eggert  <eggert@twinsun.com>
78534
78535         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
78536         mismatch, look in future quarters as well as past.  This fixes a
78537         bug when processing fall-backwards gaps immediately after a long
78538         period of daylight-saving time.
78539
78540         * lib/mktime.c: Assume freestanding C89 or better.
78541         (HAVE_LIMITS_H): Remove.  Assume it's 1.
78542         (__P): Remove; not used.
78543         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
78544         (mktime, not_equal_tm, print_tm, check_result,
78545         main): Use prototypes.  Use const * where appropriate.
78546         (main): Fix typo in testing code that uncovered by above changes.
78547         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
78548
78549 2003-06-04  Paul Eggert  <eggert@twinsun.com>
78550
78551         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
78552         locale.h, localeconv.  This merges changes from coreutils.
78553
78554         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
78555         It can be removed after the next Autoconf is released.
78556         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
78557         needed.
78558
78559 2003-06-04  Paul Eggert  <eggert@twinsun.com>
78560
78561         * lib/mktime.c: Fix Debian bug 177940
78562         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
78563         (localtime_offset): Now long int, not time_t, because we want it
78564         to be guaranteed to be signed.  All uses changed.
78565         (__mktime_internal): If overflow would occur when adding offset,
78566         don't add it.
78567
78568         Merge 'human' changes from coreutils.  Rewrite to support
78569         locale-specific notations like thousands separators.
78570         * lib/human.c: Simplify authorship notice.
78571         Include human.h immediately after config.h.
78572         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
78573         <limits.h>: Do not include, since human.h does.
78574         (SIZE_MAX, UINTMAX_MAX): New macros.
78575         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
78576         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
78577         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
78578         (power_letter): Renamed from suffixes.
78579         (generate_suffix_backwards): Remove.
78580         (adjust_value): Now takes int style (because of human.h changes)
78581         and long double value (for greater precision on some platforms).
78582         (group_number): New function.
78583         (human_readable): Use it.  Use integer options, not enum.
78584         Put the options before the sizes in the arg list.
78585         Support all the new options.
78586         The old human_readable function has been removed;
78587         use inttostr.h instead.
78588         (human_readable, default_block_size, humblock):
78589         Use uintmax_t, not int, for block sizes.
78590         (human_readable_inexact, block_size_types): Remove.
78591         (block_size_opts): New constant.
78592         (human_options): Renamed from human_block_size, with new signature
78593         that allows block sizes up to UINTMAX_MAX.  All callers changed.
78594         * lib/human.h: Add copyright and authorship notice.
78595         Include <limits.h> and <stdbool.h> unconditionally.
78596         (PARAMS): Remove.  All uses removed.
78597         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
78598         (enum human_inexact_style): Remove tag; now a nameless enum.
78599         (human_floor, human_ceiling, human_round_to_even): Now have
78600         values 2, 0, 1 rather than -1, 1, 0.
78601         (human_group_digits, human_suppress_point_zero, human_autoscale,
78602         human_base_1024, human_SI, human_B): New constants.
78603         (human_readable_inexact, human_block_size): Remove.
78604         (human_readable): Size args are now uintmax_t, not int.
78605         (human_options): New decl.
78606
78607         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
78608         unnecessary now that we assume C89 or better.  This change
78609         imported from coreutils.
78610
78611         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
78612         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
78613         in the 2003-05-30 sync from glibc.
78614
78615         .h files should stand alone, but we shouldn't include <sys/types.h>
78616         if we can get away with just <stddef.h>.
78617
78618         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
78619         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
78620         rather than <sys/types.h>, as we merely need size_t.
78621         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
78622         to get size_t.
78623         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
78624         Include <stdio.h>, to get FILE.
78625         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
78626         memcasecmp.h has included <stddef.h> and all we need is size_t.
78627         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
78628         our interface, instead of including <sys/types.h>
78629
78630 2003-06-04  Paul Eggert  <eggert@twinsun.com>
78631
78632         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
78633         now, as glibc mktime is buggy on non-glibc systems.
78634
78635 2003-06-03  Karl Berry  <karl@gnu.org>
78636
78637         * config/config.sub: update from prep.
78638
78639 2003-06-02  Paul Eggert  <eggert@twinsun.com>
78640
78641         [from coreutils]
78642         Fix some minor time-related bugs with POSIX time arguments.
78643         Some valid time stamps were being rejected (notably -1, and
78644         time stamps before 1900 on 64-bit hosts).  And some invalid
78645         time stamps were being accepted, e.g. September 31.
78646
78647         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
78648         that we can return (time_t) -1 successfully.
78649         * lib/posixtm.c: Likewise.
78650         [HAVE_STDBOOL_H]: Include <stdbool.h>.
78651         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
78652         (t): Remove static var.
78653         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
78654         of static var.  All uses changed.
78655         (year): Do not reject years before 1900; they can occur with
78656         64-bit time_t.
78657         (posix_time_parse): Do not check for out-of-range components;
78658         that is now the caller's responsibility, since our checks were
78659         only approximations.
78660         (posixtime): Use mktime to check for out-of-range components,
78661         since it knows them exactly.
78662         If mktime returns (time_t) -1, check whether an error actually occurred
78663         by invoking localtime on -1.
78664         (main) [TEST_POSIXTIME]: Check for input data errors, and report
78665         posixtime failures better.
78666         Improve the test data (in comments only).
78667
78668 2003-06-02  Karl Berry  <karl@gnu.org>
78669
78670         * config/mkinstalldirs (version): new variable.
78671         (--version): new option.
78672         (usage): improve message.
78673
78674 2003-05-30  Karl Berry  <karl@gnu.org>
78675
78676         * lib/mktime.c: update from libc.
78677
78678 2003-05-30  Bruno Haible  <bruno@clisp.org>
78679
78680         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
78681         * config/config.rpath: Upgrade to gettext-0.12.1.
78682
78683 2003-05-30  Bruno Haible  <bruno@clisp.org>
78684
78685         * m4/gettext.m4: Upgrade to gettext-0.12.1.
78686         * m4/nls.m4: New file, from gettext-0.12.1.
78687         * m4/po.m4: New file, from gettext-0.12.1.
78688         * m4/progtest.m4: Upgrade to gettext-0.12.1.
78689
78690 2003-05-30  Bruno Haible  <bruno@clisp.org>
78691
78692         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
78693         * lib/localcharset.h: Likewise.
78694         * lib/localcharset.c: Likewise.
78695
78696 2003-05-29  Karl Berry  <karl@gnu.org>
78697
78698         * config/config.rpath: update from gettext.
78699
78700 2003-05-28  Paul Eggert  <eggert@twinsun.com>
78701
78702         Assume the headers required for C89 freestanding compilers.
78703         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
78704         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
78705         * m4/human.m4 (gl_HUMAN): Likewise.
78706         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
78707         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
78708         * m4/userspec.m4 (gl_USERSPEC): Likewise.
78709         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
78710         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
78711         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
78712
78713 2003-05-28  Paul Eggert  <eggert@twinsun.com>
78714
78715         Assume the headers required for C89 freestanding compilers.
78716         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
78717         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
78718         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
78719         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
78720         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
78721         define, since <limits.h> is guaranteed to do that.
78722         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
78723         * lib/exclude.c: Include <stdbool.h> unconditionally.
78724         * lib/tempname.c: Include <stddef.h> unconditionally.
78725         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
78726         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
78727         <stddef.h> does that.
78728         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
78729         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
78730         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
78731         needed.
78732         * lib/xstrtol.c: Likewise.
78733         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
78734         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
78735
78736         * lib/addext.c (addext): Use assignment rather than cast, to avoid
78737         warnings on some platforms.
78738
78739         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
78740         arbitrarily.
78741
78742 2003-05-26  Jim Meyering  <jim@meyering.net>
78743
78744         Merge in a change from coreutils:
78745         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
78746         that is guaranteed to be `no'.  Use `no_such_member' to indicate
78747         that condition, rather than `-1' which is slightly misleading.
78748         Change the name of the cache variable to have the gl_ prefix.
78749         Prompted by a patch from Richard Dawe for DJGPP.
78750
78751 2003-05-24  Karl Berry  <karl@gnu.org>
78752
78753         * config/config.guess: update from prep.
78754
78755 2003-05-22  Karl Berry  <karl@gnu.org>
78756
78757         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
78758
78759 2003-05-20  Karl Berry  <karl@gnu.org>
78760
78761         * config/config.guess: update from prep.
78762
78763 2003-05-18  Karl Berry  <karl@gnu.org>
78764
78765         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
78766         might actually be set by the user.
78767
78768         * config/depcomp, install-sh, mdate-sh: update from automake.
78769
78770 2003-05-17  Bruno Haible  <bruno@clisp.org>
78771
78772         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
78773         invalid expansion for AC_EGREP_CPP.
78774         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
78775         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
78776         Suggested by Akim Demaille <akim@epita.fr> in
78777         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
78778
78779 2003-05-12  Jim Meyering  <jim@meyering.net>
78780
78781         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
78782         the space-padded-by-default conversion specifiers, %e, %k, %l.
78783
78784 2003-05-12  Bruno Haible  <bruno@clisp.org>
78785
78786         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
78787         the string is longer than 4 KB.
78788
78789 2003-05-11  Karl Berry  <karl@gnu.org>
78790
78791         * config/config.{guess,sub}: update from prep.
78792
78793 2003-05-09  Bruno Haible  <bruno@clisp.org>
78794
78795         * modules/error: Add m4/strerror_r.m4 to file list.
78796
78797 2003-05-03  Bruno Haible  <bruno@clisp.org>
78798
78799         Upgrade to Unicode-4.0.
78800         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
78801         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
78802         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
78803         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
78804         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
78805         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
78806         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
78807         Change width of U+E0100..U+E01EF from 1 to 0.
78808
78809 2003-04-25  Jim Meyering  <jim@meyering.net>
78810
78811         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
78812         of type size_t, not int.
78813
78814 2003-04-25  Bruno Haible  <bruno@clisp.org>
78815
78816         * lib/copy-file.c: Include <stddef.h>, for size_t.
78817
78818 2003-04-21  Paul Eggert  <eggert@twinsun.com>
78819
78820         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
78821         code which expansion is under static control.  Patch imported from
78822         Akim Demaille's patch to Bison; see
78823         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
78824
78825 2003-04-14  Bruno Haible  <bruno@clisp.org>
78826
78827         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
78828
78829 2003-04-11  Jim Meyering  <jim@meyering.net>
78830
78831         Merge changes from Coreutils.
78832
78833         2003-03-22  Jim Meyering  <jim@meyering.net>
78834
78835         * lib/strftime.c (widen): Cast alloca return value to proper type.
78836
78837         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
78838
78839         From GNU libc.
78840         * lib/strftime.c (my_strftime): Handle very large width
78841         specifications for numeric values correctly.  Improve checks for
78842         overflow.
78843
78844         2003-01-19  Jim Meyering  <jim@meyering.net>
78845
78846         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
78847         definitions.
78848         (nl_get_alt_digit) [! defined my_strftime]: Define.
78849         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
78850         _nl_get_alt_digit and _nl_get_walt_digit.
78851
78852         * lib/strftime.c (my_strftime): Merge in locale-related changes from
78853         libc. These changes have no effect outside of _LIBC.
78854
78855 2003-04-10  Bruno Haible  <bruno@clisp.org>
78856
78857         * modules/findprog: New file.
78858         * MODULES.html.sh (func_all_modules): Add it.
78859
78860 2003-04-10  Bruno Haible  <bruno@clisp.org>
78861
78862         * m4/findprog.m4: New file.
78863         * m4/eaccess.m4: New file.
78864
78865 2003-04-10  Bruno Haible  <bruno@clisp.org>
78866
78867         * lib/findprog.h: New file, from GNU gettext.
78868         * lib/findprog.c: New file, from GNU gettext.
78869
78870 2003-04-05  Jim Meyering  <jim@meyering.net>
78871
78872         Merge changes from Coreutils.
78873
78874         * lib/exclude.h (PARAMS): Remove definition and uses.
78875         * lib/exclude.c: Remove uses of `PARAMS'.
78876
78877         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
78878         Add test-cases for DOS filenames. Declare program_name.
78879         (main): Set up program_name.  Patch by Rich Dawe.
78880
78881         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
78882         error from mntctl.
78883         Use mntctl's return value to drive the entry-processing loop, since
78884         we can't rely on the value of the vmt_length member in the last
78885         entry.  On some systems doing so could result in exhausting
78886         virtual memory.  Based in part on a patch from Mike Jetzer.
78887
78888 2003-04-04  Bruno Haible  <bruno@clisp.org>
78889
78890         * modules/linebreak: New file.
78891         * MODULES.html.sh (func_all_modules): Add it.
78892
78893 2003-04-04  Bruno Haible  <bruno@clisp.org>
78894
78895         * m4/linebreak.m4: New file.
78896
78897 2003-04-04  Bruno Haible  <bruno@clisp.org>
78898
78899         * lib/linebreak.h: New file, from GNU gettext.
78900         * lib/linebreak.c: New file, from GNU gettext with slight
78901         modifications.
78902         * lib/lbrkprop.h: New file, from GNU gettext.
78903
78904 2003-04-03  Bruno Haible  <bruno@clisp.org>
78905
78906         * modules/utf8-ucs4: New file.
78907         * modules/utf16-ucs4: New file.
78908         * modules/ucs4-utf8: New file.
78909         * modules/ucs4-utf16: New file.
78910         * MODULES.html.sh (func_all_modules): Add them.
78911
78912 2003-04-03  Bruno Haible  <bruno@clisp.org>
78913
78914         * m4/utf-ucs4.m4: New file.
78915         * m4/ucs4-utf.m4: New file.
78916
78917 2003-04-03  Bruno Haible  <bruno@clisp.org>
78918
78919         * lib/utf8-ucs4.h: New file, from GNU gettext.
78920         * lib/utf16-ucs4.h: New file, from GNU gettext.
78921         * lib/ucs4-utf8.h: New file, from GNU gettext.
78922         * lib/ucs4-utf16.h: New file, from GNU gettext.
78923
78924 2003-04-02  Bruno Haible  <bruno@clisp.org>
78925
78926         * modules/binary-io: New file.
78927         * MODULES.html.sh (func_all_modules): Add it.
78928
78929 2003-04-02  Bruno Haible  <bruno@clisp.org>
78930
78931         * lib/binary-io.h: New file, from GNU gettext.
78932
78933 2003-04-01  Bruno Haible  <bruno@clisp.org>
78934
78935         * modules/pathname: New file.
78936         * MODULES.html.sh (func_all_modules): Add it.
78937
78938 2003-04-01  Bruno Haible  <bruno@clisp.org>
78939
78940         * lib/pathname.h: New file, from GNU gettext.
78941         * lib/concatpath.c: New file, from GNU gettext.
78942
78943 2003-03-30  Bruno Haible  <bruno@clisp.org>
78944
78945         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
78946
78947 2003-03-30  Bruno Haible  <bruno@clisp.org>
78948
78949         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
78950         function chown() doesn't exist.
78951
78952 2003-03-28  Bruno Haible  <bruno@clisp.org>
78953
78954         * modules/copy-file: New file.
78955         * MODULES.html.sh (func_all_modules): Add it.
78956
78957 2003-03-28  Bruno Haible  <bruno@clisp.org>
78958
78959         * m4/copy-file.m4: New file.
78960
78961 2003-03-28  Bruno Haible  <bruno@clisp.org>
78962
78963         * lib/copy-file.h: New file, from GNU gettext.
78964         * lib/copy-file.c: New file, from GNU gettext.
78965
78966 2003-03-18  Jim Meyering  <jim@meyering.net>
78967
78968         * lib/quote.c (quote_n): Fix typo in comment.
78969
78970 2003-03-18  Bruno Haible  <bruno@clisp.org>
78971
78972         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
78973         checking.
78974         * m4/onceonly_2_57.m4: Likewise.
78975
78976 2003-03-17  Bruno Haible  <bruno@clisp.org>
78977
78978         * m4/onceonly.m4: Require autoconf 2.54 or newer.
78979         (m4_quote): Remove macro.
78980         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
78981
78982 2003-03-14  Jim Meyering  <jim@meyering.net>
78983
78984         Merge changes from Coreutils.
78985         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
78986         to be const, in order to avoid warnings.
78987         (obstack_room): Likewise.
78988         (obstack_empty_p): Likewise.
78989
78990 2003-03-14  Bruno Haible  <bruno@clisp.org>
78991
78992         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
78993         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
78994
78995 2003-03-13  Paul Eggert  <eggert@twinsun.com>
78996
78997         Merge changes from Bison.
78998         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
78999         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
79000         when compiling Bison 1.875's `bitset bset = obstack_alloc
79001         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
79002         * lib/hash.c: Include <stdbool.h> unconditionally.
79003
79004 2003-03-13  Paul Eggert  <eggert@twinsun.com>
79005
79006         * m4/onceonly.m4 (m4_quote): New macro.
79007         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
79008         Quote AC_FOREACH variable-expansions properly.
79009
79010 2003-03-13  Paul Eggert  <eggert@twinsun.com>
79011
79012         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
79013
79014 2003-03-09  Paul Eggert  <eggert@twinsun.com>
79015
79016         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
79017         Reported by Bruce Becker; see:
79018         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
79019
79020 2003-03-03  Paul Eggert  <eggert@twinsun.com>
79021             Bruno Haible  <bruno@clisp.org>
79022
79023         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
79024         Reported by John Hughes, see
79025         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
79026
79027 2003-02-20  Bruno Haible  <bruno@clisp.org>
79028
79029         * MODULES.html.sh (func_all_modules): Add poll.
79030
79031 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
79032
79033         * modules/poll: New file.
79034
79035 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
79036
79037         * lib/poll_.h: New file.
79038         * lib/poll.c: New file.
79039
79040 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
79041
79042         * m4/poll.m4: New file.
79043
79044 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
79045
79046         * modules/mathl: New file.
79047
79048 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
79049
79050         * lib/mathl.h: New file.
79051         * lib/acosl.c: New file.
79052         * lib/asinl.c: New file.
79053         * lib/atanl.c: New file.
79054         * lib/ceill.c: New file.
79055         * lib/cosl.c: New file.
79056         * lib/expl.c: New file.
79057         * lib/floorl.c: New file.
79058         * lib/frexpl.c: New file.
79059         * lib/ldexpl.c: New file.
79060         * lib/logl.c: New file.
79061         * lib/sincosl.c: New file.
79062         * lib/sinl.c: New file.
79063         * lib/sqrtl.c: New file.
79064         * lib/tanl.c: New file.
79065         * lib/trigl.c: New file.
79066         * lib/trigl.h: New file.
79067
79068 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
79069
79070         * m4/mathl.m4: New file.
79071
79072 2003-02-18  Bruno Haible  <bruno@clisp.org>
79073
79074         * MODULES.html.sh (func_all_modules): Add mathl.
79075
79076 2003-02-17  Bruno Haible  <bruno@clisp.org>
79077
79078         * modules/mkdtemp: New module.
79079         * MODULES.html.sh (func_all_modules): Add it.
79080
79081 2003-02-17  Bruno Haible  <bruno@clisp.org>
79082
79083         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
79084
79085 2003-02-17  Bruno Haible  <bruno@clisp.org>
79086
79087         * lib/mkdtemp.h: New file, from GNU gettext.
79088         * lib/mkdtemp.c: New file, from GNU gettext.
79089
79090 2003-02-02  Jim Meyering  <jim@meyering.net>
79091
79092         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
79093         e.g. glibc-2.2.93.
79094
79095 2003-01-31  Bruno Haible  <bruno@clisp.org>
79096
79097         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
79098         'rpl_rename'.
79099         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
79100         'rpl_strnlen'.
79101         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
79102         'rpl_strtod'.
79103         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
79104         'rpl_utime'.
79105
79106 2003-01-31  Bruno Haible  <bruno@clisp.org>
79107
79108         * lib/rename.c: #undef rename before defining rpl_rename.
79109         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
79110
79111 2003-01-30  Bruno Haible  <bruno@clisp.org>
79112
79113         * modules/vasnprintf, modules/vasprintf: New modules.
79114         * MODULES.html.sh (func_all_modules): Add them.
79115
79116 2003-01-30  Bruno Haible  <bruno@clisp.org>
79117
79118         * m4/signed.m4: New file, from GNU gettext.
79119         * m4/longdouble.m4: New file, from GNU gettext.
79120         * m4/wchar_t.m4: New file, from GNU gettext.
79121         * m4/wint_t.m4: New file, from GNU gettext.
79122         * m4/vasnprintf.m4: New file.
79123         * m4/vasprintf.m4: New file.
79124
79125 2003-01-30  Bruno Haible  <bruno@clisp.org>
79126
79127         * lib/printf-args.h: New file, from GNU gettext.
79128         * lib/printf-args.c: New file, from GNU gettext.
79129         * lib/printf-parse.h: New file, from GNU gettext.
79130         * lib/printf-parse.c: New file, from GNU gettext.
79131         * lib/vasnprintf.h: New file, from GNU gettext.
79132         * lib/vasnprintf.c: New file, from GNU gettext.
79133         * lib/asnprintf.c: New file, from GNU gettext.
79134         * lib/vasprintf.h: New file, from GNU gettext with modifications.
79135         * lib/vasprintf.c: New file, from GNU gettext.
79136         * lib/asprintf.c: New file, from GNU gettext.
79137
79138 2003-01-29  Bruno Haible  <bruno@clisp.org>
79139
79140         * modules/stpncpy: New module.
79141         * MODULES.html.sh (func_all_modules): Add it.
79142
79143 2003-01-29  Bruno Haible  <bruno@clisp.org>
79144
79145         * m4/stpncpy.m4: New file.
79146
79147 2003-01-29  Bruno Haible  <bruno@clisp.org>
79148
79149         * lib/stpncpy.h: New file, from GNU gettext with modifications.
79150         * lib/stpncpy.c: New file, from GNU gettext with modifications.
79151
79152 2003-01-28  Bruno Haible  <bruno@clisp.org>
79153
79154         * modules/c-ctype: New module.
79155         * MODULES.html.sh (func_all_modules): Add it.
79156
79157 2003-01-28  Bruno Haible  <bruno@clisp.org>
79158
79159         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
79160         Paul Eggert.
79161         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
79162         Paul Eggert.
79163
79164 2003-01-27  Bruno Haible  <bruno@clisp.org>
79165
79166         * modules/xsetenv: New module.
79167         * MODULES.html.sh (func_all_modules): Add it.
79168
79169 2003-01-27  Bruno Haible  <bruno@clisp.org>
79170
79171         * lib/xsetenv.h: New file, from GNU gettext.
79172         * lib/xsetenv.c: New file, from GNU gettext.
79173
79174 2003-01-23  Jim Meyering  <jim@meyering.net>
79175
79176         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
79177         from working on systems without dirfd (at least Irix and OSF1/Tru64).
79178
79179 2003-01-23  Bruno Haible  <bruno@clisp.org>
79180
79181         * modules/minmax: New module.
79182         * MODULES.html.sh (func_all_modules): Add it.
79183
79184 2003-01-23  Bruno Haible  <bruno@clisp.org>
79185
79186         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
79187         Eggert.
79188
79189 2003-01-22  Bruno Haible  <bruno@clisp.org>
79190
79191         * modules/exit: New module.
79192         * MODULES.html.sh (func_all_modules): Add it.
79193
79194 2003-01-22  Bruno Haible  <bruno@clisp.org>
79195
79196         * lib/exit.h: New file, from GNU gettext.
79197
79198 2003-01-19  Bruno Haible  <bruno@clisp.org>
79199
79200         * gnulib-tool: Recognize option --extract-maintainer.
79201         (func_get_maintainer): New function.
79202         * modules/*: Add Maintainer entry.
79203
79204 2003-01-16  Jim Meyering  <jim@meyering.net>
79205
79206         * m4/regex.m4: The `regex' struct is both input and output.
79207         Initialize it before each use.  Patch by Tim Waugh.
79208
79209 2003-01-16  Bruno Haible  <bruno@clisp.org>
79210
79211         * MODULES.html.sh: Add a table of contents. Add the module name as
79212         leftmost column. Add hyperlinks.
79213
79214 2003-01-15  Bruno Haible  <bruno@clisp.org>
79215
79216         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
79217
79218 2003-01-15  Bruno Haible  <bruno@clisp.org>
79219
79220         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
79221         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
79222         suffix.
79223
79224 2003-01-15  Bruno Haible  <bruno@clisp.org>
79225
79226         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
79227
79228 2003-01-15  Bruno Haible  <bruno@clisp.org>
79229
79230         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
79231         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
79232
79233 2003-01-14  Jim Meyering  <jim@meyering.net>
79234
79235         * lib/same.c (same_name): Tweak a comment.
79236
79237 2003-01-14  Bruno Haible  <bruno@clisp.org>
79238
79239         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
79240         when a string comparison is sufficient.
79241
79242 2003-01-14  Bruno Haible  <bruno@clisp.org>
79243
79244         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
79245         'unsigned int'.
79246
79247 2003-01-14  Bruno Haible  <bruno@clisp.org>
79248
79249         * lib/hash-pjw.c: Add comment about low quality of this function.
79250
79251 2003-01-13  Bruno Haible  <bruno@clisp.org>
79252
79253         * modules/stpcpy: Distribute lib/stpcpy.h.
79254         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
79255
79256 2003-01-13  Bruno Haible  <bruno@clisp.org>
79257
79258         * modules/*: Add a description.
79259         * modules/strpbrk: Fix Makefile.am snippet.
79260         * modules/strtoimax: Fix dependencies.
79261         * modules/strtoumax: Likewise.
79262
79263 2003-01-13  Bruno Haible  <bruno@clisp.org>
79264
79265         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
79266         * modules/alloca (Makefile.am): All object files depend on alloca.h.
79267         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
79268
79269 2003-01-13  Bruno Haible  <bruno@clisp.org>
79270
79271         * gnulib-tool (func_create_testdir): Store config/* files in the main
79272         directory.
79273         * config.rpath: Move to ...
79274         * config/config.rpath: ... here.
79275         * modules/gettext: Contains config/config.rpath, not config.rpath.
79276         * modules/iconv: Likewise.
79277
79278 2003-01-12  Paul Eggert  <eggert@twinsun.com>
79279
79280         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
79281         to avoid collisions with libcurses and libreadline.
79282
79283         * m4/getstr.m4: Remove.
79284         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
79285
79286 2003-01-12  Paul Eggert  <eggert@twinsun.com>
79287
79288         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
79289         to avoid collisions with libcurses and libreadline.
79290
79291         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
79292         * lib/getstr.h, getstr.c: Remove.
79293         * lib/getline.c: Include "getline.h", to check interface.
79294         Move body of old getstr.c here: this defines MIN_CHUNK and
79295         declares getdelim2, which is renamed from getstr.
79296         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
79297
79298         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
79299         All uses changed.
79300         * lib/linebuffer.h: Likewise.
79301         (readline): Remove backward-compatibility macro.
79302
79303 2003-01-12  Paul Eggert  <eggert@twinsun.com>
79304
79305         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
79306         to avoid collisions with libcurses and libreadline.
79307         * getstr: Remove.
79308         * MODULES.html.sh: Remove getstr.
79309         * modules/getline: Depend on unlocked-io, not getstr.
79310
79311 2003-01-12  Jim Meyering  <jim@meyering.net>
79312
79313         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
79314
79315 2003-01-10  Bruno Haible  <bruno@clisp.org>
79316
79317         * modules/alloca: Change Makefile.am requirements. Simplify Include
79318         requirements. Add lib/alloca_.h to file list.
79319
79320 2003-01-10  Bruno Haible  <bruno@clisp.org>
79321
79322         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
79323
79324 2003-01-10  Bruno Haible  <bruno@clisp.org>
79325
79326         * lib/alloca_.h: New file.
79327         * lib/getdate.y: Unconditionally include alloca.h.
79328         * lib/makepath.c: Likewise.
79329         * lib/setenv.c: Likewise.
79330         * lib/userspec.c: Likewise.
79331
79332 2003-01-09  Karl Berry  <karl@gnu.org>
79333
79334         * MODULES.html.sh: include `dirname $0` in PATH, to find
79335         gnulib-tool.
79336
79337 2003-01-09  Bruno Haible  <bruno@clisp.org>
79338
79339         * modules/stdbool: Change configure.ac, Makefile.am requirements.
79340         Simplify Include requirements. Add lib/stdbool.h.in to file list.
79341
79342 2003-01-09  Bruno Haible  <bruno@clisp.org>
79343
79344         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
79345
79346 2003-01-09  Bruno Haible  <bruno@clisp.org>
79347
79348         * lib/stdbool.h.in: New file.
79349
79350 2003-01-09  Bruno Haible  <bruno@clisp.org>
79351
79352         * gnulib-tool (func_all_modules): Ignore files ending in ~.
79353         * MODULES.html.sh: Likewise.
79354
79355 2003-01-08  Jim Meyering  <jim@meyering.net>
79356
79357         * lib/full-write.c: Undefine and define-away `const' after inclusion
79358         of errno.h, not before.  Suggestion from Bruno Haible.
79359
79360 2003-01-08  Bruno Haible  <bruno@clisp.org>
79361
79362         * modules/full-read: Depend on full-write.
79363
79364 2003-01-08  Bruno Haible  <bruno@clisp.org>
79365
79366         * lib/safe-read.c: Include specification header first, to ensure its
79367         selfcontainedness.
79368         * lib/full-write.c: Likewise.
79369
79370 2003-01-07  Jim Meyering  <jim@meyering.net>
79371
79372         * lib/full-write.c: Rework so that it may serve to define full_read,
79373         too.
79374         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
79375
79376 2003-01-07  Bruno Haible  <bruno@clisp.org>
79377
79378         * lib/strtoimax.c: Include <stdint.h> as an alternative to
79379         <inttypes.h>.
79380         * lib/xstrtol.h: Likewise.
79381         * lib/xstrtoimax.c: Likewise.
79382         * lib/xstrtoumax.c: Likewise.
79383         * lib/human.h: Likewise.
79384
79385         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
79386         on systems that have <inttypes.h> but not <stdint.h>.
79387
79388 2003-01-07  Bruno Haible  <bruno@clisp.org>
79389
79390         * MODULES.html.sh: Add copyright notice.
79391         (missed_files): Omit CVS directory entries.
79392         (func_module): Make it work with sed-3.02.
79393         * MODULES.txt: Remove file.
79394
79395 2003-01-06  Jim Meyering  <jim@meyering.net>
79396
79397         * lib/version-etc.c: Update year in translatable copyright string.
79398
79399 2003-01-03  Karl Berry  <karl@gnu.org>
79400
79401         * config/config.{guess,sub}: update from prep.
79402
79403 2003-01-02  Karl Berry  <karl@gnu.org>
79404
79405         * doc/COPYING.DOC: belatedly updated to 1.2.
79406
79407 2003-01-01  Karl Berry  <karl@gnu.org>
79408
79409         * gnulib-tool (func_verify_module): report module name $module in
79410         error message, not $1.
79411         * gnulib-tool (create-testdir): don't complain if destdir couldn't
79412         be created, only if it doesn't exist.
79413         * gnulib-tool (last_checkin_date): don't expand the $Date here.
79414
79415 2002-12-31  Paul Eggert  <eggert@twinsun.com>
79416
79417         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
79418
79419 2002-12-31  Paul Eggert  <eggert@twinsun.com>
79420
79421         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
79422         memcmp if strcoll doesn't work.
79423
79424 2002-12-31  Bruno Haible  <bruno@clisp.org>
79425
79426         * lib/utime.c (utime_null): No need to call ftruncate if the file was
79427         nonempty.
79428
79429 2002-12-31  Bruno Haible  <bruno@clisp.org>
79430
79431         * lib/memcoll.c (STRCOLL): New macro.
79432         (memcoll): Use it.
79433
79434 2002-12-31  Bruno Haible  <bruno@clisp.org>
79435
79436         * lib/localcharset.h: New file.
79437         * lib/localcharset.c: Include it.
79438         * lib/unicodeio.c: Likewise.
79439
79440 2002-12-31  Bruno Haible  <bruno@clisp.org>
79441
79442         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
79443         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
79444
79445 2002-12-31  Bruno Haible  <bruno@clisp.org>
79446
79447         * lib/getline.h: Include <stddef.h>, for size_t.
79448
79449         * lib/unicodeio.h: Include <stddef.h>, for size_t.
79450         * lib/unicodeio.c: Don't include <stddef.h>.
79451
79452 2002-12-31  Bruno Haible  <bruno@clisp.org>
79453
79454         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
79455         HAVE_TM_ZONE.
79456
79457 2002-12-24  Karl Berry  <karl@gnu.org>
79458
79459         * config/config.guess: update from prep.
79460
79461 2002-12-24  Bruno Haible  <bruno@clisp.org>
79462
79463         General infrasructure.
79464         * m4/README: Rewritten.
79465         * m4/onceonly.m4: New file.
79466         * m4/onceonly_2_57.m4: New file.
79467
79468         Module atexit.
79469         * m4/atexit.m4: New file.
79470
79471         Module strtod.
79472         * m4/strtod.m4: New file.
79473
79474         Module strtol.
79475         * m4/strtol.m4: New file.
79476
79477         Module strtoul.
79478         * m4/strtoul.m4: New file.
79479
79480         Module memchr.
79481         * m4/memchr.m4: New file.
79482
79483         Module memcmp.
79484         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
79485         (jm_FUNC_MEMCMP): Invoke it.
79486
79487         Module memcpy.
79488         * m4/memcpy.m4: New file.
79489
79490         Module memmove.
79491         * m4/memmove.m4: New file.
79492
79493         Module memset.
79494         * m4/memset.m4: New file.
79495
79496         Module strcspn.
79497         * m4/strcspn.m4: New file.
79498
79499         Module strpbrk.
79500         * m4/strpbrk.m4: New file.
79501
79502         Module strstr.
79503         * m4/strstr.m4: New file.
79504
79505         Module strerror.
79506         * m4/strerror.m4: New file.
79507
79508         Module mktime.
79509         * m4/mktime.m4: Renamed from jm-mktime.m4.
79510         (gl_PREREQ_MKTIME): New macro.
79511         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
79512
79513         Module malloc.
79514         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
79515         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
79516         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
79517
79518         Module realloc.
79519         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
79520         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
79521         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
79522
79523         Module strftime.
79524         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
79525         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
79526         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
79527         gl_TM_GMTOFF.
79528         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
79529
79530         Module xalloc.
79531         * m4/xalloc.m4: New file.
79532
79533         Module alloca.
79534         * m4/alloca.m4: New file.
79535
79536         Module putenv.
79537         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
79538         (jm_FUNC_PUTENV): Invoke it.
79539
79540         Module setenv.
79541         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
79542         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
79543         when invoked twice.
79544         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
79545         gt_FUNC_SETENV.
79546
79547         Module memrchr.
79548         * m4/memrchr.m4: New file.
79549
79550         Module stpcpy.
79551         * m4/stpcpy.m4: New file.
79552
79553         Module strcase.
79554         * m4/strcase.m4: New file.
79555
79556         Module strdup.
79557         * m4/strdup.m4: New file.
79558
79559         Module strnlen.
79560         * m4/strnlen.m4: New file.
79561
79562         Module strndup.
79563         * m4/strndup.m4: New file.
79564
79565         Module xstrtod.
79566         * m4/xstrtod.m4: New file.
79567
79568         Module xstrtol.
79569         * m4/xstrtol.m4: New file.
79570
79571         Module getdate.
79572         * m4/getdate.m4: New file.
79573
79574         Module unlocked-io.
79575         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
79576         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
79577         * m4/jm-glibc-io.m4n: Remove file.
79578
79579         Module long-options.
79580         * m4/long-options.m4: New file.
79581
79582         Module md5.
79583         * m4/md5.m4: New file.
79584
79585         Module sha.
79586         * m4/sha.m4: New file.
79587
79588         Module getstr.
79589         * m4/getstr.m4: New file.
79590
79591         Module getline.
79592         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
79593         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
79594         <sys/types.h>, for size_t. Use the function name gnu_getline, not
79595         simply getline. Infoke gl_PREREQ_GETLINE.
79596
79597         Module obstack.
79598         * m4/obstack.m4: New file.
79599
79600         Module hash.
79601         * m4/hash.m4: New file.
79602
79603         Module readtokens.
79604         * m4/readtokens.m4: New file.
79605
79606         Module strverscmp.
79607         * m4/strverscmp.m4: New file.
79608
79609         Module stdbool.
79610         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
79611         OSF/1.
79612
79613         Module strtoll.
79614         * m4/strtoll.m4: New file.
79615
79616         Module strtoull.
79617         * m4/strtoull.m4: New file.
79618
79619         Module strtoimax.
79620         * m4/strtoimax.m4: New file.
79621
79622         Module strtoumax.
79623         * m4/strtoumax.m4: New file.
79624
79625         Module xstrtoimax.
79626         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
79627         jm_AC_PREREQ_XSTRTOIMAX.
79628         Moved the strtol prerequisites to strtol.m4.
79629         Moved the strtoll prerequisites to strtoll.m4.
79630         Moved the strtoimax prerequisites to strtoimax.m4.
79631
79632         Module xstrtoumax.
79633         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
79634         jm_AC_PREREQ_XSTRTOUMAX.
79635         Moved the strtoul prerequisites to strtoul.m4.
79636         Moved the strtoull prerequisites to strtoull.m4.
79637         Moved the strtoumax prerequisites to strtoumax.m4.
79638
79639         Module chown.
79640         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
79641         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
79642
79643         Module dup2.
79644         * m4/dup2.m4: New file.
79645
79646         Module ftruncate.
79647         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
79648         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
79649
79650         Module getgroups.
79651         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
79652         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
79653
79654         Module gettimeofday.
79655         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
79656         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
79657         gl_PREREQ_GETTIMEOFDAY.
79658
79659         Module mkdir.
79660         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
79661         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
79662
79663         Module mkstemp.
79664         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
79665         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
79666         jm_AC_TYPE_UINTMAX_T.
79667         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
79668
79669         Module stat.
79670         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
79671         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
79672
79673         Module lstat.
79674         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
79675         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
79676
79677         Module timespec.
79678         * m4/timespec.m4 (gl_TIMESPEC): New macro.
79679         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
79680         * m4/st_mtim.m4: Indentation.
79681
79682         Module nanosleep.
79683         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
79684         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
79685         gl_PREREQ_NANOSLEEP.
79686
79687         Module regex.
79688         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
79689         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
79690         (gl_REGEX): New macro.
79691
79692         Module rename.
79693         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
79694         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
79695
79696         Module rmdir.
79697         * m4/rmdir.m4: New file.
79698
79699         Module utime.
79700         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
79701         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
79702         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
79703
79704         Module dirname.
79705         * m4/dirname.m4: New file.
79706
79707         Module getopt.
79708         * m4/getopt.m4: New file.
79709
79710         Module unistd-safer.
79711         * m4/unistd-safer.m4: New file.
79712
79713         Module fnmatch.
79714         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
79715         declaration.
79716         (gl_PREREQ_FNMATCH_EXTRA): New macro.
79717         (gl_FUNC_FNMATCH_POSIX): New macro.
79718         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
79719         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
79720         simply fnmatch.
79721
79722         Module exclude.
79723         * m4/exclude.m4: New file.
79724
79725         Module human.
79726         * m4/human.m4: New file.
79727
79728         Module acl.
79729         * m4/acl.m4: Nop.
79730
79731         Module backupfile.
79732         * m4/backupfile.m4: New file.
79733         * m4/d-ino.m4: Indentation.
79734
79735         Module fsusage.
79736         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
79737         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
79738         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
79739
79740         Module dirfd.
79741         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
79742         requirements.
79743
79744         Module euidaccess.
79745         * m4/euidaccess.m4: New file.
79746
79747         Module file-type.
79748         * m4/file-type.m4: New file.
79749
79750         Module fileblocks.
79751         * m4/fileblocks.m4: New file.
79752
79753         Module filemode.
79754         * m4/filemode.m4: New file.
79755
79756         Module isdir.
79757         * m4/isdir.m4: New file.
79758
79759         Module lchown.
79760         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
79761         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
79762
79763         Module makepath.
79764         * m4/makepath.m4: New file.
79765
79766         Module modechange.
79767         * m4/modechange.m4: New file.
79768
79769         Module mountlist.
79770         * m4/mountlist.m4: New file.
79771         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
79772         Indentation.
79773
79774         Module path-concat.
79775         * m4/path-concat.m4: New file.
79776
79777         Module pathmax.
79778         * m4/pathmax.m4: New file.
79779
79780         Module same.
79781         * m4/same.m4: New file.
79782
79783         Module save-cwd.
79784         * m4/save-cwd.m4: New file.
79785
79786         Module savedir.
79787         * m4/savedir.m4: New file.
79788
79789         Module xgetcwd.
79790         * m4/xgetcwd.m4: New file.
79791         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
79792
79793         Module xreadlink.
79794         * m4/xreadlink.m4: New file.
79795
79796         Module safe-read.
79797         * m4/safe-read.m4: New file.
79798
79799         Module safe-write.
79800         * m4/safe-write.m4: New file.
79801
79802         Module closeout.
79803         * m4/closeout.m4: New file.
79804
79805         Module stdio-safer.
79806         * m4/stdio-safer.m4: New file.
79807
79808         Module getpass.
79809         * m4/getpass.m4: New file.
79810
79811         Module getugroups.
79812         * m4/getugroups.m4: New file.
79813
79814         Module group-member.
79815         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
79816         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
79817
79818         Module idcache.
79819         * m4/idcache.m4: New file.
79820
79821         Module userspec.
79822         * m4/userspec.m4: New file.
79823
79824         Module gettime.
79825         * m4/clock_time.m4: New file.
79826         * m4/gettime.m4: New file.
79827
79828         Module settime.
79829         * m4/settime.m4: New file.
79830
79831         Module posixtm.
79832         * m4/posixtm.m4: New file.
79833
79834         Module gethostname.
79835         * m4/gethostname.m4: New file.
79836
79837         Module canon-host.
79838         * m4/canon-host.m4: New file.
79839
79840         Module gettext.
79841         * m4/codeset.m4: New file, from gettext-0.11.5.
79842         * m4/gettext.m4: New file, from gettext-0.11.5.
79843         * m4/glibc21.m4: New file, from gettext-0.11.5.
79844         * m4/iconv.m4: New file, from gettext-0.11.5.
79845         * m4/intdiv0.m4: New file, from gettext-0.11.5.
79846         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
79847         * m4/inttypes.m4: New file, from gettext-0.11.5.
79848         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
79849         * m4/isc-posix.m4: New file, from gettext-0.11.5.
79850         * m4/lcmessage.m4: New file, from gettext-0.11.5.
79851         * m4/lib-ld.m4: New file, from gettext-0.11.5.
79852         * m4/lib-link.m4: New file, from gettext-0.11.5.
79853         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
79854         * m4/progtest.m4: New file, from gettext-0.11.5.
79855         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
79856         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
79857         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
79858
79859         Module localcharset.
79860         * m4/localcharset.m4: New file.
79861
79862         Module hard-locale.
79863         * m4/hard-locale.m4: New file.
79864
79865         Module mbswidth.
79866         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
79867         onceonly macros.
79868         * m4/mbrtowc.m4: Add comment.
79869
79870         Module memcasecmp.
79871         * m4/memcasecmp.m4: New file.
79872
79873         Module memcoll.
79874         * m4/memcoll.m4: New file.
79875
79876         Module unicodeio.
79877         * m4/unicodeio.m4: New file.
79878
79879         Module rpmatch.
79880         * m4/rpmatch.m4: New file.
79881
79882         Module yesno.
79883         * m4/yesno.m4: New file.
79884
79885         Module exitfail.
79886         * m4/exitfail.m4: New file.
79887
79888         Module c-stack.
79889         * m4/c-stack.m4 (gl_C_STACK): New macro.
79890         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
79891
79892         Module error.
79893         * m4/error.m4 (gl_ERROR): New macro.
79894         (jm_PREREQ_ERROR): Use onceonly macros.
79895
79896         Module fatal.
79897         * m4/fatal.m4: New file.
79898
79899         Module getloadavg.
79900         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
79901         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
79902
79903         Module getpagesize.
79904         * m4/getpagesize.m4: New file.
79905
79906         Module getusershell.
79907         * m4/getusershell.m4: New file.
79908
79909         Module physmem.
79910         * m4/physmem.m4: New file.
79911
79912         Module posixver.
79913         * m4/posixver.m4: New file.
79914
79915         Module quotearg.
79916         * m4/quotearg.m4: New file.
79917
79918         Module quote.
79919         * m4/quote.m4: New file.
79920
79921         Module readutmp.
79922         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
79923
79924         Module sig2str.
79925         * m4/sig2str.m4: New file.
79926
79927         Other.
79928         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
79929         ulonglong.m4.
79930         * m4/intmax_t.m4: New file.
79931         * m4/d-type.m4: Indentation.
79932         * m4/jm-macros.m4: Update.
79933         * m4/prereq.m4 (jm_PREREQ): Update.
79934         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
79935         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
79936         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
79937         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
79938         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
79939         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
79940         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
79941         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
79942         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
79943         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
79944         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
79945         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
79946         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
79947         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
79948         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
79949         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
79950         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
79951         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
79952         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
79953
79954 2002-12-24  Bruno Haible  <bruno@clisp.org>
79955
79956         * MODULES.txt: Update according to m4/ changes.
79957
79958         Module gettext.
79959         * config.rpath: New file, from gettext-0.11.5.
79960
79961         * modules/*: New module descriptions.
79962         * gnulib-tool: New file.
79963         * MODULES.html.sh: New file.
79964
79965 2002-12-21  Karl Berry  <karl@gnu.org>
79966
79967         * doc/fdl.texi: update to version 1.2.
79968
79969 2002-12-19  Karl Berry  <karl@gnu.org>
79970
79971         * config/config.guess: update from prep.
79972
79973 2002-12-18  Bruno Haible  <bruno@clisp.org>
79974
79975         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
79976         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
79977
79978 2002-12-17  Bruno Haible  <bruno@clisp.org>
79979
79980         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
79981         stdlib.h, string.h.
79982
79983 2002-12-17  Bruno Haible  <bruno@clisp.org>
79984
79985         * lib/canon-host.c (strdup): Remove unused declaration.
79986
79987         * lib/fsusage.c: Include full_read.h.
79988         (get_fs_usage): Use full_read instead of safe_read.
79989
79990         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
79991
79992 2002-12-12  Karl Berry  <karl@gnu.org>
79993
79994         * config/config.guess: update from prep.
79995
79996 2002-12-11  Bruno Haible  <bruno@clisp.org>
79997
79998         * m4/setenv.m4: New file, from gettext-0.11.5.
79999
80000 2002-12-11  Bruno Haible  <bruno@clisp.org>
80001
80002         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
80003         not unsetenv().
80004         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
80005         modifications:
80006
80007         2002-12-11  Bruno Haible  <bruno@clisp.org>
80008
80009                 * setenv.c (alloca): Fall back to malloc.
80010                 (freea): New macro.
80011                 (setenv): Use freea() to free memory allocated with alloca().
80012
80013         2002-11-13  Bruno Haible  <bruno@clisp.org>
80014
80015                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
80016                 function declarations.
80017                 * unsetenv.c (unsetenv): Likewise.
80018
80019         2002-03-04  Bruno Haible  <bruno@clisp.org>
80020
80021                 Portability to AIX 4.3.3.
80022                 * unsetenv.c: New file, extracted from setenv.c.
80023                 * setenv.c: Move the unsetenv() function to unsetenv.c.
80024
80025         2001-12-20  Bruno Haible  <bruno@clisp.org>
80026
80027                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
80028                 use malloc instead. For SunOS 4.
80029
80030         2001-12-11  Bruno Haible  <bruno@clisp.org>
80031
80032                 * setenv.c: Declare alloca.
80033                 (compar_fn_t): New typedef.
80034                 (KNOWN_VALUE, STORE_VALUE): Use it.
80035
80036         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
80037         setenv.h.
80038
80039 2002-12-10  Paul Eggert  <eggert@twinsun.com>
80040
80041         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
80042         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
80043         Choose values that are less likely to collide with system fnmatch
80044         options.
80045         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
80046         defined (e.g., a pure POSIX system).
80047         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
80048         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
80049
80050 2002-12-06  Paul Eggert  <eggert@twinsun.com>
80051
80052         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
80053         a pain in practice to deal with generated m4 files.  This change
80054         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
80055
80056         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
80057         and jm-glibc-io.m4, as they are no longer a special case.
80058         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
80059         kludge and the auto-generation stuff.  Check only whether the
80060         functions are declared, not whether they exist, since older hosts
80061         that don't declare the functions can't use the optimization anyway.
80062
80063 2002-12-06  Jim Meyering  <jim@meyering.net>
80064
80065         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
80066
80067         Merge in changes from libc's misc/error.c, in preparation
80068         for the merge of gnulib's changes back into libc.
80069
80070         * lib/error.c (_): Define only if not already defined.
80071         Move definition to follow all #include directives.
80072         Include unlocked-io.h only if !_LIBC.
80073         [_LIBC]: Include <libio/libioP.h>.
80074         [USE_IN_LIBIO]: Include <libio/iolibio.h>
80075         (fflush): Tweak definition to use INTUSE.
80076         (putc): Define.
80077
80078 2002-12-05  Paul Eggert  <eggert@twinsun.com>
80079
80080         * lib/alloca.c [defined emacs]: Include "lisp.h".
80081         (xalloc_die) [defined emacs]: New macro.
80082         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
80083         [! defined emacs]: Include <xalloc.h>.
80084         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
80085         (pointer): Typedef to POINTER_TYPE *.
80086         (malloc): Remove decl; we now always use xmalloc.
80087         (alloca): Use old-style definition, since Emacs needs this.
80088         Check for arithmetic overflow when computing combined size.
80089
80090 2002-12-04  Paul Eggert  <eggert@twinsun.com>
80091
80092         Do not generate unlocked-io.h automatically, since it's easier to
80093         maintain it by hand.
80094
80095         * lib/unlocked-io.h: New file, from GNU diffutils,
80096         but with proper copyright notice and attribution.
80097         * lib/gen-uio: Remove.
80098         * lib/Makefile.am: Add copyright notice.
80099         (libfetish_a_SOURCES): Add unlocked-io.h.
80100         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
80101         (DISTCLEANFILES, io_functions): Remove macros.
80102         (EXTRA_DIST): Remove gen_uio.
80103         (unlocked-io.h): Remove rule.
80104
80105 2002-12-04  Jim Meyering  <jim@meyering.net>
80106
80107         Reflect the fact that stat.c and lstat.c are no longer generated.
80108         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
80109         (DISTCLEANFILES): Likewise.
80110         (EXTRA_DIST): Likewise.
80111         (all_local): Don't depend on stat.c or lstat.c.
80112         (stat.c, lstat.c): Remove rules.
80113         (EXTRA_DIST): Remove xstat.in.
80114
80115         * lib/xstat.in: Remove file.  Contents moved into stat.c.
80116         * lib/stat.c: New file.  Contents mostly from xstat.in.
80117         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
80118         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
80119
80120         * lib/safe-read.c: Rework so that it may serve to define safe_write,
80121         too.
80122         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
80123
80124 2002-12-03  Jim Meyering  <jim@meyering.net>
80125
80126         * lib/safe-read.c, safe-write.c: Change variable names and comments,
80127         but not semantics, to minimize the differences between these two files.
80128         (safe_read): Change comment to mention SAFE_READ_ERROR.
80129
80130         * lib/safe-read.c (IS_EINTR): Define.
80131         (safe_read): Use IS_EINTR in place of in-function cpp directives.
80132
80133 2002-12-02  Jim Meyering  <jim@meyering.net>
80134
80135         * lib/safe-read.c (EINTR): Define.
80136         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
80137         (INT_MAX): Provide fallback.
80138         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
80139
80140         * lib/safe-read.h (SAFE_READ_ERROR): Define.
80141
80142 2002-12-02  Bruno Haible  <bruno@clisp.org>
80143
80144         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
80145         Define, taken from safe-read.c.
80146         (INT_MAX): Provide fallback.
80147         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
80148         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
80149
80150         * lib/safe-read.c (EINTR): Remove definition.
80151         (safe_read): Don't use EINTR if it is absent.
80152
80153 2002-12-01  Jim Meyering  <jim@meyering.net>
80154
80155         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
80156         zero.
80157         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
80158
80159 2002-11-27  Paul Eggert  <eggert@twinsun.com>
80160
80161         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
80162         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
80163         with `if (! (value < limit)) abort ();', for readability.
80164
80165 2002-11-26  Karl Berry  <karl@gnu.org>
80166
80167         * lib/strdup.c: copy from libc again, with jim's ok.
80168         * lib/.cppi-disable: re-add strdup.c
80169
80170 2002-11-25  Karl Berry  <karl@gnu.org>
80171
80172         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
80173         instead of "strtol.c".
80174
80175 2002-11-25  Karl Berry  <karl@gnu.org>
80176
80177         * config/install-sh: update from automake for variable quoting, $0 in
80178         error msgs, etc.
80179
80180         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
80181         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
80182         entry.
80183
80184 2002-11-25  Jim Meyering  <jim@meyering.net>
80185
80186         * lib/mktime.c: Sync from libc, now that it has the latest fix.
80187
80188 2002-11-24  Karl Berry  <karl@gnu.org>
80189
80190         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
80191         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
80192
80193 2002-11-24  Jim Meyering  <jim@meyering.net>
80194
80195         Update from coreutils:
80196
80197         * lib/mktime.c: Merge in changes from libc.
80198
80199         Avoid a link-time failure on some Linux systems.
80200         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
80201         (otherwise).
80202         (__mon_yday): Declare with the STATIC attribute.
80203         (__mktime_internal): Likewise.
80204         Based on a report from Greg Schafer.
80205
80206 2002-11-23  Jim Meyering  <jim@meyering.net>
80207
80208         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
80209         Use `unsigned', not `int', as type of index.
80210
80211         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
80212
80213         * lib/fsusage.c: Remove unneeded parentheses around operands of
80214         `defined'.
80215
80216 2002-11-22  Paul Eggert  <eggert@twinsun.com>
80217
80218         * lib/quotearg.h: Allow multiple inclusion by surrounding with
80219         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
80220         so that we can be included first.
80221         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
80222         * lib/quotearg.c: Include quotearg.h immediately after config.h.
80223         No need to include stddef.h or sys/types.h any more.
80224         Surround local include files with "", not "<>".
80225         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
80226         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
80227         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
80228         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
80229         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
80230         (ISPRINT): Remove; no longer needed now that we assume C89.
80231
80232         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
80233         Preserve errno.
80234
80235         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
80236         quotearg_char): Use SIZE_MAX rather than
80237         (size_t) -1 when we are talking about "infinity".
80238
80239         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
80240
80241 2002-11-22  Paul Eggert  <eggert@twinsun.com>
80242
80243         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
80244         hint that one should use `if (! x) abort ();' rather than `assert
80245         (x);', and anyway it's one less thing to worry about configuring.
80246         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
80247         hash_rehash, hash_insert): Use abort rather than assert.
80248
80249 2002-11-22  Bruno Haible  <bruno@clisp.org>
80250
80251         * lib/safe-read.h: Assume C89. Add comments.
80252         (safe_read): Change return type to size_t.
80253         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
80254         byte counts > SSIZE_MAX correctly.
80255         * lib/safe-write.h: New file.
80256         * lib/safe-write.c: New file.
80257         * lib/full-read.h: New file.
80258         * lib/full-read.c: New file.
80259         * lib/full-write.h: Assume C89. Add comments.
80260         * lib/full-write.c: Include safe-write.h.
80261         (full_write): Rewritten to use safe_write.
80262         Suggested by Jim Meyering and Paul Eggert.
80263
80264 2002-11-21  Jim Meyering  <jim@meyering.net>
80265
80266         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
80267
80268         Merge in changes from the coreutils.
80269
80270         2002-09-25  Paul Eggert  <eggert@twinsun.com>
80271         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
80272         <stdint.h>.
80273         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
80274         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
80275         int.  Work more efficiently if X is the same width as uintmax_t.
80276         Do not compare X to -1, to avoid bogus compiler warning.
80277         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
80278         Don't assume that f_frsize and f_bsize are the same type.
80279
80280         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
80281         warning on FreeBSD.
80282
80283         * lib/makepath.c (make_path): Restore umask *before* creating the final
80284         component.
80285         (make_path): Minor reformatting.
80286
80287         * lib/xmalloc.c: Adjust to work with new autoconf macros,
80288         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
80289         HAVE_MALLOC/HAVE_REALLOC.
80290
80291         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
80292         dummy ones.  At least on GNU/Linux systems, `auto' means something
80293         else.
80294         From Michael Stone.
80295
80296 2002-11-21  Bruno Haible  <bruno@clisp.org>
80297
80298         Remove case insensitive option matching.
80299         * lib/argmatch.h (argcasematch): Remove declaration.
80300         (ARGCASEMATCH): Remove macro.
80301         (__xargmatch_internal): Remove case_sensitive argument.
80302         (XARGMATCH): Update.
80303         (XARGCASEMATCH): Remove macro.
80304         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
80305         case_sensitive argument.
80306         (argcasematch): Remove function.
80307         (__xargmatch_internal): Remove case_sensitive argument.
80308         (main): Use XARGMATCH instead of XARGCASEMATCH.
80309
80310         * lib/xmalloc.c: Change compile-time error message. Add comment about
80311         required autoconf version.
80312
80313 2002-11-20  Paul Eggert  <eggert@twinsun.com>
80314
80315         Merge argmatch cleanups from Bison.  Assume C89.
80316
80317         * lib/argmatch.c: Include config.h here, not in argmatch.h.
80318         Include stdlib.h, for EXIT_FAILURE.
80319         Always include <string.h>, since we assume C89.
80320         (EXIT_FAILURE): Remove pre-C89 bug workaround.
80321         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
80322         Include <stddef.h> instead, since it's all we need for size_t.
80323         (PARAMS): Remove.  All uses removed.
80324         (ARRAY_CARDINALITY): Do not bother to #undef.
80325         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
80326         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
80327         Remove unnecessary parentheses.
80328         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
80329         Insert necessary parentheses.
80330         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
80331         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
80332
80333 2002-11-19  Bruno Haible  <bruno@clisp.org>
80334
80335         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
80336         * lib/mbswidth.h: Include <stddef.h>, for size_t.
80337
80338         * lib/mbswidth.h (PARAMS): Remove macro.
80339         (mbswidth, mbsnwidth): Use ANSI C function declarations.
80340         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
80341
80342         * lib/gcd.h (PARAMS): Remove macro.
80343         (gcd): Use ANSI C function declarations.
80344         * lib/gcd.c (gcd): Likewise.
80345
80346 2002-11-15  Bruno Haible  <bruno@clisp.org>
80347
80348         * lib/strcspn.c: Include <stddef.h>.
80349         (strcspn): Use ANSI C function declaration. Change return type to
80350         size_t. Use NULL.
80351         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
80352         (strpbrk): Use NULL.
80353         * lib/strpbrk.h (PARAMS): Remove macro.
80354         (strpbrk): Use ANSI C function declaration.
80355         * lib/strstr.c: Don't include <sys/types.h>.
80356         * lib/strstr.h (PARAMS): Remove macro.
80357         (strstr): Use ANSI C function declarations.
80358
80359 2002-11-14  Karl Berry  <karl@gnu.org>
80360
80361         * config/mkinstalldirs: `do' on separate line, instead of
80362         `for var; do'.
80363
80364 2002-11-06  Bruno Haible  <bruno@clisp.org>
80365
80366         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
80367         * lib/gcd.c (gcd): Likewise.
80368
80369 2002-11-05  Bruno Haible  <bruno@clisp.org>
80370
80371         * lib/gcd.h: New file, from gettext-0.11.5.
80372         * lib/gcd.c: New file, from gettext-0.11.5.
80373
80374 2002-11-05  Bruno Haible  <bruno@clisp.org>
80375
80376         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
80377         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
80378         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
80379         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
80380
80381         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
80382         <libintl.h>.
80383         * lib/makepath.c: Include gettext.h instead of <locale.h> and
80384         <libintl.h>.
80385
80386         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
80387         * lib/human.c: Include gettext.h instead of <libintl.h>.
80388         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
80389         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
80390         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
80391         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
80392         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
80393         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
80394         (textdomain): Remove definition.
80395         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
80396
80397         * lib/long-options.c: Remove include of <libintl.h> and definition of
80398         _.
80399         * lib/same.c: Remove include of <libintl.h> and definition of _.
80400
80401 2002-11-04  Owen Taylor  <otaylor@redhat.com>
80402
80403         * lib/config.charset: A few additions for Solaris.
80404
80405 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
80406
80407         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
80408         * lib/localcharset.c (locale_charset): Declare as extern "C".
80409
80410 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
80411
80412         * lib/config.charset: msdos in uk_UA uses CP1125.
80413
80414 2002-11-04  Bruno Haible  <bruno@clisp.org>
80415
80416         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
80417         * lib/strcase.h: New file, from GNU gettext-0.11.5.
80418         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
80419         * lib/strstr.h: New file, from GNU gettext-0.11.5.
80420         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
80421
80422 2002-11-04  Bruno Haible  <bruno@clisp.org>
80423
80424         * lib/localcharset.c (locale_charset): Don't return an empty string.
80425
80426 2002-11-04  Bruno Haible  <bruno@clisp.org>
80427
80428         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
80429         aliases.
80430
80431 2002-11-04  Bruno Haible  <bruno@clisp.org>
80432
80433         * lib/config.charset: Update for newest glibc. Add canonical names
80434         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
80435
80436 2002-11-04  Bruno Haible  <bruno@clisp.org>
80437
80438         * lib/config.charset: Add support for NetBSD.
80439
80440 2002-11-04  Bruno Haible  <bruno@clisp.org>
80441
80442         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
80443
80444 2002-11-01  Bruno Haible  <bruno@clisp.org>
80445
80446         * configure.in: Add AC_CONFIG_AUX_DIR call.
80447         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
80448         test/Makefile.
80449         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
80450
80451 2002-09-28  Karl Berry  <karl@gnu.org>
80452
80453         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
80454         installed automake until the next release, since changes have been
80455         made.
80456
80457 2002-09-25  Karl Berry  <karl@gnu.org>
80458
80459         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
80460         * lib/getopt*: copy from libc/posix.
80461         * lib/gettext.h: copy from gettext.
80462         * lib/.cppi-disable: add strdup.c, gettext.h.
80463
80464 2002-09-25  Karl Berry  <karl@gnu.org>
80465
80466         * config/srclist.txt: enable gettext.h check.
80467         * config/config.{guess,sub}: update from prep.
80468         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
80469                 from automake 1.6.3.
80470         See srclist*.
80471
80472 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
80473
80474         * regex.c (PATFETCH): Remove the translating fetch.
80475         (PATFETCH_RAW): Rename to PATFETCH.
80476         (set_image_of_range): New fun.
80477         (SET_RANGE_TABLE_WORK_AREA): Use it.
80478         (regex_compile): Don't translate the pattern chars so eagerly.
80479         Only do it when inserting an `exactn' bytecode or when handling
80480         a char-range.
80481         (mutually_exclusive_p): Avoid empty statement.
80482
80483 2002-07-06  Jim Meyering  <meyering@lucent.com>
80484
80485         * m4/README: Don't mention Makefile.am.in.
80486         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
80487
80488 2002-07-01  Jim Meyering  <meyering@lucent.com>
80489
80490         * lib/c-stack.c: Include sys/time.h.
80491         From Volker Borchert.
80492
80493 2002-06-26  Paul Eggert  <eggert@twinsun.com>
80494
80495         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
80496
80497 2002-06-26  Paul Eggert  <eggert@twinsun.com>
80498
80499         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
80500         New macro.  Use it uniformly instead of
80501         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
80502         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
80503         reported by Vin Shelton.
80504
80505 2002-06-22  Paul Eggert  <eggert@twinsun.com>
80506
80507         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
80508         Do not assume SA_SIGINFO behavior.
80509         Bug reported by Jim Meyering on NetBSD 1.5.2.
80510
80511 2002-06-22  Jim Meyering  <meyering@lucent.com>
80512
80513         * m4/c-stack.m4: New file, from diffutils-2.8.2.
80514         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
80515
80516         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
80517         now that configure.ac uses AC_GNU_SOURCE.
80518         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
80519         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
80520
80521         Update to latest tools.  Suggestions from Paul Eggert.
80522         * m4/stdbool.m4: New file, from diffutils-2.8.2.
80523         * m4/gnu-source.m4: Update from diffutils-2.8.2.
80524         * m4/fnmatch.m4: Likewise.
80525         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
80526         to AC_HEADER_STDBOOL
80527
80528 2002-06-22  Jim Meyering  <meyering@lucent.com>
80529
80530         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
80531         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
80532
80533 2002-06-22  Jim Meyering  <meyering@lucent.com>
80534
80535         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
80536
80537         * lib/exitfail.c, exitfail.h: Likewise.
80538         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
80539
80540         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
80541         of fnmatch.h.
80542         (EXTRA_DIST): Add fnmatch_loop.c.
80543         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
80544
80545         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
80546         * lib/fnmatch.c: Update from diffutils-2.8.2.
80547         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
80548         * lib/fnmatch.h: Remove file.
80549
80550 2002-06-21  Jim Meyering  <meyering@lucent.com>
80551
80552         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
80553         * m4/mbrtowc.m4: Likewise.
80554
80555         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
80556         * m4/mbswidth.m4: Reflect name change:
80557         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
80558         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
80559
80560         * m4/lib-link.m4: Update from gettext-0.11.2.
80561         * m4/gettext.m4: Likewise.
80562
80563         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
80564         From Alfred M. Szmidt.
80565
80566 2002-06-18  Paul Eggert  <eggert@twinsun.com>
80567
80568         * lib/file-type.h: Report an error if neither S_ISREG nor
80569         S_IFREG is defined, instead of using a test specific to glibc
80570         2.2.  This should be safe, since POSIX requires S_ISREG and
80571         Unix Version 7 had S_IFREG.  We don't need to check for
80572         <sys/types.h> since we don't use any symbols that it defines.
80573
80574 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
80575
80576         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
80577         $@-t, so that each temporary file name is unique and valid in the first
80578         8 characters, for operation under DOS.
80579
80580 2002-06-15  Paul Eggert  <eggert@twinsun.com>
80581
80582         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
80583
80584 2002-06-15  Jim Meyering  <meyering@lucent.com>
80585
80586         Work even with DJGPP 2.03, which lacks support for symlinks.
80587         From Richard Dawe.
80588         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
80589         is defined.
80590         * lib/lchown.c (S_ISLNK): Likewise.
80591
80592 2002-06-15  Jim Meyering  <meyering@lucent.com>
80593
80594         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
80595         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
80596         have been included before this file.
80597
80598 2002-06-14  Jim Meyering  <meyering@lucent.com>
80599
80600         * lib/file-type.h: Use the version from diffutils-2.8.2.
80601         * lib/file-type.c: Likewise.
80602
80603 2002-06-07  Jim Meyering  <meyering@lucent.com>
80604
80605         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
80606         They're needed at least for NetBSD 1.5.2.
80607         ($statxfs_includes): Include those same headers.
80608         ($statxfs_includes): Include sys/vfs.h if available.
80609         ($statxfs_includes): Likewise for sys/statvfs.h.
80610         Check for the following members in both structs statfs and statvfs:
80611         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
80612
80613 2002-06-01  Jim Meyering  <meyering@lucent.com>
80614
80615         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
80616         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
80617
80618 2002-05-28  Jim Meyering  <meyering@lucent.com>
80619
80620         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
80621         Reported by Volker Borchert.
80622
80623 2002-05-27  Jim Meyering  <meyering@lucent.com>
80624
80625         Fix a problem seen only on nonconforming systems whereby ls.c's
80626         use of localtime, and then of gettimeofday would cause trouble:
80627         the localtime call used to initialize rpl_gettimeofday's save
80628         mechanism would clobber ls's current local time information so
80629         that in any long listing the first file would always be listed
80630         with date 1970-01-01.  Analysis by Volker Borchert.
80631
80632         * lib/gettimeofday.c (localtime): Undefine.
80633         (rpl_localtime): New function.
80634
80635 2002-05-27  Jim Meyering  <meyering@lucent.com>
80636
80637         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
80638         localtime.
80639
80640         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
80641         use the replacement function; it wouldn't resolve at link time.
80642         Reported by Volker Borchert.
80643
80644 2002-05-22  Jim Meyering  <meyering@lucent.com>
80645
80646         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
80647         file-type.h.
80648         * lib/file-type.h: New file.
80649         * lib/file-type.c (file_type): New file/function.  Extracted from
80650         diffutils.
80651
80652 2002-04-30  Jim Meyering  <meyering@lucent.com>
80653
80654         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
80655
80656 2002-04-29  Paul Eggert  <eggert@twinsun.com>
80657
80658         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
80659
80660 2002-04-29  Paul Eggert  <eggert@twinsun.com>
80661
80662         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
80663         Do not check for alloca.h (no longer used) or stdbool.h (was never
80664         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
80665
80666 2002-04-29  Paul Eggert  <eggert@twinsun.com>
80667
80668         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
80669
80670 2002-04-29  Jim Meyering  <meyering@lucent.com>
80671
80672         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
80673         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
80674         Use AC_FUNC_STRNLEN here instead.
80675
80676         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
80677         With autoconf-2.53a, it's part of AC_PROG_CC.
80678
80679 2002-04-28  Paul Eggert  <eggert@twinsun.com>
80680
80681         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
80682         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
80683
80684 2002-04-28  Paul Eggert  <eggert@twinsun.com>
80685
80686         * lib/sig2str.h, lib/sig2str.c: New files.
80687         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
80688
80689 2002-04-28  Paul Eggert  <eggert@twinsun.com>
80690
80691         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
80692         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
80693         of 127, since 64 is the largest conceivable number for ancient
80694         nonstandard hosts.
80695         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
80696
80697 2002-04-28  Jim Meyering  <meyering@lucent.com>
80698
80699         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
80700
80701 2002-04-24  Jim Meyering  <meyering@lucent.com>
80702
80703         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
80704         (jm_PREREQ): Use it.
80705
80706         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
80707         mach/mach.h fcntl.h.
80708         Check for this function: setlocale.
80709
80710 2002-04-24  Jim Meyering  <meyering@lucent.com>
80711
80712         * lib/gettext.h: New file, from Gettext.
80713         * lib/Makefile.am (INCLUDES): Remove -I../intl.
80714         (libfetish_a_SOURCES): Add gettext.h.
80715
80716 2002-04-16  Jim Meyering  <meyering@lucent.com>
80717
80718         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
80719         ut_pid, ut_id, ut_exit.
80720
80721 2002-04-16  Jim Meyering  <meyering@lucent.com>
80722
80723         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
80724         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
80725         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
80726
80727 2002-04-12  Jim Meyering  <meyering@lucent.com>
80728
80729         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
80730         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
80731         existence of the getmntinfo function.  Needed for Darwin 5.3.
80732
80733         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
80734         This is necessary at least on Darwin 5.3.
80735
80736         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
80737         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
80738         strnlen.o in the library, and that makes some versions of ranlib
80739         object.
80740
80741 2002-04-12  Jim Meyering  <meyering@lucent.com>
80742
80743         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
80744
80745 2002-04-09  Jim Meyering  <meyering@lucent.com>
80746
80747         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
80748         to be more precise.  Rather than saying we're checking whether the
80749         function `works', say what we're testing.
80750         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
80751         Reported by Bruno Haible.
80752
80753 2002-03-10  Jim Meyering  <meyering@lucent.com>
80754
80755         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
80756         Suggestion from Santiago Vila.
80757
80758 2002-03-08  Jim Meyering  <meyering@lucent.com>
80759
80760         * lib/rename.c: Mention that this wrapper is needed also on
80761         mips-dec-ultrix4.4 systems.
80762
80763 2002-03-02  Jim Meyering  <meyering@lucent.com>
80764
80765         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
80766         not HAVE_CLOCK_SETTIME.
80767
80768 2002-02-27  Paul Eggert  <eggert@twinsun.com>
80769
80770         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
80771         Check for clock_settime.
80772
80773 2002-02-27  Paul Eggert  <eggert@twinsun.com>
80774
80775         * lib/nanosleep.h: Rename to....
80776         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
80777
80778         * lib/gettime.c: New file.
80779         * lib/settime.c: New file.
80780         * lib/stime.c: Remove.
80781
80782         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
80783         timespec.h.  Remove nanosleep.h.
80784
80785 2002-02-25  Paul Eggert  <eggert@twinsun.com>
80786
80787         * m4/acl.m4: New file.
80788         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
80789         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
80790
80791 2002-02-25  Paul Eggert  <eggert@twinsun.com>
80792
80793         * lib/acl.c, lib/acl.h: New files.
80794         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
80795
80796 2002-02-24  Jim Meyering  <meyering@lucent.com>
80797
80798         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
80799         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
80800         cause trouble.  Reported by Nelson Beebe.
80801
80802 2002-02-23  Paul Eggert  <eggert@twinsun.com>
80803
80804         * lib/path-concat.c (xpath_concat): Reorder code to pacify
80805         compilers that don't know that xalloc_die never returns.
80806
80807 2002-02-20  Jim Meyering  <meyering@lucent.com>
80808
80809         * lib/getdate.c: Regenerate using bison-1.33.
80810
80811 2002-02-17  Jim Meyering  <meyering@lucent.com>
80812
80813         * config/config.guess (main): Don't use `head -1'; it's no longer
80814         portable. Use `sed 1q' instead.
80815
80816 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
80817
80818         * m4/codeset.m4: Upgrade to gettext-0.11.
80819         * m4/gettext.m4: Upgrade to gettext-0.11.
80820         * m4/glibc21.m4: Upgrade to gettext-0.11.
80821         * m4/iconv.m4: Upgrade to gettext-0.11.
80822         * m4/isc-posix.m4: Upgrade to gettext-0.11.
80823         * m4/lcmessage.m4: Upgrade to gettext-0.11.
80824         * m4/lib-ld.m4: New file, from gettext-0.11.
80825         * m4/lib-link.m4: New file, from gettext-0.11.
80826         * m4/lib-prefix.m4: New file, from gettext-0.11.
80827         * m4/progtest.m4: Upgrade to gettext-0.11.
80828
80829 2002-02-15  Paul Eggert  <eggert@twinsun.com>
80830
80831         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
80832         (jm_PREREQ): Use it.
80833
80834 2002-02-15  Paul Eggert  <eggert@twinsun.com>
80835
80836         * lib/posixver.c, lib/posixver.h: New files.
80837         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
80838
80839 2002-02-02  Paul Eggert  <eggert@twinsun.com>
80840             Bruno Haible  <bruno@clisp.org>
80841
80842         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
80843         (fwrite_success_callback): New declaration.
80844         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
80845         print_unicode_char. Call failure callback instead of error.
80846         (fwrite_success_callback): New function.
80847         (exit_failure_callback): New function.
80848         (fallback_failure_callback): New function.
80849         (print_unicode_char): Call unicode_to_mb.
80850
80851 2002-01-26  Jim Meyering  <meyering@lucent.com>
80852
80853         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
80854         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
80855
80856 2002-01-26  Jim Meyering  <meyering@lucent.com>
80857
80858         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
80859
80860 2002-01-22  Paul Eggert  <eggert@twinsun.com>
80861
80862         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
80863
80864 2002-01-22  Jim Meyering  <meyering@lucent.com>
80865
80866         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
80867         Otherwise, some versions of automake would omit the rule that makes
80868         Makefile from Makefile.in.
80869
80870 2002-01-21  Paul Eggert  <eggert@twinsun.com>
80871
80872         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
80873         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
80874         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
80875         (memcoll): Set errno to zero if there is no error.
80876
80877         * lib/quotearg.c (quotearg_buffer_restyled):
80878         Fix bug with quoting buffers containing NUL when backslashing escapes.
80879         This bug was exposed by the other changes in this patch.
80880         (quotearg_n_options): New arg ARGSIZE.
80881         All callers changed.
80882         (quoting_options_from_style): New function.
80883         (quotearg_n_style): Use it.
80884         (quotearg_n_style_mem): New function.
80885
80886         * lib/quotearg.h (quotearg_n_style_mem): New function.
80887
80888 2002-01-19  Jim Meyering  <meyering@lucent.com>
80889
80890         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
80891         Remove useless quotes: DF_PROG="df".
80892         * m4/strnlen.m4: New file.
80893
80894 2002-01-16  Paul Eggert  <eggert@twinsun.com>
80895
80896         * lib/backupfile.c (ISDIGIT): Comment fix.
80897         * lib/getdate.y (ISDIGIT): Likewise.
80898         * lib/posixtm.c (ISDIGIT, year): Likewise.
80899         * lib/strverscmp.c (ISDIGIT): Likewise.
80900         * lib/userspec.c (ISDIGIT): Likewise.
80901
80902 2002-01-16  Jim Meyering  <meyering@lucent.com>
80903
80904         * lib/getdate.y: Add three semicolons, each just before a closing
80905         brace. Bison (as of version 1.31) no longer papers over that mistake.
80906
80907 2002-01-05  Jim Meyering  <meyering@lucent.com>
80908
80909         * lib/version-etc.c (version_etc_copyright): Update copyright year.
80910
80911 2001-12-19  Paul Eggert  <eggert@twinsun.com>
80912
80913         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
80914         not silently exit merely because the output buffer happens to
80915         have nothing pending.
80916
80917 2001-12-18  Paul Eggert  <eggert@twinsun.com>
80918
80919         See the big note in ../ChangeLog.
80920         * lib/human.c (suffixes): Prefer K to k for 1024.
80921         (generate_suffix_backwards): New function.
80922         (human_readable_inexact): Use it.
80923         * lib/xstrtol.c (__xstrtol): If there is no number but there
80924         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
80925         Accept 'K' as well as 'k'.
80926
80927 2001-12-15  Jim Meyering  <meyering@lucent.com>
80928
80929         * lib/regex.h (__restrict_arr): Update from libc.
80930
80931         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
80932         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
80933         (STREQ): Define.
80934
80935 2001-12-14  Jim Meyering  <meyering@lucent.com>
80936
80937         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
80938         Suggestion from Bruno Haible.
80939
80940 2001-12-10  Jim Meyering  <meyering@lucent.com>
80941
80942         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
80943         xrealloc, Instead, include "xalloc.h".
80944         (initbuffer): Don't cast xmalloc return value to char*.
80945         (readline): Reword comment.
80946         Don't cast xrealloc return value to char*
80947         Return NULL, not 0.
80948
80949 2001-12-09  Jim Meyering  <meyering@lucent.com>
80950
80951         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
80952         about `signed and unsigned type in conditional expression'.
80953         * lib/posixtm.c (posix_time_parse): Likewise.
80954
80955         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
80956
80957         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
80958         to avoid a pedantic warning.
80959
80960         * lib/getstr.c: Don't include assert.h.
80961         (getstr): Remove warning-evoking assertions.
80962         Return -1 if offset parameter is out of bounds.
80963         Change the type of a local from int to size_t.
80964
80965         * lib/strftime.c (my_strftime_localtime_r): Include this function
80966         definition in the `#if ! HAVE_TM_GMTOFF' block.
80967
80968         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
80969         Include xalloc.h instead.
80970
80971 2001-12-02  Jim Meyering  <meyering@lucent.com>
80972
80973         * lib/tempname.c: Don't declare getenv, thus reverting the change of
80974         2001-11-18.  It's no longer necessary, now that stdlib.h is always
80975         included.
80976
80977         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
80978         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
80979
80980 2001-11-30  Akim Demaille  <akim@epita.fr>
80981
80982         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
80983         before being defined.
80984
80985 2001-11-27  Paul Eggert  <eggert@twinsun.com>
80986
80987         * lib/quotearg.h (quotearg_n, quotearg_n_style):
80988         First arg is int, not unsigned.
80989         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
80990         (SIZE_MAX, UINT_MAX): New macros.
80991         (quotearg_n_options): Abort if N is negative.
80992         Avoid overflow check on hosts where size_t is 64 bits and int
80993         is 32 bits, as overflow is impossible there.
80994         Fix off-by-one typo that caused unnecessary reallocation.
80995
80996 2001-11-27  Jim Meyering  <meyering@lucent.com>
80997
80998         * lib/tempname.c: Merge with version from libc.
80999         * lib/regex.c: Likewise.
81000
81001         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
81002         systems for which STDC_HEADERS is 0, it was not included, resulting in
81003         a warning about an integer-to-pointer conversion problem with getenv.
81004         Reported by Volker Borchert.
81005
81006 2001-11-26  Jim Meyering  <meyering@lucent.com>
81007
81008         * lib/gtod.h: Remove file.
81009         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
81010         * lib/gettimeofday.c: Don't include gtod.h.
81011         (GTOD_init): Remove function.
81012         (rpl_gettimeofday): Do its job here instead, rather than aborting.
81013         Suggestion from Volker Borchert.
81014
81015 2001-11-23  Jim Meyering  <meyering@lucent.com>
81016
81017         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
81018         it.
81019         * lib/hash.c (struct hash_table): Define it here instead.
81020
81021 2001-11-22  Jim Meyering  <meyering@lucent.com>
81022
81023         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
81024
81025 2001-11-20  Jim Meyering  <meyering@lucent.com>
81026
81027         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
81028         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
81029
81030 2001-11-19  Jim Meyering  <meyering@lucent.com>
81031
81032         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
81033         directory.  Use "conftestXXXXXX" as the template.
81034         Suggestion from Paul Eggert.
81035
81036         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
81037         immediately, so the test doesn't mistakenly hit the max-open-files
81038         limit.
81039
81040 2001-11-18  Paul Eggert  <eggert@twinsun.com>
81041
81042         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
81043         (TEMPORARIES): New macro.
81044         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
81045         removes an artificial limitation (e.g. HP-UX 10.20, where
81046         TMP_MAX is 17576).
81047
81048 2001-11-18  Jim Meyering  <meyering@lucent.com>
81049
81050         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
81051
81052 2001-11-18  Jim Meyering  <meyering@lucent.com>
81053
81054         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
81055         on SunOS 4.
81056
81057         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
81058         files will be created before anything else.
81059
81060 2001-11-17  Paul Eggert  <eggert@twinsun.com>
81061
81062         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
81063         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
81064
81065 2001-11-17  Jim Meyering  <meyering@lucent.com>
81066
81067         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
81068         Prompted by a report from Bob Proulx.
81069
81070         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
81071         Instead, require UTILS_FUNC_MKSTEMP.
81072
81073 2001-11-17  Jim Meyering  <meyering@lucent.com>
81074
81075         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
81076         Now, that's done as part of AC_FUNC_STRTOD.
81077
81078 2001-11-17  Jim Meyering  <meyering@lucent.com>
81079
81080         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
81081         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
81082         rather than group writable.  Patch by Juan F. Codagnone.
81083
81084         * lib/readtokens.c: Remove explicit declarations of xmalloc and
81085         xrealloc, Instead, include "xalloc.h".
81086
81087         * lib/mountlist.c: Include unlocked-io.h after all system headers.
81088         Remove explicit declarations of xmalloc, xrealloc,
81089         and xstrdup.  Instead, include "xalloc.h".
81090
81091         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
81092         unlocked-io.h.
81093         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
81094         Likewise.
81095         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
81096
81097         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
81098         Reported by Padraig Brady.
81099
81100         * lib/mkstemp.c: #undef mkstemp.
81101         Include config.h.
81102         (rpl_mkstemp): Rename from mkstemp.
81103         Protoize.
81104
81105 2001-11-16  Jim Meyering  <meyering@lucent.com>
81106
81107         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
81108         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
81109         determine the amount of total physical memory, use pstat_getstatic.
81110         HPUX-11 doesn't define _SC_PHYS_PAGES.
81111         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
81112         If sysconf couldn't be used to determine the amount of available
81113         physical memory, use both pstat_getstatic and pstat_getdynamic.
81114         Based on a patch from Bob Proulx.
81115
81116 2001-11-10  Jim Meyering  <meyering@lucent.com>
81117
81118         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
81119         (jm_PREREQ): Use it.
81120
81121 2001-11-09  Jim Meyering  <meyering@lucent.com>
81122
81123         * m4/jm-macros.m4: Require autoconf-2.52f.
81124         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
81125         Use these AC_-prefixed names, not the AM_-prefixed ones.
81126
81127         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
81128
81129 2001-11-05  Jim Meyering  <meyering@lucent.com>
81130
81131         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
81132
81133 2001-11-04  Jim Meyering  <meyering@lucent.com>
81134
81135         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
81136         $DEFS.
81137
81138 2001-11-03  Jim Meyering  <meyering@lucent.com>
81139
81140         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
81141         of AC_DEFUN.
81142
81143         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
81144         know the name of the variable in the macro definition.
81145
81146 2001-11-03  Jim Meyering  <meyering@lucent.com>
81147
81148         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
81149         in argmatch_to_argument call.
81150
81151         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
81152         argument.
81153
81154         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
81155         e.g., a fault due to an attempt to free a NULL pointer.
81156
81157 2001-11-01  Jim Meyering  <meyering@lucent.com>
81158
81159         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
81160         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
81161
81162 2001-11-01  Jim Meyering  <meyering@lucent.com>
81163
81164         * lib/dirfd.c, lib/dirfd.h: New files.
81165         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
81166
81167         * lib/hash.c (hash_print) [TESTING]: Clean up.
81168
81169 2001-10-22  Paul Eggert  <eggert@twinsun.com>
81170
81171         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
81172         to avoid a warning if -Wall.
81173
81174 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
81175
81176         * README: New file
81177         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
81178         (per RMS's instructions, this is now the canonical source)
81179         * lgpl/, gpl/: New directories.
81180
81181 2001-10-21  Paul Eggert  <eggert@twinsun.com>
81182
81183         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
81184
81185 2001-10-21  Jim Meyering  <meyering@lucent.com>
81186
81187         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
81188         this code would end up calling gettext even in packages built
81189         with --disable-nls.
81190         * lib/getopt.c (_): Likewise.
81191         * lib/regex.c (_): Likewise.
81192
81193 2001-10-20  Paul Eggert  <eggert@twinsun.com>
81194
81195         * m4/error.m4 (jm_PREREQ_ERROR):
81196         Do not invoke AC_CHECK_FUNCS with strerror_r, as
81197         AC_FUNC_STRERROR_R does that.
81198         Check for strerror declaration.
81199
81200         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
81201         are supposed to have them these days.
81202         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
81203         Merge changes from latest Autoconf CVS.
81204         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
81205         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
81206         POSIX decided to standardize on the int flavor of strerror_r.
81207
81208 2001-10-20  Paul Eggert  <eggert@twinsun.com>
81209
81210         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
81211         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
81212         Use strerror_r that is only a macro, even if it is not a function.
81213         (strerror): Check for HAVE_DECL_STRERROR before declaring.
81214         (private_strerror): Use prototypes, not old-style function definition.
81215         (print_errno_message): New function.
81216         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
81217         char*-flavored one.
81218         (error_tail, error, error_at_line): Use it.
81219
81220 2001-10-11  Jim Meyering  <meyering@lucent.com>
81221
81222         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
81223         and quote_n (1, ... to avoid clobbering a buffer.
81224
81225 2001-10-05  Jim Meyering  <meyering@lucent.com>
81226
81227         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
81228         hash-pjw.h.
81229         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
81230         * lib/hash-pjw.h: New file.
81231
81232 2001-09-30  Jim Meyering  <meyering@lucent.com>
81233
81234         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
81235         `struct fsstat' has the `f_fstypename' member.
81236         Use that to define FS_TYPE, which is now used to make
81237         the getfsstat link test tighter.
81238
81239 2001-09-30  Jim Meyering  <meyering@lucent.com>
81240
81241         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
81242         Include <sys/ucred.h>, for Apple Darwin.
81243         Include sys/mount.h and sys/fs_types.h only if available.
81244         (FS_TYPE): Define.
81245         (read_filesystem_list): Use FS_TYPE.
81246
81247 2001-09-29  Paul Eggert  <eggert@twinsun.com>
81248
81249         * lib/exclude.c (excluded_filename): 0 -> false, since it's
81250         a boolean context.
81251
81252 2001-09-29  Jim Meyering  <meyering@lucent.com>
81253
81254         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
81255         [one-argument getmntent function]): Include stdio.h before mntent.h.
81256         SunOS 4.1.x needs it for the declaration of `FILE'.
81257         Patch by Volker Borchert.
81258
81259         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
81260         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
81261         sys/fs_types.h, and make the link-test for getfsstat guard #include
81262         directives with appropriate #if HAVE_*_H tests so that we can
81263         detect getfsstat on Apple Darwin1.3.7 systems.
81264         Reported by Nelson Beebe.
81265         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
81266
81267 2001-09-28  Paul Eggert  <eggert@twinsun.com>
81268
81269         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
81270         #defines strtoimax.  Also treat the other strto* functions
81271         like strtoimax.
81272
81273         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
81274         Check for strtoul and strtoumax,
81275         as those declarations are made even in the signed case.
81276         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
81277         Likewise, for strtol and strtoimax.
81278
81279 2001-09-28  Paul Eggert  <eggert@twinsun.com>
81280
81281         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
81282         #defines strtoimax.  Also treat the other strto* functions
81283         like strtoimax.
81284
81285         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
81286         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
81287         (strtoimax, strtoumax): Do not declare if already defined as a macro.
81288
81289 2001-09-26  Jim Meyering  <meyering@lucent.com>
81290
81291         Most macros in unlocked-io.h had the wrong number of arguments.
81292         * lib/gen-uio: New script.
81293         (USE_UNLOCKED_IO): Define to 1 if not already defined.
81294         * lib/unlocked-io.hin: Remove file.
81295         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
81296         rather than trying to embed it here.
81297         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
81298         Reported by Padraig Brady.
81299
81300 2001-09-25  Volker Borchert  <bt@teknon.de>
81301
81302         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
81303         `result'.
81304
81305 2001-09-24  Jim Meyering  <meyering@lucent.com>
81306
81307         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
81308
81309 2001-09-23  Jim Meyering  <meyering@lucent.com>
81310
81311         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
81312         instead of the mere test for existence of mntent.h.  The latter
81313         would get a false-positive on AIX 3.4 systems.
81314         In the outer getmntent if-block, don't die if neither of the getmntent
81315         tests succeeds.  Instead, just fall through and continue with the
81316         remaining tests.
81317
81318 2001-09-23  Jim Meyering  <meyering@lucent.com>
81319
81320         * lib/mountlist.c: Remove useless parentheses in #if directives.
81321         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
81322         the deprecated MOUNTED symbol is no longer defined in mntent.h.
81323
81324 2001-09-22  Jim Meyering  <meyering@lucent.com>
81325
81326         * m4/gettext.m4: New file.  From gettext.
81327         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
81328         * m4/progtest.m4: Likewise
81329         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
81330         * m4/glibc21.m4: Likewise.
81331
81332         * m4/libintl.m4: Remove.  No longer used.
81333
81334 2001-09-22  Jim Meyering  <meyering@lucent.com>
81335
81336         * lib/localcharset.c: Update from latest gettext.
81337         * lib/config.charset: Likewise.
81338
81339 2001-09-20  Jim Meyering  <meyering@lucent.com>
81340
81341         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
81342         strtoimax.
81343         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
81344         strtoumax.
81345
81346 2001-09-20  Jim Meyering  <meyering@lucent.com>
81347
81348         * lib/xstrtol.c (strtoimax): Guard declaration with
81349         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
81350         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
81351         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
81352         (strtoumax): Likewise, for completeness (it wasn't necessary).
81353
81354 2001-09-17  Paul Eggert  <eggert@twinsun.com>
81355
81356         * lib/strtoimax.c (HAVE_LONG_LONG):
81357         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
81358         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
81359         to work around bug in IBM C compiler.
81360
81361 2001-09-17  Jim Meyering  <meyering@lucent.com>
81362
81363         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
81364         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
81365         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
81366         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
81367         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
81368         whenever the right hand side need not be expanded by the shell.
81369
81370 2001-09-16  Paul Eggert  <eggert@twinsun.com>
81371
81372         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
81373         library.  It's not correct, as some older glibcs are buggy.
81374         fnmatch wasn't fixed until glibc 2.2.
81375
81376         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
81377         special shell magic here.
81378
81379 2001-09-16  Jim Meyering  <meyering@lucent.com>
81380
81381         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
81382         * m4/jm-macros.m4: Require it.
81383
81384 2001-09-16  Jim Meyering  <meyering@lucent.com>
81385
81386         * lib/mkdir.c: New file.
81387
81388 2001-09-15  Jim Meyering  <meyering@lucent.com>
81389
81390         * m4/jm-macros.m4: Check for help2man.
81391
81392 2001-09-11  Jim Meyering  <meyering@lucent.com>
81393
81394         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
81395         The body, by Paul Eggert, was moved here from configure.in.
81396         * m4/jm-macros.m4: Require UTILS_HOST_OS.
81397
81398 2001-09-04  Paul Eggert  <eggert@twinsun.com>
81399
81400         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
81401         (jm_PREREQ): Use it.
81402
81403 2001-09-04  Paul Eggert  <eggert@twinsun.com>
81404
81405         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
81406         Use ssize_t, not int, to store result of readlink.
81407         Check for ssize_t overflow as well as size_t overflow,
81408         as POSIX says the result of readlink is implementation-defined
81409         when ssize_t overflows.
81410         Remove unnecessary cast to char*.
81411         Use free+malloc instead of realloc, as the storage doesn't need
81412         to be preserved and it's clearer and can be more efficient that way.
81413         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
81414         * lib/xreadlink.h (xreadlink): Update prototype.
81415
81416 2001-09-04  Paul Eggert  <eggert@twinsun.com>
81417
81418         * lib/xgetcwd.c: Revert some of the previous change; intead,
81419         fix the HAVE_GETCWD_NULL code to behave more like the
81420         !HAVE_GETCWD_NULL code used to.
81421
81422         Include "xalloc.h".
81423         (xgetcwd): Do not return NULL when memory is exhausted; instead,
81424         invoke xalloc_die.
81425
81426 2001-09-03  Paul Eggert  <eggert@twinsun.com>
81427
81428         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
81429         sys/param.h, as pathmax.h includes them.
81430
81431 2001-09-03  Paul Eggert  <eggert@twinsun.com>
81432
81433         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
81434         (jm_PREREQ_XGETCWD): New macro.
81435
81436         * m4/getcwd.m4: New file.
81437
81438 2001-09-03  Paul Eggert  <eggert@twinsun.com>
81439
81440         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
81441         like the HAVE_GETCWD_NULL code.
81442         Include pathmax.h if not HAVE_GETCWD.
81443         Do not include xalloc.h.
81444         (INITIAL_BUFFER_SIZE): New symbol.
81445         Do not use xmalloc / xrealloc, since the caller is responsible for
81446         handling errors.  Preserve errno around `free' during failure.
81447         Do not overrun buffer when using getwd.
81448
81449 2001-09-03  Paul Eggert  <eggert@twinsun.com>
81450
81451         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
81452         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
81453         getcwd (NULL, 0).
81454
81455 2001-09-03  Paul Eggert  <eggert@twinsun.com>
81456
81457         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
81458         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
81459         spotted by Jim Meyering.
81460
81461 2001-09-03  Jim Meyering  <meyering@lucent.com>
81462
81463         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
81464         failure.
81465
81466 2001-09-02  Jim Meyering  <meyering@lucent.com>
81467
81468         * lib/error.c: Update from GNU libc.
81469
81470 2001-09-01  Jim Meyering  <meyering@lucent.com>
81471
81472         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
81473         Used by df.
81474
81475 2001-09-01  Jim Meyering  <meyering@lucent.com>
81476
81477         * lib/xreadlink.c: New file.
81478         * lib/xreadlink.h: New file.
81479         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
81480         xreadlink.h.
81481
81482         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
81483         doesn't conflict with sparc Solaris 7's definition in
81484         /usr/include/sys/int_types.h.
81485
81486         * lib/exclude.c: Use `""', not `<>' to #include non-system header
81487         files.
81488         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
81489         and strncasecmp as r-values.  Unixware didn't have declarations.
81490
81491 2001-08-31  Paul Eggert  <eggert@twinsun.com>
81492
81493         * lib/xstrtol.h: Add copyright notice.
81494         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
81495         LONGINT_INVALID_SUFFIX_CHAR.
81496
81497 2001-08-31  Paul Eggert  <eggert@twinsun.com>
81498
81499         * lib/xstrtol.c (strtoimax): New decl.
81500
81501 2001-08-31  Paul Eggert  <eggert@twinsun.com>
81502
81503         * lib/xgetcwd.c: Don't include pathmax.h.
81504         Include stdlib.h and unistd.h if available.
81505         Include xalloc.h.
81506         (xmalloc, xstrdup, free): Remove decls.
81507         (xgetcwd): Don't assume sizes fit in unsigned.
81508         Check for overflow when computing sizes.
81509         Simplify reallocation code.
81510
81511 2001-08-31  Paul Eggert  <eggert@twinsun.com>
81512
81513         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
81514         a directory's st_size can have an arbitrary value, so the old
81515         usage could waste an arbitrary amount of memory.  All uses
81516         changed.
81517         * lib/savedir.h: Update prototype.
81518
81519 2001-08-31  Paul Eggert  <eggert@twinsun.com>
81520
81521         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
81522
81523         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
81524         old strtoimax.c.
81525
81526         Also, make the following further changes to make this file's
81527         configuration more similar to that of strtol.c:
81528         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
81529         (strtoumax, uintmax_t, strtoull, strtol): Remove.
81530         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
81531         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
81532         changed to signed values.
81533
81534         And make the following changes as well:
81535         Fix copyright notice, as 1999 was missing.
81536         (verify): New macro.
81537         (strtoimax): Check sizes at compile-time, not run-time.
81538         Prefer strtol to strtoll if both work.
81539         (main): Remove; it was not that useful and was a pain to maintain.
81540
81541         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
81542
81543 2001-08-31  Jim Meyering  <meyering@lucent.com>
81544
81545         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
81546         Use an initial, malloc'd, buffer of length 128 rather than
81547         a statically allocated one of length 1024.
81548
81549 2001-08-30  Paul Eggert  <eggert@twinsun.com>
81550
81551         Simplify code, partly by assuming autoconf 2.52 semantics.
81552
81553         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
81554
81555         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
81556         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
81557         All uses removed.
81558         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
81559         Move AC_REQUIRE to next-to-top level, to avoid confusion.
81560         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
81561         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
81562         jm_AC_HEADER_INTTYPES_H.
81563         * m4/jm-macros.m4 (jm_MACROS): Likewise.
81564
81565         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
81566
81567         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
81568         Quote first arg of AC_DEFUN.
81569         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
81570         since they are needed to parse the include file even if we need
81571         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
81572         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
81573         but with opposite signedness.
81574
81575 2001-08-30  Paul Eggert  <eggert@twinsun.com>
81576
81577         Merge 'exclude' changes from tar 1.13.22.
81578         This fixes one or two unlikely storage allocation overflow bugs,
81579         but doesn't change user-visible behavior otherwise.
81580
81581 2001-08-30  Paul Eggert  <eggert@twinsun.com>
81582
81583         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
81584         (jm_PREREQ_EXCLUDE): New macro.
81585
81586 2001-08-30  Paul Eggert  <eggert@twinsun.com>
81587
81588         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
81589         tm to be declared.
81590
81591 2001-08-30  Paul Eggert  <eggert@twinsun.com>
81592
81593         * lib/hash.c: Remove '2001' from copyright notice.
81594
81595 2001-08-30  Paul Eggert  <eggert@twinsun.com>
81596
81597         * lib/full-write.h: New file.
81598         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
81599         * lib/full-write.c: Correct credits, as cccp.c no longer
81600         exists and anyway it was so heavily changed from the old cccp
81601         code as to be unrecognizable.  Include full-write.h.
81602         (full_write): Return size_t, with short writes meaning failure.
81603         All callers changed.  This fixes a bug with large buffers
81604         on 64-bit hosts.
81605         * lib/utime.c: Include full-write.h.
81606
81607 2001-08-30  Paul Eggert  <eggert@twinsun.com>
81608
81609         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
81610         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
81611         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
81612         Include if available.
81613         (<xalloc.h>): Include
81614         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
81615         (verify): New macro.  Use it to verify that EXCLUDE macros do not
81616         collide with FNM macros.
81617         (struct patopts): New struct.
81618         (struct exclude): Use it, as exclude patterns now come with options.
81619         (new_exclude): Support above changes.
81620         (new_exclude, add_exclude_file):
81621         Initial size must now be a power of two to simplify overflow checking.
81622         (free_exclude, fnmatch_no_wildcards): New function.
81623         (excluded_filename): No longer requires options arg, as the options
81624         are determined by add_exclude.  Now returns bool, not int.
81625         (excluded_filename, add_exclude):
81626         Add support for the fancy new exclusion options.
81627         (add_exclude, add_exclude_file): Now takes int options arg.
81628         Check for arithmetic overflow when computing sizes.
81629         (add_exclude_file): xrealloc might modify errno, so don't
81630         realloc until after errno might be used.
81631
81632         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
81633         New macros.
81634         (free_exclude): New decl.
81635         (add_exclude, add_exclude_file): Now takes int options arg.
81636         (excluded_filename): No longer requires options arg, as the options
81637         are determined by add_exclude.  Now returns bool, not int.
81638
81639 2001-08-30  Paul Eggert  <eggert@twinsun.com>
81640
81641         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
81642
81643 2001-08-27  Jim Meyering  <meyering@lucent.com>
81644
81645         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
81646
81647         * lib/version-etc.c (N_): Remove definition.
81648         Revert most of last change.
81649         Instead, simply don't mark the `Copyright...' string for translation.
81650         Based on advice from Paul Eggert.
81651
81652         * lib/strtoxmax.c: Tweak comment.
81653
81654 2001-08-26  Jim Meyering  <meyering@lucent.com>
81655
81656         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
81657
81658         * m4/xstrtoimax.m4: New file.
81659         * m4/xstrtoumax.m4: Add comments explaining why we
81660         AC_REPLACE_FUNCS(strtol).
81661
81662 2001-08-26  Jim Meyering  <meyering@lucent.com>
81663
81664         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
81665         of copyright with `%s' so translators don't get an untranslated
81666         message in 2002.
81667         (COPYRIGHT_YEAR): Define.
81668         (version_etc): Use fprintf rather than fputs.
81669         Suggestion from Ulrich Drepper.
81670
81671         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
81672
81673         * lib/strtoll.c: New file, from GNU libc.
81674         * lib/xstrtoimax.c: New file.
81675
81676         * lib/xstrtol.h: Add xstrtoimax.
81677         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
81678         * lib/strtoimax.c: New file.  Likewise, but first define
81679         STRTOUXMAX_SIGNED.
81680
81681         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
81682         ...
81683         * lib/strtoxmax.c: ... then renamed to this.
81684
81685 2001-08-18  Paul Eggert  <eggert@twinsun.com>
81686
81687         * m4/inttypes.m4: Add AC_PREREQ(2.13).
81688         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
81689         (jm_AC_TYPE_INTMAX_T): New macro.
81690         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
81691
81692         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
81693
81694         * m4/longlong.m4: Renamed from ulonglong.m4.
81695         * m4/inttypes.m4: Renamed from inttypes_h.m4.
81696         * m4/uintmax_t.m4: Removed.
81697
81698 2001-08-13  Paul Eggert  <eggert@twinsun.com>
81699
81700         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
81701         Port to Solaris 8, where 'sed' requires a space after the 'r'
81702         command, and where sh dislikes "$/".  Clean up the spacing a bit.
81703         Redirect output to $tmp just once.
81704
81705 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
81706
81707         * lib/addext.c (<errno.h>): Include.
81708         (errno): Declare if not defined.
81709         (addext): Work correctly when pathconf returns -1 and leaves
81710         errno alone because there is no limit.  Also, work even if
81711         pathconf returns a value greater than SIZE_MAX.
81712
81713 2001-08-12  Jim Meyering  <meyering@lucent.com>
81714
81715         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
81716         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
81717         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
81718         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
81719         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
81720         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
81721         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
81722         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
81723         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
81724         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
81725         utime.m4, utimes.m4, xstrtoumax.m4:
81726         Quote the first argument in each use of AC_DEFUN.
81727
81728 2001-08-12  Jim Meyering  <meyering@lucent.com>
81729
81730         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
81731         Simply `return getcwd (NULL, 0);'.
81732         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
81733         Use 1300 as initial value for length, not PATH_MAX.
81734
81735         * lib/pathmax.h: Clean up cpp syntax.
81736
81737 2001-08-12  Jim Meyering  <meyering@lucent.com>
81738
81739         * lib/gettimeofday.c: New file.
81740         * lib/gtod.h: New file.
81741         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
81742
81743 2001-08-05  Jim Meyering  <meyering@lucent.com>
81744
81745         * m4/jm-macros.m4: Require autoconf-2.52.
81746
81747 2001-08-04  Jim Meyering  <meyering@lucent.com>
81748
81749         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
81750         stmt, to get in sync with glibc.
81751
81752 2001-08-03  Paul Eggert  <eggert@twinsun.com>
81753
81754         The following changes are from gettext 0.10.39 as maintained by
81755         Bruno Haible.
81756
81757         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
81758         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
81759         with inverted sense.  All uses changed.
81760
81761         * lib/mbswidth.c: Don't include <limits.h>.
81762         Include <stdlib.h> and <string.h> unconditionally.
81763         (iswcntrl, mbsinit, ISCNTRL): New macros.
81764         (mbsnwidth): Use K&R style function declarations.
81765         Don't bother checking for MB_LEN_MAX == 1, since the compiler
81766         can optimize it when MB_CUR_MAX == 1.
81767         The width of control characters is zero, not 1.
81768
81769 2001-08-03  Paul Eggert  <eggert@twinsun.com>
81770
81771         The following changes are from gettext 0.10.39 as maintained by
81772         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
81773
81774         * m4/codeset.m4: Upgrade to serial AM1.
81775         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
81776         all uses changed.  Quote first arg of AC_DEFUN.
81777         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
81778
81779         * m4/iconv.m4: Upgrade to serial AM2.
81780         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
81781         Add --with-libconv-prefix.
81782         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
81783         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
81784         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
81785         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
81786         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
81787
81788         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
81789         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
81790         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
81791         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
81792         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
81793         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
81794         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
81795         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
81796         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
81797
81798         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
81799         string.h any more.
81800
81801         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
81802         not the default value.
81803
81804         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
81805         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
81806         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
81807         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
81808         Also check for iswcntrl, used for wcwidth fallback.
81809         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
81810         to Autoconf 2.13.
81811
81812 2001-08-03  Jim Meyering  <meyering@lucent.com>
81813
81814         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
81815         as it was in the original.  Reported by Paul Eggert.
81816
81817 2001-07-16  Jim Meyering  <meyering@lucent.com>
81818
81819         * m4/gettimeofday.m4: New file.
81820         Prompted by a report from Bernhard Baehr.
81821
81822 2001-07-15  Jim Meyering  <meyering@lucent.com>
81823
81824         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
81825         stuff. Now it's in ../Makefile.cfg.
81826
81827 2001-07-15  Jim Meyering  <meyering@lucent.com>
81828
81829         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
81830         (BUILT_SOURCES): Add unlocked-io.h.
81831         (io_functions): Define.
81832         (unlocked-io.h): New rule.
81833         (DISTCLEANFILES): Add unlocked-io.h.
81834         (all-local): Depend on unlocked-io.h, to ensure it is created.
81835
81836         * lib/unlocked-io.hin: New file
81837
81838         * lib/regex.c: Update from glibc.
81839
81840 2001-07-05  Jim Meyering  <meyering@lucent.com>
81841
81842         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
81843         recommendation.
81844         (libfetish_a_SOURCES): Put all .h files here instead.
81845         Remove a thus-exposed (better checks in automake) duplicate and
81846         two unnecessary .h files.
81847
81848 2001-07-04  Jim Meyering  <meyering@lucent.com>
81849
81850         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
81851         that generates jm-glibc-io.m4 so that it doesn't trigger any make
81852         distcheck failure.
81853
81854 2001-07-02  Jim Meyering  <meyering@lucent.com>
81855
81856         The following changes were prompted by suggestions from Bruno Haible.
81857
81858         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
81859         is now generated.
81860         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
81861         definition of EXTRA_DIST.
81862         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
81863         ensure that the generated file is created/updated whenever the list
81864         of $(unlocked_functions) is changed.
81865         (jm-glibc-io.m4): New rule.
81866         (unlocked-io.h): New rule -- currently unused.
81867
81868 2001-06-24  Jim Meyering  <meyering@lucent.com>
81869
81870         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
81871         unmatched right bracket, rather than kludging it with an extra,
81872         falsely-matching quote in a comment.  Patch by Akim Demaille.
81873
81874 2001-06-11  Jim Meyering  <meyering@lucent.com>
81875
81876         * lib/regex.c: Update from GNU libc.
81877
81878 2001-05-27  Jim Meyering  <meyering@lucent.com>
81879
81880         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
81881         Check for ut_type in struct utmp.
81882
81883 2001-05-27  Jim Meyering  <meyering@lucent.com>
81884
81885         * lib/readutmp.h (UT_TYPE): Define.
81886
81887 2001-05-24  Jim Meyering  <meyering@lucent.com>
81888
81889         * lib/argmatch.c: Include "quote.h".
81890         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
81891         quote function.  Reported by Göran Uddeborg.
81892
81893 2001-05-22  Jim Meyering  <meyering@lucent.com>
81894
81895         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
81896         now that we use the package-supplied version unconditionally.
81897         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
81898
81899 2001-05-21  Jim Meyering  <meyering@lucent.com>
81900
81901         * m4/regex.m4: Change a couple backticks to single quotes to avoid
81902         shell syntax errors.
81903
81904 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
81905
81906         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
81907
81908 2001-05-20  Paul Eggert  <eggert@twinsun.com>
81909
81910         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
81911         Don't bother to check library strftime, since
81912         we'll be using our own my_strftime function anyway.
81913         Define my_strftime instead of strftime.
81914
81915 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
81916
81917         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
81918         which is not yet declared.
81919
81920 2001-05-15  Jim Meyering  <meyering@lucent.com>
81921
81922         * m4/regex.m4: Use proper quoting so brackets appear in the test
81923         program.
81924         Reported by, and with help from, Bruno Haible.
81925
81926 2001-05-13  Jim Meyering  <meyering@lucent.com>
81927
81928         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
81929         undefined.
81930
81931 2001-05-11  Paul Eggert  <eggert@twinsun.com>
81932
81933         dirname code cleanup.  base_name now behaves more compatibly
81934         with POSIX basename when given file names that have trailing
81935         slashes, and similarly for dir_name.  Add new primitives
81936         base_len and dir_len.  Put the directory-name-related decls
81937         into dirname.h.
81938
81939         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
81940         * lib/backupfile.c (base_name): Likewise.
81941         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
81942         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
81943         * lib/makepath.c (strip_trailing_slashes): Likewise.
81944         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
81945         ISSLASH): Likewise.
81946         * lib/rename.c (strip_trailing_slashes): Likewise.
81947         * lib/same.c (base_name): Likewise.
81948         * lib/stripslash.c (ISSLASH): Likewise.
81949
81950         * lib/addext.c: Include <dirname.h> after size_t is defined.
81951         * lib/backupfile.c: Likewise.
81952
81953         * lib/addext.c (addext): Use base_len to trim redundant
81954         trailing slashes instead of doing it ourselves.
81955         But do not trim the last slash if it is not redundant.
81956
81957         * lib/backupfile.c (find_backup_file_name,
81958         max_backup_version): Use base_len instead of rolling it ourselves.
81959         Handle the case of "" and (on DOS) "C:" correctly.
81960
81961         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
81962         needed. Include <string.h>, <dirname.h>.
81963         (base_name): Allow file names ending in slashes, other than names
81964         that are all slashes.  In this case, return the basename followed
81965         by the slashes.  This is more general, and can be used in places
81966         where the original base_name purposely had an assertion failure.
81967         (base_len): New function.
81968
81969         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
81970         Do not include <assert.h>; no longer needed.
81971         Include xalloc.h.
81972         (memrchr): Remove decl.
81973         (dir_name_r): Remove.
81974         (dir_len): Renamed from dirlen.  All callers changed.
81975         Rewrite in terms of base_name, for simplicity and consistency.
81976         (dir_name): Never return NULL.  All callers changed.
81977         Do not include <stdlib.h> in test program; no longer needed.
81978         return 0; is fine for test program.
81979
81980         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
81981         New macros.
81982         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
81983
81984         * lib/path-concat.c (path_concat): Use base_len to compute
81985         base length, not strlen; this means we cannot rely on memcpy
81986         to null-terminate.
81987
81988         * lib/same.c (STREQ): Remove.
81989         (same_name): Handle the case where the basename ends in trailing '/'.
81990
81991         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
81992         a slash was stripped.  Do not strip the last slash after a
81993         file system prefix.
81994
81995 2001-05-11  Paul Eggert  <eggert@twinsun.com>
81996
81997         * lib/Makefile.am (libfetish_a_SOURCES):
81998         Add strftime.c, since we now compile it on all hosts.
81999
82000         * lib/strftime.c (my_strftime):
82001         Define to nstrftime if emacs, but only if my_strftime is not defined.
82002         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
82003         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
82004         Add one more extra argument: a nanoseconds value.
82005         All uses changed.
82006         (ns): New macro.
82007         (my_strftime function): Add %N format.
82008         (emacs_strftimeu): Renamed from emacs_strftime,
82009         with extra ut argument.
82010
82011 2001-05-09  Paul Eggert  <eggert@twinsun.com>
82012
82013         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
82014
82015 2001-04-21  Jim Meyering  <meyering@lucent.com>
82016
82017         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
82018         doesn't interfere.
82019
82020 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
82021
82022         * m4/ftruncate.m4: Check for chsize.
82023         Link with ftruncate.o unconditionally if ftruncate is missing.
82024         This was required when cross-compiling to i586-mingw32msvc.
82025
82026 2001-04-08  Jim Meyering  <meyering@lucent.com>
82027
82028         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
82029         recomputed; that's necessary when the offset spans a DST transition.
82030         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
82031
82032 2001-04-02  Jim Meyering  <meyering@lucent.com>
82033
82034         * lib/regex.h, regex.c: Update from GNU libc.
82035
82036 2001-03-24  Jim Meyering  <meyering@lucent.com>
82037
82038         * m4/jm-macros.m4: Require autoconf-2.49d.
82039
82040 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
82041
82042         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
82043
82044 2001-03-19  Paul Eggert  <eggert@twinsun.com>
82045
82046         * lib/version-etc.c (version_etc_copyright): Update to 2001.
82047
82048 2001-03-17  Jim Meyering  <meyering@lucent.com>
82049
82050         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
82051         now that the version in autoconf is equivalent.
82052         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
82053
82054         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
82055         Suggestion from Akim Demaille.
82056
82057         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
82058         (jm_PREREQ_TEMPNAME): New function.
82059
82060 2001-03-16  Paul Eggert  <eggert@twinsun.com>
82061
82062         * lib/tempname.c (uint64_t): Define to uintmax_t if
82063         not defined, and if UINT64_MAX is not defined.
82064         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
82065         Reported by John David Anglin.
82066
82067 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
82068
82069         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
82070         resolve alias if codeset is empty.
82071         * lib/config.charset (BeOS): Use wildcard syntax.
82072
82073 2001-03-13  Jim Meyering  <meyering@lucent.com>
82074
82075         * lib/path-concat.c (path_concat)
82076         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
82077         concatenating e.g., `C:' and `foo'.
82078         From Bruno Haible.
82079
82080 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
82081
82082         * lib/localcharset.c (locale_charset): Don't use
82083         setlocale(LC_CTYPE,NULL). Don't return NULL.
82084         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
82085
82086 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
82087
82088         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
82089         support for DOS/DJGPP.
82090
82091 2001-03-01  Paul Eggert  <eggert@twinsun.com>
82092
82093         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
82094         lacks mkstemp.  Compile our own tempname.c if we compile our own
82095         mkstemp.c, as mkstemp relies on tempname.
82096
82097 2001-03-01  Jim Meyering  <meyering@lucent.com>
82098
82099         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
82100         AH_VERBATIM really does output its argument verbatim.
82101
82102 2001-02-28  Paul Eggert  <eggert@twinsun.com>
82103
82104         * lib/Makefile.am (libfetish_a_SOURCES):
82105         Add dup-safer.c, fopen-safer.c.
82106         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
82107
82108         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
82109         * lib/unistd-safer.h: New files.
82110
82111 2001-02-25  Paul Eggert  <eggert@twinsun.com>
82112
82113         The mkstemp replacement is taken from glibc 2.2.2, with some
82114         portability fixes for use outside glibc, as follows:
82115
82116         * lib/tempname.c (struct_stat64): New macro.
82117         (direxists, __gen_tempname): Use it.
82118         This avoids a portability problem with Solaris 8.
82119
82120         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
82121         (<stddef.h>, <stdint.h>, <string.h>):
82122         Include only if STDC_HEADERS || _LIBC.
82123         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
82124         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
82125         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
82126         (__set_errno): Define this macro if <errno.h> doesn't.
82127         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
82128         Define these macros if <stdio.h> doesn't.
82129         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
82130         Define these macros if <sys/stat.h>
82131         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
82132         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
82133         __xstat64): Define if not _LIBC.
82134         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
82135         (__gen_tempname): Invoke gettimeofday only if
82136         HAVE_GETTIMEOFDAY || _LIBC;
82137         otherwise, fall back on plain "time".
82138         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
82139
82140         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
82141
82142         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
82143
82144 2001-02-18  Paul Eggert  <eggert@twinsun.com>
82145
82146         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
82147
82148 2001-02-17  Paul Eggert  <eggert@twinsun.com>
82149
82150         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
82151         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
82152         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
82153         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
82154
82155 2001-02-17  Paul Eggert  <eggert@twinsun.com>
82156
82157         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
82158         Remove workaround macros for hosts that have mbrtowc but not
82159         mbstate_t, as we now insist on proper declarations for both
82160         before using mbrtowc.
82161
82162 2001-02-17  Jim Meyering  <meyering@lucent.com>
82163
82164         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
82165         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
82166         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
82167         UnixWare 7.1.1.
82168
82169         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
82170         rather than AC_CACHE_VAL.
82171
82172 2001-02-17  Jim Meyering  <meyering@lucent.com>
82173
82174         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
82175         around included file name.
82176
82177         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
82178
82179         * lib/strftime.c: Update from GNU libc (the only changes were to
82180         comments).
82181
82182 2001-02-17  Jim Meyering  <meyering@lucent.com>
82183
82184         * lib/regex.c: Update from libc.
82185
82186 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
82187
82188         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
82189         clash.
82190
82191 2001-02-16  Paul Eggert  <eggert@twinsun.com>
82192
82193         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
82194         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
82195         Reported by Mark Hounschell via Paul Eggert.
82196
82197 2001-02-07  Jim Meyering  <meyering@lucent.com>
82198
82199         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
82200
82201 2001-02-05  Jim Meyering  <meyering@lucent.com>
82202
82203         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
82204         it includes the patch required for `large file' support with at least
82205         HP-UX's 10.20 /bin/cc.
82206
82207 2001-02-03  Jim Meyering  <meyering@lucent.com>
82208
82209         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
82210         AS_IF, now that it works once again (mysteriously).
82211         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
82212
82213 2001-01-30  Jim Meyering  <meyering@lucent.com>
82214
82215         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
82216         * m4/chown.m4: Rename conftestchown to conftest.chown.
82217         * m4/rename.m4: s/conftestdir/conftest.d1/ and
82218         s/conftestdir2/conftest.d2/.
82219         * m4/utimes.m4: s/conftestdata/conftest.data/
82220         Inspired by Pavel Roskin's change in autoconf.
82221
82222 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
82223
82224         * lib/config.charset: Update for FreeBSD 4.2.
82225
82226 2001-01-27  Jim Meyering  <meyering@lucent.com>
82227
82228         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
82229         a use of AS_IF.
82230         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
82231
82232 2001-01-26  Jim Meyering  <meyering@lucent.com>
82233
82234         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
82235         quotearg.c includes it.
82236
82237 2001-01-26  Jim Meyering  <meyering@lucent.com>
82238
82239         * lib/quotearg.c: Include stddef.h.
82240         * lib/quote.c: Include stddef.h.
82241         Reported by Axel Kittenberger.
82242
82243         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
82244         line in double quotes so that it evokes a better diagnostic.
82245         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
82246         Reported by Axel Kittenberger.
82247
82248 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
82249
82250         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
82251         as if it was a `charset'.
82252
82253 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
82254
82255         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
82256         has const.
82257
82258 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
82259
82260         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
82261         to avoid a warning.  Add back 'const' to inptr.
82262
82263 2001-01-20  Jim Meyering  <meyering@lucent.com>
82264
82265         Be sure that headers are checked before used in code compiled
82266         for the type checks.
82267         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
82268         In place of that, invoke jm_CHECK_ALL_TYPES.
82269         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
82270         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
82271         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
82272         The check for ssize_t was mistakenly run before the test for unistd.h.
82273
82274         The configure-time check for stdbool.h was missing.
82275         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
82276         (jm_PREREQ_HASH): New function.
82277
82278 2001-01-17  Jim Meyering  <meyering@lucent.com>
82279
82280         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
82281         for autoconf-2.49c.
82282         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
82283
82284 2001-01-16  Jim Meyering  <meyering@lucent.com>
82285
82286         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
82287         From Bruno Haible.
82288
82289 2001-01-14  Jim Meyering  <meyering@lucent.com>
82290
82291         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
82292         foo and bar.  Create conftestdir/ in the script, not in the C code.
82293         Remove directories in the script, not in the C code.
82294         Remove conftestdir{,2} before trying to create the directory.
82295         Make the entire configure script fail if the mkdir fails.
82296
82297 2001-01-14  Jim Meyering  <meyering@lucent.com>
82298
82299         * lib/rename.c: New file.  From Volker Borchert.
82300         Include stdlib.h, string.h or strings.h, and xalloc.h.
82301         Use strip_trailing_slashes rather than open-coding it.
82302
82303 2001-01-03  Paul Eggert  <eggert@twinsun.com>
82304
82305         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
82306
82307 2001-01-03  Jim Meyering  <meyering@lucent.com>
82308
82309         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
82310         of local `inptr' to avoid warning with some system declarations of
82311         iconv.
82312
82313 2001-01-02  Volker Borchert  <bt@teknon.de>
82314
82315         * m4/rename.m4: New file.
82316         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
82317
82318 2001-01-01  Jim Meyering  <meyering@lucent.com>
82319
82320         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
82321         even on systems with utmpx.h.  It's necessary for the declaration of
82322         utmp's ut_user member.  Reported by Andreas Jaeger.
82323
82324         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
82325         available. They are required for the declarations of getgrgid and
82326         getpwuid resp.
82327         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
82328         Reported by Andreas Jaeger.
82329
82330 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
82331
82332         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
82333         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
82334         so `make install' also works in VPATH builds.
82335
82336 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
82337
82338         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
82339         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
82340         can be used in subdirectories.
82341
82342 2000-12-29  Paul Eggert  <eggert@twinsun.com>
82343
82344         * lib/modechange.c: Do not assume that mode_t uses the
82345         traditional octal encoding.  E.g. "chmod 1 FOO" should set
82346         the other-execute bit of FOO even if S_IXOTH != 1.
82347
82348         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
82349         WOTH, XOTH, ALLM): New macros.
82350         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
82351          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
82352         Use them.
82353         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
82354         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
82355         (mode_compile):
82356         No need to use uintmax_t; unsigned long is long enough.
82357         Don't bother to get suffix since we don't use it.
82358
82359 2000-12-26  Jim Meyering  <meyering@lucent.com>
82360
82361         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
82362         better with autoheader.
82363
82364 2000-12-24  Jim Meyering  <meyering@lucent.com>
82365
82366         * lib/hash.c (is_prime): Return explicit boolean values.
82367         (hash_get_first): Return NULL to appease Irix5.6's 89.
82368         Reported by Nelson Beebe.
82369
82370 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
82371
82372         * lib/localcharset.c (locale_charset): Add support for Win32.
82373
82374 2000-12-18  Paul Eggert  <eggert@twinsun.com>
82375
82376         * lib/physmem.h, lib/physmem.c: New files.
82377
82378         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
82379         (noinst_HEADERS): Add physmem.h.
82380
82381         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
82382         't' for compatibility with Solaris 8 sort.
82383
82384 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
82385
82386         * lib/config.charset: Add support for BeOS.
82387
82388 2000-12-17  Jim Meyering  <meyering@lucent.com>
82389
82390         * m4/dos.m4 (jm_AC_DOS): New file and macro.
82391         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
82392
82393 2000-12-16  Jim Meyering  <meyering@lucent.com>
82394
82395         This bug had a serious impact on chown: `chown N:M FILE' (for integer
82396         N and M) would have treated it like `chown N:N FILE'.
82397
82398         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
82399
82400 2000-12-16  Jim Meyering  <meyering@lucent.com>
82401
82402         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
82403         SHELLS_FILE to a file name that's useful on djgpp systems.
82404         Include stdlib.h.
82405         (ADDITIONAL_DEFAULT_SHELLS): Define.
82406         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
82407         Based mostly on a patch from Prashant TR.
82408
82409 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
82410
82411         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
82412         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
82413         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
82414
82415 2000-12-08  Andreas Schwab  <schwab@suse.de>
82416
82417         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
82418         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
82419
82420 2000-12-07  Jim Meyering  <meyering@lucent.com>
82421
82422         * lib/stripslash.c (ISSLASH): Define.
82423         (strip_trailing_slashes): Use ISSLASH rather than comparing against
82424         `/'.
82425         From Prashant TR.
82426
82427         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
82428         (dir_name_r): Declare this function as static.
82429         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
82430         manifest itself on a name containing a mix of slashes and
82431         backslashes.
82432         Make this function work with names starting with a DOS-style
82433         drive letter and colon prefix.
82434         (dir_name): Append `.' if necessary.
82435         Based mostly on patches from Prashant TR and Eli Zaretskii.
82436
82437         * lib/dirname.h (dir_name_r): Remove prototype.
82438
82439 2000-12-06  Paul Eggert  <eggert@twinsun.com>
82440
82441         * m4/off_t-format.m4: Remove this file.
82442         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
82443
82444 2000-12-06  Jim Meyering  <meyering@lucent.com>
82445
82446         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
82447         replacement strtoull, we may well need the replacement strtoul, too.
82448         Check for declarations of strtoul and strtoull.
82449         Check for strtol.  Mainly as a cue to cause automake to include
82450         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
82451         Check for limits.h -- strtol.c needs it.
82452
82453 2000-12-05  Jim Meyering  <meyering@lucent.com>
82454
82455         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
82456
82457 2000-12-04  Jim Meyering  <meyering@lucent.com>
82458
82459         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
82460         Also include memory.h, stdlib.h, unistd.h if appropriate.
82461         Reported by Andreas Jaeger (conflicting declaration of malloc).
82462
82463 2000-12-02  Jim Meyering  <meyering@lucent.com>
82464
82465         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
82466         * m4/jm-macros.m4 (jm_MACROS): require it.
82467
82468 2000-12-02  Jim Meyering  <meyering@lucent.com>
82469
82470         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
82471
82472 2000-12-01  Paul Eggert  <eggert@twinsun.com>
82473
82474         * lib/memrchr.c: Include <config.h> before any system include file.
82475
82476 2000-11-30  Jim Meyering  <meyering@lucent.com>
82477
82478         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
82479
82480 2000-11-30  Jim Meyering  <meyering@lucent.com>
82481
82482         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
82483
82484 2000-11-29  Paul Eggert  <eggert@twinsun.com>
82485
82486         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
82487
82488 2000-11-26  Jim Meyering  <meyering@lucent.com>
82489
82490         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
82491
82492 2000-11-22  Paul Eggert  <eggert@twinsun.com>
82493
82494         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
82495         size of (size_t) -1; it's not portable.
82496
82497 2000-11-17  Jim Meyering  <meyering@lucent.com>
82498
82499         * lib/strstr.c: Update from GNU libc.
82500
82501 2000-11-17  Akim Demaille  <akim@epita.fr>
82502
82503         * lib/obstack.h: Formatting changes.
82504         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
82505         prevent type checking.
82506         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
82507         cast the value to (void *): assigning a `foo *' to a `void *'
82508         variable is valid.
82509         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
82510
82511 2000-11-16  Jim Meyering  <meyering@lucent.com>
82512
82513         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
82514
82515 2000-11-11  Jim Meyering  <meyering@lucent.com>
82516
82517         * lib/error.c: Add a couple #includes, merging from GNU libc version.
82518
82519 2000-11-10  Jim Meyering  <meyering@lucent.com>
82520
82521         * lib/obstack.h: Update from GNU libc.
82522         * lib/obstack.c: Likewise.
82523
82524 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
82525
82526         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
82527
82528 2000-11-06  Paul Eggert  <eggert@twinsun.com>
82529
82530         * lib/getusershell.c (setusershell): Use rewind rather than
82531         fseek/fseeko, to avoid configuration hassles with fseeko.
82532         Don't bother opening SHELLS_FILE if shellstream is NULL;
82533         it's not necessary.
82534
82535 2000-11-05  Jim Meyering  <meyering@lucent.com>
82536
82537         * lib/makepath.h (make_dir): Declare.
82538         * lib/makepath.c (make_dir): Remove `static' attribute.
82539         Tweak a comment.
82540
82541 2000-11-04  Jim Meyering  <meyering@lucent.com>
82542
82543         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
82544
82545 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
82546
82547         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
82548         last one in a bucket, advance to the next bucket.
82549
82550 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
82551
82552         * lib/fnmatch.c: Do not comment out all the code if we are using
82553         the GNU C library, because in some cases we are replacing buggy
82554         code in the GNU C library itself.
82555
82556 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
82557
82558         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
82559         (regex_compile): Catch bogus \(\1\).
82560
82561 2000-10-30  Paul Eggert  <eggert@twinsun.com>
82562
82563         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
82564         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
82565         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
82566
82567 2000-10-30  Paul Eggert  <eggert@twinsun.com>
82568
82569         * lib/error.h, getline.h, modechange.h:
82570         Remove "2000" from Copyright line, as the file hasn't been
82571         changed this year other than in the copyright notice.
82572
82573         * lib/xalloc.h: Add "2000" to Copyright line, as this file
82574         was changed this year.
82575
82576 2000-10-29  Jim Meyering  <meyering@lucent.com>
82577
82578         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
82579         renaming.
82580         * m4/ls-mntd-fs.m4: Likewise
82581
82582 2000-10-29  Jim Meyering  <meyering@lucent.com>
82583
82584         * lib/xstat.in: Fix grammar in comment.
82585
82586 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
82587
82588         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
82589         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
82590         doesn't define __restrict_arr.
82591
82592 2000-10-28  Jim Meyering  <meyering@lucent.com>
82593
82594         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
82595         (jm_PREREQ_MEMCHR): New function.
82596
82597 2000-10-28  Jim Meyering  <meyering@lucent.com>
82598
82599         * lib/memchr.c: Update from libc.
82600         Adjust for portability:
82601         [HAVE_STDLIB_H]: Include stdlib.h.
82602         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
82603         Undef __memchr, too.
82604         [!weak_alias]: Define __memchr to memchr.
82605
82606         * lib/regex.c: Update from libc.
82607         * lib/regex.h: Likewise.
82608         * lib/getopt1.c: Likewise.
82609         * lib/memcmp.c: Likewise.
82610
82611         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
82612         Avoid using fseek, when possible -- it's broken by design.
82613         Patch by Ulrich Drepper.
82614
82615 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
82616
82617         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
82618         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
82619         Giving in to popular pressure to shut up the compiler with casts.
82620
82621 2000-10-26  Jim Meyering  <meyering@lucent.com>
82622
82623         * lib/strftime.c: Update from libc.
82624
82625 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
82626
82627         * regex.c: More `unsigned char' -> `re_char' changes.
82628         Also change several `int' into `re_wchar_t'.
82629         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
82630         (PUSH_FAILURE_POINTER): Don't cast any more.
82631         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
82632         We want GCC to complain, since this piece of code makes
82633         re_match non-reentrant, which *should* be fixed.
82634         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
82635         (EXTEND_BUFFER): Use RETALLOC.
82636         (SET_LIST_BIT): Don't cast.
82637         (re_wchar_t): New type.
82638         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
82639         that those two functions will always properly return.
82640         (IMMEDIATE_QUIT_CHECK): Cast to void.
82641         (analyse_first): Use recursion rather than an explicit stack.
82642         (re_compile_fastmap): Can't fail anymore.
82643         (re_search_2): Don't check re_compile_fastmap for failure.
82644         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
82645         Now also sets the new value (passed in a new argument).
82646         (re_match_2_internal): Use it.
82647         Also, use a new var `reg' of type size_t when looping through regs
82648         rather than reuse the inappropriate `mcnt'.
82649
82650 2000-10-25  Jim Meyering  <meyering@lucent.com>
82651
82652         * lib/obstack.c: Update from libc.
82653
82654 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
82655
82656         * regex.c (regex_compile): Change the way of handling a range from
82657         a char less than 256 to a char not less than 256.
82658
82659 2000-10-24  Andrew Innes  <andrewi@gnu.org>
82660
82661         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
82662         NT-Emacs only.
82663         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
82664         so that re_search functions only quit when callers expect them to.
82665
82666 2000-10-23  Jim Meyering  <meyering@lucent.com>
82667
82668         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
82669         wrong.  That set_locale call must not have any side effects.
82670         From Paul Eggert.
82671
82672 2000-10-22  Jim Meyering  <meyering@lucent.com>
82673
82674         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
82675         [CYCLIC]: Remove now-unused definition.
82676
82677         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
82678         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
82679         Suggestion from Ulrich Drepper.
82680
82681 2000-10-21  Jim Meyering  <meyering@lucent.com>
82682
82683         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
82684         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
82685         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
82686
82687 2000-10-21  Jim Meyering  <meyering@lucent.com>
82688
82689         * lib/dirname.c (memrchr): Declare if necessary.
82690         (dir_name): Remove the restriction that there be no
82691         trailing slashes.  Now, this code skips past them, effectively
82692         ignoring them.
82693         [TEST_DIRNAME] (main): New unit tests.
82694
82695         * lib/memrchr.c: New file from GNU libc.
82696         Undef __memrchr, too.
82697         [!weak_alias]: Define __memrchr to memrchr.
82698         Guard weak_alias use with `#ifdef weak_alias'.
82699
82700 2000-10-21  Jim Meyering  <meyering@lucent.com>
82701
82702         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
82703         (dir_name): Use dir_name_r.
82704         * lib/dirname.h (dir_name_r): Declare it.
82705
82706 2000-10-17  Jim Meyering  <meyering@lucent.com>
82707
82708         * lib/quote.h (PARAMS): Define and use.
82709         Reported by Akim Demaille.
82710
82711         * lib/getopt.c: Update from libc.
82712
82713 2000-10-16  Jim Meyering  <meyering@lucent.com>
82714
82715         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
82716         setlocale.
82717         From Jan Fedak.
82718
82719 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
82720
82721         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
82722
82723 2000-09-25  Jim Meyering  <meyering@lucent.com>
82724
82725         * lib/md5.h (rol): Define (from GnuPG).
82726
82727         * lib/sha.c: Give credit (GnuPG) where due.
82728         (M): Use rol rather than open-coding it.
82729         Add a FIXME comment.
82730
82731 2000-09-21  Jim Meyering  <meyering@lucent.com>
82732
82733         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
82734         Reported by Michael Stone.
82735
82736 2000-09-20  Jim Meyering  <meyering@lucent.com>
82737
82738         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
82739         (noinst_HEADERS): Add sha.h.
82740         Based on code from Scott G. Miller and from GnuPG.
82741
82742 2000-09-18  Jim Meyering  <meyering@lucent.com>
82743
82744         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
82745         LIBS. Otherwise, everyone ends up linking with -lelf for some
82746         configurations.
82747         Reported by Mike Stone.
82748
82749 2000-09-15  Jim Meyering  <meyering@lucent.com>
82750
82751         * lib/regex.c: Update from libc.
82752
82753 2000-09-10  Jim Meyering  <meyering@lucent.com>
82754
82755         * lib/getopt.c (_getopt_internal): Update from glibc.
82756
82757 2000-09-09  Jim Meyering  <meyering@lucent.com>
82758
82759         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
82760         think it should be used as a general replacement for isascii.
82761         * lib/fnmatch.c: Likewise.
82762         * lib/mbswidth.c: Likewise
82763         * lib/regex.c: Likewise.
82764
82765         Don't use atoi.
82766         * lib/userspec.c: Include sys/param.h and limits.h.
82767         Include xstrtol.h.
82768         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
82769         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
82770         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
82771         UID, GID.  Check range.
82772
82773 2000-09-06  Jim Meyering  <meyering@lucent.com>
82774
82775         * lib/getopt.c (_getopt_internal): Update from glibc.
82776
82777 2000-08-30  Jim Meyering  <meyering@lucent.com>
82778
82779         * lib/strftime.c: Merge in changes from GNU libc.
82780
82781 2000-08-26  Jim Meyering  <meyering@lucent.com>
82782
82783         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
82784         * m4/fpending.m4: New file.
82785
82786 2000-08-26  Jim Meyering  <meyering@lucent.com>
82787
82788         * lib/closeout.c: Include "__fpending.h".
82789         (close_stdout_status): Return right away if there's nothing to flush.
82790
82791         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
82792         * lib/__fpending.c: New file.
82793         * lib/__fpending.h: New file.
82794
82795 2000-08-20  Jim Meyering  <meyering@lucent.com>
82796
82797         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
82798         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
82799         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
82800
82801 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
82802
82803         Improve fileutils installation on systems where running
82804         programs (like install) can't be unlinked.
82805         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
82806         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
82807
82808 2000-08-07  Paul Eggert  <eggert@twinsun.com>
82809
82810         Standardize on "memory exhausted" instead of "Memory exhausted"
82811         or "virtual memory exhausted".
82812         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
82813         "virtual memory exhausted".
82814         * lib/same.c (same_name): Invoke xalloc_die instead of printing
82815         our own message.
82816         * lib/userspec.c (parse_user_spec): Likewise.
82817         * lib/bumpalloc.h: comment fix
82818         * lib/same.c, userspec.c: Include xalloc.h.
82819
82820         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
82821         not char *const and pointing to a constant array.
82822         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
82823         (xrealloc): Comment fix.
82824
82825         * lib/userspec.c (parse_user_spec):
82826         Don't translate a message until just before returning,
82827         to avoid unnecessary translation.
82828
82829 2000-08-07  Jim Meyering  <meyering@lucent.com>
82830
82831         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
82832         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
82833         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
82834         getgroups.c, gethostname.c, getopt.h, group-member.c,
82835         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
82836         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
82837         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
82838         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
82839         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
82840         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
82841         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
82842         yesno.c: Back out Copyright date changes for each file with no change
82843         this year.  This eases coordination with other programs using the same
82844         source code modules.  From Paul Eggert.
82845
82846 2000-08-06  Paul Eggert  <eggert@twinsun.com>
82847
82848         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
82849         not char, for compatibility with glibc 2.1.3 strftime.c.
82850
82851 2000-08-03  Greg McGary  <greg@mcgary.org>
82852
82853         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
82854         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
82855         (EXTEND_BUFFER): Use them.
82856
82857 2000-08-01  Jim Meyering  <meyering@lucent.com>
82858
82859         * lib/dirname.c (ISSLASH): Define.
82860         (BACKSLASH_IS_PATH_SEPARATOR): Define.
82861         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
82862         both `\' and `/' may be use as path separators.
82863         Based on a patch from Prashant TR.
82864
82865 2000-07-31  Paul Eggert  <eggert@twinsun.com>
82866
82867         * lib/quotearg.c (quotearg_n_options): Don't make the initial
82868         slot vector a constant, since it might get modified.
82869
82870 2000-07-31  Jim Meyering  <meyering@lucent.com>
82871
82872         * lib/xmalloc.c: Use `virtual memory exhausted', not
82873         `Memory exhausted'.
82874         * lib/obstack.c (print_and_abort): Likewise.
82875
82876 2000-07-30  Paul Eggert  <eggert@twinsun.com>
82877
82878         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
82879         buffer, so that the caller can always quote one small
82880         component of a "memory exhausted" message in slot 0.
82881         From a suggestion by Jim Meyering.
82882
82883 2000-07-30  Jim Meyering  <meyering@lucent.com>
82884
82885         * lib/makepath.c (make_path): Quote the other instance, too.
82886
82887         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
82888         (STATIC_BUF_SIZE): Define.
82889         (quotearg_n_options): Use only statically allocated storage when
82890         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
82891         than STATIC_BUF_SIZE.
82892
82893 2000-07-29  Jim Meyering  <meyering@lucent.com>
82894
82895         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
82896         * lib/dirname.c (dir_name): Likewise.
82897
82898         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
82899         `/'.
82900
82901         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
82902         (dir_name): Assert that there are no trailing slashes.
82903
82904 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
82905
82906         * lib/mbswidth.h (mbswidth): Add a flags argument.
82907         (mbswidth): New declaration.
82908         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
82909         * lib/mbswidth.c (mbswidth): Add a flags argument.
82910         (mbsnwidth): New function.
82911
82912 2000-07-24  Jim Meyering  <meyering@lucent.com>
82913
82914         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
82915
82916 2000-07-23  Paul Eggert  <eggert@twinsun.com>
82917
82918         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
82919
82920 2000-07-23  Paul Eggert  <eggert@twinsun.com>
82921
82922         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
82923         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
82924         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
82925         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
82926         invoke multibyte primitives.
82927
82928 2000-07-23  Paul Eggert  <eggert@twinsun.com>
82929
82930         * lib/quotearg.c:
82931         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
82932         so that mbstate_t is always defined.
82933
82934         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
82935         be 1 in at least one GCC installation, and this configuration
82936         error is likely to be common.  Ignoring MB_LEN_MAX hurts
82937         performance on hosts that have mbrtowc but have only unibyte
82938         locales, but I assume these hosts are rare.
82939
82940 2000-07-23  Paul Eggert  <eggert@twinsun.com>
82941
82942         * lib/mbswidth.c (_XOPEN_SOURCE):
82943         Don't define; this causes problems on Solaris 7.
82944         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
82945
82946 2000-07-23  Jim Meyering  <meyering@lucent.com>
82947
82948         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
82949         too: getgrgid, getpwuid, getuid.
82950
82951 2000-07-23  Jim Meyering  <meyering@lucent.com>
82952
82953         * lib/basename.c (base_name): Add an assertion.
82954
82955 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
82956
82957         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
82958         shadow its mbsinit function.
82959
82960 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
82961
82962         * lib/mbswidth.h: New file.
82963         * lib/mbswidth.c: New file.
82964         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
82965         (noinst_HEADERS): Add mbswidth.h.
82966
82967 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
82968
82969         * lib/config.charset: Add support for FreeBSD. Improve support for
82970         HP-UX and IRIX 6.
82971
82972 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
82973
82974         * m4/mbswidth.m4: New file.
82975         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
82976
82977 2000-07-15  Jim Meyering  <meyering@lucent.com>
82978
82979         * lib/makepath.c: Include quote.h.
82980         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
82981         corresponding argument in a `quote (...)' call.
82982         Give better diagnostics.
82983
82984         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
82985         (noinst_HEADERS): Add quote.h.
82986
82987         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
82988         from tar's src/misc.c.
82989         * lib/quote.h: New file.  Prototypes for same.
82990
82991 2000-07-14  Paul Eggert  <eggert@twinsun.com>
82992
82993         From a suggestion by Bruno Haible.
82994         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
82995         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
82996         to decide whether to define the BeOS workaround macro;
82997         this adjusts to the change to AC_MBSTATE_T.
82998
82999 2000-07-14  Jim Meyering  <meyering@lucent.com>
83000
83001         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
83002         jm_AC_TYPE_UINTMAX_T.
83003
83004 2000-07-13  Paul Eggert  <eggert@twinsun.com>
83005
83006         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
83007
83008         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
83009         quotearg_buffer_restyled): Add support for
83010         clocale_quoting_style.  Undo previous change to
83011         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
83012         and "{RIGHT QUOTATION MARK}" msgids.
83013
83014 2000-07-10  Paul Eggert  <eggert@twinsun.com>
83015
83016         From a suggestion by Bruno Haible.
83017         * m4/mbstate_t.m4 (AC_MBSTATE_T):
83018         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
83019         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
83020         and mbstate_t, to a single-part test that simply defines mbstate_t.
83021         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
83022         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
83023
83024 2000-07-10  Jim Meyering  <meyering@lucent.com>
83025
83026         * m4/strerror_r.m4: Mirror the correction made in autoconf.
83027
83028         * m4/gnu-source.m4: Output to confdefs.h directly.
83029         Suggestion from Akim Demaille.
83030
83031 2000-07-09  Paul Eggert  <eggert@twinsun.com>
83032
83033         The old behavior of quoting `like this' doesn't look good with
83034         newer, ISO-style fonts.  See:
83035         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
83036
83037         Instead, quote "like this" by default.  Let the translator
83038         tailor the locale-specific quoting behavior by providing
83039         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
83040
83041         * lib/quotearg.c (N_): New macro.
83042         (gettext_default): New function.
83043         (quotearg_buffer_restyled): Use
83044         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
83045         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
83046
83047 2000-07-09  Jim Meyering  <meyering@lucent.com>
83048
83049         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
83050         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
83051
83052         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
83053         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
83054
83055 2000-07-09  Jim Meyering  <meyering@lucent.com>
83056
83057         * lib/Most files: Update copyright dates to include 2000.
83058
83059 2000-07-08  Jim Meyering  <meyering@lucent.com>
83060
83061         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
83062         if not defined.
83063         (xgethostname): Remove now-unnecessary #ifdef.
83064         Move declaration of `err' into loop where it's used.
83065
83066 2000-07-05  Paul Eggert  <eggert@twinsun.com>
83067         and Bruno Haible  <haible@clisp.cons.org>
83068
83069         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
83070         only if the test for an object-type mbstate_t fails.  This
83071         prevents us from mistakenly reporting that mbstate_t is a
83072         system object type after we "#define mbstate_t int" to work
83073         around its lack.
83074
83075 2000-07-05  Paul Eggert  <eggert@twinsun.com>
83076         and Bruno Haible  <haible@clisp.cons.org>
83077
83078         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
83079
83080 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
83081
83082         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
83083         to strerror_r.
83084         Include <ctype.h> for use of isalpha.
83085
83086 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
83087
83088         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
83089         by allocating a larger buffer. Test the gethostname return value for
83090         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
83091         returns an error and ENAMETOOLONG isn't defined.
83092
83093 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
83094
83095         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
83096         dimension.
83097
83098 2000-07-04  Jim Meyering  <meyering@lucent.com>
83099
83100         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
83101         of the deprecated AC_CHECKING.
83102
83103 2000-07-04  Jim Meyering  <meyering@lucent.com>
83104
83105         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
83106         Reported by Bruno Haible.
83107
83108 2000-07-04  Jim Meyering  <meyering@lucent.com>
83109
83110         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
83111         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
83112         lacks mbrtowc.
83113
83114 2000-07-03  Paul Eggert  <eggert@twinsun.com>
83115
83116         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
83117         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
83118
83119 2000-07-03  Paul Eggert  <eggert@twinsun.com>
83120         and Bruno Haible  <haible@clisp.cons.org>
83121
83122         * lib/quotearg.c (mbrtowc):
83123         Assign to *pwc, and return 1 only if result is nonzero.
83124         (iswprint): Use ISPRINT when substituting our own mbrtowc.
83125
83126 2000-07-03  Jim Meyering  <meyering@lucent.com>
83127
83128         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
83129
83130 2000-07-03  Jim Meyering  <meyering@lucent.com>
83131
83132         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
83133         This is necessary to get a definition of e.g., UTMP_FILE on
83134         HP-UX 10.20.
83135         From Bob Proulx.
83136
83137 2000-07-02  Jim Meyering  <meyering@lucent.com>
83138
83139         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
83140
83141         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
83142         AC_LIBOBJ(function_name).
83143         * m4/chown.m4: Likewise.
83144         * m4/fnmatch.m4: Likewise.
83145         * m4/ftruncate.m4: Likewise.
83146         * m4/getgroups.m4: Likewise.
83147         * m4/getline.m4: Likewise.
83148         * m4/group-member.m4: Likewise.
83149         * m4/jm-macros.m4: Likewise.
83150         * m4/lstat.m4: Likewise.
83151         * m4/malloc.m4: Likewise.
83152         * m4/memcmp.m4: Likewise.
83153         * m4/nanosleep.m4: Likewise.
83154         * m4/putenv.m4: Likewise.
83155         * m4/realloc.m4: Likewise.
83156         * m4/regex.m4: Likewise.
83157         * m4/stat.m4: Likewise.
83158         * m4/strftime.m4: Likewise.
83159
83160 2000-07-02  Jim Meyering  <meyering@lucent.com>
83161
83162         * lib/quotearg.c (mbstate_t): Don't define here.
83163
83164 2000-07-02  Jim Meyering  <meyering@lucent.com>
83165
83166         * lib/nanosleep.c (SIGCONT): Define if not already defined.
83167
83168 2000-07-01  Jim Meyering  <meyering@lucent.com>
83169
83170         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
83171
83172 2000-07-01  Jim Meyering  <meyering@lucent.com>
83173
83174         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
83175         problem.
83176
83177 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
83178
83179         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
83180         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
83181
83182 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
83183
83184         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
83185         per change in ../m4/ls-mntd-fs.m4.
83186         (read_filesystem_list): Ignore symbolic links.
83187
83188 2000-06-29  Jim Meyering  <meyering@lucent.com>
83189
83190         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
83191         for declaration of strcmp.
83192
83193         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
83194
83195         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
83196         Avoid warning by casting result to `char *' to remove `const'.
83197
83198 2000-06-28  Jim Meyering  <meyering@lucent.com>
83199
83200         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
83201         included by quotearg.c, for which we perform this test.  From
83202         Bruno Haible.
83203
83204 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
83205
83206         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
83207         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
83208         <utmpx.h> exists, put readutmp.o into LIBOBJS.
83209
83210 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
83211
83212         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
83213
83214 2000-06-26  Paul Eggert  <eggert@twinsun.com>
83215
83216         savedir now sets errno on failure and invokes xmalloc to get memory.
83217         Fix a couple of other minor bugs while we're at it.
83218
83219         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
83220         (NAMLEN): Remove macro.
83221         (malloc, realloc): Remove decls.
83222         (stpcpy): Likewise.
83223         ("xalloc.h"): Include.
83224         (NAME_SIZE_DEFAULT): New macro.
83225         (savedir): Use xmalloc / xrealloc to allocate memory.
83226         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
83227         Skip "" directory entries.
83228         Use strlen to calculate directory entry length, since the old method
83229         is rarely used these days and isn't worth supporting.
83230         Don't use a pointer after freeing it.
83231         Check for integer overflow when calculating allocation size.
83232         Use memcpy to copy entries, instead of stpcpy.
83233         Set errno properly when returning NULL.
83234         Check for readdir error.
83235
83236 2000-06-26  Jim Meyering  <meyering@lucent.com>
83237
83238         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
83239
83240 2000-06-25  Jim Meyering  <meyering@lucent.com>
83241
83242         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
83243         Linux header bug when _XOPEN_SOURCE is defined to 500.
83244
83245 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
83246
83247         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
83248         deficiency.
83249
83250 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
83251
83252         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
83253         Include xalloc.h.
83254         Don't include <stdlib.h>.  Don't declare malloc, realloc.
83255
83256 2000-06-24  Jim Meyering  <meyering@lucent.com>
83257
83258         * m4/strerror_r.m4: Revive this file -- to try out an experimental
83259         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
83260         for which strerror does return char*, but which lacks a conveniently
83261         accessible declaration of the function.  If the compile-test says
83262         strerror_r doesn't work, then resort to a `run'-test that works on
83263         BeOS and segfaults on DEC Unix.
83264
83265 2000-06-24  Jim Meyering  <meyering@lucent.com>
83266
83267         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
83268
83269 2000-06-23  Paul Eggert  <eggert@twinsun.com>
83270
83271         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
83272         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
83273
83274 2000-06-23  Paul Eggert  <eggert@twinsun.com>
83275
83276         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
83277         (mbrtowc, mbstate_t): Define substitutes if
83278         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
83279         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
83280         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
83281
83282 2000-06-23  Jim Meyering  <meyering@lucent.com>
83283
83284         * m4/afs.m4: Add missing AC_MSG_RESULT.
83285         Reported by Bruno Haible.
83286
83287         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
83288         Suggestion from Bruno Haible.
83289
83290 2000-06-23  Jim Meyering  <meyering@lucent.com>
83291
83292         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
83293
83294 2000-06-21  Jim Meyering  <meyering@lucent.com>
83295
83296         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
83297
83298 2000-06-21  Jim Meyering  <meyering@lucent.com>
83299
83300         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
83301         (noinst_HEADERS): Add getstr.h.
83302
83303         * lib/getline.c (getstr): Move into a separate file.
83304         * lib/getstr.c (getstr): New file, extracted from getline.c, with
83305         the following changes: new parameter, delim2; both delim[12]
83306         parameters have type `int', not `char'.  The latter would lose
83307         with 8-bit delimiters.
83308         * lib/getstr.h: New file.
83309
83310 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
83311
83312         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
83313         than 1024, return a memory chunk of least possible size, instead
83314         of size PATH_MAX + 2. In the loop, increment the size proportionally.
83315         Use free/xmalloc instead of xrealloc to avoid copying for very long
83316         paths.
83317
83318 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
83319
83320         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
83321         the empty string.
83322
83323 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
83324
83325         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
83326         address, not strdup.  Include <stdlib.h> and don't declare free().
83327
83328 2000-06-19  Jim Meyering  <meyering@lucent.com>
83329
83330         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
83331
83332 2000-06-18  Jim Meyering  <meyering@lucent.com>
83333
83334         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
83335
83336         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
83337         `checking whether...' message to be consistent with that of the
83338         lstat test.
83339
83340 2000-06-18  Jim Meyering  <meyering@lucent.com>
83341
83342         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
83343         Besides, these days every porting target provides a mkdir function.
83344
83345         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
83346         needed. (this snippet comes from src/system.h).
83347
83348 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
83349
83350         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
83351
83352 2000-06-15  Paul Eggert  <eggert@twinsun.com>
83353
83354         * lib/human.c (adjust_value): New function.
83355         (human_readable_inexact): Apply rounding style even when
83356         printing approximate values.
83357
83358 2000-06-14  Paul Eggert  <eggert@twinsun.com>
83359
83360         * lib/human.c (human_readable_inexact): Allow an input block
83361         size that is not a multiple of the output block size, and vice versa.
83362         Reported by Piergiorgio Sartor.
83363
83364 2000-06-14  Paul Eggert  <eggert@twinsun.com>
83365
83366         * lib/getdate.y (get_date): Apply relative times after time
83367         zone indicator, not before.  Reported by Todd A. Jacobs.
83368
83369 2000-06-13  Jim Meyering  <meyering@lucent.com>
83370
83371         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
83372
83373         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
83374
83375 2000-06-12  Paul Eggert  <eggert@twinsun.com>
83376
83377         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
83378
83379 2000-06-12  Jim Meyering  <meyering@lucent.com>
83380
83381         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
83382         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
83383         optional argument.
83384         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
83385         the optional argument, `lib'.
83386
83387 2000-06-08  Jim Meyering  <meyering@lucent.com>
83388
83389         * m4/largefile.m4: Remove file (now that it's part of autoconf).
83390
83391 2000-06-04  Paul Eggert  <eggert@twinsun.com>
83392
83393         Rewrite largefile configuration so that we don't need to run
83394         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
83395         AC_CANONICAL_HOST in configure.in -- jmm]
83396
83397         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
83398         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
83399         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
83400         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
83401         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
83402         All uses changed.
83403         Instead of inspecting the output of getconf, try to compile the
83404         test program without and with the macro definition.
83405         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
83406         for getconf.  Instead, check for the needed flags by compiling
83407         test programs.
83408
83409 2000-06-04  Paul Eggert  <eggert@twinsun.com>
83410
83411         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
83412
83413 2000-06-04  Jim Meyering  <meyering@lucent.com>
83414
83415         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
83416         SunOS 4.1.4 for which gid_t is an unsigned type.
83417
83418 2000-06-03  Jim Meyering  <meyering@lucent.com>
83419
83420         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
83421         now that autoconf requires that.
83422
83423         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
83424         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
83425         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
83426
83427 2000-06-03  Jim Meyering  <meyering@lucent.com>
83428
83429         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
83430
83431 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
83432
83433         * m4/glibc21.m4: New file.
83434         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
83435
83436 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
83437
83438         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
83439         newer, don't install charset.alias.
83440         * lib/config.charset: Change the Linux/glibc rules so they become empty
83441         on glibc-2.1 or newer.
83442
83443 2000-06-02  Jim Meyering  <meyering@lucent.com>
83444
83445         * lib/mountlist.c: Back out last change.  Instead, do this...
83446         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
83447         me_dummy member using the same `ignore'-testing code.
83448         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
83449         fs_type strings.
83450         From Mark D. Roth.
83451
83452 2000-05-29  Jim Meyering  <meyering@lucent.com>
83453
83454         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
83455         mounts with the `ignore' attribute.  Based on a patch from
83456         Mark D. Roth.
83457
83458 2000-05-28  Jim Meyering  <meyering@lucent.com>
83459
83460         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
83461         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
83462         * m4/stat.m4: Likewise.
83463         * m4/lstat.m4: Likewise.
83464         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
83465
83466         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
83467         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
83468
83469 2000-05-26  Jim Meyering  <meyering@lucent.com>
83470
83471         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
83472
83473 2000-05-24  Jim Meyering  <meyering@lucent.com>
83474
83475         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
83476         autoconf requires that.
83477         * m4/lib-check.m4: Likewise.
83478         * m4/jm-macros.m4: Likewise.
83479         * m4/strftime.m4: Likewise.
83480
83481         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
83482         AC_CHECK_DECLS, now that autoconf requires that.
83483
83484 2000-05-22  Jim Meyering  <meyering@lucent.com>
83485
83486         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
83487         * m4/lstat.m4: Likewise.
83488
83489 2000-05-22  Jim Meyering  <meyering@lucent.com>
83490
83491         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
83492
83493 2000-05-20  Jim Meyering  <meyering@lucent.com>
83494
83495         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
83496         (jm_PREREQ): Use it.
83497
83498 2000-05-18  Jim Meyering  <meyering@lucent.com>
83499
83500         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
83501         back, too, since it may have been modified by allocate_entry.
83502         (hash_delete): Rewrite to use neither the assignment operator
83503         nor the comma operator in an if-expression.
83504
83505 2000-05-15  Paul Eggert  <eggert@twinsun.com>
83506
83507         * lib/closeout.c:
83508         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
83509         Remove; no longer needed.
83510         "quotearg.h": Add include.
83511         (file_name): Do not bother to explicitly initialize to NULL; it's less
83512         efficient on some hosts.
83513         (close_stdout_status): Remove test as to whether stdout was already
83514         closed; it breaks for the case "echo x | sort >&-".
83515         Quote file name colons.
83516         Do not assume that _("write error") lacks format strings.
83517
83518 2000-05-15  Jim Meyering  <meyering@lucent.com>
83519
83520         * lib/version-etc.c (version_etc_copyright): Update the copyright
83521         string used in all --version output.
83522
83523 2000-05-14  Jim Meyering  <meyering@lucent.com>
83524
83525         * lib/closeout.c (close_stdout_set_file_name): New function.
83526         (close_stdout_status): Use new file-scoped global.
83527         Return right away if fstat says the stdout file descriptor is invalid.
83528         * lib/closeout.h (close_stdout_set_file_name): Declare.
83529
83530 2000-05-10  Jim Meyering  <meyering@lucent.com>
83531
83532         * lib/closeout.c [default_exit_status]: New file-scoped variable.
83533         (close_stdout_set_status): New function.
83534         * lib/closeout.h (close_stdout_set_status): Declare.
83535
83536 2000-05-09  Jim Meyering  <meyering@lucent.com>
83537
83538         * m4/gettext.m4: Rename this...
83539         * m4/libintl.m4: ...to this.
83540
83541 2000-05-08  Jim Meyering  <meyering@lucent.com>
83542
83543         * lib/long-options.c: Don't include closeout.h.
83544         (parse_long_options): Don't call close_stdout for --version.
83545
83546 2000-05-06  Paul Eggert  <eggert@twinsun.com>
83547
83548         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
83549         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
83550         2.1.3 bug.  This avoids a clash when files like regex.c define
83551         _GNU_SOURCE.
83552
83553 2000-05-06  Jim Meyering  <meyering@lucent.com>
83554
83555         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
83556         (AC_REPLACE_FUNCS): Add strnlen.
83557
83558         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
83559         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
83560
83561         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
83562         AC_SEARCH_LIBS call for nanosleep.
83563         (LIB_NANOSLEEP): Set and AC_SUBST.
83564
83565 2000-05-06  Jim Meyering  <meyering@lucent.com>
83566
83567         * lib/strnlen.c: Undefine __strnlen and strnlen.
83568         [!weak_alias]: Define __strnlen to strnlen.
83569
83570         * lib/atexit.c: New file, from libiberty.
83571
83572 2000-05-06  Jim Meyering  <meyering@lucent.com>
83573
83574         * lib/closeout.c (close_stdout_status): Also check for errors on the
83575         stderr stream.
83576
83577 2000-05-05  Jim Meyering  <meyering@lucent.com>
83578
83579         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
83580         AC_SEARCH_LIBS call for clock_gettime.
83581         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
83582
83583         * m4/search-libs.m4: Update from autoconf.
83584
83585         su doesn't work on Solaris 2.6.
83586         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
83587         <shadow.h>.  Reported by Dragos Harabor.
83588
83589 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
83590
83591         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
83592         memcpy instead of xmalloc, xrealloc, path_concat.
83593         (locale_charset): Treat empty environment variables as absent.
83594         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
83595
83596 2000-05-04  Jim Meyering  <meyering@lucent.com>
83597
83598         * lib/getopt.c: Update from glibc.
83599         * lib/obstack.c: Likewise.
83600         * lib/obstack.h: Likewise.
83601         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
83602         file
83603
83604         * lib/regex.h: Likewise.
83605         * lib/strndup.c: Likewise.
83606         * lib/strnlen.c: New file, from glibc.
83607
83608 2000-05-03  Jim Meyering  <meyering@lucent.com>
83609
83610         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
83611
83612 2000-05-02  Paul Eggert  <eggert@twinsun.com>
83613
83614         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
83615         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
83616         compile-time test, rather than inspecting host and OS, to
83617         decide whether to define _LARGEFILE_SOURCE.
83618
83619 2000-05-01  Jim Meyering  <meyering@lucent.com>
83620
83621         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
83622
83623         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
83624         Based on a patch from Bruno Haible.
83625
83626 2000-05-01  Jim Meyering  <meyering@lucent.com>
83627
83628         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
83629
83630 2000-04-29  Jim Meyering  <meyering@lucent.com>
83631
83632         * lib/path-concat.c: Declare strdup only if it's not defined.
83633         * lib/canon-host.c: Likewise.
83634
83635 2000-04-28  Jim Meyering  <meyering@lucent.com>
83636
83637         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
83638         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
83639         is included first, then limits.h is included by locale.h by libintl.h.
83640         From John David Anglin.
83641
83642 2000-04-25  Jim Meyering  <meyering@lucent.com>
83643
83644         * lib/makepath.c (S_IRWXUGO): Define.
83645         (make_path): Always perform explicit chmod if MODE specifies any
83646         of the `special' permission bits.  Prompted by a bug report against
83647         install from Mate Wierdl and Joost van Baal.
83648
83649 2000-04-18  Jim Meyering  <meyering@lucent.com>
83650
83651         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
83652         (jm_PREREQ): Use it.
83653
83654 2000-04-18  Jim Meyering  <meyering@lucent.com>
83655
83656         * lib/README: New file.
83657
83658         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
83659         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
83660
83661 2000-04-17  Jim Meyering  <meyering@lucent.com>
83662
83663         Get it right :-)
83664         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
83665         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
83666         Suggestion from Akim Demaille.
83667
83668 2000-04-17  Jim Meyering  <meyering@lucent.com>
83669
83670         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
83671         the definition of it to rpl_strftime also defined-away the system's
83672         declaration.
83673
83674 2000-04-15  Jim Meyering  <meyering@lucent.com>
83675
83676         Use `C' to denote so-called `contiguous' files, the same way
83677         that tar does.
83678         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
83679         (ftypelet): Use S_ISCTG.
83680         From Michael Deutschmann.
83681
83682 2000-04-14  Jim Meyering  <meyering@lucent.com>
83683
83684         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
83685         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
83686         clobbered.
83687
83688 2000-04-14  Jim Meyering  <meyering@lucent.com>
83689
83690         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
83691
83692 2000-04-13  Jim Meyering  <meyering@lucent.com>
83693
83694         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
83695         AH_VERBATIM to insert required #ifndef into config.h.in.
83696         Suggestion from Akim Demaille.
83697
83698 2000-04-12  Jim Meyering  <meyering@lucent.com>
83699
83700         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
83701         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
83702         Christian Krackowizer.
83703
83704         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
83705         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
83706         (AC_SYS_LARGEFILE): Require.
83707         (AM_C_PROTOTYPES): Require.
83708
83709 2000-04-08  Jim Meyering  <meyering@lucent.com>
83710
83711         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
83712         names don't conflict.  Reported by Eli Zaretskii.
83713
83714 2000-04-07  Jim Meyering  <meyering@lucent.com>
83715
83716         * lib/putenv.c: Move inclusion of errno.h so it follows that of
83717         sys/types.h, to work around system header problems on AIX 3.2.5.
83718         From Bruno Haible.
83719
83720 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
83721
83722         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
83723         bug.  Deal with the different error behavior of Irix iconv.
83724
83725 2000-04-05  Paul Eggert  <eggert@twinsun.com>
83726
83727         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
83728         IRIX if the installer said otherwise.
83729
83730 2000-04-05  Jim Meyering  <meyering@lucent.com>
83731
83732         Portability tweaks required for ultrix4.3.
83733         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
83734         (jm_CHECK_DECLS): Add getutent to the list of functions.
83735         (_jm_DECL_HEADERS): Add utmpx.h.
83736         From John David Anglin.
83737
83738         * m4/strftime.m4: Back out the 2000-04-02 change.
83739         Instead of that change, simply undefine putenv in the test program.
83740
83741 2000-04-05  Jim Meyering  <meyering@lucent.com>
83742
83743         Portability tweaks required for ultrix4.3.
83744         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
83745         getutent.
83746         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
83747         * lib/canon-host.c: Declare strdup.
83748         * lib/path-concat.c: Likewise.
83749         From John David Anglin.
83750
83751 2000-04-04  Jim Meyering  <meyering@lucent.com>
83752
83753         Be more DOS 8.3-friendly.
83754         * lib/ref-add.sin: Renamed from ref-add.sed.in.
83755         * lib/ref-del.sin: Renamed from ref-del.sed.in.
83756         * lib/Makefile.am: Reflect renaming.
83757         Reported by Eli Zaretskii.
83758
83759         Use a temporary file name that won't clash with `charset.alias'
83760         in the DOS 8.3 name space.
83761         * lib/Makefile.am (charset_tmp): Define.
83762         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
83763         (uninstall-local): Likewise.
83764         Reported by Eli Zaretskii.
83765
83766 2000-04-03  Jim Meyering  <meyering@lucent.com>
83767
83768         * m4/gettext.m4: Fix typo in comment.
83769
83770         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
83771         textutils/configure.in).  Suggestion from Paul Eggert.
83772         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
83773
83774 2000-04-02  Paul Eggert  <eggert@twinsun.com>
83775
83776         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
83777         variable in the shell rather than using putenv, which isn't
83778         portable.  This avoids the configure-time inter-test dependency
83779         on the potentially-renamed putenv function.
83780
83781 2000-03-30  Paul Eggert  <eggert@twinsun.com>
83782
83783         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
83784         before checking struct stat.st_blksize, so that
83785         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
83786
83787 2000-03-29  Paul Eggert  <eggert@twinsun.com>
83788
83789         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
83790         since strftime.c uses HAVE_STRFTIME to decide whether to use
83791         the underlying strftime.
83792
83793 2000-03-29  Paul Eggert  <eggert@twinsun.com>
83794
83795         * lib/time/strftime.c (my_strftime): Make sure we call the system
83796         strftime, not ourselves, when invoking the underlying strftime.
83797
83798 2000-03-24  Jim Meyering  <meyering@lucent.com>
83799
83800         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
83801         (charset_alias): Define.
83802         (install-exec-local): Factor out common code.
83803         (uninstall-local): Split lines longer than 80.
83804         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
83805         (SUFFIXES): Define.
83806         (.sed.in.sed): New rule.  Don't redirect directly to $@.
83807         (CLEANFILES): Add ref-add.sed and ref-del.sed.
83808
83809 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
83810
83811         * lib/config.charset: Output a line containing "Packages using this
83812         file".
83813         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
83814         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
83815         ref-del.sed): New rules.
83816
83817 2000-03-17  Jim Meyering  <meyering@lucent.com>
83818
83819         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
83820         Otherwise, include <strings.h>
83821
83822 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
83823
83824         * lib/unicodeio.c (utf8_wctomb): New function.
83825         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
83826         format instead of in UCS-4 with platform dependent endianness.
83827
83828 2000-03-10  Jim Meyering  <meyering@lucent.com>
83829
83830         * m4/lib-check.m4: Look for getspnam in -lgen, too.
83831         From Marco Franzen.
83832
83833 2000-03-07  Paul Eggert  <eggert@twinsun.com>
83834
83835         * lib/savedir.c (savedir): Work even if directory size is
83836         negative; this can happen with some screwy NFS configurations.
83837
83838 2000-03-06  Jim Meyering  <meyering@lucent.com>
83839
83840         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
83841         if it's NULL (because we ran out of memory).  From Bruno Haible.
83842
83843 2000-03-05  Jim Meyering  <meyering@lucent.com>
83844
83845         * lib/localcharset.c ("path-concat.h"): Include.
83846         (get_charset_aliases): Use path_concat instead of ANSI string
83847         concatenation.
83848
83849         * lib/unicodeio.h (PARAMS): Define.
83850         Use it to guard prototype.
83851
83852 2000-03-04  Jim Meyering  <meyering@lucent.com>
83853
83854         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
83855         for lib/localcharset.c.
83856
83857 2000-03-04  Jim Meyering  <meyering@lucent.com>
83858
83859         * lib/Makefile.am (install-exec-local): Create $(libdir) before
83860         installing into it.
83861         (uninstall-local): Uncomment this rule so `make distcheck' works
83862         once again.
83863
83864         * lib/unicodeio.c (<errno.h>): Include it.
83865         (errno): Declare if not defined.
83866
83867         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
83868
83869         * lib/config.charset: New version, incorporating remarks from a linux
83870         i18n mailing list.  From Bruno Haible.
83871
83872 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
83873
83874         * m4/codeset.m4: New file.
83875         * m4/iconv.m4: New file.
83876         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
83877
83878 2000-03-03  Jim Meyering  <meyering@lucent.com>
83879
83880         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
83881
83882 2000-03-02  Jim Meyering  <meyering@lucent.com>
83883
83884         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
83885         the messages come out on separate lines.
83886
83887         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
83888         rather than jm_CHECK_DECLARATIONS.
83889         * m4/decl.m4: Remove now-unused file.
83890
83891         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
83892         geteuid.
83893
83894 2000-03-02  Jim Meyering  <meyering@lucent.com>
83895
83896         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
83897
83898 2000-03-01  Jim Meyering  <meyering@lucent.com>
83899
83900         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
83901         * lib/unicodeio.c: Likewise.
83902
83903 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
83904
83905         * lib/config.charset: New file.
83906         * lib/localcharset.c: New file.
83907         * lib/unicodeio.h, lib/unicodeio.c: New files.
83908         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
83909         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
83910         (noinst_HEADERS): Add unicodeio.h.
83911         (all-local, install-exec-local, charset.alias): New targets.
83912
83913 2000-02-28  Paul Eggert  <eggert@twinsun.com>
83914
83915         * lib/quotearg.c (ALERT_CHAR): New macro.
83916         (quotearg_buffer_restyled): Use it.
83917
83918 2000-02-27  Jim Meyering  <meyering@lucent.com>
83919
83920         * m4/check-decl.m4: Add getenv to the list.
83921
83922 2000-02-27  Jim Meyering  <meyering@lucent.com>
83923
83924         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
83925         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
83926
83927         * lib/backupfile.c: Guard inclusion of stdlib.h with
83928         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
83929         Declare malloc if needed.
83930
83931         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
83932         `#ifndef HAVE_DECL..'
83933         now that autoconf always defines the HAVE_DECL_ symbols.
83934         * lib/human.c: Likewise.
83935         * lib/same.c: Likewise.
83936         * lib/strtoumax.c: Likewise.
83937
83938         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
83939         declaration check was not run.
83940         * lib/hash.c: Likewise.
83941         * lib/human.c: Likewise.
83942         * lib/same.c: Likewise.
83943         * lib/strtoumax.c: Likewise.
83944
83945         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
83946         `.', then first look up the entire `.'-containing string as a login
83947         name.
83948
83949 2000-02-23  Jim Meyering  <meyering@lucent.com>
83950
83951         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
83952         in place of my hack.
83953
83954 2000-02-18  Paul Eggert  <eggert@twinsun.com>
83955
83956         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
83957         (textint): New typedef.
83958         (parser_control): Member year changed from int to textint.
83959         All uses changed.
83960         (YYSTYPE): Removed; replaced by %union with int and textint members.
83961         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
83962         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
83963         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
83964         (tSNUMBER, tUNUMBER): Now of type <textintval>.
83965         (date, number, to_year): Use width of number in digits, not its value,
83966         to determine whether it's a 2-digit year, or a 2-digit time.
83967         (yylex): Store number of digits of numeric tokens.
83968         Reported by John Kendall.
83969
83970         (parser_control): Changed from struct parser_control to typedef (for
83971         consistency).  All uses changed.
83972
83973         (tID): Removed; not used.
83974         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
83975
83976 2000-02-14  Paul Eggert  <eggert@twinsun.com>
83977
83978         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
83979         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
83980
83981 2000-02-12  Jim Meyering  <meyering@lucent.com>
83982
83983         * lib/userspec.c (ISDIGIT): Define it.
83984         (isdigit): Remove definition.
83985         (is_number): Use ISDIGIT, not isdigit.
83986         <libintl.h>: Include.
83987         (_ and N_): Define.
83988         (parse_user_spec): Mark translatable strings.
83989
83990 2000-02-10  Jim Meyering  <meyering@lucent.com>
83991
83992         With these changes, nanosleep.[ch] are finally enough like the other
83993         lib/* replacement files to compile on a few more losing systems.
83994
83995         * lib/nanosleep.h: Don't include config.h.
83996         Remove prototype from declaration of nanosleep.
83997         (PARAMS): Remove now-unneeded definition.
83998         * lib/nanosleep.c: #undef nanosleep.
83999         (rpl_nanosleep): Rename from nanosleep.
84000
84001 2000-02-10  Jim Meyering  <meyering@lucent.com>
84002
84003         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
84004         gnu_nanosleep to rpl_nanosleep.
84005
84006 2000-02-09  Jim Meyering  <meyering@lucent.com>
84007
84008         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
84009         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
84010
84011 2000-02-08  Akim Demaille  <akim@epita.fr>
84012
84013         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
84014         `[' and `]' and remove uses of `changequote'.
84015         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
84016         (AC_SYS_LARGEFILE): Likewise.
84017         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
84018         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
84019         of changequote.
84020         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
84021         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
84022         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
84023         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
84024
84025 2000-02-05  Jim Meyering  <meyering@lucent.com>
84026
84027         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
84028         Remove explicit use of AC_HEADER_TIME.  It is required by
84029         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
84030         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
84031         in autoconf whereby the expansion of the latter ended up preceding
84032         the expansion of its prerequisite, AC_HEADER_TIME.
84033         Reported by Volker Borchert.
84034
84035 2000-02-03  Jim Meyering  <meyering@lucent.com>
84036
84037         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
84038
84039 2000-02-03  Jim Meyering  <meyering@lucent.com>
84040
84041         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
84042         rather than with `#if HAVE_UTMPNAME'.
84043
84044 2000-02-02  Jim Meyering  <meyering@lucent.com>
84045
84046         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
84047         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
84048         Reported by Eli Zaretskii.
84049
84050 2000-02-01  Jim Meyering  <meyering@lucent.com>
84051
84052         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
84053
84054 2000-01-31  Jim Meyering  <meyering@lucent.com>
84055
84056         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
84057         functions.  Add the time.h and sys/time.h headers along with the
84058         AC_REQUIRE'ment of AC_HEADER_TIME.
84059
84060 2000-01-31  Jim Meyering  <meyering@lucent.com>
84061
84062         * lib/nanosleep.h (nanosleep): Guard declaration with
84063         `#if ! HAVE_DECL_NANOSLEEP'.
84064         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
84065         the declaration in that vendor's sys/timers.h.
84066         Reported by Christian Krackowizer.
84067
84068         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
84069         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
84070         (ISPRINT): Likewise.
84071         Reported by Tom Tromey.
84072
84073 2000-01-30  Jim Meyering  <meyering@lucent.com>
84074
84075         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
84076
84077         * m4/prereq.m4 (utmp_includes): Define.
84078         Check for ut_user and ut_name members in both struct utmpx
84079         and struct utmp.
84080
84081 2000-01-30  Jim Meyering  <meyering@lucent.com>
84082
84083         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
84084         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
84085         header files where only utmpx.ut_user is declared.
84086
84087         * lib/readutmp.h (UT_USER): Define.
84088
84089 2000-01-29  Jim Meyering  <meyering@lucent.com>
84090
84091         * m4/lib-check.m4: New file containing library-related checks from
84092         fileutils and sh-utils (textutils had none).
84093
84094 2000-01-28  Jim Meyering  <meyering@lucent.com>
84095
84096         * m4/perl.m4: Change format of warning message to look more like that
84097         from the missing script.  Suggestion from François Pinard.
84098
84099 2000-01-25  Jim Meyering  <meyering@lucent.com>
84100
84101         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
84102         well as time.h in the compile check.
84103         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
84104         Fix typo in cross-compiling case: s/yes/no/.
84105
84106 2000-01-23  Jim Meyering  <meyering@lucent.com>
84107
84108         * m4/jm-macros.m4: Move df-related tests here from
84109         fileutils/configure.in
84110
84111         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
84112         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
84113
84114         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
84115         s/space/ac_fsusage_space/.
84116         (jm_FILE_SYSTEM_USAGE): Take two parameters.
84117
84118         * m4/ftruncate.m4: New file (derived from part of
84119         fileutils/configure.in).
84120         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
84121         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
84122
84123         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
84124         AC_SUBST these here, rather than just in sh-util/configure.in, so
84125         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
84126         all the same.
84127         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
84128         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
84129         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
84130         (AC_SUBST(POW_LIBM)): Likewise.
84131         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
84132
84133 2000-01-23  Jim Meyering  <meyering@lucent.com>
84134
84135         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
84136         obstack.c.
84137
84138 2000-01-22  Jim Meyering  <meyering@lucent.com>
84139
84140         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
84141
84142         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
84143
84144         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
84145         configure.in
84146         (AC_CHECK_HEADERS): Likewise for sh-utils.
84147         (AC_CHECK_HEADERS): Likewise for textutils.
84148         Merge the three lists of headers.
84149
84150         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
84151         from fileutils' configure.in.
84152
84153         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
84154         code. Moved tests into their own function (_jm_DECL_HEADERS) in
84155         check-decl.m4.
84156
84157         * m4/check-decl.m4: Use #if rather than #ifdef.
84158         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
84159         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
84160         (_jm_DECL_HEADERS): Define new function.
84161         (jm_CHECK_DECLARATIONS): Require it.
84162
84163 2000-01-22  Jim Meyering  <meyering@lucent.com>
84164
84165         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
84166         [! HAVE_DECL_STRTOULL]: Declare strtoull.
84167         Required for some AIX systems.  Reported by Christian Krackowizer.
84168         [TESTING] (main): New function.
84169
84170         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
84171         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
84172         letters.
84173
84174         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
84175         iswprint.
84176
84177         * lib/strverscmp.c (ISDIGIT): Define.
84178         (strverscmp): Use ISDIGIT, not isdigit.
84179
84180 2000-01-19  Jim Meyering  <meyering@lucent.com>
84181
84182         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
84183         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
84184         defines `struct timespec' in <sys/time.h>
84185
84186         * m4/c-bs-a.m4: Remove uses of changequote altogether.
84187         Thanks to Akim for explaining.
84188
84189 2000-01-17  Paul Eggert  <eggert@twinsun.com>
84190
84191         * lib/nanosleep.c (nanosleep):
84192         Don't use SA_INTERRUPT to decide whether to call sigaction, as
84193         POSIX.1 doesn't require SA_INTERRUPT and some systems
84194         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
84195         it's been part of POSIX.1 since day 1 (in 1988).
84196
84197 2000-01-17  Jim Meyering  <meyering@lucent.com>
84198
84199         * lib/interlock: Remove unused file.  Reported by François Pinard.
84200
84201 2000-01-16  Paul Eggert  <eggert@twinsun.com>
84202
84203         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
84204         alert, backslash, formfeed, and vertical tab unnecessarily in
84205         shell quoting style.
84206
84207 2000-01-16  Jim Meyering  <meyering@lucent.com>
84208
84209         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
84210         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
84211         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
84212         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
84213
84214 2000-01-16  Jim Meyering  <meyering@lucent.com>
84215
84216         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
84217         because the latter didn't work.
84218
84219 2000-01-15  Jim Meyering  <meyering@lucent.com>
84220
84221         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
84222         (AC_REPLACE_FUNCS): Add memcpy and memset.
84223         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
84224         Add strpbrk.
84225         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
84226
84227 2000-01-12  Jim Meyering  <meyering@lucent.com>
84228
84229         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
84230         (jm_PREREQ): Use it.
84231         (jm_PREREQ_READUTMP): New macro.
84232         (jm_PREREQ): Use it.
84233
84234 2000-01-11  Paul Eggert  <eggert@twinsun.com>
84235
84236         Quote multibyte characters correctly.
84237         * m4/c-bs-a.m4: New file.
84238         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
84239         (jm_PREREQ): Use it.
84240
84241 2000-01-11  Paul Eggert  <eggert@twinsun.com>
84242
84243         * m4/uintmax_t.m4: Port to autoconf 2.13.
84244
84245 2000-01-08  Jim Meyering  <meyering@ascend.com>
84246
84247         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
84248         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
84249
84250 2000-01-04  Jim Meyering  <meyering@ascend.com>
84251
84252         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
84253         jm_STRUCT_DIRENT_D_TYPE.
84254         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
84255         jm_STRUCT_DIRENT_D_INO.
84256         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
84257         jm_STRUCT_UTIMBUF.
84258         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
84259         renamings.
84260         * m4/utime.m4: Likewise.
84261
84262         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
84263         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
84264
84265 2000-01-03  Paul Eggert  <eggert@twinsun.com>
84266
84267         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
84268         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
84269
84270 2000-01-02  Jim Meyering  <meyering@ascend.com>
84271
84272         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
84273         remember if this is necessary.
84274
84275 1999-12-26  Jim Meyering  <meyering@ascend.com>
84276
84277         * m4/jm-macros.m4: Use it here.
84278         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
84279
84280 1999-12-23  Jim Meyering  <meyering@ascend.com>
84281
84282         * m4/jm-macros.m4: Check for clock_gettime (moved from
84283         fileutils/configure.in)
84284         Check for gettimeofday.
84285
84286 1999-12-20  Jim Meyering  <meyering@ascend.com>
84287
84288         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
84289         autoconf-2.14a-1999-12-20.
84290
84291 1999-12-19  Jim Meyering  <meyering@ascend.com>
84292
84293         * m4/lstat-slash.m4: New file.
84294         * m4/jm-macros.m4: Use the new macro:
84295         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
84296
84297 1999-12-07  Jim Meyering  <meyering@ascend.com>
84298
84299         * m4/perl.m4: Require that File::Compare be available, too.
84300         Too many systems seem to lack it.
84301
84302         * m4/strftime.m4: Add checks for most of the cpp macros tested in
84303         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
84304
84305 1999-11-18  Paul Eggert  <eggert@twinsun.com>
84306
84307         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
84308         problem with the QNX 4.25 shell, which doesn't propagate exit
84309         status of failed commands inside shell assignments.
84310
84311 1999-11-17  Jim Meyering  <meyering@ascend.com>
84312
84313         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
84314
84315 1999-11-07  Jim Meyering  <meyering@ascend.com>
84316
84317         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
84318
84319 1999-11-06  Jim Meyering  <meyering@ascend.com>
84320
84321         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
84322         * m4/jm-macros.m4 (jm_MACROS): Use it here.
84323
84324 1999-11-05  Jim Meyering  <meyering@ascend.com>
84325
84326         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
84327         configure.in of textutils, fileutils, and sh-utils into this one
84328         (shared between those packages) file.
84329         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
84330         AC_STRUCT_ST_BLKSIZE.
84331
84332 1999-11-03  Jim Meyering  <meyering@ascend.com>
84333
84334         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
84335         of AC_CHECK_TYPE checks includes unistd.h.
84336         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
84337         Suggestion from Akim Demaille.
84338
84339 1999-10-30  Jim Meyering  <meyering@ascend.com>
84340
84341         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
84342         m4-quoted string.
84343         * m4/ls-mntd-fs.m4: Likewise.
84344         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
84345         * m4/jm-winsz1.m4: Likewise.
84346
84347         * m4/const.m4: Remove file, since the fix made it into the experimental
84348         version of autoconf.
84349         * m4/mktime.m4: Likewise.
84350
84351         * m4/check-type.m4: Remove file, now that the latest version of
84352         AC_CHECK_TYPE takes a third arg to specify additional #includes.
84353
84354         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
84355         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
84356         AC_CHECK_TYPE.
84357
84358 1999-10-04  Jim Meyering  <meyering@ascend.com>
84359
84360         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
84361
84362 1999-09-22  Paul Eggert  <eggert@twinsun.com>
84363
84364         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
84365         2.95.1 bug with HP-UX 10.20.
84366
84367 1999-09-17  Jim Meyering  <meyering@ascend.com>
84368
84369         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
84370         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
84371         due to missing strdup (against sh-utils-2.0).
84372
84373 1999-08-29  Jim Meyering  <meyering@ascend.com>
84374
84375         * m4/jm-macros.m4: Require jm_BISON.
84376         * m4/bison.m4: New file.
84377
84378 1999-08-17  Paul Eggert  <eggert@twinsun.com>
84379
84380         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
84381         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
84382
84383 1999-08-05  Jim Meyering  <meyering@ascend.com>
84384
84385         * m4/getline.m4: Rename test file from conftestdata to conftest.data
84386         to avoid conflicts with `conftest' on 8+3 filesystems.
84387         Suggestion from Eli Zaretskii.
84388
84389 1999-08-04  Jim Meyering  <meyering@ascend.com>
84390
84391         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
84392         fileutils and sh-utils (textutils's getline test was inadequate).
84393         (AM_FUNC_GETLINE): Run this test.
84394         (AC_CHECK_FUNCS): Check for getdelim.
84395         Reported by Bob Proulx.
84396
84397 1999-08-02  Jim Meyering  <meyering@ascend.com>
84398
84399         * m4/jm-macros.m4: Add a comment.
84400
84401 1999-08-01  Paul Eggert  <eggert@twinsun.com>
84402
84403         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
84404         <inttypes.h> defines strtoumax as a macro (and not as a
84405         function).
84406
84407 1999-08-01  Paul Eggert  <eggert@twinsun.com>
84408
84409         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
84410         that we can shift, multiply and divide unsigned long long
84411         values; Ultrix cc can't do it.
84412
84413 1999-08-01  Paul Eggert  <eggert@twinsun.com>
84414
84415         * m4/mktime.m4: New file, which is a preview of what should appear
84416         in the next public autoconf release.
84417
84418 1999-08-01  Paul Eggert  <eggert@twinsun.com>
84419
84420         * m4/lfs.m4: Remove this file.
84421         * m4/largefile.m4: New file.  It contains the old contents of
84422         lfs.m4, except that all names with prefix AC_LFS have been
84423         changed to use the prefix AC_SYS_LARGEFILE instead, to be
84424         compatible with future autoconf versions.  Also, some minor m4
84425         quoting problems have been fixed.
84426
84427 1999-08-01  Paul Eggert  <eggert@twinsun.com>
84428
84429         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
84430         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
84431         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
84432         and simplify the shell code.
84433
84434 1999-08-01  Jim Meyering  <meyering@ascend.com>
84435
84436         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
84437         m4.
84438
84439 1999-07-20  Jim Meyering  <meyering@ascend.com>
84440
84441         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
84442
84443 1999-07-15  Jim Meyering  <meyering@ascend.com>
84444
84445         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
84446
84447 1999-05-22  Jim Meyering  <meyering@ascend.com>
84448
84449         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
84450
84451 1999-05-20  Jim Meyering  <meyering@ascend.com>
84452
84453         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
84454         Add a colon after each `then' in case $4 is empty.
84455
84456 1999-05-16  Jim Meyering  <meyering@ascend.com>
84457
84458         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
84459
84460 1999-05-10  Jim Meyering  <meyering@ascend.com>
84461
84462         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
84463
84464         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
84465         AC_FUNC_MKTIME.
84466
84467 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
84468
84469         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
84470
84471 1999-05-04  Paul Eggert  <eggert@twinsun.com>
84472
84473         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
84474         not CPPFLAGS, so that linking works correctly in IRIX.
84475
84476 1999-04-30  Paul Eggert  <eggert@twinsun.com>
84477
84478         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
84479
84480 1999-04-20  Paul Eggert  <eggert@twinsun.com>
84481
84482         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
84483         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
84484         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
84485         jm_AC_TYPE_UNSIGNED_LONG_LONG.
84486         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
84487
84488         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
84489
84490 1999-04-20  Jim Meyering  <meyering@ascend.com>
84491
84492         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
84493         AC_REPLACE xstroull if necessary.  From Paul Eggert.
84494         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
84495
84496 1999-04-18  Jim Meyering  <meyering@ascend.com>
84497
84498         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
84499         * m4/jm-macros.m4: Use it.
84500
84501 1999-04-06  Jim Meyering  <meyering@ascend.com>
84502
84503         * m4/strftime.m4: Remove test for %f.
84504
84505 1999-03-29  Jim Meyering  <meyering@ascend.com>
84506
84507         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
84508         superset of the AC_TYPE_* checks in the textutils, fileutils,
84509         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
84510         AC_TYPE_PID_T.
84511
84512 1999-03-28  Jim Meyering  <meyering@ascend.com>
84513
84514         * m4/jm-macros.m4: Define GNU_PACKAGE here.
84515         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
84516         replaced e.g., in the *.sh files of the sh-utils.
84517
84518 1999-03-20  Jim Meyering  <meyering@ascend.com>
84519
84520         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
84521         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
84522         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
84523
84524 1999-03-19  Jim Meyering  <meyering@ascend.com>
84525
84526         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
84527
84528 1999-03-12  Jim Meyering  <meyering@ascend.com>
84529
84530         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
84531
84532 1999-03-07  Jim Meyering  <meyering@ascend.com>
84533
84534         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
84535         declared.
84536
84537 1999-02-17  Jim Meyering  <meyering@ascend.com>
84538
84539         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
84540         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
84541
84542 1999-02-07  Jim Meyering  <meyering@ascend.com>
84543
84544         * m4/group-member.m4: New file -- extracted from sh-utils'
84545         configure.in.
84546
84547         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
84548         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
84549
84550 1999-02-06  Jim Meyering  <meyering@ascend.com>
84551
84552         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
84553         * m4/fnmatch.m4: Likewise.
84554         * m4/getgroups.m4: Likewise.
84555         * m4/lstat.m4: Likewise.
84556         * m4/malloc.m4: Likewise.
84557         * m4/putenv.m4: Likewise.
84558         * m4/realloc.m4: Likewise.
84559         * m4/regex.m4: Likewise.
84560         * m4/stat.m4: Likewise.
84561         * m4/strftime.m4: Likewise.
84562         Suggestion from Alain Magloire.
84563
84564         * m4/chown.m4: Use `.$ac_objext', not `.o'.
84565         * m4/fnmatch.m4: Likewise.
84566         * m4/getgroups.m4: Likewise.
84567         * m4/getline.m4: Likewise.
84568         * m4/lstat.m4: Likewise.
84569         * m4/malloc.m4: Likewise.
84570         * m4/memcmp.m4: Likewise.
84571         * m4/putenv.m4: Likewise.
84572         * m4/realloc.m4: Likewise.
84573         * m4/regex.m4: Likewise.
84574         * m4/stat.m4: Likewise.
84575         * m4/strftime.m4: Likewise.
84576         Suggestion from Alain Magloire.
84577
84578         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
84579         an argument.
84580
84581         * m4/regex.m4: Add a run-time Test for proper operation of
84582         re_compile_pattern.
84583
84584 1999-01-31  Jim Meyering  <meyering@ascend.com>
84585
84586         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
84587
84588 1999-01-30  Jim Meyering  <meyering@ascend.com>
84589
84590         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
84591
84592         * m4/jm-mktime.m4: Make this a wrapper around the official
84593         AM_FUNC_MKTIME rather than my private copy, now that the official one
84594         is up to date.
84595         * m4/mktime.m4: Remove file.
84596
84597         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
84598         * m4/uptime.m4: Likewise.
84599         * m4/uintmax_t.m4: Likewise.
84600
84601 1999-01-28  Jim Meyering  <meyering@ascend.com>
84602
84603         * m4/jm-macros.m4: Use jm_AFS.
84604         * m4/afs.m4: New file (from fileutils' configure.in).
84605
84606         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
84607         * m4/chown.m4: Likewise.
84608         * m4/d-ino.m4: Likewise.
84609         * m4/d-type.m4: Likewise.
84610         * m4/fnmatch.m4: Likewise.
84611         * m4/getgroups.m4: Likewise.
84612         * m4/gettext.m4: Likewise.
84613         * m4/jm-mktime.m4: Likewise.
84614         * m4/jm-winsz2.m4: Likewise.
84615         * m4/lcmessage.m4: Likewise.
84616         * m4/ls-mntd-fs.m4: Likewise.
84617         * m4/malloc.m4: Likewise.
84618         * m4/memcmp.m4: Likewise.
84619         * m4/putenv.m4: Likewise.
84620         * m4/realloc.m4: Likewise.
84621         * m4/st_mtim.m4: Likewise.
84622         * m4/strftime.m4: Likewise.
84623
84624 1999-01-16  Jim Meyering  <meyering@ascend.com>
84625
84626         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
84627         (ARGMATCH_DIE_DECL): Define.
84628
84629 1999-01-12  Jim Meyering  <meyering@ascend.com>
84630
84631         * m4/Makefile.am.in: Rewrite to avoid using fmt.
84632         Reported by Lars Hecking.
84633
84634 1999-01-10  Jim Meyering  <meyering@ascend.com>
84635
84636         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
84637         gross kludge.
84638         * m4/inttypes_h.m4: Likewise.
84639         * m4/lstat.m4: Likewise.
84640         * m4/malloc.m4: Likewise.
84641         * m4/readdir.m4: Likewise.
84642         * m4/realloc.m4: Likewise.
84643         * m4/st_dm_mode.m4: Likewise.
84644         * m4/stat.m4: Likewise.
84645         * m4/utimbuf.m4: Likewise.
84646         * m4/utimes.m4: Likewise.
84647
84648         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
84649         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
84650         comments in config.h.in are meaningful.
84651
84652         * m4/jm-macros.m4: Require autoconf-2.13 here.
84653
84654         * m4/regex.m4: By default, don't use the included regex.c on systems
84655         with glibc 2.  Suggestion from Uli Drepper.
84656
84657 1999-01-02  Jim Meyering  <meyering@ascend.com>
84658
84659         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
84660
84661 1998-12-18  Jim Meyering  <meyering@ascend.com>
84662
84663         * m4/Makefile.am.in (Makefile.am): Simplify rule.
84664         Based on a suggestion from Lars Hecking.
84665
84666 1998-11-16  Paul Eggert  <eggert@twinsun.com>
84667
84668         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
84669
84670 1998-11-16  Jim Meyering  <meyering@ascend.com>
84671
84672         * m4/lfs.m4: Double-quote the `uname...` expression.
84673
84674 1998-11-14  Jim Meyering  <meyering@ascend.com>
84675
84676         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
84677         * m4/stat.m4: Likewise.
84678
84679 1998-11-03  Jim Meyering  <meyering@ascend.com>
84680
84681         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
84682         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
84683
84684 1998-10-18  Jim Meyering  <meyering@ascend.com>
84685
84686         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
84687
84688 1998-10-17  Jim Meyering  <meyering@ascend.com>
84689
84690         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
84691         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
84692         calls for those previously hard-coded headers.  Instead, take a new
84693         parameter.
84694         (jm_CHECK_DECLARATIONS): Reflect interface change.
84695         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
84696         (jm_CHECK_DECL_LOCALTIME_R): New macro.
84697
84698         * m4/mktime.m4: Test for spring-forward gap before long-running test.
84699
84700 1998-10-14  Jim Meyering  <meyering@ascend.com>
84701
84702         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
84703         instead of "TZ=America/Vancouver".  From Paul Eggert.
84704
84705 1998-10-11  Jim Meyering  <meyering@ascend.com>
84706
84707         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
84708         This adds a test for a recently added compatibility fix for mktime.c.
84709         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
84710
84711 1998-09-27  Jim Meyering  <meyering@ascend.com>
84712
84713         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
84714
84715         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
84716         ../configure.in, including a change from Gordon Matzigkeit to allow
84717         cross-compiling for the Hurd.
84718
84719         * m4/glibc.m4: New file/macro to test for the GNU C Library
84720         versions 1 and 2.  From Gordon Matzigkeit.
84721         Indent.
84722
84723 1998-09-21  Jim Meyering  <meyering@ascend.com>
84724
84725         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
84726
84727 1998-08-18  Paul Eggert  <eggert@twinsun.com>
84728
84729         Port nanosecond-resolution times to UnixWare 2.1.2 and
84730         pedantic Solaris 2.6.
84731
84732         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
84733         AC_STRUCT_ST_MTIM.
84734         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
84735         Generate name of ns member, instead of just 1 or undef.
84736         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
84737
84738 1998-08-15  Jim Meyering  <meyering@ascend.com>
84739
84740         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
84741         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
84742         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
84743         instead of jm_TYPE_SSIZE_T.
84744
84745 1998-08-12  Jim Meyering  <meyering@ascend.com>
84746
84747         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
84748
84749 1998-08-02  Jim Meyering  <meyering@ascend.com>
84750
84751         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
84752         in acconfig.h manually.
84753
84754 1998-07-31  Paul Eggert  <eggert@twinsun.com>
84755
84756         * m4/st_mtim.m4: New file.
84757
84758 1998-07-28  Jim Meyering  <meyering@ascend.com>
84759
84760         * m4/utimes.m4: Undef stat.
84761
84762 1998-07-25  Jim Meyering  <meyering@ascend.com>
84763
84764         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
84765         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
84766
84767 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
84768
84769         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
84770         uid and gid actually remain unchanged.
84771
84772 1998-07-07  Jim Meyering  <meyering@ascend.com>
84773
84774         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
84775
84776 1998-07-04  Jim Meyering  <meyering@ascend.com>
84777
84778         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
84779         to prove that this macro can be used in packages without regex.c.
84780
84781 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
84782
84783         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
84784         is to be used.
84785
84786 1998-07-03  Jim Meyering  <meyering@ascend.com>
84787
84788         * m4/gettext.m4: Add -lintl if it's found to be necessary.
84789
84790         * m4/gettext.m4: New file -- from gettext-0.10.35.
84791         * m4/lcmessage.m4: Likewise.
84792         * m4/progtest.m4: Likewise.
84793
84794         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
84795         * m4/jm-macros.m4: Require the new macro.
84796
84797 1998-06-29  Jim Meyering  <meyering@ascend.com>
84798
84799         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
84800         for the definition of NGROUPS (used in a system header included
84801         by sys/mount.h).
84802
84803 1998-06-28  Jim Meyering  <meyering@ascend.com>
84804
84805         * m4/ls-mntd-fs.m4: New file.
84806         * m4/fstypename.m4: New file.
84807
84808         * m4/jm-macros.m4: Require the new macro.
84809         * m4/jm-glibc-io.m4: New file.
84810
84811 1998-05-19  Jim Meyering  <meyering@ascend.com>
84812
84813         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
84814         * m4/lchown.m4: New file.
84815
84816         * m4/Makefile.am.in: New file.
84817         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
84818
84819 1998-05-14  Jim Meyering  <meyering@ascend.com>
84820
84821         * m4/Makefile.am (EXTRA_DIST): Add them.
84822         * m4/jm-macros.m4: New file.
84823         * m4/utimbuf.m4: New file.
84824
84825 1998-05-12  Jim Meyering  <meyering@ascend.com>
84826
84827         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
84828
84829 1998-05-11  Jim Meyering  <meyering@ascend.com>
84830
84831         * m4/isc-posix.m4: New file.
84832
84833 1998-05-10  Jim Meyering  <meyering@ascend.com>
84834
84835         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
84836
84837 1998-05-09  Jim Meyering  <meyering@ascend.com>
84838
84839         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
84840         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
84841         with automake.
84842
84843         * m4/ssize_t.m4: New file.
84844         * m4/mktime.m4: Remove file -- the new automake has this now.
84845
84846 1998-04-26  Jim Meyering  <meyering@ascend.com>
84847
84848         * m4/assert.m4: New file.
84849         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
84850
84851 1998-04-05  Jim Meyering  <meyering@ascend.com>
84852
84853         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
84854         (jm_PREREQ): Use it here.
84855
84856 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
84857
84858         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
84859         in acconfig.h.
84860
84861 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
84862
84863         * m4/prereq.m4: New file.
84864         * m4/error.m4: New file.
84865         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
84866
84867 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
84868
84869         * m4/getline.m4: Don't set am_cv_func_working_getline before the
84870         cache-check for the same variable -- that defeated the purpose of
84871         the test; the test program was never run.  This was a problem only
84872         on systems with losing getline functions -- HP-UX 10.20 is one.
84873         Reported by Bjorn Helgaas.
84874
84875 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
84876
84877         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
84878
84879 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
84880
84881         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
84882
84883         * m4/const.m4: New file.  Use an initializer in this declaration
84884         typedef int charset[2]; const charset x;
84885         Reported by Bob Glickstein.
84886
84887 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
84888
84889         * m4/chown.m4: Fix reversed types on -1 args to chown.
84890         From Kaveh Ghazi.
84891
84892 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
84893
84894         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
84895         Add lseek and memchr.
84896
84897         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
84898         T.E.Dickey <dickey@clark.net> said that some older preprocessors
84899         have a 20-character limit on names.
84900
84901 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
84902
84903         * m4/inttypes_h.m4: New file.
84904         * m4/uintmax_t.m4: New file.
84905         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
84906
84907
84908         -----
84909
84910         Local Variables:
84911         coding: utf-8
84912         End:
84913
84914         Copyright (C) 1997-2011 Free Software Foundation, Inc.
84915
84916         Copying and distribution of this file, with or without
84917         modification, are permitted provided the copyright notice
84918         and this notice are preserved.