maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
[gnulib.git] / ChangeLog
1 2011-07-27  Jim Meyering  <meyering@redhat.com>
2
3         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
4         * top/maint.mk (gl_extract_significant_defines_): Now that
5         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
6         gnulib/lib/signal.in.h, and now that we recommend to
7         define-if-undefined those two symbols in application code,
8         we must filter them out of the "significant" list.
9         This avoids a "make syntax-check" failure in coreutils.
10
11 2011-07-26  Eric Blake  <eblake@redhat.com>
12
13         warnings: add comments about previous patch
14         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
15         * m4/include_next.m4: Likewise.
16         * m4/warn-on-use.m4: Likewise.
17         * m4/warnings.m4: Likewise, and simplify use.
18         Suggested by Stefano Lattarini.
19
20         include-next, warnings: support older autoconf
21         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
22         AS_VAR_PUSHDEF in a way that works with older autoconf.
23         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
24         Reported by Daniel P. Berrange.
25
26 2011-07-25  Bruno Haible  <bruno@clisp.org>
27
28         fseek, ftell: Fix doc.
29         * doc/posix-functions/fseek.texi: Reword statement about
30         AC_SYS_LARGEFILE.
31         * doc/posix-functions/ftell.texi: Likewise.
32
33 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
34             Bruno Haible  <bruno@clisp.org>
35
36         Add dependencies to the 'largefile' module.
37         * modules/fopen (Depends-on): Add 'largefile'.
38         * modules/freopen (Depends-on): Likewise.
39         * modules/fseeko (Depends-on): Likewise.
40         * modules/ftello (Depends-on): Likewise.
41         * modules/glob (Depends-on): Likewise.
42         * modules/lseek (Depends-on): Likewise.
43         * modules/lstat (Depends-on): Likewise.
44         * modules/mkostemp (Depends-on): Likewise.
45         * modules/mkostemps (Depends-on): Likewise.
46         * modules/mkstemp (Depends-on): Likewise.
47         * modules/mkstemps (Depends-on): Likewise.
48         * modules/open (Depends-on): Likewise.
49         * modules/openat (Depends-on): Likewise.
50         * modules/pread (Depends-on): Likewise.
51         * modules/pwrite (Depends-on): Likewise.
52         * modules/scandir (Depends-on): Likewise.
53         * modules/stat (Depends-on): Likewise.
54         * modules/tmpfile (Depends-on): Likewise.
55         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
56         since the containing module now depends on the largefile module.
57         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
58         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
59         off_t is fixed by gnulib.
60         * doc/posix-functions/freopen.texi: Likewise.
61         * doc/posix-functions/fseeko.texi: Likewise.
62         * doc/posix-functions/fstatat.texi: Likewise.
63         * doc/posix-functions/ftello.texi: Likewise.
64         * doc/posix-functions/glob.texi: Likewise.
65         * doc/posix-functions/lseek.texi: Likewise.
66         * doc/posix-functions/lstat.texi: Likewise.
67         * doc/posix-functions/mkstemp.texi: Likewise.
68         * doc/posix-functions/open.texi: Likewise.
69         * doc/posix-functions/openat.texi: Likewise.
70         * doc/posix-functions/pread.texi: Likewise.
71         * doc/posix-functions/pwrite.texi: Likewise.
72         * doc/posix-functions/scandir.texi: Likewise.
73         * doc/posix-functions/stat.texi: Likewise.
74         * doc/posix-functions/tmpfile.texi: Likewise.
75         * doc/glibc-functions/mkostemp.texi: Likewise.
76         * doc/glibc-functions/mkostemps.texi: Likewise.
77         * doc/glibc-functions/mkstemps.texi: Likewise.
78
79 2011-07-25  Bruno Haible  <bruno@clisp.org>
80
81         fcntl: Move AC_LIBOBJ invocation to module description.
82         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
83         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
84
85         fcntl: Remove call-in from fchdir.m4.
86         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
87         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
88
89         dup3: Remove potential call-in from fchdir.m4.
90         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
91         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
92
93         dup2: Move AC_LIBOBJ invocation to module description.
94         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
95         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
96         Don't invoke AC_LIBOBJ.
97         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
98
99         dup2: Remove call-in from fchdir.m4.
100         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
101         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
102
103         fclose: Move AC_LIBOBJ invocation to module description.
104         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
105         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
106         to 1.
107         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
108
109         fclose: Remove call-in from close.m4.
110         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
111         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
112
113         close: Move AC_LIBOBJ invocation to module description.
114         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
115         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
116         1.
117         * modules/close (configure.ac): Invoke AC_LIBOBJ.
118
119         close: Remove call-in from fchdir.m4.
120         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
121         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
122
123         open: Move AC_LIBOBJ invocation to module description.
124         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
125         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
126         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
127
128         open: Remove call-in from fchdir.m4.
129         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
130         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
131
132         fchdir: Start to remove gl_REPLACE_* idiom.
133         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
134         (gl_FUNC_FCHDIR): Invoke it.
135
136 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
137
138         * lib/ftell.c (ftell): Comment out cast.
139
140         close: use gl_REPLACE_FCLOSE only if defined
141         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
142         is defined.  The close module doesn't depend on the fclose module
143         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
144         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
145         I reproduced the problem with "./gnulib-tool --test close sys_socket".
146
147 2011-07-24  Jim Meyering  <meyering@redhat.com>
148
149         test-select.h: avoid warning when using gcc's -Wmissing-declarations
150         * tests/test-select.h (test_function): Declare as "static".
151
152 2011-07-24  Bruno Haible  <bruno@clisp.org>
153
154         doc: Mention the effects of AC_SYS_LARGEFILE.
155         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
156         on this function.
157         * doc/posix-functions/aio_error.texi: Likewise.
158         * doc/posix-functions/aio_fsync.texi: Likewise.
159         * doc/posix-functions/aio_read.texi: Likewise.
160         * doc/posix-functions/aio_return.texi: Likewise.
161         * doc/posix-functions/aio_suspend.texi: Likewise.
162         * doc/posix-functions/aio_write.texi: Likewise.
163         * doc/posix-functions/fgetpos.texi: Likewise.
164         * doc/posix-functions/fopen.texi: Likewise.
165         * doc/posix-functions/freopen.texi: Likewise.
166         * doc/posix-functions/fsetpos.texi: Likewise.
167         * doc/posix-functions/fstatvfs.texi: Likewise.
168         * doc/posix-functions/ftruncate.texi: Likewise.
169         * doc/posix-functions/ftw.texi: Likewise.
170         * doc/posix-functions/getrlimit.texi: Likewise.
171         * doc/posix-functions/glob.texi: Likewise.
172         * doc/posix-functions/lio_listio.texi: Likewise.
173         * doc/posix-functions/lockf.texi: Likewise.
174         * doc/posix-functions/mkstemp.texi: Likewise.
175         * doc/posix-functions/mmap.texi: Likewise.
176         * doc/posix-functions/nftw.texi: Likewise.
177         * doc/posix-functions/openat.texi: Likewise.
178         * doc/posix-functions/opendir.texi: Likewise.
179         * doc/posix-functions/posix_fadvise.texi: Likewise.
180         * doc/posix-functions/posix_fallocate.texi: Likewise.
181         * doc/posix-functions/pread.texi: Likewise.
182         * doc/posix-functions/pwrite.texi: Likewise.
183         * doc/posix-functions/readdir.texi: Likewise.
184         * doc/posix-functions/readdir_r.texi: Likewise.
185         * doc/posix-functions/rewinddir.texi: Likewise.
186         * doc/posix-functions/scandir.texi: Likewise.
187         * doc/posix-functions/seekdir.texi: Likewise.
188         * doc/posix-functions/setrlimit.texi: Likewise.
189         * doc/posix-functions/statvfs.texi: Likewise.
190         * doc/posix-functions/telldir.texi: Likewise.
191         * doc/posix-functions/tmpfile.texi: Likewise.
192         * doc/posix-functions/truncate.texi: Likewise.
193         * doc/glibc-functions/fallocate.texi: Likewise.
194         * doc/glibc-functions/fstatfs.texi: Likewise.
195         * doc/glibc-functions/fts_children.texi: Likewise.
196         * doc/glibc-functions/fts_read.texi: Likewise.
197         * doc/glibc-functions/getdirentries.texi: Likewise.
198         * doc/glibc-functions/mkostemp.texi: Likewise.
199         * doc/glibc-functions/mkostemps.texi: Likewise.
200         * doc/glibc-functions/mkstemps.texi: Likewise.
201         * doc/glibc-functions/preadv.texi: Likewise.
202         * doc/glibc-functions/pwritev.texi: Likewise.
203         * doc/glibc-functions/sendfile.texi: Likewise.
204         * doc/glibc-functions/statfs.texi: Likewise.
205
206 2011-07-24  Bruno Haible  <bruno@clisp.org>
207
208         doc: Fix typo.
209         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
210
211 2011-07-24  Bruno Haible  <bruno@clisp.org>
212
213         doc: Mention fsusage.
214         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
215
216 2011-07-24  Bruno Haible  <bruno@clisp.org>
217
218         doc: Mention new glibc headers and functions.
219         * doc/glibc-headers/gshadow.texi: New file.
220         * doc/glibc-functions/endsgent.texi: New file.
221         * doc/glibc-functions/fgetsgent.texi: New file.
222         * doc/glibc-functions/fgetsgent_r.texi: New file.
223         * doc/glibc-functions/getsgent.texi: New file.
224         * doc/glibc-functions/getsgent_r.texi: New file.
225         * doc/glibc-functions/getsgnam.texi: New file.
226         * doc/glibc-functions/getsgnam_r.texi: New file.
227         * doc/glibc-functions/putsgent.texi: New file.
228         * doc/glibc-functions/setsgent.texi: New file.
229         * doc/glibc-functions/sgetsgent.texi: New file.
230         * doc/glibc-functions/sgetsgent_r.texi: New file.
231         * doc/glibc-functions/malloc_info.texi: New file.
232         * doc/glibc-functions/preadv.texi: New file.
233         * doc/glibc-functions/pwritev.texi: New file.
234         * doc/glibc-functions/register_printf_modifier.texi: New file.
235         * doc/glibc-functions/register_printf_specifier.texi: New file.
236         * doc/glibc-functions/register_printf_type.texi: New file.
237         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
238         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
239         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
240         * doc/glibc-functions/pthread_getname_np.texi: New file.
241         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
242         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
243         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
244         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
245         * doc/glibc-functions/pthread_setname_np.texi: New file.
246         * doc/glibc-functions/pthread_sigqueue.texi: New file.
247         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
248         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
249         * doc/glibc-functions/qsort_r.texi: New file.
250         * doc/glibc-functions/quick_exit.texi: New file.
251         * doc/glibc-functions/syncfs.texi: New file.
252         * doc/gnulib.texi: Include them.
253         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
254         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
255         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
256         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
257         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
258         * doc/glibc-functions/execvpe.texi: Likewise.
259
260 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
261
262         ftell: don't include <unistd.h>
263         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
264         guaranteed to define off_t, and the ftell module depends on the
265         stdio module.
266
267         ftell: do not assume wraparound signed arithmetic
268         * lib/ftell.c: Include <limits.h>.
269         (ftell): Don't assume wraparound signed arithmetic.
270
271 2011-07-24  Bruno Haible  <bruno@clisp.org>
272
273         close: No longer depend on module 'fclose'.
274         * modules/close (Depends-on): Remove fclose.
275         * NEWS: Mention the change.
276         Suggested by Sam Steingold <sds@gnu.org>.
277
278 2011-07-24  Bruno Haible  <bruno@clisp.org>
279
280         fsusage: Enable large volume support on AIX >= 5.2.
281         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
282         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
283         instead of STAT_STATVFS.
284         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
285
286         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
287         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
288         f_blocks field only on MacOS X.
289
290         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
291         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
292         * modules/fsusage (Depends-on): Add largefile.
293
294 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
295
296         * README: Modernize discussion of signed integers.
297         Assuming overflow wraparound is no longer safe.
298         Mention ones' complement and signed magnitude.
299
300 2011-07-22  Bruno Haible  <bruno@clisp.org>
301
302         select tests, pselect tests: Refactor.
303         * tests/test-select.h: New file, extracted from tests/test-select.c.
304         (select_fn): New type.
305         (test, do_select, do_select_nowait, do_select_wait, test_tty,
306         test_connect_first, test_accept_first, test_pair, test_socket_pair,
307         test_pipe): Add my_select argument.
308         (test_function): Renamed from main. Add my_select argument.
309         * tests/test-select.c: Move most code to tests/test-select.h. Include
310         test-select.h.
311         * modules/select-tests (Files): Add tests/test-select.h.
312         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
313         (my_select, main): New functions.
314         * modules/pselect-tests (Files): Add tests/test-select.h,
315         tests/macros.h, tests/signature.h.
316         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
317         (configure.ac): Check for <sys/wait.h>.
318
319 2011-07-22  Bruno Haible  <bruno@clisp.org>
320
321         sys_select tests: Check the signature of FD_*.
322         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
323         signature tests from here...
324         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
325         here.
326         * modules/sys_select-tests (Files): Add tests/signature.h.
327
328 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
329
330         largefile: new module, replacing large-inode
331         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
332         * MODULES.html.sh: Add largefile, remove large-inode.
333         * modules/largefile, m4/largefile.m4: New files.
334         * modules/large-inode, m4/large-inode.m4: Remove.
335
336         fsusage: port to MacOS X 10.7 with 4 TiB file systems
337         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
338         implementations that use only 32 bits to count blocks.
339         On typical hosts with 1024-byte blocks, this fails with file
340         systems as small as 4 TiB.  Problem reported by Herb Wartens
341         <http://debbugs.gnu.org/9140> and this should also fix a similar
342         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
343
344         large-inode: New module
345         * MODULES.html.sh: Add it.
346         * modules/large-inode, m4/large-inode.m4: New files.
347
348         extensions: Enable extensions on MacOS X 10.5 and later.
349         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
350
351 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
352
353         file-has-acl: use acl_extended_file_nofollow if available
354         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
355         (acl_extended_file): New macro.
356         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
357         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
358
359 2011-07-21  Bruno Haible  <bruno@clisp.org>
360
361         Declare system functions in a way that works with C++.
362         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
363         declare fdopendir as extern "C".
364         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
365         declare frexpl as extern "C".
366         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
367         declare gai_strerror as extern "C".
368         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
369         programs, declare gai_strerror as extern "C".
370         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
371         declare getlogin_r as extern "C".
372         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
373         as extern "C".
374         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
375         declare ldexpl as extern "C".
376         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
377         as extern "C".
378         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
379         program, declare getmntinfo as extern "C".
380         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
381         stpncpy as extern "C".
382         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
383         program, declare __xpg_strerror_r as extern "C".
384         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
385         strndup as extern "C".
386         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
387         declare memset and bzero as extern "C".
388         Reported by Sam Steingold <sds@gnu.org>.
389
390 2011-07-12  Jim Meyering  <meyering@redhat.com>
391
392         maint.mk: prohibit inclusion of "verify.h" without use
393         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
394
395 2011-07-19  Pádraig Brady  <P@draigBrady.com>
396
397         timer-time: A new module to check for timer_settime()
398         * m4/timer_time.m4: Check for the posix function.
399         * modules/timer-time: Add the new module.
400         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
401         Mention it.
402
403 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
404             Bruno Haible  <bruno@clisp.org>
405
406         pthread_sigmask: assume POSIX threads if --avoid=threadlib
407         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
408         not defined, assume POSIX threads and look for pthread_sigmask in
409         $LIBS, without changing $CPPFLAGS.
410
411 2011-07-19  Bruno Haible  <bruno@clisp.org>
412
413         strstr: Update cross-compilation guess.
414         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
415         CPUs, guess no, in view of glibc
416         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
417         Suggested by Eric Blake. Reported by Reuben Thomas.
418
419 2011-07-19  Pádraig Brady  <P@draigBrady.com>
420
421         getopt-gnu: suppress core dumps from detection code
422         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
423         to suppress core dumps that may well occur on glibc systems.
424         * modules/getopt-gnu: Depend on nocrash.
425
426 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
427
428         pthread_sigmask: ensure usleep is declared
429         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
430         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
431
432 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
433
434         doc: Document NonStop portability issues.
435         * doc/posix-functions/sigaction.texi (sigaction):
436         * doc/posix-headers/signal.texi (signal.h):
437         Document NonStop.  See Joachim Schmitz in
438         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
439
440 2011-07-15  Bruno Haible  <bruno@clisp.org>
441
442         ffsl, ffsll: Avoid unportable behaviour.
443         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
444
445 2011-07-15  Bruno Haible  <bruno@clisp.org>
446
447         ffs: More tests.
448         * tests/test-ffs.c (NBITS): New macro.
449         (main): Add more tests.
450         * tests/test-ffsl.c (NBITS): New macro.
451         (main): Add more tests.
452         * tests/test-ffsll.c (NBITS): New macro.
453         (main): Add more tests.
454
455 2011-07-15  Eric Blake  <eblake@redhat.com>
456
457         ffsl, ffsll: new modules
458         * modules/ffsl: New file.
459         * modules/ffsll: Likewise.
460         * m4/ffsl.m4: Likewise.
461         * m4/ffsll.m4: Likewise.
462         * lib/ffsl.c: Likewise.
463         * lib/ffsl.h: Likewise.
464         * lib/ffsll.c: Likewise.
465         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
466         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
467         * modules/string (Makefile.am): Substitute witnesses.
468         * lib/strings.in.h (ffsl, ffsll): Declare.
469         * modules/ffsl-tests: New test file.
470         * modules/ffsll-tests: Likewise.
471         * tests/test-ffsl.c: Likewise.
472         * tests/test-ffsll.c: Likewise.
473         * MODULES.html.sh (Integer arithmetic functions): Mention it.
474         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
475         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
476
477         ffs: fix m4 prerequisite
478         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
479
480         ffs: avoid undefined behavior
481         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
482         * tests/test-ffs.c (naive, main): Avoid signed shifts.
483         Reported by Bruno Haible.
484
485 2011-07-12  Bruno Haible  <bruno@clisp.org>
486
487         pthread_sigmask: Rely on module 'threadlib'.
488         * modules/pthread_sigmask (Depends-on): Add threadlib.
489         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
490         is defined.
491
492 2011-07-12  Bruno Haible  <bruno@clisp.org>
493
494         regex: Depend on module 'strcase'.
495         * modules/regex (Depends-on): Add strcase, for strcasecmp().
496
497 2011-07-12  Jim Meyering  <meyering@redhat.com>
498
499         warn-on-use: fix typo in file name
500         * modules/snippet/warn-on-use (Files): Correct file name:
501         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
502
503 2011-07-12  Bruno Haible  <bruno@clisp.org>
504
505         strings: Document module.
506         * doc/posix-headers/strings.texi: Mention module 'strings'.
507
508 2011-07-12  Bruno Haible  <bruno@clisp.org>
509
510         Rename module '_Noreturn' to 'snippet/_Noreturn'.
511         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
512         (Files, Makefile.am): Update.
513         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
514         * modules/stdlib (Depends-on): Update.
515
516 2011-07-12  Bruno Haible  <bruno@clisp.org>
517
518         * NEWS: Mention the changes.
519
520         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
521         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
522         (Files, Makefile.am): Update.
523         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
524         * modules/arpa_inet (Depends-on): Update.
525         * modules/ctype (Depends-on): Update.
526         * modules/dirent (Depends-on): Update.
527         * modules/fcntl-h (Depends-on): Update.
528         * modules/glob (Depends-on): Update.
529         * modules/iconv-h (Depends-on): Update.
530         * modules/inttypes-incomplete (Depends-on): Update.
531         * modules/langinfo (Depends-on): Update.
532         * modules/locale (Depends-on): Update.
533         * modules/math (Depends-on): Update.
534         * modules/netdb (Depends-on): Update.
535         * modules/poll-h (Depends-on): Update.
536         * modules/pty (Depends-on): Update.
537         * modules/search (Depends-on): Update.
538         * modules/signal (Depends-on): Update.
539         * modules/spawn (Depends-on): Update.
540         * modules/stdio (Depends-on): Update.
541         * modules/stdlib (Depends-on): Update.
542         * modules/string (Depends-on): Update.
543         * modules/strings (Depends-on): Update.
544         * modules/sys_file (Depends-on): Update.
545         * modules/sys_ioctl (Depends-on): Update.
546         * modules/sys_select (Depends-on): Update.
547         * modules/sys_socket (Depends-on): Update.
548         * modules/sys_stat (Depends-on): Update.
549         * modules/sys_time (Depends-on): Update.
550         * modules/sys_times (Depends-on): Update.
551         * modules/sys_utsname (Depends-on): Update.
552         * modules/sys_wait (Depends-on): Update.
553         * modules/termios (Depends-on): Update.
554         * modules/time (Depends-on): Update.
555         * modules/unistd (Depends-on): Update.
556         * modules/wchar (Depends-on): Update.
557         * modules/wctype-h (Depends-on): Update.
558         * MODULES.html.sh (Support for building libraries and executables):
559         Update.
560
561         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
562         * modules/snippet/unused-parameter: Renamed from
563         modules/unused-parameter.
564         (Files, Makefile.am): Update.
565         * build-aux/snippet/unused-parameter.h: Renamed from
566         build-aux/unused-parameter.h.
567         * modules/selinux-h (Depends-on): Update.
568         * modules/unistr/base (Depends-on): Update.
569         * MODULES.html.sh (Core language properties): Update.
570
571         Rename module 'link-warning' to 'snippet/link-warning'.
572         * modules/snippet/link-warning: Renamed from modules/link-warning.
573         (Files, Makefile.am): Update.
574         * build-aux/snippet/link-warning.h: Renamed from
575         build-aux/link-warning.h.
576         * MODULES.html.sh (Support for building libraries and executables):
577         Update.
578
579         Rename module 'c++defs' to 'snippet/c++defs'.
580         * modules/snippet/c++defs: Renamed from modules/c++defs.
581         (Files, Makefile.am): Update.
582         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
583         * modules/arpa_inet (Depends-on): Update.
584         * modules/ctype (Depends-on): Update.
585         * modules/dirent (Depends-on): Update.
586         * modules/fcntl-h (Depends-on): Update.
587         * modules/glob (Depends-on): Update.
588         * modules/iconv-h (Depends-on): Update.
589         * modules/langinfo (Depends-on): Update.
590         * modules/locale (Depends-on): Update.
591         * modules/math (Depends-on): Update.
592         * modules/netdb (Depends-on): Update.
593         * modules/poll-h (Depends-on): Update.
594         * modules/pty (Depends-on): Update.
595         * modules/search (Depends-on): Update.
596         * modules/signal (Depends-on): Update.
597         * modules/spawn (Depends-on): Update.
598         * modules/stdio (Depends-on): Update.
599         * modules/stdlib (Depends-on): Update.
600         * modules/string (Depends-on): Update.
601         * modules/strings (Depends-on): Update.
602         * modules/sys_ioctl (Depends-on): Update.
603         * modules/sys_select (Depends-on): Update.
604         * modules/sys_socket (Depends-on): Update.
605         * modules/sys_stat (Depends-on): Update.
606         * modules/sys_time (Depends-on): Update.
607         * modules/sys_wait (Depends-on): Update.
608         * modules/termios (Depends-on): Update.
609         * modules/time (Depends-on): Update.
610         * modules/unistd (Depends-on): Update.
611         * modules/wchar (Depends-on): Update.
612         * modules/wctype-h (Depends-on): Update.
613
614         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
615         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
616         (Files, Makefile.am): Update.
617         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
618         * modules/argv-iter (Depends-on): Update.
619         * modules/arpa_inet (Depends-on): Update.
620         * modules/dirent (Depends-on): Update.
621         * modules/fcntl-h (Depends-on): Update.
622         * modules/fnmatch (Depends-on): Update.
623         * modules/getopt-posix (Depends-on): Update.
624         * modules/glob (Depends-on): Update.
625         * modules/iconv-h (Depends-on): Update.
626         * modules/inttypes-incomplete (Depends-on): Update.
627         * modules/locale (Depends-on): Update.
628         * modules/math (Depends-on): Update.
629         * modules/netdb (Depends-on): Update.
630         * modules/search (Depends-on): Update.
631         * modules/signal (Depends-on): Update.
632         * modules/spawn (Depends-on): Update.
633         * modules/stdio (Depends-on): Update.
634         * modules/stdlib (Depends-on): Update.
635         * modules/string (Depends-on): Update.
636         * modules/strings (Depends-on): Update.
637         * modules/sys_socket (Depends-on): Update.
638         * modules/sys_stat (Depends-on): Update.
639         * modules/sys_time (Depends-on): Update.
640         * modules/sys_times (Depends-on): Update.
641         * modules/sys_utsname (Depends-on): Update.
642         * modules/time (Depends-on): Update.
643         * modules/unistd (Depends-on): Update.
644         * modules/wchar (Depends-on): Update.
645         * MODULES.html.sh (Support for building libraries and executables):
646         Update.
647
648 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
649
650         Improvements on _Noreturn and related modules.
651
652         modules/_Exit-tests: test _Noreturn too
653         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
654         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
655         (main): Use them.
656
657         stdnoreturn, stdnoreturn-tests: remove modules
658         They're not needed here and a bit premature for use elsewhere.  See
659         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
660         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
661         * tests/test-stdnoreturn.c: Remove files.
662         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
663         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
664         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
665         and using noreturn.
666         * modules/openat, modules/sigpipe-die, modules/xalloc:
667         * modules/xmemdup0, modules/xstrtol:
668         Remove dependency on stdnoreturn.
669
670         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
671         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
672         Reparenthesize to avoid GCC warning.
673         Support Microsoft's syntax.
674         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
675
676         _Noreturn-tests: remove module
677         * modules/_Noreturn-tests: Remove.
678         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
679         * tests/test-_Noreturn.c: Remove.
680         * tests/test-stdnoreturn.c: Merge from the old
681         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
682
683 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
684
685         _Noreturn, stdnoreturn, and related modules.
686
687         * top/maint.mk: Adjust to new noreturn support.
688         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
689         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
690
691         xalloc: use stdnoreturn.h
692         * lib/xalloc.h: Include <stdnoreturn.h>.
693         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
694         * modules/xalloc (Depends-on): Add stdnoreturn.
695
696         xstrtol: use stdnoreturn.h
697         * lib/xstrtol.h: Include <stdnoreturn.h>.
698         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
699         * modules/xstrtol (Depends-on): Add stdnoreturn.
700
701         xmemdup0: use stdnoreturn.h
702         * lib/xmemdup0.h: Include <stdnoreturn.h>.
703         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
704         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
705
706         sigpipe-die: use stdnoreturn.h
707         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
708         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
709         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
710
711         openat: use stdnoreturn.h
712         * lib/openat.h: Include <stdnoreturn.h>.
713         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
714         * modules/openat (Depends-on): Add stdnoreturn.
715
716         * lib/openat-die.c (openat_save_fail): Modernize comment.
717
718         * lib/xalloc-die.c (xalloc_die): Modernize comment.
719
720         * lib/glthread/thread.h: Modernize comment.
721
722         obstack: use _Noreturn
723         * lib/obstack.c (__attribute__): Remove macro.
724         (print_and_abort): Use _Noreturn.
725
726         c-stack: use _Noreturn
727         * lib/c-stack.c (die, overflow_handler, segv_handler):
728         Use _Noreturn rather than __attribute__((noreturn)).
729
730         argmatch-tests, exclude_tests: use _Noreturn
731         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
732         Remove.
733         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
734
735         stdlib: use _Noreturn
736         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
737         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
738         * modules/stdlib (Depends-on): Add _Noreturn.
739         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
740
741         stdnoreturn-tests: new module
742         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
743
744         stdnoreturn: new module
745         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
746         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
747
748         _Noreturn-tests: new module
749         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
750
751         _Noreturn: new module
752         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
753         New section, mentioning it.
754         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
755
756         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
757
758 2011-07-11  Eric Blake  <eblake@redhat.com>
759
760         ffs: new module
761         * modules/ffs: New file.
762         * m4/ffs.m4: Likewise.
763         * lib/ffs.c: Likewise.
764         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
765         * modules/strings (Makefile.am): Substitute witness.
766         (Depends-on): Add c++defs.
767         * lib/strings.in.h (ffs): Declare.
768         * modules/ffs-tests: New test file.
769         * tests/test-ffs.c: Test new module.
770         * MODULES.html.sh (Integer arithmetic functions): Mention it.
771         * doc/posix-functions/ffs.texi (ffs): Likewise.
772
773         regex: avoid compiler warning
774         * lib/regex.c (includes): Include <strings.h>, for use of
775         strcasecmp in regcomp.c.
776         Reported by Joachim Schmitz.
777
778 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
779
780         stdint: respect system's intmax_t if INTMAX_MAX
781         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
782         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
783         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
784         long but int64_t is long long, and where we will clash with the
785         system intmax_t if we override it.  See
786         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
787         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
788         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
789         similarly for UINTMAX_C.
790
791 2011-07-08  Bruno Haible  <bruno@clisp.org>
792
793         pthread_sigmask tests: Avoid a compiler warning.
794         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
795         non-zero.
796
797         sigprocmask tests: A better way to avoid a compiler warning.
798         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
799         (main): Complain if system() returns non-zero.
800         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
801
802 2011-07-08  Bruno Haible  <bruno@clisp.org>
803
804         pthread_sigmask: Work around IRIX bug.
805         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
806         bug.
807         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
808         there may be unblocked pending signals.
809         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
810
811 2011-07-08  Bruno Haible  <bruno@clisp.org>
812
813         pthread_sigmask: Work around Cygwin bug.
814         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
815         bug.
816         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
817         the system's pthread_sigmask function.
818         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
819
820 2011-07-08  Bruno Haible  <bruno@clisp.org>
821
822         pthread_sigmask: Work around bug in single-threaded implementation.
823         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
824         FreeBSD, HP-UX, Solaris bug.
825         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
826         * lib/pthread_sigmask.c: Include <stddef.h>.
827         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
828         the system's pthread_sigmask function.
829         * modules/pthread_sigmask (configure.ac): Invoke
830         gl_PREREQ_PTHREAD_SIGMASK.
831         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
832         HP-UX, Solaris.
833
834 2011-07-08  Eric Blake  <eblake@redhat.com>
835
836         test-sigprocmask: avoid compiler warning
837         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
838         * tests/test-sigprocmask.c (main): Use it to silence warning.
839         Reported by Jim Meyering.
840
841         test-snprintf: avoid compiler warning
842         * tests/test-snprintf.c (main): Avoid shadowed declaration.
843         * tests/test-vsnprintf.c (main): Likewise.
844         Reported by Jim Meyering.
845
846 2011-07-08  Bruno Haible  <bruno@clisp.org>
847
848         Tests for module 'pthread_sigmask'.
849         * modules/pthread_sigmask-tests: New file.
850         * tests/test-pthread_sigmask1.c: New file, based on
851         tests/test-sigprocmask.c.
852         * tests/test-pthread_sigmask2.c: New file.
853
854 2011-07-08  Jim Meyering  <meyering@redhat.com>
855
856         test-getopt.h: avoid warning about an unused variable
857         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
858
859 2011-07-07  Jim Meyering  <meyering@redhat.com>
860
861         maint: reduce list of files exempt from sc_prohibit_leading_TABs
862         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
863         now that it no longer contains leading TABs.
864         Remove unused "url=FIXME" statement.
865
866 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
867
868         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
869         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
870         When gl_THREADLIB is not in use, assume that the POSIX sematics
871         are desired.  This is better for Emacs, which uses POSIX semantics
872         on GNUish and/or POSIXish platforms, and does not use threads at
873         all otherwise.
874
875         pthread_sigmask: fix typo when testing for libraries
876         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
877         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
878
879 2011-07-08  Eric Blake  <eblake@redhat.com>
880
881         fts: introduce FTS_NOATIME
882         * lib/fts_.h (FTS_NOATIME): New bit flag.
883         (FTS_OPTIONMASK): Adjust.
884         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
885         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
886
887 2011-07-08  Bruno Haible  <bruno@clisp.org>
888
889         Tests for module 'thread'.
890         * modules/thread-tests: New file.
891         * tests/test-thread_self.c: New file.
892         * tests/test-thread_create.cc: New file.
893
894 2011-07-08  Bruno Haible  <bruno@clisp.org>
895
896         thread: Avoid gcc warnings when using gl_thread_self().
897         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
898         'void *'.
899         (gl_thread_self_pointer): Update.
900
901 2011-07-07  Bruno Haible  <bruno@clisp.org>
902
903         signal-c++-tests: Check declaration of pthread_sigmask.
904         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
905         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
906         $(LIB_PTHREAD_SIGMASK).
907
908 2011-07-07  Bruno Haible  <bruno@clisp.org>
909
910         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
911         * lib/signal.in.h (pthread_sigmask): Override if
912         REPLACE_PTHREAD_SIGMASK is 1.
913         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
914         REPLACE_PTHREAD_SIGMASK.
915         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
916         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
917         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
918         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
919         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
920
921 2011-07-07  Bruno Haible  <bruno@clisp.org>
922
923         pthread_sigmask: Ensure declaration in <signal.h>.
924         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
925         include <pthread.h>.
926         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
927         problem.
928
929 2011-07-07  Bruno Haible  <bruno@clisp.org>
930
931         pthread_sigmask: Document the module.
932         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
933
934 2011-07-07  Bruno Haible  <bruno@clisp.org>
935
936         pthread_sigmask: Follow gnulib conventions.
937         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
938         gl_PTHREAD_SIGMASK.
939         * modules/pthread_sigmask (configure.ac): Update.
940
941 2011-07-07  Bruno Haible  <bruno@clisp.org>
942
943         pthread_sigmask: Make declaration C++ safe.
944         * lib/signal.in.h: In two special conditions, just do an #include_next.
945         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
946         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
947         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
948         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
949         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
950         not REPLACE_PTHREAD_MASK.
951         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
952         not REPLACE_PTHREAD_MASK.
953         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
954
955 2011-07-07  Bruno Haible  <bruno@clisp.org>
956
957         pthread_sigmask: Fix return value.
958         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
959         * lib/pthread_sigmask.c: New file.
960         * modules/pthread_sigmask (Files): Add it.
961         (configure.ac): Invoke AC_LIBOBJ.
962
963 2011-07-07  Eric Blake  <eblake@redhat.com>
964
965         getopt: more portable argv creation
966         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
967         const, use char arrays rather than strings.
968         Suggested by Paul Eggert.
969
970 2011-07-07  Bruno Haible  <bruno@clisp.org>
971
972         Tests for module 'sigprocmask'.
973         * modules/sigprocmask-tests: New file.
974         * tests/test-sigprocmask.c: New file.
975
976 2011-07-07  Bruno Haible  <bruno@clisp.org>
977
978         float tests: Tweak.
979         * tests/test-float.c (main): Tweak skip message.
980
981 2011-07-07  Eric Blake  <eblake@redhat.com>
982
983         getopt: avoid compiler warning during configure
984         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
985         assigning string literals to non-const pointer.
986
987         getopt-gnu: avoid crash in glibc getopt
988         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
989         * tests/test-getopt.h (test_getopt): Enhance test.
990         * tests/test-getopt_long.h (test_getopt_long): Likewise.
991         * doc/posix-functions/getopt.texi (getopt): Document it.
992         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
993         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
994         Likewise.
995
996 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
997
998         getopt: handle W; without long options in getopt [BZ #12922]
999         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
1000         but no long options are defined, just return 'W'.
1001
1002 2011-07-07  Bruno Haible  <bruno@clisp.org>
1003
1004         Avoid literal tabs.
1005         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
1006         variable containing a tab instead of a literal tab.
1007         Reported by Jim Meyering.
1008
1009 2011-07-07  Bruno Haible  <bruno@clisp.org>
1010
1011         Comments.
1012         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
1013
1014 2011-07-06  Bruno Haible  <bruno@clisp.org>
1015
1016         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
1017         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
1018         <winsock2.h>.
1019         (rpl_fd_isset, FD_ISSET): New definitions, copied from
1020         lib/sys_socket.in.h.
1021         (close, gethostname): Hide declarations from <winsock2.h>.
1022         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
1023         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
1024         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
1025         (select): Don't override if gnulib's <sys/select.h> was already
1026         included.
1027         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
1028         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
1029         setsockopt, shutdown, select): Tweak indentation.
1030
1031 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
1032
1033         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
1034         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
1035         in an application that does not use the sys_select module.
1036
1037 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
1038
1039         poll: do not return 0 on timeout=-1
1040         * lib/poll.c: Loop with yield if no events occured
1041
1042 2011-07-06  Eric Blake  <eblake@redhat.com>
1043
1044         pthread_sigmask: always replace when not using pthread
1045         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
1046         replacement when using some threading other than pthread.  Fix
1047         logic bug.
1048
1049 2011-07-06  Bruno Haible  <bruno@clisp.org>
1050
1051         Comments.
1052         * m4/printf.m4: Update comments about mingw.
1053
1054 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
1055
1056         sys_select: define sigset_t more portably
1057         * lib/sys_select.in.h: Always include <sys/types.h>, since
1058         we now need sigset_t and mingw defines it there.
1059         Include <signal.h> before split inclusion guard, to avoid
1060         mishaps on Solaris, whose <signal.h> eventually includes us.
1061         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
1062         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
1063         which come from ...
1064         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
1065         gl_CHECK_TYPE_SIGSET_T.
1066         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
1067         does the real work.
1068         * modules/sys_select (Depends-on): Add 'signal'.
1069
1070         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
1071         Suggested by Bruno Haible.
1072
1073         pselect: Use pthread_sigmask, not sigprocmask.
1074         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
1075         multithreaded apps better than sigprocmask does.
1076         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
1077         sigprocmask directly.
1078
1079 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
1080
1081         * lib/pselect.c (pselect): Use plain name, without "rpl_".
1082         Don't #undef,  since we don't need any underlying pselect.
1083         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
1084         (Depends-on): Add select.
1085         (Link): Add $(LIBSOCKET).
1086         These changes suggested by Bruno Haible.
1087
1088         pselect: document better
1089         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
1090         * doc/posix-functions/pselect.texi (pselect): Document new module.
1091
1092         pthread_sigmask: new module
1093         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
1094         * doc/posix-functions/pthread_sigmask.texi: Document new module.
1095         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
1096         This is done only as a macro; I don't know how well that'll
1097         work for C++.  Move <sys/types.h> include before the include_next,
1098         to avoid mishap on Solaris.
1099         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
1100         * modules/signal (Makefile.am): Substitute the check's results.
1101         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
1102
1103         test-pselect: new module
1104         * modules/pselect-tests, tests/test-pselect.c: New files.
1105         * tests/test-select.c, tests/test-sys_select-c++.cc:
1106         If TEST_PSELECT is defined, test pselect instead of testing select.
1107
1108         * tests/test-sys_select.c (sigset_t): Test for it, too.
1109         Suggested by Bruno Haible.
1110
1111 2011-07-05  Eric Blake  <eblake@redhat.com>
1112
1113         snprintf: guarantee %1$d, for libintl
1114         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
1115         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
1116         * doc/posix-functions/snprintf.texi (snprintf): Update.
1117         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
1118         * tests/test-snprintf.c (main): Enhance test.
1119         * tests/test-vsnprintf.c (main): Likewise.
1120
1121 2011-07-05  Jim Meyering  <meyering@redhat.com>
1122
1123         maint: exempt stdio-read.c and stdio-write.c from the cppi check
1124         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
1125         per Bruno's request, to accommodate this idiom (no space after "#")
1126         even when the function is inside an #if block:
1127         char *
1128         gets (char *s)
1129         #undef gets
1130         {
1131           ...
1132         }
1133
1134 2011-07-04  Jim Meyering  <meyering@redhat.com>
1135
1136         maint: indent with spaces, not TABs, and add a rule to check this
1137         * tests/test-userspec.c: Indent with spaces, not TABs.
1138         * tests/test-argp.c: Likewise.
1139         * tests/test-c-stack2.sh: Likewise.
1140         * tests/test-parse-duration.sh: Likewise
1141         * m4/strtod.m4: Likewise.
1142         * m4/alloca.m4: Likewise.
1143         * m4/pselect.m4: Likewise.
1144         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
1145
1146 2011-07-03  Jim Meyering  <meyering@redhat.com>
1147
1148         maint.mk: correct omissions in prohibit_argmatch_without_use check
1149         This rule would mistakenly report that argmatch.h is included without
1150         use even when both the argmatch and invalid_arg macro were used.
1151         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
1152         of argmatch and invalid_arg.
1153
1154 2011-07-03  Bruno Haible  <bruno@clisp.org>
1155
1156         Comments about EINTR.
1157         * lib/safe-read.h: Explain the purpose of this module.
1158         * lib/safe-write.h: Likewise.
1159         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
1160         module.
1161         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
1162         module.
1163         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
1164
1165 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
1166
1167         xnanosleep: Rewrite to use new dtotimespec module.
1168         It has the conversion code that used to be in xnanosleep.
1169         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
1170         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
1171         (TIME_T_MAX): Remove.
1172         (xnanosleep): Rewrite in terms of dtotimespec.
1173         * modules/xnanosleep (Depends-on): Add dtotimespec.
1174         Remove intprops, stdbool.
1175
1176         timespec-add, timespec-sub: new modules
1177         * lib/timespec.h (timespec_add, timespec_sub): New decls.
1178         * lib/timespec-add.c, lib/timespec-sub.c:
1179         * modules/timespec-add, modules/timespec-sub: New files.
1180
1181         dtotimespec: new module
1182         * lib/timespec.h (dtotimespec): New decl.
1183         * lib/dtotimespec.c, modules/dtotimespec: New files.
1184
1185         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
1186
1187         pselect: new module
1188         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
1189         (pselect): New decls.
1190         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
1191         since the standard pselect decl uses 'restrict'.
1192         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
1193         HAVE_PSELECT, REPLACE_PSELECT.
1194         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
1195         HAVE_PSELECT, REPLACE_PSELECT.
1196         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
1197
1198         sys_select: don't depend on sys_socket
1199         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
1200         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
1201         This fix works on GNU and GNU-like platforms, but has not been tested
1202         on native Windows.
1203         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
1204         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
1205         gl_HEADER_SYS_SOCKET.
1206         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
1207         gl_PREREQ_SYS_H_WINSOCK2.
1208
1209 2011-06-29  Eric Blake  <eblake@redhat.com>
1210
1211         pipe2: fix C89 compile problem
1212         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
1213         Reported by Bruno Haible.
1214
1215         pipe, pipe2: don't corrupt fd on error
1216         * lib/pipe.c (pipe): Leave fd unchanged on error.
1217         * lib/pipe2.c (pipe2): Likewise.
1218         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
1219         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
1220
1221 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
1222
1223         mmap-anon: do not use regular expressions inadvertently
1224         * m4/mmap-anon.m4: Remove trailing period from strings sought
1225         in the output.
1226
1227 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
1228
1229         nanosleep: fix integer overflow problem
1230         * lib/nanosleep.c (my_usleep): Don't assume signed integer
1231         arithmetic wraps around on overflow.
1232
1233         nanosleep: simplify carrying
1234         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
1235         first call to the underyling nanosleep, not for the last one.
1236         This doesn't fix any bugs, but it simplifies the computation of
1237         the remaining delay.  Found while auditing integer overflow issues.
1238
1239         dup2: remove test for existence of fcntl
1240         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
1241         "#if HAVE_FCNTL", in the configure-time test program.
1242         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
1243         and therefore speeds up "configure" a bit.  Found while
1244         adding the dup2 module to Emacs.
1245
1246 2011-06-24  Eric Blake  <eblake@redhat.com>
1247
1248         maint.mk: enhance useless header checks
1249         * top/maint.mk (_sc_header_without_use): Check both include
1250         styles.
1251         (sc_prohibit_assert_without_use)
1252         (sc_prohibit_close_stream_without_use)
1253         (sc_prohibit_getopt_without_use)
1254         (sc_prohibit_quotearg_without_use)
1255         (sc_prohibit_quote_without_use)
1256         (sc_prohibit_long_options_without_use)
1257         (sc_prohibit_inttostr_without_use)
1258         (sc_prohibit_ignore_value_without_use)
1259         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
1260         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
1261         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
1262         (sc_prohibit_hash_pjw_without_use)
1263         (sc_prohibit_safe_read_without_use)
1264         (sc_prohibit_argmatch_without_use)
1265         (sc_prohibit_canonicalize_without_use)
1266         (sc_prohibit_root_dev_ino_without_use)
1267         (sc_prohibit_openat_without_use)
1268         (sc_prohibit_c_ctype_without_use)
1269         (sc_prohibit_signal_without_use)
1270         (sc_prohibit_stdio--_without_use)
1271         (sc_prohibit_stdio-safer_without_use)
1272         (sc_prohibit_strings_without_use)
1273         (sc_prohibit_intprops_without_use)
1274         (sc_prohibit_stddef_without_use)
1275         (sc_prohibit_xfreopen_without_use): Update clients.
1276
1277 2011-06-24  Jim Meyering  <meyering@redhat.com>
1278
1279         syntax-check: keep one maint.mk rule in sync with its header
1280         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
1281         of the bug Eric has just fixed, with today's commit 25e4c2ec.
1282         I prefer to avoid temporary files here, so use <(...), but that
1283         is not supported by /bin/sh, so...
1284         (SHELL): Define to /bin/bash.
1285
1286 2011-06-24  Eric Blake  <eblake@redhat.com>
1287
1288         maint.mk: update sc_prohibit_intprops_without_use
1289         * top/maint.mk (_intprops_names): Match recent changes.
1290
1291 2011-06-24  Bruno Haible  <bruno@clisp.org>
1292
1293         strerror-override: No-op tweak.
1294         * lib/strerror-override.h (strerror_override): Reorder conditions,
1295         for consistency with lib/strerror-override.c.
1296
1297 2011-06-23  Eric Blake  <eblake@redhat.com>
1298
1299         maint.mk: test further PATH_MAX issues
1300         * top/maint.mk (sc_prohibit_path_max_array): Rename...
1301         (sc_prohibit_path_max_allocation): ...and also test alloca.
1302         Suggested by Jim Meyering.
1303
1304 2011-06-22  Eric Blake  <eblake@redhat.com>
1305
1306         maint.mk: add syntax-check to avoid char[PATH_MAX]
1307         * top/maint.mk (sc_prohibit_path_max_array): New rule.
1308
1309         stat: be robust to PATH_MAX definition
1310         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
1311         * modules/stat (Depends-on): Add verify.
1312
1313         link: work around IRIX bug
1314         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
1315         * lib/link.c (rpl_link): Work around it.
1316         * tests/test-link.h (test_link): Enhance test.
1317         * doc/posix-functions/link.texi (link): Document the bug.
1318
1319         getopt: silence clang warning
1320         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
1321         dereference.
1322         Reported by Gustavo Martin Domato.
1323
1324 2011-06-22  Jim Meyering  <meyering@redhat.com>
1325
1326         bootstrap: do not insert a blank line into each .gitignore file
1327         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
1328
1329 2011-06-21  Eric Blake  <eblake@redhat.com>
1330
1331         perror: test for output mismatch
1332         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
1333         perror on IRIX.
1334
1335         strerror_r: fix OpenBSD behavior on out-of-range
1336         * lib/strerror_r.c (strerror_r): Always use maximal string.
1337         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
1338
1339         strerror_r: fix OpenBSD behavior on 0
1340         * lib/strerror-override.c (strerror_override): Also override 0
1341         when needed.
1342         * lib/strerror-override.h (strerror_override): Likewise.
1343         * lib/strerror.c (strerror): Simplify, now that 0 override is done
1344         earlier.
1345         * lib/strerror_r.c (strerror_r): Likewise.
1346         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
1347         behavior...
1348         (gl_FUNC_STRERROR_0): ...into new macro.
1349         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
1350         is overridden.
1351         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
1352         * modules/strerror-override (Files): Add strerror.m4.
1353         (configure.ac): Also provide override for 0 when needed.
1354         * doc/posix-functions/strerror.texi (strerror): Document this.
1355         * doc/posix-functions/perror.texi (perror): Likewise.
1356
1357         perror: adjust array size
1358         * modules/perror (Depends-on): Add strerror-override.
1359         * lib/perror.c (perror): Use it to avoid magic number.
1360
1361         strerror-override: reduce size
1362         * lib/strerror-override.c (strerror_override): Use fewer lines.
1363
1364 2011-06-20  Bruno Haible  <bruno@clisp.org>
1365
1366         pathmax: Ensure correct value for PATH_MAX on HP-UX.
1367         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
1368
1369 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
1370
1371         alloca: port to compilers that can optimize like GCC 4.6.0
1372         * lib/alloca.c (find_stack_direction): New signature, taken from
1373         Autoconf git.  This works with GCC 4.6.0.  This code should never
1374         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
1375         be used with other compilers that optimize as well as GCC 4.6.0 does.
1376         (alloca): Adjust to new signature.
1377         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
1378         New macro, which patches Autoconf in a similar way.
1379
1380         c-stack: stop worrying about stack direction
1381         * lib/c-stack.c (find_stack_direction): Remove.
1382         (segv_handler): Don't worry about stack direction growth, as it's
1383         too much of a pain to configure this correctly, given how compilers
1384         are optimizing-away our stack-growth detection code.  Instead, assume
1385         that any access to just before or just after the stack is OK.
1386         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
1387         Don't require AC_FUNC_ALLOCA; no longer needed.
1388
1389 2011-06-20  Eric Blake  <eblake@redhat.com>
1390
1391         test-stat: don't allocate PATH_MAX bytes
1392         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
1393         PATH_MAX-sized buffer.
1394         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
1395         * modules/stat-tests (Depends-on): Likewise.
1396         * tests/test-fstatat.c (includes): Drop pathmax.h.
1397         * tests/test-stat.c (includes): Likewise.
1398         Reported by Bruno Haible.
1399
1400 2011-06-20  Bruno Haible  <bruno@clisp.org>
1401
1402         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
1403         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
1404         * lib/float.c: New file.
1405         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
1406         REPLACE_FLOAT_LDBL.
1407         * modules/float (Files): Add lib/float.c.
1408         (configure.ac): Invoke AC_LIBOBJ.
1409         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
1410
1411 2011-06-20  Bruno Haible  <bruno@clisp.org>
1412
1413         Tests for module 'float'.
1414         * modules/float-tests: New file.
1415         * tests/test-float.c: New file.
1416
1417 2011-06-19  Bruno Haible  <bruno@clisp.org>
1418
1419         isinf: Coding style.
1420         * lib/isinf.c: Use GNU coding style.
1421
1422 2011-06-19  Bruno Haible  <bruno@clisp.org>
1423
1424         linkat test: Avoid test failure on AIX 7.1.
1425         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
1426         * tests/test-link.h (test_link): Likewise.
1427
1428 2011-06-19  Bruno Haible  <bruno@clisp.org>
1429
1430         pread test: Avoid test failure on OpenBSD 4.9.
1431         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
1432
1433 2011-06-19  Bruno Haible  <bruno@clisp.org>
1434
1435         sprintf-posix: Fix test failure on AIX 7.1.
1436         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
1437         * doc/posix-functions/dprintf.texi: Mention limited precision problem
1438         on AIX.
1439         * doc/posix-functions/fprintf.texi: Likewise.
1440         * doc/posix-functions/printf.texi: Likewise.
1441         * doc/posix-functions/snprintf.texi: Likewise.
1442         * doc/posix-functions/sprintf.texi: Likewise.
1443         * doc/posix-functions/vdprintf.texi: Likewise.
1444         * doc/posix-functions/vfprintf.texi: Likewise.
1445         * doc/posix-functions/vprintf.texi: Likewise.
1446         * doc/posix-functions/vsnprintf.texi: Likewise.
1447         * doc/posix-functions/vsprintf.texi: Likewise.
1448
1449 2011-06-19  Bruno Haible  <bruno@clisp.org>
1450
1451         roundl-ieee: Fix test failure on AIX 7.1.
1452         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
1453         * doc/posix-functions/roundl.texi: Mention problem with negative
1454         arguments.
1455
1456 2011-06-19  Bruno Haible  <bruno@clisp.org>
1457
1458         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
1459         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
1460         * doc/posix-functions/round.texi: Mention problem with negative
1461         arguments.
1462         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
1463
1464 2011-06-19  Bruno Haible  <bruno@clisp.org>
1465
1466         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
1467         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
1468         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
1469         * doc/posix-functions/roundf.texi: Mention problem with negative
1470         arguments.
1471         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
1472
1473 2011-06-19  Bruno Haible  <bruno@clisp.org>
1474
1475         ceilf-ieee: Work around bug on MacOS X 10.5.
1476         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
1477
1478         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
1479         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
1480         IEEE compliant, avoid compiler optimizations.
1481         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
1482         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
1483         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
1484         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
1485         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
1486         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
1487         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
1488         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
1489         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
1490         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
1491
1492 2011-06-19  Bruno Haible  <bruno@clisp.org>
1493
1494         ceilf-ieee: Work around bug on AIX 7.1.
1495         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
1496         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
1497
1498 2011-06-19  Bruno Haible  <bruno@clisp.org>
1499
1500         ceil-ieee: Work around bug on AIX 7.1.
1501         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
1502         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
1503
1504 2011-06-18  Bruno Haible  <bruno@clisp.org>
1505
1506         fsync test: Avoid test failure on MacOS X and AIX.
1507         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
1508         EINVAL.
1509
1510 2011-06-18  Bruno Haible  <bruno@clisp.org>
1511
1512         openat, fdopendir tests: Fix link errors.
1513         * modules/openat-tests (Depends-on): Add progname.
1514         * modules/fdopendir-tests (Depends-on): Likewise.
1515         * tests/test-fchownat.c: Include progname.h.
1516         (main): Call set_program_name.
1517         * tests/test-fstatat.c: Include progname.h.
1518         (main): Call set_program_name.
1519         * tests/test-mkdirat.c: Include progname.h.
1520         (main): Call set_program_name.
1521         * tests/test-openat.c: Include progname.h.
1522         (main): Call set_program_name.
1523         * tests/test-unlinkat.c: Include progname.h.
1524         (main): Call set_program_name.
1525         * tests/test-fdopendir.c: Include progname.h.
1526         (main): Call set_program_name.
1527
1528 2011-06-18  Bruno Haible  <bruno@clisp.org>
1529
1530         Doc update.
1531         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
1532         HP-UX.
1533         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
1534
1535 2011-06-18  Bruno Haible  <bruno@clisp.org>
1536
1537         getcwd tests: Avoid compilation error on HP-UX 11.31.
1538         * modules/getcwd-tests (Depends-on): Add pathmax.
1539         * tests/test-getcwd.c: Include pathmax.h.
1540
1541 2011-06-18  Bruno Haible  <bruno@clisp.org>
1542
1543         isfinite, isinf: Fix link error on AIX 6 and 7.
1544         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
1545         needed, also test the macro with a 'float' argument.
1546         * m4/isinf.m4 (gl_ISINF): Likewise.
1547
1548 2011-06-18  Bruno Haible  <bruno@clisp.org>
1549
1550         getloadavg: Don't clobber LIBS. Regression from previous commit.
1551         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
1552         AC_CHECK_LIB from here...
1553         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
1554         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
1555         gl_func_getloadavg_done.
1556         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1557
1558 2011-06-18  Bruno Haible  <bruno@clisp.org>
1559
1560         clean-temp: Improve documentation.
1561         * lib/clean-temp.h: Explain better how to use this module.
1562         Reported by John Darrington <john@darrington.wattle.id.au>.
1563
1564 2011-06-17  Bruno Haible  <bruno@clisp.org>
1565
1566         pread, pwrite: Avoid cc warning on AIX.
1567         * lib/unistd.in.h (pread): Undefine before defining as a macro.
1568         (pwrite): Likewise.
1569
1570 2011-06-17  Bruno Haible  <bruno@clisp.org>
1571
1572         spawn-pipe tests: Fix link error.
1573         * tests/test-spawn-pipe-child.c: Undefine fprintf.
1574         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1575
1576 2011-06-17  Bruno Haible  <bruno@clisp.org>
1577
1578         Tests: Remove unnecessary dependency.
1579         * modules/canonicalize-tests (Depends-on): Remove progname.
1580         * modules/chown-tests (Depends-on): Likewise.
1581         * modules/dirname-tests (Depends-on): Likewise.
1582         * modules/fdopendir-tests (Depends-on): Likewise.
1583         * modules/fdutimensat-tests (Depends-on): Likewise.
1584         * modules/hash-tests (Depends-on): Likewise.
1585         * modules/lchown-tests (Depends-on): Likewise.
1586         * modules/linkat-tests (Depends-on): Likewise.
1587         * modules/renameat-tests (Depends-on): Likewise.
1588         * modules/spawn-pipe-tests (Depends-on): Likewise.
1589         * modules/utimensat-tests (Depends-on): Likewise.
1590
1591 2011-06-17  Bruno Haible  <bruno@clisp.org>
1592
1593         spawn-pipe tests: Fix link error.
1594         * tests/test-spawn-pipe-child.c: Undefine fflush.
1595
1596 2011-06-17  Bruno Haible  <bruno@clisp.org>
1597
1598         Fix tests link errors.
1599         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
1600         * modules/chown-tests (Makefile.am): Don't link test-chown with
1601         LIBINTL.
1602         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
1603         LIBINTL.
1604         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
1605         LIBINTL.
1606         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
1607         LIBINTL.
1608
1609 2011-06-16  Bruno Haible  <bruno@clisp.org>
1610
1611         crypto/gc-sha1: Fix recent regression.
1612         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
1613         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
1614
1615         crypto/gc-md5: Fix recent regression.
1616         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
1617
1618         crypto/gc-md4: Fix recent regression.
1619         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
1620         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
1621
1622         crypto/gc-arctwo: Fix recent regression.
1623         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
1624         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
1625
1626         crypto/gc-rijndael: Fix recent regression.
1627         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
1628         (configure.ac): Invoke AC_LIBOBJ here.
1629         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
1630         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1631
1632         crypto/gc-hmac-sha1: Fix recent regression.
1633         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
1634         (configure.ac): Invoke AC_LIBOBJ here.
1635         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
1636         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1637
1638         crypto/gc-hmac-md5: Fix recent regression.
1639         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
1640         (configure.ac): Invoke AC_LIBOBJ here.
1641         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
1642         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1643
1644         crypto/gc-des: Fix recent regression.
1645         * modules/crypto/gc-des (Files): Remove m4/des.m4.
1646         (configure.ac): Invoke AC_LIBOBJ here.
1647         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
1648         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1649
1650         crypto/gc-arcfour: Fix recent regression.
1651         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
1652         (configure.ac): Invoke AC_LIBOBJ here.
1653         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
1654         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1655
1656 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
1657
1658         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
1659         After the 2011-05-21 change, this macro requires
1660         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
1661         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
1662
1663 2011-06-16  Bruno Haible  <bruno@clisp.org>
1664
1665         fprintftime: Move AC_LIBOBJ invocations to module description.
1666         * m4/fprintftime.m4: Remove file.
1667         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
1668         (configure.ac): Remove gl_FPRINTFTIME call.
1669         (Makefile.am): Augment lib_SOURCES.
1670         Reported by Jim Meyering.
1671
1672 2011-06-16  Bruno Haible  <bruno@clisp.org>
1673
1674         tmpfile-safer: Finish 2011-05-23 commit.
1675         * m4/stdio-safer.m4: Really remove file.
1676         Reported by Jim Meyering.
1677
1678 2011-06-16  Bruno Haible  <bruno@clisp.org>
1679
1680         syntax-check: Fix typo.
1681         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
1682         printf-posix.m4.
1683         Reported by Jim Meyering.
1684
1685 2011-06-13  Jim Meyering  <meyering@redhat.com>
1686
1687         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
1688         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
1689
1690 2011-05-23  Bruno Haible  <bruno@clisp.org>
1691
1692         yesno: Move AC_LIBOBJ invocations to module description.
1693         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
1694         * modules/yesno (Makefile.am): Augment lib_SOURCES.
1695
1696 2011-05-23  Bruno Haible  <bruno@clisp.org>
1697
1698         xstrtol: Move AC_LIBOBJ invocations to module description.
1699         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
1700         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
1701
1702 2011-05-23  Bruno Haible  <bruno@clisp.org>
1703
1704         xstrtold: Move AC_LIBOBJ invocations to module description.
1705         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
1706         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
1707
1708 2011-05-23  Bruno Haible  <bruno@clisp.org>
1709
1710         xstrtod: Move AC_LIBOBJ invocations to module description.
1711         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
1712         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
1713
1714 2011-05-23  Bruno Haible  <bruno@clisp.org>
1715
1716         xnanosleep: Move AC_LIBOBJ invocations to module description.
1717         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
1718         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
1719
1720 2011-05-23  Bruno Haible  <bruno@clisp.org>
1721
1722         xgetcwd: Move AC_LIBOBJ invocations to module description.
1723         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
1724         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
1725
1726 2011-05-23  Bruno Haible  <bruno@clisp.org>
1727
1728         xalloc: Move AC_LIBOBJ invocations to module description.
1729         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
1730         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
1731
1732 2011-05-23  Bruno Haible  <bruno@clisp.org>
1733
1734         write-any-file: Move AC_LIBOBJ invocations to module description.
1735         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
1736         invocation.
1737         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
1738
1739 2011-05-23  Bruno Haible  <bruno@clisp.org>
1740
1741         utimens: Move AC_LIBOBJ invocations to module description.
1742         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
1743         * modules/utimens (Makefile.am): Augment lib_SOURCES.
1744
1745 2011-05-23  Bruno Haible  <bruno@clisp.org>
1746
1747         utimecmp: Move AC_LIBOBJ invocations to module description.
1748         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
1749         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
1750
1751 2011-05-23  Bruno Haible  <bruno@clisp.org>
1752
1753         userspec: Move AC_LIBOBJ invocations to module description.
1754         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
1755         * modules/userspec (Makefile.am): Augment lib_SOURCES.
1756
1757 2011-05-23  Bruno Haible  <bruno@clisp.org>
1758
1759         unlinkdir: Move AC_LIBOBJ invocations to module description.
1760         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
1761         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
1762
1763 2011-05-23  Bruno Haible  <bruno@clisp.org>
1764
1765         unistd-safer: Move AC_LIBOBJ invocations to module description.
1766         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
1767         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
1768
1769 2011-05-23  Bruno Haible  <bruno@clisp.org>
1770
1771         tempname: Move AC_LIBOBJ invocations to module description.
1772         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
1773         * modules/tempname (Makefile.am): Augment lib_SOURCES.
1774
1775 2011-05-23  Bruno Haible  <bruno@clisp.org>
1776
1777         strftime: Move AC_LIBOBJ invocations to module description.
1778         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
1779         * modules/strftime (Makefile.am): Augment lib_SOURCES.
1780
1781 2011-05-23  Bruno Haible  <bruno@clisp.org>
1782
1783         stdlib-safer: Move AC_LIBOBJ invocations to module description.
1784         * m4/stdlib-safer.m4: Remove file.
1785         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
1786         (configure.ac): Remove gl_STDLIB_SAFER call.
1787         (Makefile.am): Augment lib_SOURCES.
1788
1789 2011-05-23  Bruno Haible  <bruno@clisp.org>
1790
1791         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
1792         * m4/stdio-safer.m4: Remove file.
1793         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
1794         (configure.ac): Remove gl_TMPFILE_SAFER call.
1795         (Makefile.am): Augment lib_SOURCES.
1796
1797 2011-05-23  Bruno Haible  <bruno@clisp.org>
1798
1799         popen-safer: Move AC_LIBOBJ invocations to module description.
1800         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
1801         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
1802         (configure.ac): Remove gl_POPEN_SAFER call.
1803         (Makefile.am): Augment lib_SOURCES.
1804
1805 2011-05-23  Bruno Haible  <bruno@clisp.org>
1806
1807         freopen-safer: Move AC_LIBOBJ invocations to module description.
1808         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
1809         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
1810         (configure.ac): Remove gl_FREOPEN_SAFER call.
1811         (Makefile.am): Augment lib_SOURCES.
1812
1813 2011-05-23  Bruno Haible  <bruno@clisp.org>
1814
1815         fopen-safer: Move AC_LIBOBJ invocations to module description.
1816         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
1817         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
1818         (configure.ac): Remove gl_FOPEN_SAFER call.
1819         (Makefile.am): Augment lib_SOURCES.
1820
1821 2011-05-23  Bruno Haible  <bruno@clisp.org>
1822
1823         crypto/sha512: Move AC_LIBOBJ invocations to module description.
1824         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
1825         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
1826
1827 2011-05-23  Bruno Haible  <bruno@clisp.org>
1828
1829         crypto/sha256: Move AC_LIBOBJ invocations to module description.
1830         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
1831         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
1832
1833 2011-05-23  Bruno Haible  <bruno@clisp.org>
1834
1835         crypto/sha1: Move AC_LIBOBJ invocations to module description.
1836         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
1837         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
1838
1839 2011-05-23  Bruno Haible  <bruno@clisp.org>
1840
1841         settime: Move AC_LIBOBJ invocations to module description.
1842         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
1843         * modules/settime (Makefile.am): Augment lib_SOURCES.
1844
1845 2011-05-23  Bruno Haible  <bruno@clisp.org>
1846
1847         savedir: Move AC_LIBOBJ invocations to module description.
1848         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
1849         * modules/savedir (Makefile.am): Augment lib_SOURCES.
1850
1851 2011-05-23  Bruno Haible  <bruno@clisp.org>
1852
1853         save-cwd: Move AC_LIBOBJ invocations to module description.
1854         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
1855         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
1856
1857 2011-05-23  Bruno Haible  <bruno@clisp.org>
1858
1859         same: Move AC_LIBOBJ invocations to module description.
1860         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
1861         * modules/same (Makefile.am): Augment lib_SOURCES.
1862
1863 2011-05-23  Bruno Haible  <bruno@clisp.org>
1864
1865         safe-write: Move AC_LIBOBJ invocations to module description.
1866         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
1867         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
1868         instead of gl_SAFE_WRITE.
1869         (Makefile.am): Augment lib_SOURCES.
1870
1871 2011-05-23  Bruno Haible  <bruno@clisp.org>
1872
1873         safe-read: Move AC_LIBOBJ invocations to module description.
1874         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
1875         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
1876         of gl_SAFE_READ.
1877         (Makefile.am): Augment lib_SOURCES.
1878
1879 2011-05-23  Bruno Haible  <bruno@clisp.org>
1880
1881         safe-alloc: Move AC_LIBOBJ invocations to module description.
1882         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
1883         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
1884
1885 2011-05-23  Bruno Haible  <bruno@clisp.org>
1886
1887         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
1888         * m4/rijndael.m4: Remove file.
1889         * modules/crypto/rijndael (Files): Remove it.
1890         (configure.ac): Remove gl_RIJNDAEL call.
1891         (Makefile.am): Augment lib_SOURCES.
1892
1893 2011-05-23  Bruno Haible  <bruno@clisp.org>
1894
1895         readtokens: Move AC_LIBOBJ invocations to module description.
1896         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
1897         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
1898
1899 2011-05-23  Bruno Haible  <bruno@clisp.org>
1900
1901         read-file: Move AC_LIBOBJ invocations to module description.
1902         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
1903         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
1904         of gl_FUNC_READ_FILE.
1905         (Makefile.am): Augment lib_SOURCES.
1906
1907 2011-05-23  Bruno Haible  <bruno@clisp.org>
1908
1909         quotearg: Move AC_LIBOBJ invocations to module description.
1910         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
1911         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
1912
1913 2011-05-23  Bruno Haible  <bruno@clisp.org>
1914
1915         quote: Move AC_LIBOBJ invocations to module description.
1916         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
1917         * modules/quote (Makefile.am): Augment lib_SOURCES.
1918
1919 2011-05-23  Bruno Haible  <bruno@clisp.org>
1920
1921         posixver: Move AC_LIBOBJ invocations to module description.
1922         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
1923         * modules/posixver (Makefile.am): Augment lib_SOURCES.
1924
1925 2011-05-23  Bruno Haible  <bruno@clisp.org>
1926
1927         posixtm: Move AC_LIBOBJ invocations to module description.
1928         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
1929         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
1930
1931 2011-05-23  Bruno Haible  <bruno@clisp.org>
1932
1933         physmem: Move AC_LIBOBJ invocations to module description.
1934         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
1935         * modules/physmem (Makefile.am): Augment lib_SOURCES.
1936
1937 2011-05-23  Bruno Haible  <bruno@clisp.org>
1938
1939         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
1940         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
1941         invocation.
1942         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
1943
1944 2011-05-23  Bruno Haible  <bruno@clisp.org>
1945
1946         mpsort: Move AC_LIBOBJ invocations to module description.
1947         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
1948         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
1949
1950 2011-05-23  Bruno Haible  <bruno@clisp.org>
1951
1952         modechange: Move AC_LIBOBJ invocations to module description.
1953         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
1954         * modules/modechange (Makefile.am): Augment lib_SOURCES.
1955
1956 2011-05-23  Bruno Haible  <bruno@clisp.org>
1957
1958         mkdir-p: Move AC_LIBOBJ invocations to module description.
1959         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
1960         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
1961
1962 2011-05-23  Bruno Haible  <bruno@clisp.org>
1963
1964         mkancesdirs: Move AC_LIBOBJ invocations to module description.
1965         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
1966         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
1967
1968 2011-05-23  Bruno Haible  <bruno@clisp.org>
1969
1970         mgetgroups: Move AC_LIBOBJ invocations to module description.
1971         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
1972         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
1973
1974 2011-05-23  Bruno Haible  <bruno@clisp.org>
1975
1976         memxor: Move AC_LIBOBJ invocations to module description.
1977         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
1978         * modules/memxor (Makefile.am): Augment lib_SOURCES.
1979
1980 2011-05-23  Bruno Haible  <bruno@clisp.org>
1981
1982         memcoll: Move AC_LIBOBJ invocations to module description.
1983         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
1984         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
1985
1986 2011-05-23  Bruno Haible  <bruno@clisp.org>
1987
1988         memcasecmp: Move AC_LIBOBJ invocations to module description.
1989         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
1990         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
1991
1992 2011-05-23  Bruno Haible  <bruno@clisp.org>
1993
1994         crypto/md5: Move AC_LIBOBJ invocations to module description.
1995         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
1996         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
1997
1998 2011-05-23  Bruno Haible  <bruno@clisp.org>
1999
2000         crypto/md4: Move AC_LIBOBJ invocations to module description.
2001         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
2002         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
2003
2004 2011-05-23  Bruno Haible  <bruno@clisp.org>
2005
2006         crypto/md2: Move AC_LIBOBJ invocations to module description.
2007         * m4/md2.m4: Remove file.
2008         * modules/crypto/md2 (Files): Remove it.
2009         (configure.ac): Remove gl_MD2 call.
2010         (Makefile.am): Augment lib_SOURCES.
2011
2012 2011-05-23  Bruno Haible  <bruno@clisp.org>
2013
2014         long-options: Move AC_LIBOBJ invocations to module description.
2015         * m4/long-options.m4: Remove file.
2016         * modules/long-options (Files): Remove it.
2017         (configure.ac): Remove gl_LONG_OPTIONS call.
2018         (Makefile.am): Augment lib_SOURCES.
2019
2020 2011-05-23  Bruno Haible  <bruno@clisp.org>
2021
2022         i-ring: Move AC_LIBOBJ invocations to module description.
2023         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
2024         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
2025
2026 2011-05-23  Bruno Haible  <bruno@clisp.org>
2027
2028         idcache: Move AC_LIBOBJ invocations to module description.
2029         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
2030         * modules/idcache (Makefile.am): Augment lib_SOURCES.
2031
2032 2011-05-23  Bruno Haible  <bruno@clisp.org>
2033
2034         human: Move AC_LIBOBJ invocations to module description.
2035         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
2036         * modules/human (Makefile.am): Augment lib_SOURCES.
2037
2038 2011-05-23  Bruno Haible  <bruno@clisp.org>
2039
2040         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
2041         * m4/hmac-sha1.m4: Remove file.
2042         * modules/crypto/hmac-sha1 (Files): Remove it.
2043         (configure.ac): Remove gl_HMAC_SHA1 call.
2044         (Makefile.am): Augment lib_SOURCES.
2045
2046 2011-05-23  Bruno Haible  <bruno@clisp.org>
2047
2048         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
2049         * m4/hmac-md5.m4: Remove file.
2050         * modules/crypto/hmac-md5 (Files): Remove it.
2051         (configure.ac): Remove gl_HMAC_MD5 call.
2052         (Makefile.am): Augment lib_SOURCES.
2053
2054 2011-05-23  Bruno Haible  <bruno@clisp.org>
2055
2056         hash: Move AC_LIBOBJ invocations to module description.
2057         * m4/hash.m4: Remove file.
2058         * modules/hash (Files): Remove it.
2059         (configure.ac): Remove gl_HASH call.
2060         (Makefile.am): Augment lib_SOURCES.
2061
2062 2011-05-23  Bruno Haible  <bruno@clisp.org>
2063
2064         hard-locale: Move AC_LIBOBJ invocations to module description.
2065         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
2066         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
2067
2068 2011-05-23  Bruno Haible  <bruno@clisp.org>
2069
2070         getugroups: Move AC_LIBOBJ invocations to module description.
2071         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
2072         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
2073
2074 2011-05-23  Bruno Haible  <bruno@clisp.org>
2075
2076         gettime: Move AC_LIBOBJ invocations to module description.
2077         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
2078         * modules/gettime (Makefile.am): Augment lib_SOURCES.
2079
2080 2011-05-23  Bruno Haible  <bruno@clisp.org>
2081
2082         getndelim2: Move AC_LIBOBJ invocations to module description.
2083         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
2084         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
2085
2086 2011-05-23  Bruno Haible  <bruno@clisp.org>
2087
2088         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
2089         * m4/gc-pbkdf2-sha1.m4: Remove file.
2090         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
2091         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
2092         (Makefile.am): Augment lib_SOURCES.
2093
2094 2011-05-23  Bruno Haible  <bruno@clisp.org>
2095
2096         fts: Move AC_LIBOBJ invocations to module description.
2097         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
2098         * modules/fts (configure.ac): ... to here.
2099
2100 2011-05-23  Bruno Haible  <bruno@clisp.org>
2101
2102         file-type: Move AC_LIBOBJ invocations to module description.
2103         * m4/file-type.m4: Remove file.
2104         * modules/file-type (Files): Remove it.
2105         (configure.ac): Remove gl_FILE_TYPE call.
2106         (Makefile.am): Augment lib_SOURCES.
2107
2108 2011-05-23  Bruno Haible  <bruno@clisp.org>
2109
2110         filenamecat*: Respect rules for use of AC_LIBOBJ.
2111         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
2112         Remove AC_LIBOBJ invocation.
2113         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
2114         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
2115
2116 2011-05-23  Bruno Haible  <bruno@clisp.org>
2117
2118         filemode: Move AC_LIBOBJ invocations to module description.
2119         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
2120         * modules/filemode (Makefile.am): Augment lib_SOURCES.
2121
2122 2011-05-23  Bruno Haible  <bruno@clisp.org>
2123
2124         openat-safer: Move AC_LIBOBJ invocations to module description.
2125         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
2126         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
2127
2128 2011-05-23  Bruno Haible  <bruno@clisp.org>
2129
2130         fcntl-safer: Move AC_LIBOBJ invocations to module description.
2131         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
2132         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
2133
2134 2011-05-23  Bruno Haible  <bruno@clisp.org>
2135
2136         exclude: Move AC_LIBOBJ invocations to module description.
2137         * m4/exclude.m4: Remove file.
2138         * modules/exclude (Files): Remove it.
2139         (configure.ac): Remove gl_EXCLUDE call.
2140         (Makefile.am): Augment lib_SOURCES.
2141
2142 2011-05-23  Bruno Haible  <bruno@clisp.org>
2143
2144         dirname*: Respect rules for use of AC_LIBOBJ.
2145         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
2146         invocations.
2147         * modules/dirname (Makefile.am): Augment lib_SOURCES.
2148         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
2149
2150 2011-05-23  Bruno Haible  <bruno@clisp.org>
2151
2152         dirent-safer: Move AC_LIBOBJ invocations to module description.
2153         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
2154         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
2155
2156 2011-05-23  Bruno Haible  <bruno@clisp.org>
2157
2158         crypto/des: Move AC_LIBOBJ invocations to module description.
2159         * m4/des.m4: Remove file.
2160         * modules/crypto/des (Files): Remove it.
2161         (configure.ac): Remove gl_DES call.
2162         (Makefile.am): Augment lib_SOURCES.
2163
2164 2011-05-23  Bruno Haible  <bruno@clisp.org>
2165
2166         cycle-check: Move AC_LIBOBJ invocations to module description.
2167         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
2168         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
2169
2170 2011-05-23  Bruno Haible  <bruno@clisp.org>
2171
2172         c-strtold: Move AC_LIBOBJ invocations to module description.
2173         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
2174         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
2175
2176 2011-05-23  Bruno Haible  <bruno@clisp.org>
2177
2178         c-strtod: Move AC_LIBOBJ invocations to module description.
2179         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
2180         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
2181
2182 2011-05-23  Bruno Haible  <bruno@clisp.org>
2183
2184         crc: Move AC_LIBOBJ invocations to module description.
2185         * m4/crc.m4: Remove file.
2186         * modules/crc (Files): Remove it.
2187         (configure.ac): Remove gl_CRC call.
2188         (Makefile.am): Augment lib_SOURCES.
2189
2190 2011-05-23  Bruno Haible  <bruno@clisp.org>
2191
2192         close-stream: Move AC_LIBOBJ invocations to module description.
2193         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
2194         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
2195
2196 2011-05-23  Bruno Haible  <bruno@clisp.org>
2197
2198         closeout: Move AC_LIBOBJ invocations to module description.
2199         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
2200         * modules/closeout (Makefile.am): Augment lib_SOURCES.
2201
2202 2011-05-23  Bruno Haible  <bruno@clisp.org>
2203
2204         closein: Move AC_LIBOBJ invocations to module description.
2205         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
2206         * modules/closein (Makefile.am): Augment lib_SOURCES.
2207
2208 2011-05-23  Bruno Haible  <bruno@clisp.org>
2209
2210         cloexec: Move AC_LIBOBJ invocations to module description.
2211         * m4/cloexec.m4: Remove file.
2212         * modules/cloexec (Files): Remove it.
2213         (configure.ac): Remove gl_CLOEXEC call.
2214         (Makefile.am): Augment lib_SOURCES.
2215
2216 2011-05-23  Bruno Haible  <bruno@clisp.org>
2217
2218         check-version: Move AC_LIBOBJ invocations to module description.
2219         * m4/check-version.m4: Remove file.
2220         * modules/check-version (Files): Remove it.
2221         (configure.ac): Remove gl_CHECK_VERSION call.
2222         (Makefile.am): Augment lib_SOURCES.
2223
2224 2011-05-23  Bruno Haible  <bruno@clisp.org>
2225
2226         chdir-safer: Move AC_LIBOBJ invocations to module description.
2227         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
2228         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
2229
2230 2011-05-23  Bruno Haible  <bruno@clisp.org>
2231
2232         canonicalize: Move AC_LIBOBJ invocations to module description.
2233         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
2234         AC_LIBOBJ invocation.
2235         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
2236
2237 2011-05-23  Bruno Haible  <bruno@clisp.org>
2238
2239         canon-host: Move AC_LIBOBJ invocations to module description.
2240         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
2241         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
2242         instead of gl_CANON_HOST.
2243         (Makefile.am): Augment lib_SOURCES.
2244
2245 2011-05-23  Bruno Haible  <bruno@clisp.org>
2246
2247         backupfile: Move AC_LIBOBJ invocations to module description.
2248         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
2249         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
2250
2251 2011-05-23  Bruno Haible  <bruno@clisp.org>
2252
2253         argmatch: Move AC_LIBOBJ invocations to module description.
2254         * m4/argmatch.m4: Remove file.
2255         * modules/argmatch (Files): Remove it.
2256         (configure.ac): Remove gl_ARGMATCH call.
2257         (Makefile.am): Augment lib_SOURCES.
2258
2259 2011-05-23  Bruno Haible  <bruno@clisp.org>
2260
2261         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
2262         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
2263         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
2264
2265 2011-05-23  Bruno Haible  <bruno@clisp.org>
2266
2267         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
2268         * m4/arcfour.m4: Remove file.
2269         * modules/crypto/arcfour (Files): Remove it.
2270         (configure.ac): Remove gl_ARCFOUR call.
2271         (Makefile.am): Augment lib_SOURCES.
2272
2273 2011-05-22  Bruno Haible  <bruno@clisp.org>
2274
2275         write: Move AC_LIBOBJ invocations to module description.
2276         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
2277         * modules/write (configure.ac): ... to here.
2278
2279 2011-05-22  Bruno Haible  <bruno@clisp.org>
2280
2281         wmemset: Move AC_LIBOBJ invocations to module description.
2282         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
2283         here...
2284         * modules/wmemset (configure.ac): ... to here.
2285
2286 2011-05-22  Bruno Haible  <bruno@clisp.org>
2287
2288         wmemmove: Move AC_LIBOBJ invocations to module description.
2289         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
2290         here...
2291         * modules/wmemmove (configure.ac): ... to here.
2292
2293 2011-05-22  Bruno Haible  <bruno@clisp.org>
2294
2295         wmemcpy: Move AC_LIBOBJ invocations to module description.
2296         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
2297         here...
2298         * modules/wmemcpy (configure.ac): ... to here.
2299
2300 2011-05-22  Bruno Haible  <bruno@clisp.org>
2301
2302         wmemcmp: Move AC_LIBOBJ invocations to module description.
2303         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
2304         here...
2305         * modules/wmemcmp (configure.ac): ... to here.
2306
2307 2011-05-22  Bruno Haible  <bruno@clisp.org>
2308
2309         wmemchr: Move AC_LIBOBJ invocations to module description.
2310         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
2311         here...
2312         * modules/wmemchr (configure.ac): ... to here.
2313
2314 2011-05-22  Bruno Haible  <bruno@clisp.org>
2315
2316         wcswidth: Move AC_LIBOBJ invocations to module description.
2317         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
2318         here...
2319         * modules/wcswidth (configure.ac): ... to here.
2320
2321 2011-05-22  Bruno Haible  <bruno@clisp.org>
2322
2323         wcwidth: Respect rules for use of AC_LIBOBJ.
2324         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
2325         invocation from here...
2326         * modules/wcwidth (configure.ac): ... to here.
2327         (Depends-on): Update conditions.
2328
2329 2011-05-22  Bruno Haible  <bruno@clisp.org>
2330
2331         wctype: Move AC_LIBOBJ invocations to module description.
2332         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
2333         invocation from here...
2334         * modules/wctype (configure.ac): ... to here.
2335         (Depends-on): Update conditions.
2336
2337 2011-05-22  Bruno Haible  <bruno@clisp.org>
2338
2339         wctrans: Move AC_LIBOBJ invocations to module description.
2340         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
2341         invocation from here...
2342         * modules/wctrans (configure.ac): ... to here.
2343
2344 2011-05-22  Bruno Haible  <bruno@clisp.org>
2345
2346         wctomb: Move AC_LIBOBJ invocations to module description.
2347         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
2348         invocations from here...
2349         * modules/wctomb (configure.ac): ... to here.
2350
2351 2011-05-22  Bruno Haible  <bruno@clisp.org>
2352
2353         wctob: Move AC_LIBOBJ invocations to module description.
2354         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
2355         gl_PREREQ_WCTOB invocations from here...
2356         * modules/wctob (configure.ac): ... to here.
2357         (Depends-on): Update conditions.
2358
2359 2011-05-22  Bruno Haible  <bruno@clisp.org>
2360
2361         wcsxfrm: Move AC_LIBOBJ invocations to module description.
2362         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
2363         here...
2364         * modules/wcsxfrm (configure.ac): ... to here.
2365
2366 2011-05-22  Bruno Haible  <bruno@clisp.org>
2367
2368         wcstok: Move AC_LIBOBJ invocations to module description.
2369         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
2370         * modules/wcstok (configure.ac): ... to here.
2371
2372 2011-05-22  Bruno Haible  <bruno@clisp.org>
2373
2374         wcsstr: Move AC_LIBOBJ invocations to module description.
2375         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
2376         * modules/wcsstr (configure.ac): ... to here.
2377
2378 2011-05-22  Bruno Haible  <bruno@clisp.org>
2379
2380         wcsspn: Move AC_LIBOBJ invocations to module description.
2381         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
2382         * modules/wcsspn (configure.ac): ... to here.
2383
2384 2011-05-22  Bruno Haible  <bruno@clisp.org>
2385
2386         wcsrtombs: Move AC_LIBOBJ invocations to module description.
2387         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
2388         gl_PREREQ_WCSRTOMBS invocations from here...
2389         * modules/wcsrtombs (configure.ac): ... to here.
2390
2391 2011-05-22  Bruno Haible  <bruno@clisp.org>
2392
2393         wcsrchr: Move AC_LIBOBJ invocations to module description.
2394         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
2395         here...
2396         * modules/wcsrchr (configure.ac): ... to here.
2397
2398 2011-05-22  Bruno Haible  <bruno@clisp.org>
2399
2400         wcspbrk: Move AC_LIBOBJ invocations to module description.
2401         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
2402         here...
2403         * modules/wcspbrk (configure.ac): ... to here.
2404
2405 2011-05-22  Bruno Haible  <bruno@clisp.org>
2406
2407         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
2408         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
2409         gl_PREREQ_WCSNRTOMBS invocations from here...
2410         * modules/wcsnrtombs (configure.ac): ... to here.
2411
2412 2011-05-22  Bruno Haible  <bruno@clisp.org>
2413
2414         wcsnlen: Move AC_LIBOBJ invocations to module description.
2415         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
2416         here...
2417         * modules/wcsnlen (configure.ac): ... to here.
2418
2419 2011-05-22  Bruno Haible  <bruno@clisp.org>
2420
2421         wcsncpy: Move AC_LIBOBJ invocations to module description.
2422         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
2423         here...
2424         * modules/wcsncpy (configure.ac): ... to here.
2425
2426 2011-05-22  Bruno Haible  <bruno@clisp.org>
2427
2428         wcsncmp: Move AC_LIBOBJ invocations to module description.
2429         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
2430         here...
2431         * modules/wcsncmp (configure.ac): ... to here.
2432
2433 2011-05-22  Bruno Haible  <bruno@clisp.org>
2434
2435         wcsncat: Move AC_LIBOBJ invocations to module description.
2436         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
2437         here...
2438         * modules/wcsncat (configure.ac): ... to here.
2439
2440 2011-05-22  Bruno Haible  <bruno@clisp.org>
2441
2442         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
2443         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
2444         from here...
2445         * modules/wcsncasecmp (configure.ac): ... to here.
2446
2447 2011-05-22  Bruno Haible  <bruno@clisp.org>
2448
2449         wcslen: Move AC_LIBOBJ invocations to module description.
2450         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
2451         * modules/wcslen (configure.ac): ... to here.
2452
2453 2011-05-22  Bruno Haible  <bruno@clisp.org>
2454
2455         wcsdup: Move AC_LIBOBJ invocations to module description.
2456         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
2457         * modules/wcsdup (configure.ac): ... to here.
2458
2459 2011-05-22  Bruno Haible  <bruno@clisp.org>
2460
2461         wcscspn: Move AC_LIBOBJ invocations to module description.
2462         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
2463         here...
2464         * modules/wcscspn (configure.ac): ... to here.
2465
2466 2011-05-22  Bruno Haible  <bruno@clisp.org>
2467
2468         wcscpy: Move AC_LIBOBJ invocations to module description.
2469         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
2470         * modules/wcscpy (configure.ac): ... to here.
2471
2472 2011-05-22  Bruno Haible  <bruno@clisp.org>
2473
2474         wcscoll: Move AC_LIBOBJ invocations to module description.
2475         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
2476         here...
2477         * modules/wcscoll (configure.ac): ... to here.
2478
2479 2011-05-22  Bruno Haible  <bruno@clisp.org>
2480
2481         wcscmp: Move AC_LIBOBJ invocations to module description.
2482         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
2483         * modules/wcscmp (configure.ac): ... to here.
2484
2485 2011-05-22  Bruno Haible  <bruno@clisp.org>
2486
2487         wcschr: Move AC_LIBOBJ invocations to module description.
2488         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
2489         * modules/wcschr (configure.ac): ... to here.
2490
2491 2011-05-22  Bruno Haible  <bruno@clisp.org>
2492
2493         wcscat: Move AC_LIBOBJ invocations to module description.
2494         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
2495         * modules/wcscat (configure.ac): ... to here.
2496
2497 2011-05-22  Bruno Haible  <bruno@clisp.org>
2498
2499         wcscasecmp: Move AC_LIBOBJ invocations to module description.
2500         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
2501         here...
2502         * modules/wcscasecmp (configure.ac): ... to here.
2503
2504 2011-05-22  Bruno Haible  <bruno@clisp.org>
2505
2506         wcrtomb: Move AC_LIBOBJ invocations to module description.
2507         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
2508         invocations from here...
2509         * modules/wcrtomb (configure.ac): ... to here.
2510
2511 2011-05-22  Bruno Haible  <bruno@clisp.org>
2512
2513         wcpncpy: Move AC_LIBOBJ invocations to module description.
2514         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
2515         here...
2516         * modules/wcpncpy (configure.ac): ... to here.
2517
2518 2011-05-22  Bruno Haible  <bruno@clisp.org>
2519
2520         wcpcpy: Move AC_LIBOBJ invocations to module description.
2521         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
2522         * modules/wcpcpy (configure.ac): ... to here.
2523
2524 2011-05-22  Bruno Haible  <bruno@clisp.org>
2525
2526         waitpid: Move AC_LIBOBJ invocations to module description.
2527         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
2528         invocation from here...
2529         * modules/waitpid (configure.ac): ... to here.
2530
2531 2011-05-22  Bruno Haible  <bruno@clisp.org>
2532
2533         utimensat: Move AC_LIBOBJ invocations to module description.
2534         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
2535         here...
2536         * modules/utimensat (configure.ac): ... to here.
2537
2538 2011-05-22  Bruno Haible  <bruno@clisp.org>
2539
2540         usleep: Move AC_LIBOBJ invocations to module description.
2541         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
2542         here...
2543         * modules/usleep (configure.ac): ... to here.
2544
2545 2011-05-22  Bruno Haible  <bruno@clisp.org>
2546
2547         unlockpt: Move AC_LIBOBJ invocations to module description.
2548         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
2549         gl_PREREQ_UNLOCKPT invocations from here...
2550         * modules/unlockpt (configure.ac): ... to here.
2551
2552 2011-05-22  Bruno Haible  <bruno@clisp.org>
2553
2554         unlink: Respect rules for use of AC_LIBOBJ.
2555         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
2556         * modules/unlink (configure.ac): ... to here.
2557
2558 2011-05-22  Bruno Haible  <bruno@clisp.org>
2559
2560         uname: Move AC_LIBOBJ invocations to module description.
2561         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
2562         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
2563         here...
2564         * modules/uname (configure.ac): ... to here.
2565
2566 2011-05-22  Bruno Haible  <bruno@clisp.org>
2567
2568         ttyname_r: Move AC_LIBOBJ invocations to module description.
2569         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
2570         gl_PREREQ_TTYNAME_R invocations from here...
2571         * modules/ttyname_r (configure.ac): ... to here.
2572
2573 2011-05-22  Bruno Haible  <bruno@clisp.org>
2574
2575         tsearch: Move AC_LIBOBJ invocations to module description.
2576         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
2577         invocations from here...
2578         * modules/tsearch (configure.ac): ... to here.
2579
2580 2011-05-22  Bruno Haible  <bruno@clisp.org>
2581
2582         towctrans: Move AC_LIBOBJ invocations to module description.
2583         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
2584         AC_LIBOBJ invocation from here...
2585         * modules/towctrans (configure.ac): ... to here.
2586
2587 2011-05-22  Bruno Haible  <bruno@clisp.org>
2588
2589         tmpfile: Move AC_LIBOBJ invocations to module description.
2590         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
2591         invocations from here...
2592         * modules/tmpfile (configure.ac): ... to here.
2593
2594 2011-05-22  Bruno Haible  <bruno@clisp.org>
2595
2596         times: Move AC_LIBOBJ invocations to module description.
2597         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
2598         * modules/times (configure.ac): ... to here.
2599
2600 2011-05-22  Bruno Haible  <bruno@clisp.org>
2601
2602         time_r: Move AC_LIBOBJ invocations to module description.
2603         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
2604         invocations from here...
2605         * modules/time_r (configure.ac): ... to here.
2606
2607 2011-05-22  Bruno Haible  <bruno@clisp.org>
2608
2609         timegm: Move AC_LIBOBJ invocations to module description.
2610         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
2611         invocations from here...
2612         * modules/timegm (configure.ac): ... to here.
2613
2614 2011-05-22  Bruno Haible  <bruno@clisp.org>
2615
2616         tcgetsid: Move AC_LIBOBJ invocations to module description.
2617         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
2618         and gl_PREREQ_TCGETSID invocations from here...
2619         * modules/tcgetsid (configure.ac): ... to here.
2620         (Depends-on): Update conditions.
2621
2622 2011-05-22  Bruno Haible  <bruno@clisp.org>
2623
2624         symlinkat: Move AC_LIBOBJ invocations to module description.
2625         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
2626         here...
2627         * modules/symlinkat (configure.ac): ... to here.
2628
2629 2011-05-22  Bruno Haible  <bruno@clisp.org>
2630
2631         symlink: Move AC_LIBOBJ invocations to module description.
2632         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
2633         here...
2634         * modules/symlink (configure.ac): ... to here.
2635
2636 2011-05-22  Bruno Haible  <bruno@clisp.org>
2637
2638         strverscmp: Move AC_LIBOBJ invocations to module description.
2639         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
2640         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
2641         from here...
2642         * modules/strverscmp (configure.ac): ... to here.
2643
2644 2011-05-22  Bruno Haible  <bruno@clisp.org>
2645
2646         strtok_r: Move AC_LIBOBJ invocations to module description.
2647         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
2648         and gl_PREREQ_STRTOK_R invocations from here...
2649         * modules/strtok_r (configure.ac): ... to here.
2650         (Depends-on): Update conditions.
2651
2652 2011-05-22  Bruno Haible  <bruno@clisp.org>
2653
2654         strtoumax: Move AC_LIBOBJ invocations to module description.
2655         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
2656         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
2657         from here...
2658         * modules/strtoumax (configure.ac): ... to here.
2659
2660 2011-05-22  Bruno Haible  <bruno@clisp.org>
2661
2662         strtoimax: Move AC_LIBOBJ invocations to module description.
2663         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
2664         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
2665         from here...
2666         * modules/strtoimax (configure.ac): ... to here.
2667
2668 2011-05-22  Bruno Haible  <bruno@clisp.org>
2669
2670         strtoull: Move AC_LIBOBJ invocations to module description.
2671         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
2672         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
2673         from here...
2674         * modules/strtoull (configure.ac): ... to here.
2675
2676 2011-05-22  Bruno Haible  <bruno@clisp.org>
2677
2678         strtoll: Move AC_LIBOBJ invocations to module description.
2679         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
2680         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
2681         here...
2682         * modules/strtoll (configure.ac): ... to here.
2683
2684 2011-05-22  Bruno Haible  <bruno@clisp.org>
2685
2686         strtoul: Move AC_LIBOBJ invocations to module description.
2687         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
2688         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
2689         * modules/strtoul (configure.ac): ... to here.
2690
2691 2011-05-22  Bruno Haible  <bruno@clisp.org>
2692
2693         strtol: Move AC_LIBOBJ invocations to module description.
2694         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
2695         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
2696         * modules/strtol (configure.ac): ... to here.
2697
2698 2011-05-22  Bruno Haible  <bruno@clisp.org>
2699
2700         strtod: Move AC_LIBOBJ invocations to module description.
2701         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
2702         invocations from here...
2703         * modules/strtod (configure.ac): ... to here.
2704
2705 2011-05-22  Bruno Haible  <bruno@clisp.org>
2706
2707         strstr*: Move AC_LIBOBJ invocations to module description.
2708         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
2709         invocations from here...
2710         * modules/strstr-simple (configure.ac): ... to here.
2711         * modules/strstr (configure.ac): ... and here.
2712
2713 2011-05-22  Bruno Haible  <bruno@clisp.org>
2714
2715         strsignal: Move AC_LIBOBJ invocations to module description.
2716         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
2717         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
2718         * modules/strsignal (configure.ac): ... to here.
2719         (Depends-on): Update conditions.
2720
2721 2011-05-22  Bruno Haible  <bruno@clisp.org>
2722
2723         strsep: Move AC_LIBOBJ invocations to module description.
2724         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
2725         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
2726         here...
2727         * modules/strsep (configure.ac): ... to here.
2728
2729 2011-05-22  Bruno Haible  <bruno@clisp.org>
2730
2731         strptime: Move AC_LIBOBJ invocations to module description.
2732         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
2733         gl_PREREQ_STRPTIME invocations from here...
2734         * modules/strptime (configure.ac): ... to here.
2735
2736 2011-05-22  Bruno Haible  <bruno@clisp.org>
2737
2738         strpbrk: Move AC_LIBOBJ invocations to module description.
2739         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
2740         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
2741         here...
2742         * modules/strpbrk (configure.ac): ... to here.
2743
2744 2011-05-22  Bruno Haible  <bruno@clisp.org>
2745
2746         strnlen: Move AC_LIBOBJ invocations to module description.
2747         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
2748         invocations from here...
2749         * modules/strnlen (configure.ac): ... to here.
2750
2751 2011-05-22  Bruno Haible  <bruno@clisp.org>
2752
2753         strndup: Move AC_LIBOBJ invocations to module description.
2754         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
2755         invocations from here...
2756         * modules/strndup (configure.ac): ... to here.
2757         (Depends-on): Update conditions.
2758
2759 2011-05-22  Bruno Haible  <bruno@clisp.org>
2760
2761         strncat: Move AC_LIBOBJ invocations to module description.
2762         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
2763         invocations from here...
2764         * modules/strncat (configure.ac): ... to here.
2765
2766 2011-05-22  Bruno Haible  <bruno@clisp.org>
2767
2768         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
2769         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
2770         invocations from here...
2771         * modules/strdup (configure.ac): ... to here.
2772         * modules/strdup-posix (configure.ac): ... and here.
2773
2774 2011-05-22  Bruno Haible  <bruno@clisp.org>
2775
2776         strcspn: Move AC_LIBOBJ invocations to module description.
2777         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
2778         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
2779         here...
2780         * modules/strcspn (configure.ac): ... to here.
2781
2782 2011-05-22  Bruno Haible  <bruno@clisp.org>
2783
2784         strchrnul: Move AC_LIBOBJ invocations to module description.
2785         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
2786         gl_PREREQ_STRCHRNUL invocations from here...
2787         * modules/strchrnul (configure.ac): ... to here.
2788
2789 2011-05-22  Bruno Haible  <bruno@clisp.org>
2790
2791         strcasestr*: Move AC_LIBOBJ invocations to module description.
2792         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
2793         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
2794         * modules/strcasestr-simple (configure.ac): ... to here.
2795         * modules/strcasestr (configure.ac): ... and here.
2796
2797 2011-05-22  Bruno Haible  <bruno@clisp.org>
2798
2799         strcase: Move AC_LIBOBJ invocations to module description.
2800         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
2801         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
2802         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
2803         gl_PREREQ_STRNCASECMP invocations from here...
2804         * modules/strcase (configure.ac): ... to here.
2805
2806 2011-05-22  Bruno Haible  <bruno@clisp.org>
2807
2808         stpncpy: Move AC_LIBOBJ invocations to module description.
2809         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
2810         here...
2811         * modules/stpncpy (configure.ac): ... to here.
2812
2813 2011-05-22  Bruno Haible  <bruno@clisp.org>
2814
2815         stpcpy: Move AC_LIBOBJ invocations to module description.
2816         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
2817         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
2818         here...
2819         * modules/stpcpy (configure.ac): ... to here.
2820
2821 2011-05-21  Bruno Haible  <bruno@clisp.org>
2822
2823         stat: Move AC_LIBOBJ invocations to module description.
2824         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
2825         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
2826         here...
2827         * modules/stat (configure.ac): ... to here.
2828
2829 2011-05-21  Bruno Haible  <bruno@clisp.org>
2830
2831         sleep: Move AC_LIBOBJ invocations to module description.
2832         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
2833         * modules/sleep (configure.ac): ... to here.
2834
2835 2011-05-21  Bruno Haible  <bruno@clisp.org>
2836
2837         signbit: Move AC_LIBOBJ invocations to module description.
2838         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
2839         * modules/signbit (configure.ac): ... to here.
2840
2841 2011-05-21  Bruno Haible  <bruno@clisp.org>
2842
2843         sigprocmask: Move AC_LIBOBJ invocations to module description.
2844         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
2845         gl_PREREQ_SIGPROMASK invocations from here...
2846         * modules/sigprocmask (configure.ac): ... to here.
2847
2848 2011-05-21  Bruno Haible  <bruno@clisp.org>
2849
2850         sigaction: Move AC_LIBOBJ invocations to module description.
2851         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
2852         gl_PREREQ_SIGACTION invocations from here...
2853         * modules/sigaction (configure.ac): ... to here.
2854
2855 2011-05-21  Bruno Haible  <bruno@clisp.org>
2856
2857         sig2str: Move AC_LIBOBJ invocations to module description.
2858         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
2859         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
2860         here...
2861         * modules/sig2str (configure.ac): ... to here.
2862
2863 2011-05-21  Bruno Haible  <bruno@clisp.org>
2864
2865         setlocale: Move AC_LIBOBJ invocations to module description.
2866         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
2867         gl_PREREQ_SETLOCALE invocations from here...
2868         * modules/setlocale (configure.ac): ... to here.
2869
2870 2011-05-21  Bruno Haible  <bruno@clisp.org>
2871
2872         unsetenv: Move AC_LIBOBJ invocations to module description.
2873         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
2874         and gl_PREREQ_UNSETENV invocations from here...
2875         * modules/unsetenv (configure.ac): ... to here.
2876         (Depends-on): Update.
2877
2878 2011-05-21  Bruno Haible  <bruno@clisp.org>
2879
2880         setenv: Move AC_LIBOBJ invocations to module description.
2881         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
2882         here...
2883         * modules/setenv (configure.ac): ... to here.
2884
2885 2011-05-21  Bruno Haible  <bruno@clisp.org>
2886
2887         selinux-h: Move AC_LIBOBJ invocations to module description.
2888         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
2889         AC_LIBOBJ invocation from here...
2890         * modules/selinux-h (configure.ac): ... to here.
2891
2892 2011-05-21  Bruno Haible  <bruno@clisp.org>
2893
2894         select: Respect rules for use of AC_LIBOBJ.
2895         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
2896         here...
2897         * modules/select (configure.ac): ... to here.
2898
2899 2011-05-21  Bruno Haible  <bruno@clisp.org>
2900
2901         scandir: Move AC_LIBOBJ invocations to module description.
2902         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
2903         invocations from here...
2904         * modules/scandir (configure.ac): ... to here.
2905
2906 2011-05-21  Bruno Haible  <bruno@clisp.org>
2907
2908         rpmatch: Move AC_LIBOBJ invocations to module description.
2909         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
2910         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
2911         here...
2912         * modules/rpmatch (configure.ac): ... to here.
2913
2914 2011-05-21  Bruno Haible  <bruno@clisp.org>
2915
2916         rmdir: Respect rules for use of AC_LIBOBJ.
2917         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
2918         * modules/rmdir (configure.ac): ... to here.
2919
2920 2011-05-21  Bruno Haible  <bruno@clisp.org>
2921
2922         renameat: Move AC_LIBOBJ invocations to module description.
2923         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
2924         here...
2925         * modules/renameat (configure.ac): ... to here.
2926
2927 2011-05-21  Bruno Haible  <bruno@clisp.org>
2928
2929         rename: Respect rules for use of AC_LIBOBJ.
2930         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
2931         here...
2932         * modules/rename (configure.ac): ... to here.
2933
2934 2011-05-21  Bruno Haible  <bruno@clisp.org>
2935
2936         remove: Move AC_LIBOBJ invocations to module description.
2937         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
2938         here...
2939         * modules/remove (configure.ac): ... to here.
2940
2941 2011-05-21  Bruno Haible  <bruno@clisp.org>
2942
2943         relocatable-lib: Move AC_LIBOBJ invocations to module description.
2944         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
2945         macro.
2946         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
2947         * modules/relocatable-lib (configure.ac): ... to here.
2948         * modules/relocatable-prog-wrapper (configure.ac): Invoke
2949         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
2950
2951 2011-05-21  Bruno Haible  <bruno@clisp.org>
2952
2953         relocatable-prog: Move AC_LIBOBJ invocations to module description.
2954         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
2955         here...
2956         * modules/relocatable-prog (configure.ac): ... to here.
2957
2958 2011-05-21  Bruno Haible  <bruno@clisp.org>
2959
2960         regex: Move AC_LIBOBJ invocations to module description.
2961         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
2962         invocations from here...
2963         * modules/regex (configure.ac): ... to here.
2964
2965 2011-05-21  Bruno Haible  <bruno@clisp.org>
2966
2967         realloc-*: Move AC_LIBOBJ invocations to module description.
2968         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
2969         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
2970         AC_LIBOBJ invocations from here...
2971         * modules/realloc-gnu (configure.ac): ... to here.
2972         * modules/realloc-posix (configure.ac): ... and here.
2973
2974 2011-05-21  Bruno Haible  <bruno@clisp.org>
2975
2976         readutmp: Move AC_LIBOBJ invocations to module description.
2977         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
2978         * modules/readutmp (configure.ac): ... to here.
2979
2980 2011-05-21  Bruno Haible  <bruno@clisp.org>
2981
2982         readlinkat: Move AC_LIBOBJ invocations to module description.
2983         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
2984         here...
2985         * modules/readlinkat (configure.ac): ... to here.
2986
2987 2011-05-21  Bruno Haible  <bruno@clisp.org>
2988
2989         readlink: Move AC_LIBOBJ invocations to module description.
2990         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
2991         gl_PREREQ_READLINK invocations from here...
2992         * modules/readlink (configure.ac): ... to here.
2993
2994 2011-05-21  Bruno Haible  <bruno@clisp.org>
2995
2996         readline: Move AC_LIBOBJ invocations to module description.
2997         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
2998         gl_PREREQ_READLINE invocations from here...
2999         * modules/readline (configure.ac): ... to here.
3000
3001 2011-05-21  Bruno Haible  <bruno@clisp.org>
3002
3003         read: Move AC_LIBOBJ invocations to module description.
3004         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
3005         * modules/read (configure.ac): ... to here.
3006
3007 2011-05-21  Bruno Haible  <bruno@clisp.org>
3008
3009         rawmemchr: Move AC_LIBOBJ invocations to module description.
3010         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
3011         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
3012         from here...
3013         * modules/rawmemchr (configure.ac): ... to here.
3014
3015 2011-05-21  Bruno Haible  <bruno@clisp.org>
3016
3017         random_r: Move AC_LIBOBJ invocations to module description.
3018         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
3019         gl_PREREQ_RANDOM_R invocations from here...
3020         * modules/random_r (configure.ac): ... to here.
3021
3022 2011-05-21  Bruno Haible  <bruno@clisp.org>
3023
3024         pwrite: Move AC_LIBOBJ invocations to module description.
3025         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
3026         * modules/pwrite (configure.ac): ... to here.
3027
3028 2011-05-21  Bruno Haible  <bruno@clisp.org>
3029
3030         putenv: Move AC_LIBOBJ invocations to module description.
3031         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
3032         * modules/putenv (configure.ac): ... to here.
3033
3034 2011-05-21  Bruno Haible  <bruno@clisp.org>
3035
3036         login_tty: Move AC_LIBOBJ invocations to module description.
3037         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
3038         * modules/login_tty (configure.ac): ... to here.
3039
3040 2011-05-21  Bruno Haible  <bruno@clisp.org>
3041
3042         openpty: Move AC_LIBOBJ invocations to module description.
3043         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
3044         * modules/openpty (configure.ac): ... to here.
3045
3046 2011-05-21  Bruno Haible  <bruno@clisp.org>
3047
3048         forkpty: Move AC_LIBOBJ invocations to module description.
3049         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
3050         * modules/forkpty (configure.ac): ... to here.
3051
3052 2011-05-21  Bruno Haible  <bruno@clisp.org>
3053
3054         ptsname: Move AC_LIBOBJ invocations to module description.
3055         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
3056         invocations from here...
3057         * modules/ptsname (configure.ac): ... to here.
3058
3059 2011-05-21  Bruno Haible  <bruno@clisp.org>
3060
3061         pread: Move AC_LIBOBJ invocations to module description.
3062         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
3063         * modules/pread (configure.ac): ... to here.
3064
3065 2011-05-21  Bruno Haible  <bruno@clisp.org>
3066
3067         posix_spawn*: Move AC_LIBOBJ invocations to module description.
3068         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
3069         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
3070         * modules/posix_spawn (configure.ac): ... to here.
3071         * modules/posix_spawnp (configure.ac): ... and here.
3072
3073 2011-05-21  Bruno Haible  <bruno@clisp.org>
3074
3075         popen: Move AC_LIBOBJ invocations to module description.
3076         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
3077         invocations from here...
3078         * modules/popen (configure.ac): ... to here.
3079
3080 2011-05-21  Bruno Haible  <bruno@clisp.org>
3081
3082         poll: Move AC_LIBOBJ invocations to module description.
3083         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
3084         invocations from here...
3085         * modules/poll (configure.ac): ... to here.
3086
3087 2011-05-21  Bruno Haible  <bruno@clisp.org>
3088
3089         pipe-posix: Move AC_LIBOBJ invocations to module description.
3090         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
3091         * modules/pipe-posix (configure.ac): ... to here.
3092
3093 2011-05-21  Bruno Haible  <bruno@clisp.org>
3094
3095         openat: Respect rules for use of AC_LIBOBJ.
3096         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
3097         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
3098         * modules/openat (configure.ac): ... to here.
3099
3100 2011-05-21  Bruno Haible  <bruno@clisp.org>
3101
3102         obstack-printf*: Move AC_LIBOBJ invocations to module description.
3103         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
3104         invocation from here...
3105         * modules/obstack-printf (configure.ac): ... to here.
3106         * modules/obstack-printf-posix (configure.ac): ... and here.
3107
3108 2011-05-21  Bruno Haible  <bruno@clisp.org>
3109
3110         nl_langinfo: Move AC_LIBOBJ invocations to module description.
3111         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
3112         from here...
3113         * modules/nl_langinfo (configure.ac): ... to here.
3114
3115 2011-05-21  Bruno Haible  <bruno@clisp.org>
3116
3117         nanosleep: Move AC_LIBOBJ invocations to module description.
3118         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
3119         gl_PREREQ_NANOSLEEP invocations from here...
3120         * modules/nanosleep (configure.ac): ... to here.
3121
3122 2011-05-21  Bruno Haible  <bruno@clisp.org>
3123
3124         mountlist: Move AC_LIBOBJ invocations to module description.
3125         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
3126         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
3127         * modules/mountlist (configure.ac): ... to here.
3128
3129 2011-05-21  Bruno Haible  <bruno@clisp.org>
3130
3131         mktime: Respect rules for use of AC_LIBOBJ.
3132         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
3133         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
3134         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
3135         (gl_FUNC_MKTIME_INTERNAL): ... and here...
3136         * modules/mktime (configure.ac): ... to here.
3137         * modules/mktime-internal (configure.ac): ... and here.
3138         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
3139
3140 2011-05-21  Bruno Haible  <bruno@clisp.org>
3141
3142         mkstemps: Move AC_LIBOBJ invocations to module description.
3143         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
3144         here...
3145         * modules/mkstemps (configure.ac): ... to here.
3146
3147 2011-05-21  Bruno Haible  <bruno@clisp.org>
3148
3149         mkstemp: Move AC_LIBOBJ invocations to module description.
3150         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
3151         gl_PREREQ_MKSTEMP invocations from here...
3152         * modules/mkstemp (configure.ac): ... to here.
3153
3154 2011-05-21  Bruno Haible  <bruno@clisp.org>
3155
3156         mkostemps: Move AC_LIBOBJ invocations to module description.
3157         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
3158         here...
3159         * modules/mkostemps (configure.ac): ... to here.
3160
3161 2011-05-21  Bruno Haible  <bruno@clisp.org>
3162
3163         mkostemp: Move AC_LIBOBJ invocations to module description.
3164         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
3165         gl_PREREQ_MKOSTEMP invocations from here...
3166         * modules/mkostemp (configure.ac): ... to here.
3167
3168 2011-05-21  Bruno Haible  <bruno@clisp.org>
3169
3170         mknod: Move AC_LIBOBJ invocations to module description.
3171         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
3172         * modules/mknod (configure.ac): ... to here.
3173
3174 2011-05-21  Bruno Haible  <bruno@clisp.org>
3175
3176         mkfifoat: Move AC_LIBOBJ invocations to module description.
3177         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
3178         here...
3179         * modules/mkfifoat (configure.ac): ... to here.
3180
3181 2011-05-21  Bruno Haible  <bruno@clisp.org>
3182
3183         mkfifo: Respect rules for use of AC_LIBOBJ.
3184         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
3185         here...
3186         * modules/mkfifo (configure.ac): ... to here.
3187
3188 2011-05-21  Bruno Haible  <bruno@clisp.org>
3189
3190         mkdtemp: Move AC_LIBOBJ invocations to module description.
3191         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
3192         invocations from here...
3193         * modules/mkdtemp (configure.ac): ... to here.
3194
3195 2011-05-21  Bruno Haible  <bruno@clisp.org>
3196
3197         mkdir: Move AC_LIBOBJ invocations to module description.
3198         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
3199         * modules/mkdir (configure.ac): ... to here.
3200
3201 2011-05-21  Bruno Haible  <bruno@clisp.org>
3202
3203         memset: Move AC_LIBOBJ invocations to module description.
3204         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
3205         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
3206         here...
3207         * modules/memset (configure.ac): ... to here.
3208
3209 2011-05-21  Bruno Haible  <bruno@clisp.org>
3210
3211         memrchr: Move AC_LIBOBJ invocations to module description.
3212         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
3213         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
3214         here...
3215         * modules/memrchr (configure.ac): ... to here.
3216
3217 2011-05-21  Bruno Haible  <bruno@clisp.org>
3218
3219         mempcpy: Move AC_LIBOBJ invocations to module description.
3220         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
3221         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
3222         here...
3223         * modules/mempcpy (configure.ac): ... to here.
3224
3225 2011-05-21  Bruno Haible  <bruno@clisp.org>
3226
3227         memmove: Move AC_LIBOBJ invocations to module description.
3228         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
3229         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
3230         here...
3231         * modules/memmove (configure.ac): ... to here.
3232
3233 2011-05-21  Bruno Haible  <bruno@clisp.org>
3234
3235         memmem*: Move AC_LIBOBJ invocations to module description.
3236         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
3237         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
3238         here...
3239         (gl_FUNC_MEMMEM): ... and here...
3240         * modules/memmem-simple (configure.ac): ... to here.
3241         * modules/memmem (configure.ac): ... and here.
3242
3243 2011-05-21  Bruno Haible  <bruno@clisp.org>
3244
3245         memcpy: Move AC_LIBOBJ invocations to module description.
3246         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
3247         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
3248         here...
3249         * modules/memcpy (configure.ac): ... to here.
3250
3251 2011-05-21  Bruno Haible  <bruno@clisp.org>
3252
3253         memcmp: Simplify autoconf macro.
3254         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
3255         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
3256         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
3257
3258 2011-05-21  Bruno Haible  <bruno@clisp.org>
3259
3260         memcmp: Move AC_LIBOBJ invocations to module description.
3261         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
3262         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
3263         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
3264         * modules/memcmp (configure.ac): ... to here.
3265         (Depends-on): Update conditions.
3266
3267 2011-05-21  Bruno Haible  <bruno@clisp.org>
3268
3269         memchr: Respect rules for use of AC_LIBOBJ.
3270         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
3271         invocations from here...
3272         * modules/memchr (configure.ac): ... to here.
3273
3274 2011-05-21  Bruno Haible  <bruno@clisp.org>
3275
3276         mbtowc: Move AC_LIBOBJ invocations to module description.
3277         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
3278         invocations from here...
3279         * modules/mbtowc (configure.ac): ... to here.
3280
3281 2011-05-21  Bruno Haible  <bruno@clisp.org>
3282
3283         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
3284         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
3285         gl_PREREQ_MBSRTOWCS invocations from here...
3286         * modules/mbsrtowcs (configure.ac): ... to here.
3287
3288 2011-05-21  Bruno Haible  <bruno@clisp.org>
3289
3290         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
3291         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
3292         gl_PREREQ_MBSNRTOWCS invocations from here...
3293         * modules/mbsnrtowcs (configure.ac): ... to here.
3294
3295 2011-05-21  Bruno Haible  <bruno@clisp.org>
3296
3297         mbsinit: Move AC_LIBOBJ invocations to module description.
3298         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
3299         invocations from here...
3300         * modules/mbsinit (configure.ac): ... to here.
3301
3302 2011-05-21  Bruno Haible  <bruno@clisp.org>
3303
3304         mbrlen: Move AC_LIBOBJ invocations to module description.
3305         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
3306         invocations from here...
3307         * modules/mbrlen (configure.ac): ... to here.
3308
3309 2011-05-21  Bruno Haible  <bruno@clisp.org>
3310
3311         mbrtowc: Respect rules for use of AC_LIBOBJ.
3312         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
3313         invocations from here...
3314         * modules/mbrtowc (configure.ac): ... to here.
3315
3316 2011-05-21  Bruno Haible  <bruno@clisp.org>
3317
3318         malloc-*: Move AC_LIBOBJ invocations to module description.
3319         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
3320         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
3321         AC_LIBOBJ invocations from here...
3322         * modules/malloc-gnu (configure.ac): ... to here.
3323         * modules/malloc-posix (configure.ac): ... and here.
3324
3325 2011-05-21  Bruno Haible  <bruno@clisp.org>
3326
3327         lstat, openat: Respect rules for use of AC_LIBOBJ.
3328         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
3329         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
3330         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
3331         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
3332         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
3333         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
3334         here.
3335         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
3336
3337 2011-05-21  Bruno Haible  <bruno@clisp.org>
3338
3339         lseek: Move AC_LIBOBJ invocations to module description.
3340         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
3341         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
3342         * modules/lseek (configure.ac): ... to here.
3343
3344 2011-05-21  Bruno Haible  <bruno@clisp.org>
3345
3346         linkat: Move AC_LIBOBJ invocations to module description.
3347         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
3348         here...
3349         * modules/linkat (configure.ac): ... to here.
3350
3351 2011-05-21  Bruno Haible  <bruno@clisp.org>
3352
3353         link: Respect rules for use of AC_LIBOBJ.
3354         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
3355         * modules/link (configure.ac): ... to here.
3356
3357 2011-05-21  Bruno Haible  <bruno@clisp.org>
3358
3359         lchown: Move AC_LIBOBJ invocations to module description.
3360         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
3361         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
3362         * modules/lchown (configure.ac): ... to here.
3363
3364 2011-05-21  Bruno Haible  <bruno@clisp.org>
3365
3366         iswctype: Move AC_LIBOBJ invocations to module description.
3367         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
3368         here...
3369         * modules/iswctype (configure.ac): ... to here.
3370
3371 2011-05-21  Bruno Haible  <bruno@clisp.org>
3372
3373         iswblank: Move AC_LIBOBJ invocations to module description.
3374         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
3375         here...
3376         * modules/iswblank (configure.ac): ... to here.
3377
3378 2011-05-21  Bruno Haible  <bruno@clisp.org>
3379
3380         atanl: Move AC_LIBOBJ invocations to module description.
3381         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
3382         * modules/atanl (configure.ac): ... to here.
3383
3384 2011-05-21  Bruno Haible  <bruno@clisp.org>
3385
3386         acosl: Move AC_LIBOBJ invocations to module description.
3387         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
3388         * modules/acosl (configure.ac): ... to here.
3389
3390 2011-05-21  Bruno Haible  <bruno@clisp.org>
3391
3392         asinl: Respect rules for use of AC_LIBOBJ.
3393         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
3394         * modules/asinl (configure.ac): ... to here.
3395
3396 2011-05-21  Bruno Haible  <bruno@clisp.org>
3397
3398         tanl: Move AC_LIBOBJ invocations to module description.
3399         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
3400         * modules/tanl (configure.ac): ... to here.
3401
3402 2011-05-21  Bruno Haible  <bruno@clisp.org>
3403
3404         cosl: Move AC_LIBOBJ invocations to module description.
3405         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
3406         * modules/cosl (configure.ac): ... to here.
3407
3408 2011-05-21  Bruno Haible  <bruno@clisp.org>
3409
3410         sinl: Move AC_LIBOBJ invocations to module description.
3411         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
3412         * modules/sinl (configure.ac): ... to here.
3413
3414 2011-05-21  Bruno Haible  <bruno@clisp.org>
3415
3416         logl: Move AC_LIBOBJ invocations to module description.
3417         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
3418         * modules/logl (configure.ac): ... to here.
3419
3420 2011-05-21  Bruno Haible  <bruno@clisp.org>
3421
3422         expl: Move AC_LIBOBJ invocations to module description.
3423         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
3424         * modules/expl (configure.ac): ... to here.
3425
3426 2011-05-21  Bruno Haible  <bruno@clisp.org>
3427
3428         roundl: Move AC_LIBOBJ invocations to module description.
3429         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
3430         * modules/roundl (configure.ac): ... to here.
3431
3432 2011-05-21  Bruno Haible  <bruno@clisp.org>
3433
3434         round: Move AC_LIBOBJ invocations to module description.
3435         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
3436         * modules/round (configure.ac): ... to here.
3437
3438 2011-05-21  Bruno Haible  <bruno@clisp.org>
3439
3440         roundf: Move AC_LIBOBJ invocations to module description.
3441         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
3442         * modules/roundf (configure.ac): ... to here.
3443
3444 2011-05-21  Bruno Haible  <bruno@clisp.org>
3445
3446         truncl: Move AC_LIBOBJ invocations to module description.
3447         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
3448         * modules/truncl (configure.ac): ... to here.
3449
3450 2011-05-21  Bruno Haible  <bruno@clisp.org>
3451
3452         trunc: Move AC_LIBOBJ invocations to module description.
3453         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
3454         * modules/trunc (configure.ac): ... to here.
3455
3456 2011-05-21  Bruno Haible  <bruno@clisp.org>
3457
3458         truncf: Move AC_LIBOBJ invocations to module description.
3459         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
3460         * modules/truncf (configure.ac): ... to here.
3461
3462 2011-05-21  Bruno Haible  <bruno@clisp.org>
3463
3464         ceill: Move AC_LIBOBJ invocations to module description.
3465         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
3466         * modules/ceill (configure.ac): ... to here.
3467
3468 2011-05-21  Bruno Haible  <bruno@clisp.org>
3469
3470         ceil: Move AC_LIBOBJ invocations to module description.
3471         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
3472         * modules/ceil (configure.ac): ... to here.
3473
3474 2011-05-21  Bruno Haible  <bruno@clisp.org>
3475
3476         ceilf: Move AC_LIBOBJ invocations to module description.
3477         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
3478         * modules/ceilf (configure.ac): ... to here.
3479
3480 2011-05-21  Bruno Haible  <bruno@clisp.org>
3481
3482         floorl: Respect rules for use of AC_LIBOBJ.
3483         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
3484         * modules/floorl (configure.ac): ... to here.
3485
3486 2011-05-21  Bruno Haible  <bruno@clisp.org>
3487
3488         floor: Respect rules for use of AC_LIBOBJ.
3489         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
3490         * modules/floor (configure.ac): ... to here.
3491
3492 2011-05-21  Bruno Haible  <bruno@clisp.org>
3493
3494         floorf: Move AC_LIBOBJ invocations to module description.
3495         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
3496         * modules/floorf (configure.ac): ... to here.
3497
3498 2011-05-20  Bruno Haible  <bruno@clisp.org>
3499
3500         sqrtl: Respect rules for use of AC_LIBOBJ.
3501         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
3502         * modules/sqrtl (configure.ac): ... to here.
3503
3504 2011-05-20  Bruno Haible  <bruno@clisp.org>
3505
3506         ldexpl: Respect rules for use of AC_LIBOBJ.
3507         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
3508         * modules/ldexpl (configure.ac): ... to here.
3509
3510 2011-05-20  Bruno Haible  <bruno@clisp.org>
3511
3512         frexpl*: Respect rules for use of AC_LIBOBJ.
3513         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
3514         invocation from here...
3515         * modules/frexpl (configure.ac): ... to here.
3516         * modules/frexpl-nolibm (configure.ac): ... and here.
3517
3518 2011-05-20  Bruno Haible  <bruno@clisp.org>
3519
3520         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
3521         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
3522         invocation from here...
3523         * modules/frexp (configure.ac): ... to here.
3524         * modules/frexp-nolibm (configure.ac): ... and here.
3525
3526 2011-05-20  Bruno Haible  <bruno@clisp.org>
3527
3528         isnan: Respect rules for use of AC_LIBOBJ.
3529         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
3530         invocations here.
3531         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
3532         REPLACE_ISNAN.
3533         * modules/isnand (configure.ac): Likewise.
3534         * modules/isnanl (configure.ac): Likewise.
3535
3536 2011-05-20  Bruno Haible  <bruno@clisp.org>
3537
3538         isnanl*: Respect rules for use of AC_LIBOBJ.
3539         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
3540         invocation from here...
3541         * modules/isnanl (configure.ac): ... to here.
3542         * modules/isnanl-nolibm (configure.ac): ... and here.
3543
3544 2011-05-20  Bruno Haible  <bruno@clisp.org>
3545
3546         isnand*: Move AC_LIBOBJ invocations to module description.
3547         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
3548         invocation from here...
3549         * modules/isnand (configure.ac): ... to here.
3550         * modules/isnand-nolibm (configure.ac): ... and here.
3551
3552 2011-05-20  Bruno Haible  <bruno@clisp.org>
3553
3554         isnanf*: Move AC_LIBOBJ invocations to module description.
3555         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
3556         invocation from here...
3557         * modules/isnanf (configure.ac): ... to here.
3558         * modules/isnanf-nolibm (configure.ac): ... and here.
3559
3560 2011-05-20  Bruno Haible  <bruno@clisp.org>
3561
3562         isnan*: Separate the AC_LIBOBJ invocations.
3563         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
3564         AC_LIBOBJ invocation.
3565         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
3566         here.
3567         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
3568         AC_LIBOBJ invocation.
3569         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
3570         here.
3571         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
3572         AC_LIBOBJ invocation.
3573         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
3574         here.
3575         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
3576
3577 2011-05-08  Bruno Haible  <bruno@clisp.org>
3578
3579         isinf: Move AC_LIBOBJ invocations to module description.
3580         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
3581         * modules/isinf (configure.ac): ... to here.
3582
3583 2011-05-08  Bruno Haible  <bruno@clisp.org>
3584
3585         isfinite: Move AC_LIBOBJ invocations to module description.
3586         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
3587         * modules/isfinite (configure.ac): ... to here.
3588
3589 2011-05-08  Bruno Haible  <bruno@clisp.org>
3590
3591         isblank: Move AC_LIBOBJ invocations to module description.
3592         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
3593         here...
3594         * modules/isblank (configure.ac): ... to here.
3595
3596 2011-05-08  Bruno Haible  <bruno@clisp.org>
3597
3598         isapipe: Move AC_LIBOBJ invocations to module description.
3599         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
3600         gl_PREREQ_ISAPIPE invocations from here...
3601         * modules/isapipe (configure.ac): ... to here.
3602         (Depends-on): Update condition.
3603
3604 2011-05-08  Bruno Haible  <bruno@clisp.org>
3605
3606         ioctl: Move AC_LIBOBJ invocations to module description.
3607         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
3608         invocations from here...
3609         * modules/ioctl (configure.ac): ... to here.
3610         (Depends-on): Update condition.
3611
3612 2011-05-08  Bruno Haible  <bruno@clisp.org>
3613
3614         imaxdiv: Move AC_LIBOBJ invocations to module description.
3615         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
3616         invocations from here...
3617         * modules/imaxdiv (configure.ac): ... to here.
3618
3619 2011-05-08  Bruno Haible  <bruno@clisp.org>
3620
3621         imaxabs: Move AC_LIBOBJ invocations to module description.
3622         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
3623         invocations from here...
3624         * modules/imaxabs (configure.ac): ... to here.
3625
3626 2011-05-08  Bruno Haible  <bruno@clisp.org>
3627
3628         getaddrinfo: Move AC_LIBOBJ invocations to module description.
3629         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
3630         AC_LIBOBJ invocations from here...
3631         * modules/getaddrinfo (configure.ac): ... to here.
3632         (Depends-on): Add conditions.
3633
3634 2011-05-08  Bruno Haible  <bruno@clisp.org>
3635
3636         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
3637         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
3638         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
3639         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
3640         (gl_PREREQ_INET_PTON): ... from here.
3641         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
3642         gl_PREREQ_INET_PTON here.
3643         (Depends-on): Update condition.
3644
3645 2011-05-08  Bruno Haible  <bruno@clisp.org>
3646
3647         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
3648         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
3649         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
3650         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
3651         (gl_PREREQ_INET_NTOP): ... from here.
3652         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
3653         gl_PREREQ_INET_NTOP here.
3654         (Depends-on): Update condition.
3655
3656 2011-05-08  Bruno Haible  <bruno@clisp.org>
3657
3658         iconv_open: Move AC_LIBOBJ invocations to module description.
3659         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
3660         AC_LIBOBJ invocations from here...
3661         * modules/iconv_open (configure.ac): ... to here.
3662
3663 2011-05-08  Bruno Haible  <bruno@clisp.org>
3664
3665         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
3666         If module 'iconv_open' is among the main modules and module
3667         'iconv_open-utf' is among the tests dependencies, then
3668         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
3669         return the special iconv_t values. Therefore iconv() and iconv_close()
3670         must support these special iconv_t values, already in lib, not only in
3671         tests.
3672         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
3673         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
3674         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
3675         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
3676         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
3677         (Depends-on): Add the dependencies of iconv_open-utf.
3678         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
3679         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
3680         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
3681
3682 2011-05-08  Bruno Haible  <bruno@clisp.org>
3683
3684         group-member: Move AC_LIBOBJ invocations to module description.
3685         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
3686         gl_PREREQ_GROUP_MEMBER invocations from here...
3687         * modules/group-member (configure.ac): ... to here.
3688
3689 2011-05-08  Bruno Haible  <bruno@clisp.org>
3690
3691         grantpt: Move AC_LIBOBJ invocations to module description.
3692         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
3693         invocations from here...
3694         * modules/grantpt (configure.ac): ... to here.
3695
3696 2011-05-08  Bruno Haible  <bruno@clisp.org>
3697
3698         glob: Move AC_LIBOBJ invocations to module description.
3699         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
3700         from here...
3701         * modules/glob (configure.ac): ... to here.
3702
3703 2011-05-08  Bruno Haible  <bruno@clisp.org>
3704
3705         getusershell: Move AC_LIBOBJ invocations to module description.
3706         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
3707         Move AC_LIBOBJ invocation from here...
3708         * modules/getusershell (configure.ac): ... to here.
3709         (Depends-on): Update condition.
3710
3711 2011-05-08  Bruno Haible  <bruno@clisp.org>
3712
3713         gettimeofday: Move AC_LIBOBJ invocations to module description.
3714         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
3715         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
3716         gl_PREREQ_GETTIMEOFDAY invocations from here...
3717         * modules/gettimeofday (configure.ac): ... to here.
3718
3719 2011-05-08  Bruno Haible  <bruno@clisp.org>
3720
3721         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
3722         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
3723         just gl_FUNC_TZSET.
3724         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
3725         (gl_FUNC_TZSET_CLOBBER): Remove actions.
3726         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
3727         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
3728
3729 2011-05-08  Bruno Haible  <bruno@clisp.org>
3730
3731         getsubopt: Move AC_LIBOBJ invocations to module description.
3732         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
3733         gl_PREREQ_GETSUBOPT invocations from here...
3734         * modules/getsubopt (configure.ac): ... to here.
3735
3736 2011-05-08  Bruno Haible  <bruno@clisp.org>
3737
3738         getpass-gnu: Move AC_LIBOBJ invocations to module description.
3739         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
3740         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
3741         * modules/getpass-gnu (configure.ac): ... to here.
3742
3743 2011-05-08  Bruno Haible  <bruno@clisp.org>
3744
3745         getpass: Move AC_LIBOBJ invocations to module description.
3746         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
3747         gl_PREREQ_GETPASS invocations from here...
3748         * modules/getpass (configure.ac): ... to here.
3749
3750 2011-05-08  Bruno Haible  <bruno@clisp.org>
3751
3752         getpagesize: Move AC_LIBOBJ invocations to module description.
3753         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
3754         from here...
3755         * modules/getpagesize (configure.ac): ... to here.
3756
3757 2011-05-08  Bruno Haible  <bruno@clisp.org>
3758
3759         getopt: Move AC_LIBOBJ invocations to module description.
3760         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
3761         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
3762         invocations from here...
3763         * modules/getopt-gnu (configure.ac): ... to here.
3764         * modules/getopt-posix (configure.ac): ... and here.
3765         (Depends-on): Update condition.
3766
3767 2011-05-08  Bruno Haible  <bruno@clisp.org>
3768
3769         getopt, argp: Respect rules for use of AC_LIBOBJ.
3770         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
3771         (gl_REPLACE_GETOPT_ALWAYS): New macro.
3772         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
3773         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
3774
3775 2011-05-08  Bruno Haible  <bruno@clisp.org>
3776
3777         getlogin_r: Move AC_LIBOBJ invocations to module description.
3778         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
3779         gl_PREREQ_GETLOGIN_R invocations from here...
3780         * modules/getlogin_r (configure.ac): ... to here.
3781
3782 2011-05-08  Bruno Haible  <bruno@clisp.org>
3783
3784         getlogin: Move AC_LIBOBJ invocations to module description.
3785         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
3786         here...
3787         * modules/getlogin (configure.ac): ... to here.
3788
3789 2011-05-08  Bruno Haible  <bruno@clisp.org>
3790
3791         getloadavg: Move AC_LIBOBJ invocations to module description.
3792         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
3793         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
3794         * modules/getloadavg (configure.ac): ... to here.
3795
3796 2011-05-08  Bruno Haible  <bruno@clisp.org>
3797
3798         gethrxtime: Move AC_LIBOBJ invocations to module description.
3799         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
3800         LIB_GETHRXTIME from here...
3801         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
3802         invocations from here...
3803         * modules/gethrxtime (configure.ac): ... to here.
3804
3805 2011-05-08  Bruno Haible  <bruno@clisp.org>
3806
3807         gethostname: Move AC_LIBOBJ invocations to module description.
3808         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
3809         gl_PREREQ_GETHOSTNAME invocations from here...
3810         * modules/gethostname (configure.ac): ... to here.
3811
3812 2011-05-08  Bruno Haible  <bruno@clisp.org>
3813
3814         getgroups: Move AC_LIBOBJ invocations to module description.
3815         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
3816         here...
3817         * modules/getgroups (configure.ac): ... to here.
3818
3819 2011-05-08  Bruno Haible  <bruno@clisp.org>
3820
3821         getdtablesize: Move AC_LIBOBJ invocations to module description.
3822         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
3823         invocation from here...
3824         * modules/getdtablesize (configure.ac): ... to here.
3825
3826 2011-05-08  Bruno Haible  <bruno@clisp.org>
3827
3828         getdomainname: Move AC_LIBOBJ invocations to module description.
3829         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
3830         gl_PREREQ_GETDOMAINNAME invocations from here...
3831         * modules/getdomainname (configure.ac): ... to here.
3832
3833 2011-05-08  Bruno Haible  <bruno@clisp.org>
3834
3835         getline: Move AC_LIBOBJ invocations to module description.
3836         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
3837         invocations from here...
3838         * modules/getline (configure.ac): ... to here.
3839
3840 2011-05-08  Bruno Haible  <bruno@clisp.org>
3841
3842         getline: Simplify.
3843         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
3844         It's already handled through the module dependency.
3845
3846 2011-05-08  Bruno Haible  <bruno@clisp.org>
3847
3848         getdelim: Move AC_LIBOBJ invocations to module description.
3849         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
3850         and gl_PREREQ_GETDELIM invocations from here...
3851         * modules/getdelim (configure.ac): ... to here.
3852         (Depends-on): Fix condition.
3853
3854 2011-05-08  Bruno Haible  <bruno@clisp.org>
3855
3856         getcwd: Move AC_LIBOBJ invocations to module description.
3857         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
3858         invocations from here...
3859         * modules/getcwd (configure.ac): ... to here.
3860
3861 2011-05-08  Bruno Haible  <bruno@clisp.org>
3862
3863         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
3864         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
3865         here...
3866         * modules/getcwd-lgpl (configure.ac): ... to here.
3867
3868 2011-05-07  Bruno Haible  <bruno@clisp.org>
3869
3870         crypto/gc: Move AC_LIBOBJ invocations to module description.
3871         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
3872         * modules/crypto/gc (configure.ac): ... to here.
3873
3874 2011-05-07  Bruno Haible  <bruno@clisp.org>
3875
3876         fwriting: Move AC_LIBOBJ invocations to module description.
3877         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
3878         here...
3879         * modules/fwriting (configure.ac): ... to here.
3880
3881 2011-05-07  Bruno Haible  <bruno@clisp.org>
3882
3883         fwritable: Move AC_LIBOBJ invocations to module description.
3884         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
3885         here...
3886         * modules/fwritable (configure.ac): ... to here.
3887
3888 2011-05-07  Bruno Haible  <bruno@clisp.org>
3889
3890         futimens: Move AC_LIBOBJ invocations to module description.
3891         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
3892         here...
3893         * modules/futimens (configure.ac): ... to here.
3894
3895 2011-05-07  Bruno Haible  <bruno@clisp.org>
3896
3897         ftruncate: Move AC_LIBOBJ invocations to module description.
3898         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
3899         gl_PREREQ_FTRUNCATE invocations from here...
3900         * modules/ftruncate (configure.ac): ... to here.
3901
3902 2011-05-07  Bruno Haible  <bruno@clisp.org>
3903
3904         fsync: Move AC_LIBOBJ invocations to module description.
3905         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
3906         invocations from here...
3907         * modules/fsync (configure.ac): ... to here.
3908
3909 2011-05-07  Bruno Haible  <bruno@clisp.org>
3910
3911         fsusage: Move AC_LIBOBJ invocations to module description.
3912         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
3913         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
3914         * modules/fsusage (configure.ac): ... to here.
3915
3916 2011-05-07  Bruno Haible  <bruno@clisp.org>
3917
3918         freopen: Move AC_LIBOBJ invocations to module description.
3919         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
3920         invocations from here...
3921         * modules/freopen (configure.ac): ... to here.
3922
3923 2011-05-07  Bruno Haible  <bruno@clisp.org>
3924
3925         free: Move AC_LIBOBJ invocations to module description.
3926         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
3927         invocations from here...
3928         * modules/free (configure.ac): ... to here.
3929
3930 2011-05-07  Bruno Haible  <bruno@clisp.org>
3931
3932         freadable: Move AC_LIBOBJ invocations to module description.
3933         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
3934         here...
3935         * modules/freadable (configure.ac): ... to here.
3936
3937 2011-05-07  Bruno Haible  <bruno@clisp.org>
3938
3939         fpurge: Move AC_LIBOBJ invocations to module description.
3940         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
3941         invocations from here...
3942         * modules/fpurge (configure.ac): ... to here.
3943
3944 2011-05-07  Bruno Haible  <bruno@clisp.org>
3945
3946         fpending: Move AC_LIBOBJ invocations to module description.
3947         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
3948         gl_FUNC_FPENDING.
3949         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
3950         invocations from here...
3951         * modules/fpending (configure.ac): ... to here.
3952
3953 2011-05-07  Bruno Haible  <bruno@clisp.org>
3954
3955         fopen: Move AC_LIBOBJ invocations to module description.
3956         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
3957         invocations from here...
3958         * modules/fopen (configure.ac): ... to here.
3959
3960 2011-05-07  Bruno Haible  <bruno@clisp.org>
3961
3962         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
3963         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
3964         gl_FUNC_FNMATCH_POSIX.
3965         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
3966         invocations from here...
3967         * modules/fnmatch (configure.ac): ... to here.
3968         * modules/fnmatch-gnu (configure.ac): ... and here.
3969
3970 2011-05-07  Bruno Haible  <bruno@clisp.org>
3971
3972         flock: Move AC_LIBOBJ invocations to module description.
3973         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
3974         invocations from here...
3975         * modules/flock (configure.ac): ... to here.
3976
3977 2011-05-07  Bruno Haible  <bruno@clisp.org>
3978
3979         fileblocks: Move AC_LIBOBJ invocations to module description.
3980         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
3981         gl_PREREQ_FILEBLOCKS invocations from here...
3982         * modules/fileblocks (configure.ac): ... to here.
3983
3984 2011-05-06  Bruno Haible  <bruno@clisp.org>
3985
3986         fflush: Move AC_LIBOBJ invocations to module description.
3987         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
3988         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
3989         invocations from here...
3990         * modules/fflush (configure.ac): ... to here.
3991
3992 2011-05-06  Bruno Haible  <bruno@clisp.org>
3993
3994         fdopendir: Move AC_LIBOBJ invocations to module description.
3995         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
3996         here...
3997         * modules/fdopendir (configure.ac): ... to here.
3998         (Depends-on): Improve conditions.
3999
4000 2011-05-06  Bruno Haible  <bruno@clisp.org>
4001
4002         _Exit: Move AC_LIBOBJ invocations to module description.
4003         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
4004         invocations from here...
4005         * modules/_Exit (configure.ac): ... to here.
4006
4007 2011-05-21  Bruno Haible  <bruno@clisp.org>
4008
4009         euidaccess: Respect rules for use of AC_LIBOBJ.
4010         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
4011         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
4012         from here...
4013         * modules/euidaccess (configure.ac): ... to here.
4014
4015 2011-05-06  Bruno Haible  <bruno@clisp.org>
4016
4017         error: Move AC_LIBOBJ invocations to module description.
4018         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
4019         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
4020         invocations from here...
4021         * modules/error (configure.ac): ... to here.
4022
4023 2011-05-06  Bruno Haible  <bruno@clisp.org>
4024
4025         duplocale: Move AC_LIBOBJ invocations to module description.
4026         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
4027         gl_PREREQ_DUPLOCALE invocations from here...
4028         * modules/duplocale (configure.ac): ... to here.
4029
4030 2011-05-05  Bruno Haible  <bruno@clisp.org>
4031
4032         dirfd: Move AC_LIBOBJ invocations to module description.
4033         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
4034         gl_FUNC_DIRFD.
4035         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
4036         here...
4037         * modules/dirfd (configure.ac): ... to here.
4038         (Depends-on): Fix condition.
4039
4040 2011-05-05  Bruno Haible  <bruno@clisp.org>
4041
4042         chown: Respect rules for use of AC_LIBOBJ.
4043         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
4044         * modules/chown (configure.ac): ... to here.
4045
4046 2011-05-05  Bruno Haible  <bruno@clisp.org>
4047
4048         chdir-long: Move AC_LIBOBJ invocations to module description.
4049         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
4050         gl_PREREQ_CHDIR_LONG invocations from here...
4051         * modules/chdir-long (configure.ac): ... to here.
4052
4053 2011-05-05  Bruno Haible  <bruno@clisp.org>
4054
4055         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
4056         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
4057         from here...
4058         * modules/canonicalize-lgpl (configure.ac): ... to here.
4059
4060 2011-05-05  Bruno Haible  <bruno@clisp.org>
4061
4062         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
4063         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
4064         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
4065         REPLACE_CALLOC.
4066         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
4067         * modules/calloc-gnu (configure.ac): Likewise.
4068
4069 2011-05-05  Bruno Haible  <bruno@clisp.org>
4070
4071         btowc: Move AC_LIBOBJ invocations to module description.
4072         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
4073         invocations from here...
4074         * modules/btowc (configure.ac): ... to here.
4075
4076 2011-05-21  Bruno Haible  <bruno@clisp.org>
4077
4078         atexit: Move AC_LIBOBJ invocations to module description.
4079         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
4080         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
4081         here...
4082         * modules/atexit (configure.ac): ... to here.
4083
4084 2011-05-05  Bruno Haible  <bruno@clisp.org>
4085
4086         atoll: Move AC_LIBOBJ invocations to module description.
4087         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
4088         invocations from here...
4089         * modules/atoll (configure.ac): ... to here.
4090
4091 2011-05-05  Bruno Haible  <bruno@clisp.org>
4092
4093         argz: Move AC_LIBOBJ invocations to module description.
4094         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
4095         * modules/argz (configure.ac): ... to here.
4096
4097 2011-05-05  Bruno Haible  <bruno@clisp.org>
4098
4099         alphasort: Move AC_LIBOBJ invocations to module description.
4100         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
4101         gl_PREREQ_ALPHASORT invocations from here...
4102         * modules/alphasort (configure.ac): ... to here.
4103
4104 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
4105
4106         verify: new macro verify_expr; verify_true deprecated
4107         * NEWS: Mention this.
4108         * doc/verify.texi (Compile-time Assertions): Document this.
4109         * lib/verify.h (verify_true): Deprecate.
4110         (verify_expr): New macro.
4111         * tests/test-verify.c (function): Test verify_expr.
4112
4113 2011-06-14  Jim Meyering  <meyering@redhat.com>
4114
4115         init.sh: give more portable redirection-related advice in a comment
4116         * tests/init.sh (stderr_fileno_): Update the advice in comments.
4117         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
4118         for lots of discussion.  Stefano Lattarini suggested the solution
4119         of putting "9>&2" after the command.  Reported by Bruno Haible.
4120
4121 2011-06-13  Bruno Haible  <bruno@clisp.org>
4122
4123         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
4124         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
4125         'none'.
4126
4127 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
4128
4129         ftoastr: use strtof only if HAVE_STRTOF
4130         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
4131         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
4132         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
4133         * modules/ftoastr (configure.ac): Check for strtof.
4134
4135 2011-06-13  Bruno Haible  <bruno@clisp.org>
4136
4137         gnulib-tool: Addendum to 2011-06-08 commit.
4138         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
4139         and --witness-c-macro have been given, augment AM_CPPFLAGS.
4140
4141 2011-06-13  Bruno Haible  <bruno@clisp.org>
4142
4143         fseeko: Provide a non-inline replacement of fseek().
4144         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
4145         * modules/fseeko (Depends-on): Add fseek.
4146         * modules/fseek (License): Change to LGPLv2+.
4147
4148 2011-06-13  Bruno Haible  <bruno@clisp.org>
4149
4150         ftello: Provide a non-inline replacement of ftell().
4151         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
4152         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
4153         not have ftello() (such as on mingw).
4154         * modules/ftello (Depends-on): Add ftell.
4155         * modules/ftell (License): Change to LGPLv2+.
4156
4157 2011-05-07  Bruno Haible  <bruno@clisp.org>
4158
4159         ftell: Move AC_LIBOBJ invocations to module description.
4160         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
4161         * modules/ftell (configure.ac): ... to here.
4162
4163 2011-05-07  Bruno Haible  <bruno@clisp.org>
4164
4165         ftello: Respect rules for use of AC_LIBOBJ.
4166         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
4167         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
4168         here...
4169         * modules/ftello (configure.ac): ... to here.
4170
4171 2011-05-07  Bruno Haible  <bruno@clisp.org>
4172
4173         fseeko: Simplify.
4174         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
4175         (gl_FUNC_FSEEKO): Inline it here.
4176
4177 2011-05-07  Bruno Haible  <bruno@clisp.org>
4178
4179         fseek: Move AC_LIBOBJ invocations to module description.
4180         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
4181         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
4182         * modules/fseek (configure.ac): ... to here.
4183
4184 2011-05-07  Bruno Haible  <bruno@clisp.org>
4185
4186         fseek: Respect rules for use of AC_LIBOBJ.
4187         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
4188         here...
4189         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
4190
4191 2011-05-07  Bruno Haible  <bruno@clisp.org>
4192
4193         fseeko: Respect rules for use of AC_LIBOBJ.
4194         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
4195         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
4196         here...
4197         * modules/fseeko (configure.ac): ... to here.
4198
4199 2011-06-13  Bruno Haible  <bruno@clisp.org>
4200
4201         gnulib-tool: Allow comments in the 'Depends-on' section.
4202         * doc/gnulib.texi (Module description): Mention comment syntax in the
4203         Depends-on section.
4204         * gnulib-tool (func_get_dependencies): Filter out comment lines.
4205
4206 2011-06-13  Bruno Haible  <bruno@clisp.org>
4207
4208         file-set.h: guard __attibute__ use, now that it's not always defined
4209         * lib/file-set.h (record_file): Use __attribute__ only with compiler
4210         versions that support it.  This fixes a coreutils build failure with
4211         the vendor cc on HP-UX 11.31.
4212
4213 2011-06-12  Bruno Haible  <bruno@clisp.org>
4214
4215         acl: Add support for HP-UX >= 11.11 JFS ACLs.
4216         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
4217         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
4218         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
4219         (acl, aclsort): New declarations.
4220         (aclv_nontrivial): New declaration.
4221         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
4222         (file_has_acl): Read also the second kind of HP-UX ACLs.
4223         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
4224         kind of HP-UX ACLs if the first kind fails.
4225         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
4226         second kind of HP-UX ACLs.
4227         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
4228         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
4229         agree.
4230         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
4231         hpuxjfs.
4232         Handle hpuxjfs.
4233         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
4234         hpuxjfs.
4235         Handle hpuxjfs.
4236         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
4237         (func_test_same_acls): Use both lsacl and getacl.
4238         Handle hpuxjfs.
4239         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
4240         (func_test_same_acls): Use both lsacl and getacl.
4241         Handle hpuxjfs.
4242
4243 2011-06-12  Bruno Haible  <bruno@clisp.org>
4244
4245         acl: Complete the 2010-08-10 fix.
4246         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
4247         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
4248         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
4249         explicitly.
4250         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
4251         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
4252
4253 2011-06-12  Bruno Haible  <bruno@clisp.org>
4254
4255         spawn-pipe tests: Comments.
4256         * tests/test-spawn-pipe-child.c (main): Update comment.
4257         Reported by James Youngman <jay@gnu.org>.
4258
4259 2011-06-11  James Youngman  <jay@gnu.org>
4260
4261         New module 'stat-size'.
4262         * modules/stat-size: New module.  Provides macros for accessing
4263         file size information in instances of struct stat.  Depends on the
4264         fileblocks module because it calls st_blocks.
4265         * lib/stat-size.h: New file, adapted from coreutils' system.h.
4266         * doc/gnulib.texi: Include stat-size.texi.
4267         * doc/stat-size.texi: Documentation for this module.
4268         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
4269         * m4/fileblocks.m4: Mention that stat-size depends on the call to
4270         AC_STRUCT_ST_BLOCKS.
4271
4272 2011-06-09  Bruno Haible  <bruno@clisp.org>
4273
4274         thread: Support pthreads-win32.
4275         * lib/glthread/thread.h (gl_thread_self): Define differently on
4276         pthreads-win32.
4277         (gl_null_thread): New declaration.
4278         (gl_thread_self_pointer): New macro.
4279         * lib/glthread/thread.c (gl_null_thread): New constant.
4280         * tests/test-lock.c: Use gl_thread_self_pointer instead of
4281         gl_thread_self.
4282         * tests/test-tls.c: Likewise.
4283         Suggested by Paul Eggert. Reported by Eric Blake.
4284
4285 2011-06-09  Bruno Haible  <bruno@clisp.org>
4286
4287         thread: Fix confusion between NULL and 0.
4288         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
4289         Reported by Paul Eggert.
4290
4291 2011-06-09  Bruno Haible  <bruno@clisp.org>
4292
4293         spawn-pipe tests: Avoid test failure on HP-UX 11.
4294         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
4295         is closed.
4296
4297 2011-06-09  Bruno Haible  <bruno@clisp.org>
4298
4299         acl tests: Fix compilation error on HP-UX 11.
4300         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
4301
4302 2011-06-09  Bruno Haible  <bruno@clisp.org>
4303
4304         rmdir: Avoid test failure on HP-UX 10.20.
4305         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
4306         EEXIST.
4307
4308 2011-06-08  Eric Blake  <eblake@redhat.com>
4309
4310         perror: fix test on mingw
4311         * modules/perror-tests (Depends-on): Add dup2.
4312
4313         strerror_r-posix: fix on MacOS
4314         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
4315         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
4316         logic bug.
4317         * lib/strerror_r.c (strerror_r): Fix the bug.
4318         * lib/strerror.c (strerror): Likewise.
4319         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
4320         problem.
4321         * doc/posix-functions/strerror.texi (strerror): Likewise.
4322         * doc/posix-functions/perror.texi (perror): Likewise.
4323         * tests/test-strerror.c (main): Enhance test.
4324         * tests/test-strerror_r.c (main): Likewise.
4325
4326 2011-06-08  Bruno Haible  <bruno@clisp.org>
4327
4328         gnulib-tool: Better isolation between different gnulib-tool invocations.
4329         * gnulib-tool: New option --witness-c-macro.
4330         (witness_c_macro): New variable.
4331         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
4332         AM_CPPFLAGS define it as a C macro.
4333         (func_emit_tests_Makefile_am): Likewise.
4334         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
4335         read it from there.
4336         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
4337         m4_define, not AC_DEFUN.
4338         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
4339         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
4340         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
4341         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
4342         s|...|...|, to substitute the values of the GNULIB_* module indicator
4343         variables.
4344         * modules/dirent (Makefile.am): Likewise.
4345         * modules/fcntl-h (Makefile.am): Likewise.
4346         * modules/iconv-h (Makefile.am): Likewise.
4347         * modules/langinfo (Makefile.am): Likewise.
4348         * modules/locale (Makefile.am): Likewise.
4349         * modules/math (Makefile.am): Likewise.
4350         * modules/netdb (Makefile.am): Likewise.
4351         * modules/poll-h (Makefile.am): Likewise.
4352         * modules/pty (Makefile.am): Likewise.
4353         * modules/search (Makefile.am): Likewise.
4354         * modules/signal (Makefile.am): Likewise.
4355         * modules/spawn (Makefile.am): Likewise.
4356         * modules/stdio (Makefile.am): Likewise.
4357         * modules/stdlib (Makefile.am): Likewise.
4358         * modules/string (Makefile.am): Likewise.
4359         * modules/sys_ioctl (Makefile.am): Likewise.
4360         * modules/sys_select (Makefile.am): Likewise.
4361         * modules/sys_socket (Makefile.am): Likewise.
4362         * modules/sys_stat (Makefile.am): Likewise.
4363         * modules/sys_times (Makefile.am): Likewise.
4364         * modules/sys_utsname (Makefile.am): Likewise.
4365         * modules/sys_wait (Makefile.am): Likewise.
4366         * modules/termios (Makefile.am): Likewise.
4367         * modules/time (Makefile.am): Likewise.
4368         * modules/unistd (Makefile.am): Likewise.
4369         * modules/wchar (Makefile.am): Likewise.
4370
4371 2011-06-08  Eric Blake  <eblake@redhat.com>
4372
4373         strerror: simplify replacement
4374         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
4375         * modules/strerror (configure.ac): No prereqs needed here...
4376         * modules/strerror-override (configure.ac): ...but this needs it.
4377         (Files): Add file for needed prereq macro.
4378
4379 2011-06-08  Bruno Haible  <bruno@clisp.org>
4380
4381         strerror_r-posix: Tweaks.
4382         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
4383         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
4384         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
4385         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
4386         (gl_FUNC_STRERROR_R): ... to here.
4387         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
4388
4389 2011-06-07  Eric Blake  <eblake@redhat.com>
4390
4391         perror: document fixed bugs
4392         * doc/posix-functions/perror.texi (perror): Document recent
4393         patches.
4394
4395 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
4396
4397         stat-time: get_stat_birthtime failure is better-defined
4398         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
4399         return a timestamp whose tv_sec and tv_nsec values are both -1.
4400         Previously, the spec said only that the tv_nsec value was negative.
4401         This upward-compatible change simplifies GNU tar a bit.
4402
4403 2011-06-07  Eric Blake  <eblake@redhat.com>
4404
4405         strerror_r-posix: work around cygwin 1.7.9
4406         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
4407         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
4408         bug without replacing strerror_r.
4409         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
4410         strerror_r is buggy, but without requiring strerror_r compilation.
4411         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
4412
4413         test-perror: relax test to ignore cygwin bug
4414         * tests/test-perror2.c (main): Relax test on requiring detection
4415         of stream errors, and use unbuffered stream.
4416         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
4417         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
4418         * doc/posix-functions/fputc.texi (fputc): Likewise.
4419         * doc/posix-functions/fputs.texi (fputs): Likewise.
4420         * doc/posix-functions/fputws.texi (fputws): Likewise.
4421         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
4422         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
4423         * doc/posix-functions/getopt.texi (getopt): Likewise.
4424         * doc/posix-functions/perror.texi (perror): Likewise.
4425         * doc/posix-functions/printf.texi (printf): Likewise.
4426         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
4427         * doc/posix-functions/psignal.texi (psignal): Likewise.
4428         * doc/posix-functions/putc.texi (putc): Likewise.
4429         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
4430         Likewise.
4431         * doc/posix-functions/putchar.texi (putchar): Likewise.
4432         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
4433         Likewise.
4434         * doc/posix-functions/puts.texi (puts): Likewise.
4435         * doc/posix-functions/putwc.texi (putwc): Likewise.
4436         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
4437         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
4438         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
4439         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
4440         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
4441         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
4442         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
4443         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
4444
4445 2011-05-22  Bruno Haible  <bruno@clisp.org>
4446
4447         strerror: Move AC_LIBOBJ invocations to module description.
4448         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
4449         gl_PREREQ_STRERROR invocations from here...
4450         * modules/strerror (configure.ac): ... to here.
4451
4452 2011-05-21  Bruno Haible  <bruno@clisp.org>
4453
4454         perror: Use common idiom.
4455         * modules/perror (configure.ac): Reorder statements.
4456
4457 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4458
4459         tests: fix usage message in 'mktempd_'
4460         * tests/init.sh (mktempd_): In the usage message, use literal
4461         'mktempd_', not '$ME' (which is even undefined), as the name of
4462         the subroutine.
4463
4464 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4465
4466         tests init: new function 'fatal_', for hard errors
4467         Before this patch, the only way offered by tests/init.sh to
4468         properly signal a hard error was the `framework_failure_'
4469         function.  But the error message issued by that function,
4470         as its name would suggest, refers to a set-up failure in the
4471         testsuite, while hard errors can obviously also be due to
4472         other reasons.  The best way to fix this inconsistency is to
4473         introduce a new function with a more general error message.
4474         * tests/init.sh (fatal_): New function.
4475
4476 2011-06-06  Eric Blake  <eblake@redhat.com>
4477
4478         canonicalize-lgpl: use common idiom
4479         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
4480         over newer POSIX -Rf.
4481         Reported by Bruno Haible.
4482
4483         canonicalize-lgpl: work around AIX realpath bug
4484         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
4485         * doc/posix-functions/realpath.texi (realpath): Document it.
4486         Reported by Bruno Haible.
4487
4488         strerror: work around FreeBSD bug
4489         * lib/strerror.c (strerror): Special case 0.
4490         Reported by Bruno Haible.
4491
4492         strerror-override: avoid bloating errno module
4493         * modules/errno (Files, configure.ac): Move replacement strings...
4494         * modules/strerror-override: ...to new module.
4495         * modules/strerror (Depends-on): Add strerror-override.
4496         * modules/strerror_r-posix (Depends-on): Likewise.
4497         * MODULES.html.sh: Document new module.
4498         Reported by Bruno Haible.
4499
4500 2011-06-06  Bruno Haible  <bruno@clisp.org>
4501
4502         spawn-pipe tests: Rename program.
4503         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
4504         * tests/test-spawn-pipe-child.c: Update comment.
4505         * tests/test-spawn-pipe.sh: Update.
4506         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
4507
4508         spawn-pipe tests: Link the child program only against libc.
4509         * tests/test-spawn-pipe-child.c: New file, extracted from
4510         tests/test-spawn-pipe.c.
4511         (main): Expect only one argument.
4512         (is_open): New function, copied from tests/test-pipe.c.
4513         * tests/test-spawn-pipe.c: Don't include <errno.h>.
4514         (child_main): Remove function.
4515         (test_pipe): Pass only one argument to the child program.
4516         (main): Remove child process code. Expect the child program's name as
4517         first argument.
4518         * tests/test-spawn-pipe.sh: Pass the child program's name as first
4519         argument.
4520         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
4521         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
4522         test-spawn-pipe-child against no libraries.
4523
4524 2011-06-06  Bruno Haible  <bruno@clisp.org>
4525
4526         careadlinkat: Avoid mismatch between ssize_t and int.
4527         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
4528         * lib/careadlinkat.c (careadlinkatcwd): Define always.
4529
4530 2011-06-06  Jim Meyering  <meyering@redhat.com>
4531
4532         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
4533         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
4534         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
4535
4536 2011-06-05  Bruno Haible  <bruno@clisp.org>
4537
4538         ansi-c++-opt: Interoperability with libtool.
4539         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
4540         set the variable to "no", not to ":".
4541         * NEWS: Mention the change.
4542
4543 2011-06-05  Bruno Haible  <bruno@clisp.org>
4544
4545         acl: Fix test failure on AIX 7.
4546         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
4547         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
4548
4549 2011-06-05  Bruno Haible  <bruno@clisp.org>
4550
4551         pipe-filter-ii: Fix test failure on AIX and IRIX.
4552         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
4553         with EAGAIN, retry with a smaller buffer size.
4554
4555 2011-06-05  Bruno Haible  <bruno@clisp.org>
4556
4557         localename: Fix link dependencies.
4558         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
4559         * modules/localename-tests (Makefile.am): Link test-localename with
4560         $(LIBTHREAD).
4561
4562 2011-06-05  Bruno Haible  <bruno@clisp.org>
4563
4564         error: Avoid gcc warning.
4565         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
4566
4567 2011-06-05  Bruno Haible  <bruno@clisp.org>
4568
4569         unsetenv: Avoid gcc warning.
4570         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
4571
4572 2011-06-05  Bruno Haible  <bruno@clisp.org>
4573
4574         setenv: Avoid gcc warning.
4575         * lib/setenv.c (setenv): Provide declaration if system lacks it.
4576
4577 2011-06-05  Bruno Haible  <bruno@clisp.org>
4578
4579         sys_select: Ensure memset is declared also on AIX 7.
4580         * lib/sys_select.in.h: Include <string.h> also on AIX.
4581         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
4582         self-contained also on AIX 7.1.
4583
4584 2011-06-04  Jim Meyering  <meyering@redhat.com>
4585
4586         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
4587         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
4588         function name, "error".
4589         (_gl_translatable_diag_func_re): New configurable variable.
4590
4591 2011-06-04  Bruno Haible  <bruno@clisp.org>
4592
4593         getopt: Avoid gcc warning.
4594         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
4595
4596 2011-06-04  Bruno Haible  <bruno@clisp.org>
4597
4598         strerror_r: Fix comments.
4599         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
4600         commit.
4601
4602 2011-06-04  Bruno Haible  <bruno@clisp.org>
4603
4604         perror: Fix compilation error.
4605         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
4606         Undefine fprintf, not sprintf.
4607         * modules/perror (Depends-on): Remove intprops, verify.
4608
4609 2011-06-04  Bruno Haible  <bruno@clisp.org>
4610
4611         setlocale: Enable replacement on Cygwin 1.5.
4612         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
4613         Cygwin 1.5.x.
4614         * doc/posix-functions/setlocale.texi: Mention that the problem with the
4615         LC_CTYPE category also exists on Cygwin 1.5.x.
4616
4617 2011-06-04  Bruno Haible  <bruno@clisp.org>
4618
4619         strerror-override: Don't disable symbol renamings.
4620         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
4621         * lib/strerror-override.c: Include config.h.
4622         (strerror_override): Don't undefine.
4623
4624 2011-06-03  Bruno Haible  <bruno@clisp.org>
4625
4626         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
4627         * lib/localename.h: Update copyright header.
4628         * lib/localename.c: Likewise.
4629         * lib/relocatable.h: Likewise.
4630         * lib/relocatable.c: Likewise.
4631
4632 2011-06-02  Bruno Haible  <bruno@clisp.org>
4633
4634         doc: Fix a module name.
4635         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
4636
4637 2011-06-02  Bruno Haible  <bruno@clisp.org>
4638
4639         pipe2: Remove dependency on 'nonblocking' module.
4640         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
4641         O_NONBLOCK is defined by gnulib.
4642         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
4643         is zero.
4644         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
4645         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
4646         defined by gnulib.
4647         (get_nonblocking_flag): New function.
4648         (main): Test O_NONBLOCK flag only if it is nonzero.
4649         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
4650
4651 2011-06-03  Jim Meyering  <meyering@redhat.com>
4652
4653         maint: three new prohibit-header-without-use rules
4654         Prohibit use of cloexec.h, posixver.h, same.h without use.
4655         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
4656         (sc_prohibit_posixver_without_use): Likewise.
4657         (sc_prohibit_same_without_use): Likewise.
4658
4659 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
4660
4661         allocator: 'die' routine is now given requested size
4662         * lib/allocator.h (struct allocator.die): New size arg.
4663         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
4664         If the actual problem is an ssize_t limitation, not a size_t or
4665         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
4666
4667 2011-06-01  Eric Blake  <eblake@redhat.com>
4668
4669         strerror: drop strerror_r dependency
4670         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
4671         * lib/strerror-override.c (strerror_override): ...to new file.
4672         * lib/strerror-override.h: Add prototype.
4673         * lib/strerror-impl.h: Delete.
4674         * lib/strerror.c (strerror): New implementation.
4675         * modules/errno (Files): Add new files.
4676         (configure.ac): Compile new file as appropriate.
4677         * modules/strerror (Files): Drop unused file.
4678         (Depends-on): Drop strerror_r-posix.
4679         * MODULES.html.sh: Document strerror_r-posix.
4680         Requested by Sam Steingold.
4681
4682         perror: call strerror_r directly
4683         * modules/perror (Files): Drop strerror-impl.h.
4684         * lib/perror.c (perror): Use our own stack buffer, rather than
4685         calling a wrapper that uses static storage.
4686         * doc/posix-functions/perror.texi (perror): Document a limitation
4687         of our replacement.
4688
4689         strerror_r: fix includes for FreeBSD
4690         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
4691         since we use abort on some platforms.
4692         Reported by Matthias Bolte.
4693
4694 2011-05-31  Bruno Haible  <bruno@clisp.org>
4695
4696         Fix link errors in tests: openat-die uses gettext-h.
4697         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
4698         against $(LIBINTL).
4699         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
4700         against $(LIBINTL).
4701         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
4702         $(LIBINTL).
4703         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
4704         against $(LIBINTL).
4705         * modules/linkat-tests (Makefile.am): Link test-linkat against
4706         $(LIBINTL).
4707         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
4708         $(LIBINTL).
4709         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
4710         against $(LIBINTL).
4711         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
4712         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
4713         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
4714         $(LIBINTL).
4715         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
4716         $(LIBINTL).
4717         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
4718         $(LIBINTL).
4719         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4720
4721 2011-05-31  Bruno Haible  <bruno@clisp.org>
4722
4723         Fix link errors in tests: wait-process uses gettext-h.
4724         * modules/nonblocking-pipe-tests (Makefile.am): Set
4725         test_nonblocking_pipe_main_LDADD.
4726         * modules/nonblocking-socket-tests (Makefile.am): Link
4727         test-nonblocking-socket-main against $(LIBINTL).
4728         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4729
4730 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
4731
4732         assert-h: work around 'verify' incompatibility
4733         * lib/verify.h: Use @...@ directives, not ifdef.
4734         * modules/assert-h (assert.h): Implement the directives.
4735         (assert.h): Substitute the symbol-prefix more consistently.
4736
4737 2011-05-29  Jim Meyering  <meyering@redhat.com>
4738
4739         trim: remove three superfluous assignments
4740         * lib/trim.c (trim2): Remove three superfluous assignments
4741         and correct brace positioning.
4742
4743 2011-05-29  Bruno Haible  <bruno@clisp.org>
4744
4745         wctype-h: Avoid namespace pollution on Solaris 2.6.
4746         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
4747         identifiers.
4748         * doc/posix-headers/wctype.texi: Mention the problem.
4749         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4750
4751 2011-05-28  Jim Meyering  <meyering@redhat.com>
4752
4753         parse-datetime.y: accommodate -Wstrict-overflow
4754         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
4755         placate -Wstrict-overflow.
4756
4757         trim: avoid a warning from -O2 -Wstrict-overflow
4758         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
4759
4760 2011-05-29  Bruno Haible  <bruno@clisp.org>
4761
4762         gnulib-tool: Fix bug in yesterday's commit.
4763         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
4764         twice.
4765
4766 2011-05-29  Bruno Haible  <bruno@clisp.org>
4767
4768         Allow multiple gnulib generated include files to be combined.
4769         * gnulib-tool (func_compute_include_guard_prefix): New function.
4770         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
4771         ${gl_include_guard_prefix} references.
4772         (func_import, func_create_testdir): Invoke
4773         func_compute_include_guard_prefix.
4774         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
4775         * lib/ctype.in.h: Likewise.
4776         * lib/dirent.in.h: Likewise.
4777         * lib/errno.in.h: Likewise.
4778         * lib/fcntl.in.h: Likewise.
4779         * lib/float.in.h: Likewise.
4780         * lib/getopt.in.h: Likewise.
4781         * lib/iconv.in.h: Likewise.
4782         * lib/langinfo.in.h: Likewise.
4783         * lib/locale.in.h: Likewise.
4784         * lib/math.in.h: Likewise.
4785         * lib/netdb.in.h: Likewise.
4786         * lib/netinet_in.in.h: Likewise.
4787         * lib/poll.in.h: Likewise.
4788         * lib/pthread.in.h: Likewise.
4789         * lib/pty.in.h: Likewise.
4790         * lib/sched.in.h: Likewise.
4791         * lib/se-selinux.in.h: Likewise.
4792         * lib/search.in.h: Likewise.
4793         * lib/signal.in.h: Likewise.
4794         * lib/spawn.in.h: Likewise.
4795         * lib/stdarg.in.h: Likewise.
4796         * lib/stddef.in.h: Likewise.
4797         * lib/stdint.in.h: Likewise.
4798         * lib/stdio.in.h: Likewise.
4799         * lib/stdlib.in.h: Likewise.
4800         * lib/string.in.h: Likewise.
4801         * lib/strings.in.h: Likewise.
4802         * lib/sys_file.in.h: Likewise.
4803         * lib/sys_ioctl.in.h: Likewise.
4804         * lib/sys_select.in.h: Likewise.
4805         * lib/sys_socket.in.h: Likewise.
4806         * lib/sys_stat.in.h: Likewise.
4807         * lib/sys_time.in.h: Likewise.
4808         * lib/sys_times.in.h: Likewise.
4809         * lib/sys_uio.in.h: Likewise.
4810         * lib/sys_utsname.in.h: Likewise.
4811         * lib/sys_wait.in.h: Likewise.
4812         * lib/sysexits.in.h: Likewise.
4813         * lib/termios.in.h: Likewise.
4814         * lib/time.in.h: Likewise.
4815         * lib/unistd.in.h: Likewise.
4816         * lib/wchar.in.h: Likewise.
4817         * lib/wctype.in.h: Likewise.
4818         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
4819         * modules/ctype (Makefile.am): Likewise.
4820         * modules/dirent (Makefile.am): Likewise.
4821         * modules/errno (Makefile.am): Likewise.
4822         * modules/fcntl-h (Makefile.am): Likewise.
4823         * modules/float (Makefile.am): Likewise.
4824         * modules/getopt-posix (Makefile.am): Likewise.
4825         * modules/iconv-h (Makefile.am): Likewise.
4826         * modules/langinfo (Makefile.am): Likewise.
4827         * modules/locale (Makefile.am): Likewise.
4828         * modules/math (Makefile.am): Likewise.
4829         * modules/netdb (Makefile.am): Likewise.
4830         * modules/netinet_in (Makefile.am): Likewise.
4831         * modules/poll-h (Makefile.am): Likewise.
4832         * modules/pthread (Makefile.am): Likewise.
4833         * modules/pty (Makefile.am): Likewise.
4834         * modules/sched (Makefile.am): Likewise.
4835         * modules/search (Makefile.am): Likewise.
4836         * modules/selinux-h (Makefile.am): Likewise.
4837         * modules/signal (Makefile.am): Likewise.
4838         * modules/spawn (Makefile.am): Likewise.
4839         * modules/stdarg (Makefile.am): Likewise.
4840         * modules/stddef (Makefile.am): Likewise.
4841         * modules/stdint (Makefile.am): Likewise.
4842         * modules/stdio (Makefile.am): Likewise.
4843         * modules/stdlib (Makefile.am): Likewise.
4844         * modules/string (Makefile.am): Likewise.
4845         * modules/strings (Makefile.am): Likewise.
4846         * modules/sys_file (Makefile.am): Likewise.
4847         * modules/sys_ioctl (Makefile.am): Likewise.
4848         * modules/sys_select (Makefile.am): Likewise.
4849         * modules/sys_socket (Makefile.am): Likewise.
4850         * modules/sys_stat (Makefile.am): Likewise.
4851         * modules/sys_time (Makefile.am): Likewise.
4852         * modules/sys_times (Makefile.am): Likewise.
4853         * modules/sys_uio (Makefile.am): Likewise.
4854         * modules/sys_utsname (Makefile.am): Likewise.
4855         * modules/sys_wait (Makefile.am): Likewise.
4856         * modules/sysexits (Makefile.am): Likewise.
4857         * modules/termios (Makefile.am): Likewise.
4858         * modules/time (Makefile.am): Likewise.
4859         * modules/unistd (Makefile.am): Likewise.
4860         * modules/wchar (Makefile.am): Likewise.
4861         * modules/wctype-h (Makefile.am): Likewise.
4862         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
4863
4864 2011-05-29  Bruno Haible  <bruno@clisp.org>
4865
4866         assert-h: Allow multiple gnulib generated replacements to coexist.
4867         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
4868
4869 2011-05-29  Bruno Haible  <bruno@clisp.org>
4870
4871         argp: Allow coexistence with strerror_r-posix module.
4872         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
4873         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
4874         by gnulib's <string.h> replacement), assume it has the POSIX signature,
4875         not the glibc signature.
4876
4877 2011-05-28  Bruno Haible  <bruno@clisp.org>
4878
4879         gnulib-tool: Alternative structure of testdirs, similar to --import.
4880         * gnulib-tool: New option --single-configure.
4881         (func_usage): Document it.
4882         (single_configure): New variable.
4883         (func_modules_transitive_closure_separately,
4884         func_modules_transitive_closure_separately,
4885         func_determine_use_libtests, func_modules_add_dummy_separately,
4886         func_modules_to_filelist_separately): New functions, extracted from
4887         func_import.
4888         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
4889         (func_import): Use the new functions.
4890         (func_create_testdir): Set final_modules. Handle $single_configure =
4891         true case.
4892
4893 2011-05-28  Bruno Haible  <bruno@clisp.org>
4894
4895         getloadavg: Remove an unreliable safety check.
4896         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
4897         getloadavg.c is in place.
4898         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
4899         Reported by Sam Steingold <sds@gnu.org>.
4900
4901 2011-05-28  Bruno Haible  <bruno@clisp.org>
4902
4903         doc: Cleanup yet another file produced by texinfo.tex.
4904         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
4905
4906 2011-05-28  Bruno Haible  <bruno@clisp.org>
4907
4908         Finish the conditional dependencies mechanism.
4909         * gnulib-tool: New option --no-conditional-dependencies.
4910         (func_usage): Document it. Don't mark --conditional-dependencies as
4911         experimental.
4912         (cond_dependencies): The possible values can now be true, false, empty.
4913         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
4914         (func_import): Store setting in gnulib-cache.m4 and read it from there.
4915         * doc/gnulib-tool.texi (Conditional dependencies): New section.
4916
4917 2011-05-28  Bruno Haible  <bruno@clisp.org>
4918
4919         doc: Use a recent texinfo.tex.
4920         * doc/Makefile (tex_opts): New variable.
4921         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
4922
4923 2011-05-28  Jim Meyering  <meyering@redhat.com>
4924
4925         intprops.h: adjust comment to match code change
4926         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
4927         only once, it *may* have side effects.  Also fix an unrelated typo.
4928         (_GL_INT_SIGNED): Likewise.
4929
4930 2011-05-26  Simon Josefsson  <simon@josefsson.org>
4931
4932         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
4933
4934 2011-05-26  Bruno Haible  <bruno@clisp.org>
4935
4936         mbsrchr: Avoid collision with system function on Interix.
4937         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
4938         Reported by Markus Duft <mduft@gentoo.org>.
4939
4940 2011-05-15  James Youngman  <jay@gnu.org>
4941
4942         getopt: for ambiguous options, enumerate the possibilities.
4943         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
4944         the ambiguous options when an ambiguous prefix is given. This was
4945         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
4946         glibc change was
4947         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
4948
4949 2011-05-25  Eric Blake  <eblake@redhat.com>
4950
4951         getcwd: work around mingw bug
4952         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
4953         * doc/posix-functions/getcwd.texi (getcwd): Document it.
4954         Reported by Matthias Bolte.
4955
4956 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
4957
4958         test-intprops: disable -Wtype-limits diagnostics
4959         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
4960         diagnostics.  Otherwise, the integer overflow macros generate many
4961         diagnostics.  Reported by Jim Meyering in
4962         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
4963
4964         intprops: shorten, to pacify gcc -Woverlength-strings
4965         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
4966         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
4967         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
4968         likely to run afoul of C compiler limits for string constant lengths.
4969         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
4970
4971 2011-05-24  Eric Blake  <eblake@redhat.com>
4972
4973         docs: document recently fixed glibc printf bug
4974         * doc/posix-functions/fprintf.texi (fprintf): Document it.
4975         * doc/posix-functions/printf.texi (printf): Likewise.
4976         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
4977         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
4978
4979         closein-tests: convert to init.sh
4980         * modules/closein-tests (Files): Add init.sh
4981         * tests/test-closein.sh Use it.
4982
4983         yesno-tests: convert to init.sh
4984         * modules/yesno-tests (Files): Add init.sh.
4985         * tests/test-yesno.sh: Use it.
4986
4987         atexit-tests: ensure reliable exit status
4988         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
4989         Reported by Bruno Haible.
4990
4991 2011-05-24  Bruno Haible  <bruno@clisp.org>
4992
4993         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
4994         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
4995         gl_PREREQ_STRERROR_R invocations from here...
4996         * modules/strerror_r-posix (configure.ac): ... to here.
4997
4998 2011-05-24  Eric Blake  <eblake@redhat.com>
4999
5000         strerror_r: fix missing header
5001         * lib/strerror_r.c: Avoid compiler warning about snprintf.
5002
5003         strerror_r: fix AIX test failures
5004         * lib/strerror_r.c (strerror_r): Convert silent truncation to
5005         ERANGE failure.
5006
5007         strerror_r: fix Solaris test failures
5008         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
5009         failures.
5010         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
5011
5012         strerror_r: enforce POSIX recommendations
5013         * lib/strerror_r.c (safe_copy): New helper method.
5014         (strerror_r): Guarantee a non-empty string.
5015         * tests/test-strerror_r.c (main): Enhance tests to incorporate
5016         recent POSIX rulings and to match our strerror guarantees.
5017         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
5018
5019 2011-05-24  Jim Meyering  <meyering@redhat.com>
5020
5021         test-perror2.c: avoid warning about unused variable
5022         * tests/test-perror2.c (main): Remove declaration of unused "fp".
5023
5024 2011-05-24  Eric Blake  <eblake@redhat.com>
5025
5026         perror: avoid spurious test failure on HP-UX
5027         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
5028
5029         tests: fix logic bug in init.sh
5030         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
5031         shell.
5032
5033 2011-05-24  Jim Meyering  <meyering@redhat.com>
5034
5035         utimensat: do not reference an out-of-scope buffer
5036         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
5037         declared in an inner scope, yet "times" would be dereferenced outside
5038         the scope in which "ts" was valid.
5039         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
5040         of ts[2] "out/up", so that the use of aliased "times" (via
5041         "times = ts;") does not end up referencing an out-of-scope "ts"
5042
5043         opendir-safer.c: don't clobber errno; don't close negative FD
5044         * lib/opendir-safer.c (opendir_safer):
5045         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
5046         file descriptor, and more importantly, don't clobber the
5047         offending errno value with EINVAL.  Before, upon failure
5048         of dup_safer, we would pass the negative file descriptor to
5049         fdopendir, which would clobber errno.
5050
5051 2011-05-23  Bruno Haible  <bruno@clisp.org>
5052
5053         idcache: Fix module description.
5054         * modules/idcache (Include): Set to "idcache.h".
5055
5056 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
5057
5058         gnulib-tool: fix portability problem with MacOS sed
5059         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
5060         before the "}".  Problem reported by Leo in
5061         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
5062         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
5063         sed_extract_condition1, sed_extract_condition2.
5064
5065 2011-05-23  Bruno Haible  <bruno@clisp.org>
5066
5067         hash: Simplify autoconf macro.
5068         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
5069
5070 2011-05-23  Bruno Haible  <bruno@clisp.org>
5071
5072         getugroups: Fix module description.
5073         * modules/getugroups (Include): Set to "getugroups.h".
5074
5075 2011-05-23  Bruno Haible  <bruno@clisp.org>
5076
5077         linkat: Simplify autoconf macro.
5078         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
5079
5080 2011-05-23  Bruno Haible  <bruno@clisp.org>
5081             Eric Blake  <eblake@redhat.com>
5082
5083         linkat, renameat: Update dependencies.
5084         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
5085         * modules/linkat (Depends-on): Likewise. Remove also readlink,
5086         symlinkat.
5087
5088 2011-05-23  Jim Meyering  <meyering@redhat.com>
5089
5090         maint.mk: more tight_scope improvements
5091         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
5092         (_gl_TS_headers): Define only in if-0'd block.
5093         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
5094         sometimes we must *not* use it.  Adjust uses accordingly.
5095         (sc_tight_scope): Use much simpler grep-based test to determine
5096         whether we skip this rule.
5097
5098         maint.mk: generalize/improve the tight-scope rule
5099         * top/maint.mk: Emit a warning when the test is skipped.
5100         (_gl_TS_dir): Add $(srcdir)/ prefix.
5101         (_gl_TS_function_match): Simplify, rather than trying
5102         to enumerate common types.  Otherwise, it would fail to match an
5103         "extern unsigned char const *" declaration in idutils.
5104         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
5105         a way to support use of that type of macro.
5106         (_gl_TS_var_match): Simplify regexp.
5107         (_gl_TS_obj_files): New configurable variable.
5108         (_gl_TS_headers): Likewise.
5109
5110 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
5111
5112         verify: fix bug when gnulib <assert.h> is also included
5113         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
5114         is defined, not if _GL_STATIC_ASSERT_H is not defined.
5115         Perhaps there's a better way, but this fixes the immediate problem.
5116         Problem reported by Bruno Haible in
5117         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
5118
5119 2011-05-22  Bruno Haible  <bruno@clisp.org>
5120
5121         xgetcwd: Simplify autoconf macro.
5122         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
5123
5124 2011-05-22  Bruno Haible  <bruno@clisp.org>
5125
5126         New module 'mktime-internal'.
5127         * modules/mktime-internal: New file.
5128         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
5129         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
5130         mktime_internal as a C macro if libc has __mktime_internal.
5131         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
5132         conditions.
5133         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
5134
5135 2011-05-22  Bruno Haible  <bruno@clisp.org>
5136
5137         timegm: Correct mktime replacement statements.
5138         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
5139         defining mktime as a C macro. This completes a 2009-07-28 commit.
5140
5141 2011-05-22  Bruno Haible  <bruno@clisp.org>
5142
5143         timegm: Simplify autoconf macro.
5144         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
5145
5146 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
5147
5148         clock-time: change to LGPLv2+.
5149         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
5150         BSD-like but we have no mark for that; this is good enough for now.
5151
5152 2011-05-21  Bruno Haible  <bruno@clisp.org>
5153
5154         strerror_r: Fix comments.
5155         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
5156
5157 2011-05-21  Bruno Haible  <bruno@clisp.org>
5158
5159         relocatable-prog-wrapper: Fix possible link error.
5160         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
5161         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
5162         (gl_FUNC_SETENV): ... to here.
5163         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
5164         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
5165
5166 2011-05-21  Bruno Haible  <bruno@clisp.org>
5167
5168         relocatable-prog-wrapper: Assume strerror() exists.
5169         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
5170         m4/strerror.m4.
5171         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
5172         * lib/relocwrapper.c: Remove mention of strerror module.
5173         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
5174         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
5175         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
5176         C macro.
5177
5178 2011-05-21  Bruno Haible  <bruno@clisp.org>
5179
5180         select: Simplify replacement idiom.
5181         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
5182         Win32 platforms.
5183         * lib/sys_select.in.h (select): Simplify accordingly.
5184         * modules/select (Depends-on): Likewise.
5185
5186 2011-05-21  Bruno Haible  <bruno@clisp.org>
5187
5188         mkdir-p: Simplify autoconf macro.
5189         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
5190         gl_FUNC_LCHOWN.
5191
5192 2011-05-21  Eric Blake  <eblake@redhat.com>
5193
5194         strerror_r: avoid clobbering strerror on cygwin
5195         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
5196         fall back instead to sys_errlist.
5197         * modules/strerror (configure.ac): Add witness.
5198         * tests/test-strerror_r.c (main): Enhance test.
5199         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
5200         * tests/test-perror2.c (main): Free memory before exit.
5201
5202 2011-05-21  Bruno Haible  <bruno@clisp.org>
5203
5204         mkdtemp: Use gnulib naming conventions.
5205         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
5206         * modules/mkdtemp (configure.ac): Update.
5207
5208 2011-05-20  Eric Blake  <eblake@redhat.com>
5209
5210         strerror_r: avoid corrupting errno on Solaris
5211         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
5212         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
5213
5214         strerror_r: avoid compiler warning
5215         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
5216
5217         strerror_r: simplify AIX code
5218         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
5219
5220         test-perror: avoid spurious failure on FreeBSD
5221         * modules/perror-tests (Depends-on): Add strerror, now that
5222         strerror_r no longer pulls it in.
5223
5224 2011-05-20  Bruno Haible  <bruno@clisp.org>
5225
5226         strerror_r-posix: Remove unused dependencies.
5227         * modules/strerror_r-posix (Depends-on): Remove strerror.
5228         Reported by Eric Blake.
5229
5230 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
5231
5232         intprops: remove assumption about A|B representation
5233         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
5234         is a valid integer if both A and B are.  Although this is true for
5235         all known practical hosts, the C standard doesn't guarantee it,
5236         and the code need not assume it.  Also, this change may work around
5237         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
5238         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
5239
5240 2011-05-20  Eric Blake  <eblake@redhat.com>
5241
5242         perror: work around FreeBSD bug
5243         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
5244         is broken.  Move AC_LIBOBJ...
5245         * modules/perror (configure.ac): Here.
5246         * doc/posix-functions/perror.texi (perror): Document this.
5247         * tests/test-perror2.c (main): Enhance test.
5248
5249         test-perror: check for strerror interactions
5250         * tests/macros.h (STREQ): Add macro.
5251         * modules/perror-tests (Files): Add second test.
5252         * tests/test-perror2.c (main): New file.
5253         * doc/posix-functions/perror.texi (perror): Document glibc bug.
5254
5255         test-perror: rewrite to use init script
5256         * modules/perror-tests (Files): Add init.sh.
5257         * tests/test-perror.sh: Use temporary directory.
5258
5259 2011-05-20  Jim Meyering  <meyering@redhat.com>
5260
5261         maint: replace misused "a" with "an"
5262         * doc/intprops.texi: "a integer"
5263         * doc/regex.texi: "a explanation"
5264         * lib/alignof.h: "a object"
5265         * lib/argmatch.h: "a explanation"
5266         * lib/argp-help.c: "a option" and "a OPTION_DOC"
5267         * lib/stdint.in.h: "a integer"
5268         * lib/userspec.c: "a owner"
5269         * doc/gnulib.texi: Fix "a idea", and reword.
5270
5271 2011-05-19  Jim Meyering  <meyering@redhat.com>
5272
5273         maint: correct misuse of "a" and "an"
5274         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
5275         * lib/argp-help.c: "an docum...": s/an/a/
5276         * lib/argp-parse.c: "An vector": s/An/A/
5277         * lib/execute.c: "an native": s/an/a/
5278         * lib/spawn-pipe.c: Likewise.
5279         * lib/gc.h: "an Gc_rc": s/an/a/
5280         * lib/unigbrk.in.h: "an grapheme": s/an/a/
5281         * lib/fts.c: "an stat.st_dev": s/an/a/
5282
5283 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
5284
5285         intprops-tests: work around HP-UX 11.23 cc bug with constants
5286         * tests/test-intprops.c (VERIFY): New macro.
5287         (main): Use it, instead of verify, to work around the compiler bug; see
5288         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
5289
5290         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
5291         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
5292         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
5293         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
5294         (_GL_REMAINDER_OVERFLOW): Use it.
5295
5296         intprops-tests: revert unsigned part of previous change
5297         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
5298         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
5299         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
5300         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
5301
5302 2011-05-19  Bruno Haible  <bruno@clisp.org>
5303
5304         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
5305         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
5306         strerror_r() returned without filling the buffer.
5307         Reported by Eric Blake.
5308
5309 2011-05-19  Eric Blake  <eblake@redhat.com>
5310
5311         strerror_r: guarantee unchanged errno
5312         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
5313         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
5314         failure.
5315         * tests/test-strerror_r.c (main): Enhance test.
5316
5317 2011-05-19  Bruno Haible  <bruno@clisp.org>
5318
5319         strerror_r: Reorder #if blocks.
5320         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
5321         for consistency with the previous commit.
5322
5323 2011-05-19  Bruno Haible  <bruno@clisp.org>
5324
5325         perror: Avoid clobbering the strerror buffer when possible.
5326         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
5327         * lib/strerror.c: Include it.
5328         * modules/strerror (Files): Add lib/strerror-impl.h.
5329         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
5330         (my_strerror): New function, defined through lib/strerror-impl.h.
5331         (perror): Use it instead of strerror.
5332         * modules/perror (Files): Add lib/strerror-impl.h.
5333         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
5334
5335 2011-05-19  Eric Blake  <eblake@redhat.com>
5336
5337         strerror_r: fix on newer cygwin
5338         * lib/strerror_r.c (strerror_r): Cygwin now has
5339         __xpg_strerror_r, use it.
5340
5341 2011-05-19  Bruno Haible  <bruno@clisp.org>
5342
5343         strerror_r: Avoid clobbering the strerror buffer when possible.
5344         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
5345         (sys_nerr, sys_errlist): New declarations.
5346         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
5347         HP-UX, native Win32, IRIX, and 32-bit Solaris.
5348         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
5349
5350 2011-05-19  Bruno Haible  <bruno@clisp.org>
5351
5352         strerror_r: Fix test failure on mingw.
5353         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
5354         EXTEND_STRERROR_R.
5355         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
5356         macros from errno.in.h instead.
5357
5358 2011-05-19  Eric Blake  <eblake@redhat.com>
5359
5360         strerror: relax test for Solaris
5361         * tests/test-strerror.c (main): Permit Solaris behavior.
5362         * tests/test-strerror_r.c (main): Likewise.
5363
5364         strerror: enforce POSIX ruling on strerror(0)
5365         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
5366         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
5367         * lib/strerror_r.c (rpl_strerror_r): Work around it.
5368         * doc/posix-functions/strerror.texi (strerror): Document it.
5369         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
5370         * tests/test-strerror.c (main): Strengthen test.
5371         * tests/test-strerror_r.c (main): Likewise.
5372
5373 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
5374
5375         intprop-tests: port to older and more-pedantic compilers
5376         * modules/intprops-tests (Files): Add tests/macros.h.
5377         * tests/test-intprops.c: Include macros.h.
5378         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
5379         it's no longer documented to expand to an integer constant expression.
5380         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
5381         argument is floating point, as it's no longer documented to expand
5382         to an integer constant expression in that case.
5383         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
5384         compiler bugs reported by Bruno Haible.  See
5385         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
5386         (U0, U1): New constants, to work around the same bugs.  Also,
5387         in tests, use e.g., "(unsigned int) 39" rather than "39u".
5388
5389         intprops: work around C compiler bugs
5390         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
5391         bug in Sun C 5.11 2010/08/13 and other compilers; see
5392         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
5393
5394         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
5395         * doc/intprops.texi (Integer Type Determination): Fix
5396         documentation for TYPE_IS_INTEGER: it returns an constant
5397         expression, not an integer constant expression.  Fix doc for
5398         TYPE_SIGNED: it returns an integer constant expression only if its
5399         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
5400         hardly worth documented that way....)
5401
5402 2011-05-18  Bruno Haible  <bruno@clisp.org>
5403
5404         strerror_r: Avoid clobbering the strerror buffer when possible.
5405         * lib/strerror_r.c (strerror_r): Merge the three implementations.
5406         Handle gnulib defined errno values here. When strerror() returns NULL
5407         or an empty string, return EINVAL.
5408         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
5409         gnulib defined errno values here.
5410         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
5411
5412 2011-05-18  Eric Blake  <eblake@redhat.com>
5413
5414         fnmatch: avoid compiler warning
5415         * lib/fnmatch_loop.c (FCT): Use correct type.
5416         Reported by Matthias Bolte.
5417
5418 2011-05-13  Jim Meyering  <meyering@redhat.com>
5419
5420         maint.mk: three new prohibit_<HDR>_without_use rules
5421         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
5422         (sc_prohibit_stdio-safer_without_use): Likewise.
5423         (sc_prohibit_xfreopen_without_use): Likewise.
5424
5425 2011-05-17  Jim Meyering  <meyering@redhat.com>
5426
5427         announce-gen: fail if the NEWS delta is empty
5428         If there's nothing noteworthy in NEWS, then either you forgot
5429         or you shouldn't be releasing.
5430         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
5431
5432 2011-05-17  Pádraig Brady <P@draigBrady.com>
5433
5434         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
5435         reserved symbols starting with double underscore from the check.
5436
5437 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
5438
5439         intprops: add doc
5440         * doc/intprops.texi: New file, documenting intprops.
5441         * doc/gnulib.texi (Particular Modules): Include it.
5442
5443         verify: add doc to gnulib manual and fix example
5444         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
5445         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
5446         (Compile-time Assertions): Fix example so it can't overflow.
5447
5448 2011-05-17  Jim Meyering  <meyering@redhat.com>
5449
5450         warnings.m4: don't usurp save_CPPFLAGS variable name
5451         * m4/warnings.m4: Prefix local temporary variable name with gl_.
5452
5453         doc: fix typo
5454         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
5455
5456 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
5457             Bruno Haible  <bruno@clisp.org>
5458
5459         doc: Tweak recent change.
5460         * README (Portability guidelines): Tweak new text.
5461         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
5462         Interix 6.1.
5463
5464 2011-05-16  Eric Blake  <eblake@redhat.com>
5465
5466         inttypes: avoid autoconf warning
5467         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
5468         * m4/stdint.m4 (gl_STDINT_H): Likewise.
5469
5470 2011-05-16  Sam Steingold <sds@gnu.org>
5471         and Eric Blake  <eblake@redhat.com>
5472
5473         vc-list-files: accept multiple directory operands
5474         * build-aux/vc-list-files: Iterate over all remaining operands.
5475
5476 2011-05-16  Bruno Haible  <bruno@clisp.org>
5477
5478         Fix confusion regarding deprecated modules.
5479         * modules/calloc (Status, Notice): Mark module as deprecated, not
5480         obsolete.
5481         * modules/fnmatch-posix (Status, Notice): Likewise.
5482         * modules/getdate (Status, Notice): Likewise.
5483         * modules/getopt (Status, Notice): Likewise.
5484         * modules/malloc (Status, Notice): Likewise.
5485         * modules/pipe (Status, Notice): Likewise.
5486         * modules/realloc (Status, Notice): Likewise.
5487         * modules/rename-dest-slash (Status, Notice): Likewise.
5488         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
5489         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
5490         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
5491         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
5492         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
5493
5494 2011-05-16  Bruno Haible  <bruno@clisp.org>
5495
5496         doc: List the target platforms.
5497         * doc/gnulib-intro.texi (Target Platforms): New section.
5498         * doc/gnulib.texi (Introduction): Update menu.
5499         * README (Portability guidelines): Refer to the new section. Update
5500         statement about oldest supported environment. Remove rationale why
5501         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
5502         unportable C89 function.
5503         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
5504         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
5505
5506 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
5507
5508         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
5509
5510 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
5511
5512         intprops-tests: new module
5513         * modules/intprops-tests, tests/test-intprops.c: New files.
5514
5515         intprops: add safe, portable integer overflow checking
5516         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
5517         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
5518         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
5519         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
5520         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
5521         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
5522         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
5523         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
5524         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
5525         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
5526         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
5527
5528 2011-05-12  James Youngman  <jay@gnu.org>
5529
5530         Add a test for glibc's Bugzilla bug #12378.
5531         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
5532         doesn't allow the literal matching of a lone "[" (which is
5533         required by POSIX).
5534         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
5535
5536 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
5537
5538         Sync glibc change fixing Bugzilla bug #12378.
5539         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
5540         beginning and fall back to matching as normal character if the
5541         string ends before the matching ']' is found.  This is what POSIX
5542         requires.
5543
5544 2011-05-13  Eric Blake  <eblake@redhat.com>
5545
5546         getcwd-lgpl: relax test for FreeBSD
5547         * doc/posix-functions/getcwd.texi (getcwd): Document portability
5548         issue.
5549         * tests/test-getcwd-lgpl.c (main): Relax test.
5550         Reported by Matthias Bolte.
5551
5552 2011-05-11  Eric Blake  <eblake@redhat.com>
5553
5554         test-fflush: silence compiler warning
5555         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
5556
5557 2011-05-11  Bruno Haible  <bruno@clisp.org>
5558
5559         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
5560         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
5561         * modules/canonicalize (Depends-on): Add 'nocrash'.
5562         * modules/canonicalize-lgpl (Depends-on): Likewise.
5563         * doc/posix-functions/realpath.texi: Update platforms list.
5564         Reported by Ryan Schmidt <ryandesign@macports.org>.
5565
5566 2011-05-11  Bruno Haible  <bruno@clisp.org>
5567
5568         group-member: Declare function in <unistd.h>.
5569         * lib/unistd.in.h (group_member): New declaration.
5570         * lib/group-member.h: Remove file.
5571         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
5572         * tests/test-unistd-c++.cc: Check signature of group_member.
5573         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
5574         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
5575         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
5576         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
5577         HAVE_GROUP_MEMBER.
5578         * modules/group-member (Files): Remove lib/group-member.h.
5579         (Depends-on): Add unistd. Specify conditions.
5580         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
5581         (Include): Change to <unistd.h>.
5582         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
5583         HAVE_GROUP_MEMBER.
5584         * NEWS: Mention the change.
5585         * lib/euidaccess.c: Don't include group-member.h.
5586
5587 2011-05-11  Bruno Haible  <bruno@clisp.org>
5588
5589         group-member: Document module.
5590         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
5591         module.
5592
5593 2011-05-11  Bruno Haible  <bruno@clisp.org>
5594
5595         fclose: Fix mistake earlier today.
5596         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
5597
5598 2011-05-11  Eric Blake  <eblake@redhat.com>
5599
5600         fclose: preserve fflush errors
5601         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
5602         Reported by Jim Meyering.
5603
5604         bootstrap: support a prereq of 'rpcgen -' on RHEL5
5605         * build-aux/bootstrap (check_versions): When no specific version
5606         is required, merely check that the app produces an exit status
5607         that indicates its existence.
5608
5609         maint.mk: drop redundant check
5610         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
5611         the same but better.
5612
5613 2011-05-11  Bruno Haible  <bruno@clisp.org>
5614
5615         fclose: Fix possible link error.
5616         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
5617         unregister_shadow_fd. Improve comments.
5618         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
5619         Eric Blake.
5620
5621 2011-05-11  Jim Meyering  <meyering@redhat.com>
5622
5623         maint.mk: improve "can not" detection and generalize rule name
5624         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
5625         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
5626         Use the same technique as in sc_prohibit_doubled_word, so that
5627         we recognize "can not" also when the words are separated by a newline.
5628         Suggested by Eric Blake.
5629         (perl_filename_lineno_text_): Define.  Factored out of...
5630         (prohibit_doubled_word_): ...here.  Use the new definition.
5631         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
5632         (prohibit_undesirable_word_seq_RE_): New overridable variable.
5633         (ignore_undesirable_word_sequence_RE_): New overridable variable.
5634
5635 2011-05-10  Eric Blake  <eblake@redhat.com>
5636
5637         fclose: avoid double close race when possible
5638         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
5639         all but WINDOWS_SOCKETS.
5640
5641 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
5642
5643         openat: correct new comment
5644         * lib/openat-proc.c (openat_proc_name): Correct the comment.
5645
5646 2011-05-10  Jim Meyering  <meyering@redhat.com>
5647
5648         openat: add comments
5649         * lib/openat-proc.c (openat_proc_name): Add comments,
5650         mostly from Eric Blake.
5651
5652 2011-05-09  Eric Blake  <eblake@redhat.com>
5653
5654         openat: reduce syscalls in first probe of /proc
5655         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
5656         be a directory.  Simplify the probe for .. bugs.
5657         * modules/openat (Depends-on): Drop same-inode.
5658         Reported by Bastien ROUCARIES.
5659
5660 2011-05-09  Jim Meyering  <meyering@redhat.com>
5661
5662         maint.mk: change semantics/name of tight_scope variables
5663         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
5664         Rename variables to align with semantics that make them more useful.
5665
5666         maint.mk: tweak new rule's name not to impinge
5667         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
5668         (sc_tight_scope): Use new rule name rather than $@-0.
5669
5670         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
5671         * top/maint.mk (sc_tight_scope): New rule.
5672         (sc_tight_scope-0): New rule, ifdef'd out.
5673         (_gl_TS_dir): Default.
5674         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
5675         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
5676
5677 2011-05-09  Simon Josefsson  <simon@josefsson.org>
5678
5679         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
5680         Haible <bruno@clisp.org>.
5681
5682 2011-05-08  Bruno Haible  <bruno@clisp.org>
5683
5684         Comments.
5685         * m4/isnanf.m4: Add comment.
5686         * m4/isnanl.m4: Likewise.
5687
5688 2011-05-08  Bruno Haible  <bruno@clisp.org>
5689
5690         glob: Remove obsolete macro.
5691         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
5692
5693 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
5694
5695         intprops: Sun C 5.11 supports __typeof__
5696         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
5697         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
5698         which is new.
5699         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
5700
5701         intprops: switch to usual gnulib indenting and naming
5702         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
5703         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
5704
5705         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
5706
5707 2011-05-08  Jim Meyering  <meyering@redhat.com>
5708
5709         maint.mk: suppress "Entering/Leaving directory" diag in announcement
5710         * top/maint.mk (release-prep): Use make's --no-print-directory
5711         option when generating the announcement.  This eliminates the
5712         pesky "make[2]: Entering/Leaving directory" diagnostics in the
5713         generated announcement template.
5714
5715 2011-05-08  Bruno Haible  <bruno@clisp.org>
5716
5717         tzset: Fix gettimeofday wrapper on Solaris 2.6.
5718         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
5719         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
5720
5721 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
5722
5723         ignore-value, verify: Omit include files from lib_SOURCES.
5724         * modules/ignore-value, modules/verify (Makefile.am):
5725         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
5726         that leads Automake to duplicate use of am__objects_... variables
5727         in Makefile.in.  See
5728         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
5729
5730 2011-05-07  Bruno Haible  <bruno@clisp.org>
5731
5732         fclose: Simplify autoconf macro.
5733         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
5734         defined.
5735
5736 2011-05-07  Bruno Haible  <bruno@clisp.org>
5737
5738         canonicalize-lgpl: Fix autoconf macro ordering bug.
5739         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
5740         gl_STDLIB_H_DEFAULTS.
5741
5742 2011-05-06  Eric Blake  <eblake@redhat.com>
5743
5744         maintainer-makefile: make sc_po_check easier to tune
5745         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
5746         to probe for strings, such as an alternate location for gnulib.
5747
5748         fclose: guarantee behavior on seekable stdin
5749         * modules/fclose (Depends-on): Add fflush.
5750         * doc/posix-functions/fclose.texi (fclose): Document this.
5751         * tests/test-fclose.c (main): Make test for this unconditional.
5752
5753 2011-05-06  Bruno Haible  <bruno@clisp.org>
5754
5755         fflush, fpurge: Relicense under LGPLv2+.
5756         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
5757         * modules/fpurge (License): Likewise.
5758         With permission from Eric Blake and Jim Meyering.
5759         Suggested by Eric Blake.
5760
5761 2011-05-06  Karl Berry  <karl@gnu.org>
5762
5763         * MODULES.html.sh (func_all_modules): remove exit.
5764
5765 2011-05-06  Jim Meyering  <meyering@redhat.com>
5766
5767         maint.mk: use info-gnu@ as the default only for a stable release
5768         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
5769         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
5770         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
5771         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
5772
5773 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
5774
5775         assert-h: new module, which supports C1X-style static_assert
5776         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
5777         * lib/verify.h: Revamp so that this can be copied into assert.h,
5778         while retaining the ability to use it standalone as before.
5779         Rename private identifiers so as not to encroach on the
5780         standard C namespace, since this is now used by assert.h.
5781         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
5782         the old verify_true.
5783         (_GL_VERIFY_TRUE): New macro, with much of the contents of
5784         the old verify_true.  Use _GL_VERIFY_TYPE.
5785         (_GL_VERIFY): New macro, with much of the contents of the old verify.
5786         (static_assert): New macro, if _GL_STATIC_ASSERT_H
5787         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
5788         defined when this file is copied into the replacement assert.h.
5789         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
5790         and _Static_assert is not built in.
5791         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
5792         defined, and use the new macros mentioned above.
5793         * doc/posix-headers/assert.texi: Document this.
5794
5795 2011-05-05  Bruno Haible  <bruno@clisp.org>
5796
5797         fclose, fflush: Respect rules for use of AC_LIBOBJ.
5798         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
5799         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
5800         gl_REPLACE_FCLOSE here.
5801         * modules/fflush (Depends-on): Remove fclose.
5802         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
5803         combination with module 'fclose'.
5804
5805 2011-05-05  Bruno Haible  <bruno@clisp.org>
5806
5807         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
5808         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
5809         gl_FUNC_FFLUSH.
5810         (gl_FUNC_FFLUSH): Use it.
5811         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
5812         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
5813         gl_REPLACE_FSEEKO here.
5814
5815 2011-05-05  Bruno Haible  <bruno@clisp.org>
5816
5817         tzset: Relicense under LGPL.
5818         * modules/tzset (License): Change to LGPL.
5819         No agreement needed; it's a no-op.
5820
5821         strtoimax, strtoumax: Relicense under LGPL.
5822         * modules/strtoimax (License): Change to LGPL.
5823         * modules/strtoumax (License): Likewise.
5824         With permission from Jim Meyering, Paul Eggert:
5825         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
5826         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
5827
5828         getgroups: Relicense under LGPL.
5829         * modules/getgroups (License): Change to LGPL.
5830         With permission from Jim Meyering, Paul Eggert, Eric Blake:
5831         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
5832         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
5833         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
5834
5835         nanosleep: Relicense under LGPL.
5836         * modules/nanosleep (License): Change to LGPL.
5837         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
5838         Haible:
5839         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
5840         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
5841         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
5842         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
5843
5844         futimens: Relicense under LGPL.
5845         * modules/futimens (License): Change to LGPL.
5846         With permission from Eric Blake:
5847         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
5848
5849         fflush: Relicense under LGPL.
5850         * modules/fflush (License): Change to LGPL.
5851         With permission from Eric Blake, Bruno Haible, Jim Meyering:
5852         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
5853         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
5854         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
5855
5856         tmpfile: Relicense under LGPL.
5857         * modules/tmpfile (License): Change to LGPL.
5858         With permission from Ben Pfaff:
5859         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
5860
5861         isfinite: Relicense under LGPL.
5862         * modules/isfinite (License): Change to LGPL.
5863         With permission from Ben Pfaff, Bruno Haible:
5864         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
5865         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
5866
5867         acosl..tanl: Relicense under LGPL.
5868         * modules/acosl (License): Change to LGPL.
5869         * modules/asinl (License): Likewise.
5870         * modules/atanl (License): Likewise.
5871         * modules/cosl (License): Likewise.
5872         * modules/expl (License): Likewise.
5873         * modules/logl (License): Likewise.
5874         * modules/sinl (License): Likewise.
5875         * modules/sqrtl (License): Likewise.
5876         * modules/tanl (License): Likewise.
5877         Source code originally from glibc and Paolo Bonzini. Agreements:
5878         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
5879         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
5880
5881 2011-05-05  Bruno Haible  <bruno@clisp.org>
5882
5883         signal: Define sighandler_t.
5884         * lib/signal.in.h (sighandler_t): New type.
5885         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
5886         whether sighandler_t is defined.
5887         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
5888         * modules/signal (Depends-on): Add extensions.
5889         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
5890         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
5891         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
5892
5893 2011-05-05  Eric Blake  <eblake@redhat.com>
5894
5895         maint: remove useless REPLACE_*_H macros
5896         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
5897         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
5898         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
5899         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
5900         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
5901         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
5902         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
5903         * m4/btowc.m4: Update callers.
5904         * m4/dirfd.m4: Likewise.
5905         * m4/duplocale.m4: Likewise.
5906         * m4/fchdir.m4: Likewise.
5907         * m4/fdopendir.m4: Likewise.
5908         * m4/inet_ntop.m4: Likewise.
5909         * m4/inet_pton.m4: Likewise.
5910         * m4/ioctl.m4: Likewise.
5911         * m4/mbrlen.m4: Likewise.
5912         * m4/mbrtowc.m4: Likewise.
5913         * m4/mbsinit.m4: Likewise.
5914         * m4/mbsnrtowcs.m4: Likewise.
5915         * m4/mbsrtowcs.m4: Likewise.
5916         * m4/poll.m4: Likewise.
5917         * m4/setlocale.m4: Likewise.
5918         * m4/wcrtomb.m4: Likewise.
5919         * m4/wcsnrtombs.m4: Likewise.
5920         * m4/wcsrtombs.m4: Likewise.
5921         * m4/wctob.m4: Likewise.
5922         * m4/wcwidth.m4: Likewise.
5923         * modules/posix_spawn: Likewise.
5924         * modules/posix_spawn_file_actions_addclose: Likewise.
5925         * modules/posix_spawn_file_actions_adddup2: Likewise.
5926         * modules/posix_spawn_file_actions_addopen: Likewise.
5927         * modules/posix_spawn_file_actions_destroy: Likewise.
5928         * modules/posix_spawn_file_actions_init: Likewise.
5929         * modules/posix_spawnattr_destroy: Likewise.
5930         * modules/posix_spawnattr_getflags: Likewise.
5931         * modules/posix_spawnattr_getpgroup: Likewise.
5932         * modules/posix_spawnattr_getschedparam: Likewise.
5933         * modules/posix_spawnattr_getschedpolicy: Likewise.
5934         * modules/posix_spawnattr_getsigdefault: Likewise.
5935         * modules/posix_spawnattr_getsigmask: Likewise.
5936         * modules/posix_spawnattr_init: Likewise.
5937         * modules/posix_spawnattr_setflags: Likewise.
5938         * modules/posix_spawnattr_setpgroup: Likewise.
5939         * modules/posix_spawnattr_setschedparam: Likewise.
5940         * modules/posix_spawnattr_setschedpolicy: Likewise.
5941         * modules/posix_spawnattr_setsigdefault: Likewise.
5942         * modules/posix_spawnattr_setsigmask: Likewise.
5943         * modules/posix_spawnp: Likewise.
5944
5945 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
5946
5947         Add option to do-release-commit-and-tag to specify branch.
5948         * build-aux/do-release-commit-and-tag: Add --branch.
5949
5950 2011-05-03  Bruno Haible  <bruno@clisp.org>
5951
5952         Avoid unnecessary compilation units, through conditional dependencies.
5953         * modules/accept (Depends-on): Add conditions to the dependencies.
5954         * modules/acosl (Depends-on): Likewise.
5955         * modules/argz (Depends-on): Likewise.
5956         * modules/asinl (Depends-on): Likewise.
5957         * modules/atanl (Depends-on): Likewise.
5958         * modules/atoll (Depends-on): Likewise.
5959         * modules/bind (Depends-on): Likewise.
5960         * modules/btowc (Depends-on): Likewise.
5961         * modules/canonicalize-lgpl (Depends-on): Likewise.
5962         * modules/ceil (Depends-on): Likewise.
5963         * modules/ceilf (Depends-on): Likewise.
5964         * modules/ceill (Depends-on): Likewise.
5965         * modules/chdir-long (Depends-on): Likewise.
5966         * modules/chown (Depends-on): Likewise.
5967         * modules/close (Depends-on): Likewise.
5968         * modules/connect (Depends-on): Likewise.
5969         * modules/cosl (Depends-on): Likewise.
5970         * modules/dirfd (Depends-on): Likewise.
5971         * modules/dprintf (Depends-on): Likewise.
5972         * modules/dprintf-posix (Depends-on): Likewise.
5973         * modules/error (Depends-on): Likewise.
5974         * modules/euidaccess (Depends-on): Likewise.
5975         * modules/expl (Depends-on): Likewise.
5976         * modules/faccessat (Depends-on): Likewise.
5977         * modules/fchdir (Depends-on): Likewise.
5978         * modules/fclose (Depends-on): Likewise.
5979         * modules/fcntl (Depends-on): Likewise.
5980         * modules/fdopendir (Depends-on): Likewise.
5981         * modules/fflush (Depends-on): Likewise.
5982         * modules/floor (Depends-on): Likewise.
5983         * modules/floorf (Depends-on): Likewise.
5984         * modules/floorl (Depends-on): Likewise.
5985         * modules/fnmatch (Depends-on): Likewise.
5986         * modules/fopen (Depends-on): Likewise.
5987         * modules/fprintf-posix (Depends-on): Likewise.
5988         * modules/frexp (Depends-on): Likewise.
5989         * modules/frexp-nolibm (Depends-on): Likewise.
5990         * modules/frexpl (Depends-on): Likewise.
5991         * modules/frexpl-nolibm (Depends-on): Likewise.
5992         * modules/fseek (Depends-on): Likewise.
5993         * modules/fsusage (Depends-on): Likewise.
5994         * modules/ftell (Depends-on): Likewise.
5995         * modules/ftello (Depends-on): Likewise.
5996         * modules/futimens (Depends-on): Likewise.
5997         * modules/getcwd (Depends-on): Likewise.
5998         * modules/getcwd-lgpl (Depends-on): Likewise.
5999         * modules/getdelim (Depends-on): Likewise.
6000         * modules/getdomainname (Depends-on): Likewise.
6001         * modules/getgroups (Depends-on): Likewise.
6002         * modules/gethostname (Depends-on): Likewise.
6003         * modules/getline (Depends-on): Likewise.
6004         * modules/getlogin_r (Depends-on): Likewise.
6005         * modules/getopt-posix (Depends-on): Likewise.
6006         * modules/getpeername (Depends-on): Likewise.
6007         * modules/getsockname (Depends-on): Likewise.
6008         * modules/getsockopt (Depends-on): Likewise.
6009         * modules/getsubopt (Depends-on): Likewise.
6010         * modules/getusershell (Depends-on): Likewise.
6011         * modules/glob (Depends-on): Likewise.
6012         * modules/grantpt (Depends-on): Likewise.
6013         * modules/iconv_open (Depends-on): Likewise.
6014         * modules/iconv_open-utf (Depends-on): Likewise.
6015         * modules/inet_ntop (Depends-on): Likewise.
6016         * modules/inet_pton (Depends-on): Likewise.
6017         * modules/ioctl (Depends-on): Likewise.
6018         * modules/isapipe (Depends-on): Likewise.
6019         * modules/isfinite (Depends-on): Likewise.
6020         * modules/isinf (Depends-on): Likewise.
6021         * modules/lchown (Depends-on): Likewise.
6022         * modules/ldexpl (Depends-on): Likewise.
6023         * modules/link (Depends-on): Likewise.
6024         * modules/linkat (Depends-on): Likewise.
6025         * modules/listen (Depends-on): Likewise.
6026         * modules/logl (Depends-on): Likewise.
6027         * modules/lstat (Depends-on): Likewise.
6028         * modules/mbrlen (Depends-on): Likewise.
6029         * modules/mbrtowc (Depends-on): Likewise.
6030         * modules/mbsinit (Depends-on): Likewise.
6031         * modules/mbsnrtowcs (Depends-on): Likewise.
6032         * modules/mbsrtowcs (Depends-on): Likewise.
6033         * modules/mbtowc (Depends-on): Likewise.
6034         * modules/memcmp (Depends-on): Likewise.
6035         * modules/mkdir (Depends-on): Likewise.
6036         * modules/mkdtemp (Depends-on): Likewise.
6037         * modules/mkfifo (Depends-on): Likewise.
6038         * modules/mkfifoat (Depends-on): Likewise.
6039         * modules/mknod (Depends-on): Likewise.
6040         * modules/mkostemp (Depends-on): Likewise.
6041         * modules/mkostemps (Depends-on): Likewise.
6042         * modules/mkstemp (Depends-on): Likewise.
6043         * modules/mkstemps (Depends-on): Likewise.
6044         * modules/mktime (Depends-on): Likewise.
6045         * modules/nanosleep (Depends-on): Likewise.
6046         * modules/open (Depends-on): Likewise.
6047         * modules/openat (Depends-on): Likewise.
6048         * modules/perror (Depends-on): Likewise.
6049         * modules/poll (Depends-on): Likewise.
6050         * modules/popen (Depends-on): Likewise.
6051         * modules/posix_spawn (Depends-on): Likewise.
6052         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
6053         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
6054         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
6055         * modules/posix_spawnp (Depends-on): Likewise.
6056         * modules/pread (Depends-on): Likewise.
6057         * modules/printf-posix (Depends-on): Likewise.
6058         * modules/ptsname (Depends-on): Likewise.
6059         * modules/putenv (Depends-on): Likewise.
6060         * modules/pwrite (Depends-on): Likewise.
6061         * modules/readline (Depends-on): Likewise.
6062         * modules/readlink (Depends-on): Likewise.
6063         * modules/readlinkat (Depends-on): Likewise.
6064         * modules/recv (Depends-on): Likewise.
6065         * modules/recvfrom (Depends-on): Likewise.
6066         * modules/regex (Depends-on): Likewise.
6067         * modules/remove (Depends-on): Likewise.
6068         * modules/rename (Depends-on): Likewise.
6069         * modules/renameat (Depends-on): Likewise.
6070         * modules/rmdir (Depends-on): Likewise.
6071         * modules/round (Depends-on): Likewise.
6072         * modules/roundf (Depends-on): Likewise.
6073         * modules/roundl (Depends-on): Likewise.
6074         * modules/rpmatch (Depends-on): Likewise.
6075         * modules/select (Depends-on): Likewise.
6076         * modules/send (Depends-on): Likewise.
6077         * modules/sendto (Depends-on): Likewise.
6078         * modules/setenv (Depends-on): Likewise.
6079         * modules/setlocale (Depends-on): Likewise.
6080         * modules/setsockopt (Depends-on): Likewise.
6081         * modules/shutdown (Depends-on): Likewise.
6082         * modules/sigaction (Depends-on): Likewise.
6083         * modules/signbit (Depends-on): Likewise.
6084         * modules/sigprocmask (Depends-on): Likewise.
6085         * modules/sinl (Depends-on): Likewise.
6086         * modules/sleep (Depends-on): Likewise.
6087         * modules/snprintf (Depends-on): Likewise.
6088         * modules/snprintf-posix (Depends-on): Likewise.
6089         * modules/socket (Depends-on): Likewise.
6090         * modules/sprintf-posix (Depends-on): Likewise.
6091         * modules/sqrtl (Depends-on): Likewise.
6092         * modules/stat (Depends-on): Likewise.
6093         * modules/strchrnul (Depends-on): Likewise.
6094         * modules/strdup-posix (Depends-on): Likewise.
6095         * modules/strerror (Depends-on): Likewise.
6096         * modules/strerror_r-posix (Depends-on): Likewise.
6097         * modules/strndup (Depends-on): Likewise.
6098         * modules/strnlen (Depends-on): Likewise.
6099         * modules/strptime (Depends-on): Likewise.
6100         * modules/strsep (Depends-on): Likewise.
6101         * modules/strsignal (Depends-on): Likewise.
6102         * modules/strstr-simple (Depends-on): Likewise.
6103         * modules/strtod (Depends-on): Likewise.
6104         * modules/strtoimax (Depends-on): Likewise.
6105         * modules/strtok_r (Depends-on): Likewise.
6106         * modules/strtoumax (Depends-on): Likewise.
6107         * modules/symlink (Depends-on): Likewise.
6108         * modules/symlinkat (Depends-on): Likewise.
6109         * modules/tanl (Depends-on): Likewise.
6110         * modules/tcgetsid (Depends-on): Likewise.
6111         * modules/tmpfile (Depends-on): Likewise.
6112         * modules/trunc (Depends-on): Likewise.
6113         * modules/truncf (Depends-on): Likewise.
6114         * modules/truncl (Depends-on): Likewise.
6115         * modules/uname (Depends-on): Likewise.
6116         * modules/unlink (Depends-on): Likewise.
6117         * modules/unlockpt (Depends-on): Likewise.
6118         * modules/unsetenv (Depends-on): Likewise.
6119         * modules/usleep (Depends-on): Likewise.
6120         * modules/utimensat (Depends-on): Likewise.
6121         * modules/vasprintf (Depends-on): Likewise.
6122         * modules/vdprintf (Depends-on): Likewise.
6123         * modules/vdprintf-posix (Depends-on): Likewise.
6124         * modules/vfprintf-posix (Depends-on): Likewise.
6125         * modules/vprintf-posix (Depends-on): Likewise.
6126         * modules/vsnprintf (Depends-on): Likewise.
6127         * modules/vsnprintf-posix (Depends-on): Likewise.
6128         * modules/vsprintf-posix (Depends-on): Likewise.
6129         * modules/wcrtomb (Depends-on): Likewise.
6130         * modules/wcscasecmp (Depends-on): Likewise.
6131         * modules/wcscspn (Depends-on): Likewise.
6132         * modules/wcsdup (Depends-on): Likewise.
6133         * modules/wcsncasecmp (Depends-on): Likewise.
6134         * modules/wcsnrtombs (Depends-on): Likewise.
6135         * modules/wcspbrk (Depends-on): Likewise.
6136         * modules/wcsrtombs (Depends-on): Likewise.
6137         * modules/wcsspn (Depends-on): Likewise.
6138         * modules/wcsstr (Depends-on): Likewise.
6139         * modules/wcstok (Depends-on): Likewise.
6140         * modules/wcswidth (Depends-on): Likewise.
6141         * modules/wctob (Depends-on): Likewise.
6142         * modules/wctomb (Depends-on): Likewise.
6143         * modules/wctype (Depends-on): Likewise.
6144         * modules/wcwidth (Depends-on): Likewise.
6145         * modules/write (Depends-on): Likewise.
6146
6147 2011-05-03  Bruno Haible  <bruno@clisp.org>
6148
6149         Support for conditional dependencies.
6150         * doc/gnulib.texi (Module description): Document the syntax of
6151         conditional dependencies.
6152         * gnulib-tool: New option --conditional-dependencies.
6153         (func_usage): Document it.
6154         (cond_dependencies): New variable.
6155         (func_get_automake_snippet_conditional,
6156         func_get_automake_snippet_unconditional): New functions, extracted from
6157         func_get_automake_snippet.
6158         (func_get_automake_snippet): Use them.
6159         (sed_first_32_chars): New variable.
6160         (func_module_shellfunc_name): New function.
6161         (func_module_shellvar_name): New function.
6162         (func_module_conditional_name): New function.
6163         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
6164         func_cond_module_condition): New functions.
6165         (func_modules_transitive_closure): Add support for conditional
6166         dependencies.
6167         (func_emit_lib_Makefile_am): For a conditional module, enclose the
6168         conditional automake snippet in an automake conditional.
6169         (func_emit_autoconf_snippets): Emit shell functions that contain the
6170         code for conditional modules.
6171         (func_import, func_create_testdir): Update specification.
6172
6173 2011-05-03  Eric Blake  <eblake@redhat.com>
6174
6175         test-getaddrinfo: report error information
6176         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
6177
6178 2011-05-03  Jim Meyering  <meyering@redhat.com>
6179
6180         bootstrap: avoid build failure when $GZIP is set
6181         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
6182         program name.  If defined at all, it is supposed to list gzip options.
6183         Reported by Alan Curry in http://debbugs.gnu.org/8609
6184
6185 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
6186
6187         readme-release: new module with release instructions
6188         * modules/readme-release: New module.
6189         * top/README-release: New file, from coreutils, grep, diffutils.
6190         * MODULES.html.sh (Support for maintaining and releasing): Add it.
6191
6192 2011-05-02  Eric Blake  <eblake@redhat.com>
6193
6194         fflush: also replace fclose when fixing fflush
6195         * modules/fflush (Depends-on): Add fclose.
6196         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
6197         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
6198         memstreams with no backing fd.
6199         * doc/posix-functions/fclose.texi (fclose): Document the use of
6200         fflush module to fix the bug.
6201         * tests/test-fclose.c (main): Relax test when fclose is used in
6202         isolation.
6203
6204         fclose: add some tests
6205         * modules/fclose-tests: New test module.
6206         * tests/test-fclose.c: New file.
6207         * doc/posix-functions/fclose.texi (fclose): Document the bug.
6208
6209         fclose: reduced dependencies
6210         * modules/fclose (Depends-on): Switch from fflush/fseeko to
6211         simpler lseek.
6212         * lib/fclose.c (rpl_fclose): Likewise.
6213         Reported by Simon Josefsson.
6214
6215         exit: drop remaining clients
6216         * modules/argmatch (Depends-on): Replace exit with stdlib.
6217         * modules/copy-file (Depends-on): Likewise.
6218         * modules/execute (Depends-on): Likewise.
6219         * modules/exitfail (Depends-on): Likewise.
6220         * modules/obstack (Depends-on): Likewise.
6221         * modules/pagealign_alloc (Depends-on): Likewise.
6222         * modules/pipe-filter-gi (Depends-on): Likewise.
6223         * modules/pipe-filter-ii (Depends-on): Likewise.
6224         * modules/savewd (Depends-on): Likewise.
6225         * modules/spawn-pipe (Depends-on): Likewise.
6226         * modules/wait-process (Depends-on): Likewise.
6227         * modules/xsetenv (Depends-on): Likewise.
6228         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
6229         * modules/git-merge-changelog (Depends-on): Likewise.
6230         * modules/long-options (Depends-on): Likewise.
6231         * modules/pt_chown (Depends-on): Likewise.
6232         * modules/sysexits (Depends-on): Likewise.
6233
6234         freading: relax license from LGPLv3+ to LGPLv2+
6235         * modules/freading (License): Relax LGPL version.
6236
6237 2011-05-02  Bruno Haible  <bruno@clisp.org>
6238
6239         fchdir: Remove unused dependencies.
6240         * modules/fchdir (Depends-on): Remove include_next.
6241
6242 2011-05-02  Bruno Haible  <bruno@clisp.org>
6243
6244         gnulib-tool: Refactor.
6245         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
6246         from func_emit_autoconf_snippets.
6247         (func_emit_autoconf_snippets): Use it.
6248
6249 2011-05-02  Simon Josefsson  <simon@josefsson.org>
6250
6251         * NEWS: Document removal of 'exit'.
6252         * modules/exit: Remove file.
6253
6254 2011-05-01  Bruno Haible  <bruno@clisp.org>
6255
6256         Update DEPENDENCIES.
6257         * DEPENDENCIES (gettext): Recommend the newest release.
6258         Reported by Simon Josefsson.
6259
6260 2011-05-01  Bruno Haible  <bruno@clisp.org>
6261
6262         gnulib-tool: Reduce code duplication.
6263         * gnulib-tool (func_emit_autoconf_snippets): New function.
6264         (func_import, func_create_testdir): Use it.
6265
6266 2011-04-30  Eric Blake  <eblake@redhat.com>
6267
6268         fclose: don't fail on non-seekable input stream
6269         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
6270         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
6271         since fflush is allowed to fail in that case.
6272
6273 2011-04-30  Bruno Haible  <bruno@clisp.org>
6274
6275         dup3: cleanup
6276         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
6277
6278 2011-04-30  Bruno Haible  <bruno@clisp.org>
6279
6280         netdb: Make it work in C++ mode.
6281         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
6282         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
6283         module.
6284         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
6285         gl_MODULE_INDICATOR_FOR_TESTS.
6286         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
6287         * modules/netdb-c++-tests: New file.
6288         * tests/test-netdb-c++.cc: New file.
6289
6290 2011-04-30  Bruno Haible  <bruno@clisp.org>
6291
6292         New modules 'vfscanf', 'vscanf'.
6293         * modules/vfscanf: New file.
6294         * modules/vscanf: New file.
6295         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
6296         here.
6297         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
6298         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
6299
6300 2011-04-30  Bruno Haible  <bruno@clisp.org>
6301
6302         passfd: Add comments.
6303         * lib/passfd.c: Add comments about platforms.
6304
6305 2011-04-30  Bruno Haible  <bruno@clisp.org>
6306
6307         sys_uio: Make <sys/uio.h> self-contained.
6308         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
6309         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
6310
6311 2011-04-30  Bruno Haible  <bruno@clisp.org>
6312
6313         sys_socket: Ensure 'struct iovec' definition.
6314         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
6315         <sys/socket.h>.
6316         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
6317
6318 2011-04-30  Bruno Haible  <bruno@clisp.org>
6319
6320         sys_uio: Protect definition of 'struct iovec'.
6321         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
6322         it as a C struct.
6323
6324 2011-04-30  Bruno Haible  <bruno@clisp.org>
6325
6326         manywarnings: fix indentation
6327         * m4/manywarnings.m4: Indent by 2 spaces consistently.
6328
6329 2011-04-30  Pádraig Brady <P@draigBrady.com>
6330
6331         manywarnings: add -Wno-missing-field-initializers if needed.
6332         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
6333         option if it's needed to allow initialization with { 0, }
6334
6335 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
6336
6337         announce-gen: cosmetic improvement
6338         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
6339
6340 2011-04-29  Jim Meyering  <meyering@redhat.com>
6341
6342         vc-list-files: indent with spaces, not TABs
6343         * build-aux/vc-list-files: Convert leading TABs to spaces,
6344         to match the style of most other files in gnulib.
6345
6346         announce-gen: indent with spaces, not TABs
6347         * build-aux/announce-gen: Convert all TABs to spaces, to match
6348         the style of most other files in gnulib.
6349
6350 2011-04-29  Eric Blake  <eblake@redhat.com>
6351
6352         quotearg: avoid uninitialized variable use
6353         * lib/quotearg.c (quoting_options_from_style): Initialize
6354         remaining fields, and ensure that custom styles are only used via
6355         quoting_options rather than quoting_style.
6356
6357 2011-04-29  Jim Meyering  <meyering@redhat.com>
6358
6359         maint.mk: remove unused VC-tag variable
6360         * top/maint.mk (VC-tag): Remove unused variable.
6361
6362 2011-04-29  Bruno Haible  <bruno@clisp.org>
6363
6364         netdb: fix gai_strerror replacements
6365         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
6366         * modules/netdb: Substitute it.
6367
6368 2011-04-29  Jim Meyering  <meyering@redhat.com>
6369
6370         test-getcwd.c: avoid new set-but-not-used warning
6371         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
6372         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
6373         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
6374         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
6375
6376         test-hash.c: avoid a new shadowing warning
6377         * tests/test-hash.c (main): Don't shadow "dup".
6378
6379 2011-04-28  Eric Blake  <eblake@redhat.com>
6380
6381         getaddrinfo: fix gai_strerror signature
6382         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
6383         and work around mingw with UNICODE defined.
6384         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
6385         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
6386         * modules/netdb (Makefile.am): Substitute it.
6387         * lib/netdb.in.h (gai_strerror): Declare replacement.
6388         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
6389         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
6390         the fix.
6391
6392         getsockopt: avoid compiler warning
6393         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
6394         Reported by Matthias Bolte.
6395
6396         tests: drop unused link dependency
6397         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
6398         * modules/dirent-safer-tests (Makefile.am): Likewise.
6399         * modules/fdopendir-tests (Makefile.am): Likewise.
6400         * modules/mkfifoat-tests (Makefile.am): Likewise.
6401         * modules/openat-safer-tests (Makefile.am): Likewise.
6402         * modules/openat-tests (Makefile.am): Likewise.
6403         * modules/readlinkat-tests (Makefile.am): Likewise.
6404         * modules/symlinkat-tests (Makefile.am): Likewise.
6405         * modules/linkat-tests (Makefile.am): Likewise.
6406         (Depends-on): Switch to filenamecat-lgpl.
6407         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
6408         LIBINTL.
6409         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
6410         * tests/test-linkat.c (main): Don't require xalloc.
6411
6412         hash, mgetgroups: drop xalloc dependency
6413         * lib/hash.c (includes): Adjust includes.
6414         * lib/mgetgroups.c (includes): Likewise.
6415         (xgetgroups): Move...
6416         * lib/xgetgroups.c: ...to new file.
6417         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
6418         * modules/xgetgroups: New file, split from...
6419         * modules/mgetgroups: ...here.
6420         (Depends-on): Add xalloc-oversized.
6421         * modules/hash (Depends-on): Likewise.
6422         * modules/hash-tests (Depends-on): Drop xalloc.
6423         (test_hash_LDADD): Drop unused library.
6424         * tests/test-hash.c (main): Break xalloc dependency.
6425         (includes): Drop unused include.
6426
6427         xalloc-oversized: new module
6428         * modules/xalloc-oversized: New module.
6429         * modules/xalloc (Depends-on): Add it.
6430         * lib/xalloc.h (xalloc_oversized): Move...
6431         * lib/xalloc-oversized.h: ...into new file.
6432
6433         utimecmp: drop dependency on xmalloc
6434         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
6435         due to memory pressure.
6436         * modules/utimecmp (Depends-on): Drop xalloc.
6437
6438 2011-04-27  Eric Blake  <eblake@redhat.com>
6439
6440         getcwd: fix mingw bugs
6441         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
6442         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
6443         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
6444
6445 2011-04-27  Bruno Haible  <bruno@clisp.org>
6446
6447         mkstemps: Ensure declaration on MacOS X 10.5.
6448         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
6449         * doc/glibc-functions/mkstemps.texi: Document header file problem on
6450         MacOS X.
6451
6452 2011-04-27  Bruno Haible  <bruno@clisp.org>
6453
6454         mkstemp: More documentation.
6455         * doc/posix-functions/mkstemp.texi: Document header file problem on
6456         MacOS X.
6457
6458 2011-04-27  Bruno Haible  <bruno@clisp.org>
6459
6460         mkstemp: Tweak configure message when cross-compiling.
6461         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
6462         result as a guess.
6463
6464 2011-04-27  Bruno Haible  <bruno@clisp.org>
6465
6466         clean-temp: Clarify what it does.
6467         * lib/clean-temp.h: Add more comments.
6468         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
6469         module.
6470         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
6471         * doc/glibc-functions/mkstemps.texi: Likewise.
6472         * doc/glibc-functions/mkostemps.texi: Likewise.
6473
6474 2011-04-27  Eric Blake  <eblake@redhat.com>
6475
6476         fchdir: avoid extra chdir and fix test
6477         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
6478         getcwd-lgpl.
6479         * lib/fchdir.c (get_name): Any absolute name will do; it does not
6480         have to be canonical.
6481         (canonicalize_file_name): Drop unused macro.
6482         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
6483
6484         filenamecat-lgpl: fix licence
6485         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
6486         when it was first created.
6487
6488         linkat, renameat: add missing dependency
6489         * modules/linkat (Depends-on): Require getcwd-lgpl.
6490         * modules/renameat (Depends-on): Likewise.
6491
6492         tests: reduce dependencies
6493         * tests/test-linkat.c (main): Use lighter-weight getcwd.
6494         * tests/test-renameat.c (main): Likewise.
6495         * modules/linkat-tests (Depends-on): Relax dependency.
6496         * modules/renameat-tests (Depends-on): Likewise.
6497         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
6498         dependency explicit.
6499
6500         save-cwd: reduce default dependency
6501         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
6502         * lib/save-cwd.c: Update comments.
6503         * NEWS: Document the semantic change.
6504
6505         getcwd: enhance tests
6506         * tests/test-getcwd-lgpl.c: New file, taken from...
6507         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
6508         repeat long path stress tests from m4 probe.
6509         * modules/getcwd-lgpl-tests: New module.
6510         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
6511         * m4/getcwd-abort-bug.m4: Update comment.
6512         * m4/getcwd-path-max.m4: Likewise.
6513
6514         getcwd-lgpl: new module
6515         * modules/getcwd-lgpl: New module.
6516         * lib/getcwd-lgpl.c: New file.
6517         * doc/posix-functions/getcwd.texi (getcwd): Document it.
6518         * MODULES.html.sh (lacking POSIX:2008): Likewise.
6519         * modules/getcwd (configure.ac): Set C witness.
6520         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
6521
6522         getcwd: tweak comments
6523         * m4/getcwd-abort-bug.m4: Fix comments.
6524         * m4/getcwd-path-max.m4: Likewise.
6525         * m4/getcwd.m4: Likewise.
6526
6527 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
6528         and Eric Blake  <eblake@redhat.com>
6529
6530         mkstemp: replace if system version uses wrong permissions
6531         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
6532         read/write mode bits set in file created by mkstemp.
6533         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
6534
6535 2011-04-27  Eric Blake  <eblake@redhat.com>
6536
6537         passfd: avoid compiler warning
6538         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
6539         Reported by Laine Stump.
6540
6541 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
6542
6543         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
6544         required by the NetBSD (and perhaps other 4.4BSD derived) join.
6545
6546 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
6547         and Eric Blake  <eblake@redhat.com>
6548
6549         mkstemp: mention clean-temp module
6550         * lib/mkstemp.c: Add comment.
6551         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
6552
6553 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
6554
6555         inttypes: also provide default values for 32-bit tests
6556         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
6557         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
6558
6559 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
6560
6561         strtoumax: remove dependency on strtoimax
6562         This is like the strtoull change of yesterday.
6563         * modules/strtoumax (Files): Add lib/strtoimax.c.
6564         (Depends-on): Remove strtoimax and add verify.
6565
6566         inttypes-incomplete: new module
6567         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
6568         all but the PRI* and SCN* parts of gl_INTTYPES_H.
6569         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
6570         of gl_INTTYPES_H.
6571         (gl_INTTYPES_H): Rewrite in terms of these new macros.
6572         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
6573         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
6574         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
6575         * modules/strtoumax, modules/xstrtol (Depends-on):
6576         Depend on inttypes-incomplete, not inttypes.
6577         * modules/inttypes-incomplete: New module, containing the contents
6578         of the old modules/inttypes module, except that the Files: section
6579         omits m4/inttypes-pri.m4, and the configure.ac section invokes
6580         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
6581         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
6582         (Depends-on): Depend only on inttypes-incomplete.
6583         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
6584
6585         inttypes: omit now-redundant strtoimax and strtoumax work
6586         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
6587         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
6588
6589         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
6590         This supports apps that need pointers to strtoimax and strtoumax,
6591         and ports to HP-UX 11.00 64.bit, which has macros that expand to
6592         nonexistent functions.  See
6593         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
6594         et seq.
6595         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
6596         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
6597         a macro.
6598         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
6599
6600 2011-04-25  Simon Josefsson  <simon@josefsson.org>
6601
6602         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
6603
6604 2011-04-25  Bruno Haible  <bruno@clisp.org>
6605
6606         strtol, strtoul: Mark modules as obsolete.
6607         * modules/strtol (Status, Notice): New sections.
6608         * modules/strtoul (Status, Notice): New sections.
6609
6610 2011-04-25  Bruno Haible  <bruno@clisp.org>
6611
6612         strtod: Remove check for strtod, unless supporting old platforms.
6613         * modules/strtod-obsolete: New file.
6614         * m4/strtod-obsolete.m4: New file.
6615         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
6616         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
6617         * modules/strtod (Depends-on): Add strtod-obsolete.
6618         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
6619
6620 2011-04-25  Bruno Haible  <bruno@clisp.org>
6621
6622         strcase: Make module obsolete.
6623         * modules/strcase (Status, Notice): New sections.
6624
6625 2011-04-25  Bruno Haible  <bruno@clisp.org>
6626
6627         dup2: Remove check for dup2, unless supporting old obsolete platforms.
6628         * modules/dup2-obsolete: New file.
6629         * m4/dup2-obsolete.m4: New file.
6630         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
6631         gl_FUNC_DUP2_OBSOLETE is not also defined.
6632         * modules/dup2 (Depends-on): Add dup2-obsolete.
6633         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
6634
6635 2011-04-25  Bruno Haible  <bruno@clisp.org>
6636
6637         strnlen: Avoid memchr related link error on old obsolete platforms.
6638         * modules/memchr-obsolete: New file.
6639         * m4/memchr-obsolete.m4: New file.
6640         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
6641         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
6642         * modules/memchr (Depends-on): Add memchr-obsolete.
6643         * modules/strnlen (Depends-on): Likewise.
6644         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
6645
6646 2011-04-25  Jim Meyering  <meyering@redhat.com>
6647
6648         maint.mk: makefile_at_at_check extend and clean up
6649         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
6650         in addition to */Makefile.am.
6651         Exempt legitimate uses of @VAR@ notation, e.g.,
6652         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
6653         Remove obsolete coreutils-specific comment.
6654         Prompted by discussion here:
6655         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
6656
6657 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
6658
6659         strtoul: remove dependency on strtol
6660         This is so that 'configure' need not check for strtol merely because
6661         the application needs strtoul.
6662         * modules/strtoul (Files): Add lib/strtol.c.
6663         (Depends-on): Remove strtol.
6664
6665         strtoull: remove dependency on strtoul
6666         This is like the strtoll change.
6667         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
6668         (Depends-on): Remove strtoul.
6669
6670         strtoll: remove dependency on strtol
6671         This is so that 'configure' need not check for strtol merely because
6672         the application needs strtoll.
6673         * modules/strtoll (Files): Add lib/strtol.c.
6674         (Depends-on): Remove strtol.
6675
6676 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
6677
6678         inttypes: Move some configure check to module 'imaxdiv'.
6679         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
6680         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
6681         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
6682
6683 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
6684
6685         inttypes: Move some configure check to module 'imaxabs'.
6686         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
6687         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
6688         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
6689
6690 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
6691
6692         inttypes: Remove configure tests that are not needed since 2009-12-31.
6693         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
6694         gl_cv_header_working_inttypes_h.
6695
6696 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
6697
6698         * modules/strnlen (Depends-on): Remove memchr.
6699         The strnlen implementation doesn't need the memchr module's fixes; see
6700         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
6701
6702         strtol: remove dependency on wchar
6703         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
6704         * modules/strtol (Depends-on): Remove wchar.
6705
6706 2011-04-21  Eric Blake  <eblake@redhat.com>
6707
6708         passfd: fix test regression on Linux
6709         * modules/passfd-tests (configure.ac): Correct socketpair check.
6710
6711         passfd: speed up configure and drop unused code
6712         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
6713         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
6714         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
6715         Instead of probing at configure for unix_scm_rights_bsd44_way,
6716         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
6717         check to a struct member probe.
6718         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
6719         (sendfd, recvfd): Update preprocessor checks.
6720         * modules/passfd (Files): Reflect rename, and drop unused file.
6721         (Depends-on): Drop unused dependency.
6722
6723         passfd: allow compilation on mingw
6724         * modules/sys_socket (Depends-on): Add sys_uio.
6725         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
6726         iovec and a minimal struct msghdr.
6727         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
6728         * tests/test-sys_socket.c (main): Enhance test.
6729         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
6730         guaranteed to provide what we need.
6731         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
6732         * modules/passfd-tests (Depends-on): Add sys_wait.
6733         * tests/test-passfd.c (main): Skip test on mingw, for now.
6734         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
6735         partial 'struct msghdr' implementation.
6736
6737         sys_uio: new module
6738         * modules/sys_uio: New module.
6739         * modules/sys_uio-tests: Likewise.
6740         * lib/sys_uio.in.h: New file.
6741         * m4/sys_uio_h.m4: Likewise.
6742         * tests/test-sys_uio.c: Likewise.
6743         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
6744         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
6745
6746 2011-04-20  Jim Meyering  <meyering@redhat.com>
6747
6748         useless-if-before-free: avoid false-positive
6749         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
6750         disjunct so that it too requires a terminating ";".  Without that,
6751         this script would identify as useless one statement from gcc that
6752         was not:
6753           if (aligned_ptr)
6754             free (((void **) aligned_ptr) [-1]);
6755
6756 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
6757
6758         doc: update users.txt.
6759         * users.txt: Add barcode.
6760
6761 2011-04-19  Bruno Haible  <bruno@clisp.org>
6762
6763         ioctl: Remove link dependency on native Windows.
6764         * lib/fd-hook.h: Renamed from lib/close-hook.h.
6765         (gl_close_fn, gl_ioctl_fn): New types.
6766         (struct fd_hook): Renamed from struct close_hook. Change type of
6767         private_close_fn field. Add private_ioctl_fn field.
6768         (close_hook_fn): Add parameter for primary close method.
6769         (execute_close_hooks, execute_all_close_hooks): Likewise.
6770         (ioctl_hook_fn): New type.
6771         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
6772         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
6773         argument.
6774         (unregister_fd_hook): Renamed from unregister_close_hook.
6775         * lib/fd-hook.c: Renamed from lib/close-hook.c.
6776         Don't include <unistd.h>.
6777         (close): Remove undef.
6778         (anchor): Update.
6779         (execute_close_hooks): Add argument for primary close method.
6780         (execute_all_close_hooks): Likewise.
6781         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
6782         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
6783         argument. Allow each argument to be NULL.
6784         (unregister_fd_hook): Renamed from unregister_close_hook.
6785         * lib/close.c (rpl_close): Pass 'close' function pointer to
6786         execute_all_close_hooks.
6787         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
6788         (primary_ioctl): New function.
6789         (ioctl): Don't call ioctlsocket here. Instead, call
6790         execute_all_ioctl_hooks.
6791         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
6792         close method.
6793         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
6794         (fd_sockets_hook): Renamed from close_sockets_hook.
6795         (gl_sockets_startup, gl_sockets_cleanup): Update.
6796         * modules/fd-hook: Renamed from modules/close-hook. Update.
6797         * modules/close (Depends-on): Add fd-hook, remove close-hook.
6798         * modules/sockets (Depends-on): Likewise.
6799         * modules/ioctl (Depends-on): Add fd-hook.
6800         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
6801         GNULIB_SOCKET.
6802
6803 2011-04-19  Bruno Haible  <bruno@clisp.org>
6804
6805         Move the support of O_NONBLOCK in open() to the 'open' module.
6806         * modules/nonblocking (Depends-on): Remove 'open'.
6807         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
6808         gl_cv_have_open_O_NONBLOCK.
6809         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
6810         O_NONBLOCK support.
6811         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
6812
6813 2011-04-17  Bruno Haible  <bruno@clisp.org>
6814
6815         pipe2: Simplify code.
6816         * lib/pipe2.c (pipe2): Reduce code duplication.
6817
6818 2011-04-17  Bruno Haible  <bruno@clisp.org>
6819
6820         nonblocking: Add comment.
6821         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
6822
6823 2011-04-17  Bruno Haible  <bruno@clisp.org>
6824
6825         nonblocking: Add tests for sockets.
6826         * tests/test-nonblocking-socket.sh: New file.
6827         * tests/test-nonblocking-socket-main.c: New file.
6828         * tests/test-nonblocking-socket-child.c: New file.
6829         * tests/test-nonblocking-socket.h: New file.
6830         * tests/socket-server.h: New file.
6831         * tests/socket-client.h: New file.
6832         * modules/nonblocking-socket-tests: New file.
6833         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
6834
6835 2011-04-17  Bruno Haible  <bruno@clisp.org>
6836
6837         nonblocking: Add tests for pipes.
6838         * tests/test-nonblocking-pipe.sh: New file.
6839         * tests/test-nonblocking-pipe-main.c: New file.
6840         * tests/test-nonblocking-pipe-child.c: New file.
6841         * tests/test-nonblocking-pipe.h: New file.
6842         * tests/test-nonblocking-writer.h: New file.
6843         * tests/test-nonblocking-reader.h: New file.
6844         * tests/test-nonblocking-misc.h: New file.
6845         * modules/nonblocking-pipe-tests: New file.
6846         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
6847
6848 2011-04-16  Bruno Haible  <bruno@clisp.org>
6849
6850         gettext: Clarify the needed programmer actions.
6851         * modules/gettext (Notice): New field.
6852         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
6853
6854 2011-04-16  Bruno Haible  <bruno@clisp.org>
6855
6856         strchrnul: Tweak last commit.
6857         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
6858         bug.
6859         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
6860         as in _GL_FUNCDECL_SYS.
6861         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
6862         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
6863
6864 2011-04-15  Eric Blake  <eblake@redhat.com>
6865
6866         strchrnul: work around cygwin bug
6867         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
6868         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
6869         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
6870         * modules/string (Makefile.am): Substitute it.
6871         * lib/string.in.h (strchrnul): Use it.
6872
6873 2011-04-15  Bruno Haible  <bruno@clisp.org>
6874
6875         Don't require lib/stdio-write.c when only module 'stdio' is used.
6876         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
6877         invocation.
6878         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
6879
6880 2011-04-14  Bruno Haible  <bruno@clisp.org>
6881
6882         Support non-blocking pipe I/O in read() on native Windows.
6883         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
6884         (read): New declaration.
6885         * lib/read.c: New file.
6886         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
6887         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
6888         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
6889         vscanf): New declarations.
6890         * lib/stdio-read.c: New file.
6891         * m4/read.m4: New file.
6892         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
6893         REPLACE_READ.
6894         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
6895         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
6896         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
6897         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
6898         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
6899         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
6900         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
6901         * modules/read: New file.
6902         * modules/nonblocking (Files): Add lib/stdio-read.c.
6903         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
6904         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
6905         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
6906         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
6907         * modules/pread (Depends-on): Add read.
6908         * modules/safe-read (Depends-on): Likewise.
6909         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
6910         gets, scanf, vfscanf, vscanf): Verify signatures.
6911         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
6912         problem with non-blocking pipes.
6913         * doc/posix-functions/fgetc.texi: Likewise.
6914         * doc/posix-functions/fgets.texi: Likewise.
6915         * doc/posix-functions/fread.texi: Likewise.
6916         * doc/posix-functions/fscanf.texi: Likewise.
6917         * doc/posix-functions/getc.texi: Likewise.
6918         * doc/posix-functions/getchar.texi: Likewise.
6919         * doc/posix-functions/gets.texi: Likewise.
6920         * doc/posix-functions/scanf.texi: Likewise.
6921         * doc/posix-functions/vfscanf.texi: Likewise.
6922         * doc/posix-functions/vscanf.texi: Likewise.
6923
6924 2011-04-14  Bruno Haible  <bruno@clisp.org>
6925
6926         Support non-blocking pipe I/O in write() on native Windows.
6927         * lib/write.c (rpl_write): Split a write request that failed merely
6928         because the byte count was larger than the pipe buffer's size.
6929         * doc/posix-functions/write.texi: Mention the problem with large byte
6930         counts.
6931
6932 2011-04-14  Bruno Haible  <bruno@clisp.org>
6933
6934         wchar: Ensure that wchar_t gets defined on uClibc.
6935         * lib/wchar.in.h: On uClibc, include <stddef.h>.
6936         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
6937
6938 2011-04-13  Bruno Haible  <bruno@clisp.org>
6939
6940         safe-write, full-read: Avoid unnecessary compilation units.
6941         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
6942         (Depends-on): Remove safe-read. Add ssize_t.
6943         * modules/full-read (Files): Add lib/full-write.c.
6944         (Depends-on): Add full-write.
6945
6946 2011-04-13  Bruno Haible  <bruno@clisp.org>
6947
6948         Support non-blocking pipe I/O and SIGPIPE in pwrite().
6949         * modules/pwrite (Depends-on): Add 'write'.
6950
6951 2011-04-13  Bruno Haible  <bruno@clisp.org>
6952
6953         Support non-blocking pipe I/O in write() on native Windows.
6954         * lib/unistd.in.h (write): Enable replacement also if
6955         GNULIB_UNISTD_H_NONBLOCKING is 1.
6956         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
6957         (rpl_write): When failing to write on a non-blocking pipe, change
6958         errno from ENOSPC to EAGAIN.
6959         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
6960         putchar, puts, vfprintf, vprintf): Enable replacement also if
6961         GNULIB_STDIO_H_NONBLOCKING is 1.
6962         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
6963         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
6964         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
6965         CALL_WITH_SIGPIPE_EMULATION.
6966         (CALL_WITH_SIGPIPE_EMULATION): Use them.
6967         * m4/nonblocking.m4: New file.
6968         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
6969         for non-blocking I/O support.
6970         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
6971         GNULIB_UNISTD_H_NONBLOCKING.
6972         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
6973         required for non-blocking I/O support.
6974         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
6975         * modules/nonblocking (Files): Add m4/nonblocking.m4,
6976         lib/stdio-write.c, m4/asm-underscore.m4.
6977         (Depends-on): Add stdio, unistd.
6978         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
6979         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
6980         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
6981         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
6982         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
6983         problem with non-blocking pipes.
6984         * doc/posix-functions/fputc.texi: Likewise.
6985         * doc/posix-functions/fputs.texi: Likewise.
6986         * doc/posix-functions/fwrite.texi: Likewise.
6987         * doc/posix-functions/printf.texi: Likewise.
6988         * doc/posix-functions/putc.texi: Likewise.
6989         * doc/posix-functions/putchar.texi: Likewise.
6990         * doc/posix-functions/puts.texi: Likewise.
6991         * doc/posix-functions/vfprintf.texi: Likewise.
6992         * doc/posix-functions/vprintf.texi: Likewise.
6993         * doc/posix-functions/write.texi: Likewise.
6994
6995 2011-04-10  Jim Meyering  <meyering@redhat.com>
6996
6997         maint.mk: prohibit doubled words
6998         Detect them also when they're separated by a newline.
6999         There are 3 ways to customize it:
7000           - disable the test on a per file basis, as usual with rules using
7001             $(VC_LIST_EXCEPT)
7002           - replace the default doubled-word-selecting regexp (affects all files)
7003           - ignore a particular file-vs-doubled-word match
7004         I nearly used that last one to ignore the "is is" match in
7005         coreutils' NEWS file, since the text was "ls -is is ..."
7006         To do that, I would have added this line to cfg.mk:
7007           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
7008         but it would have ignored any "is is" match in NEWS.
7009         Low probability, but still...
7010         Instead, I changed the text, slightly:
7011           -  ls -is is now consistent with ls -lis in ignoring values returned
7012           +  "ls -is" is now consistent with ls -lis in ignoring values returned
7013         * top/maint.mk (prohibit_double_word_RE_): Provide default.
7014         (prohibit_doubled_word_): Define.
7015         (sc_prohibit_doubled_word): New rule.
7016         (sc_prohibit_the_the): Remove.  Subsumed by the above.
7017
7018 2011-04-10  Jim Meyering  <meyering@redhat.com>
7019
7020         maint: fix doubled-word typo in comment
7021         * m4/gethostname.m4: s/is is/it is/
7022         * m4/getdomainname.m4: Likewise.
7023
7024 2011-04-10  Jim Meyering  <meyering@redhat.com>
7025
7026         maint: remove doubled word: s/it it/it/
7027         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
7028
7029 2011-04-10  Jim Meyering  <meyering@redhat.com>
7030
7031         maint.mk: remove useless semicolon and backslash
7032         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
7033         semicolon and backslash.
7034
7035 2011-04-10  Bruno Haible  <bruno@clisp.org>
7036
7037         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
7038         * modules/stdint-tests (Depends-on): Add wchar.
7039
7040 2011-04-10  Jim Meyering  <meyering@redhat.com>
7041
7042         maint: remove doubled words in comments, e.g., s/a a/a/
7043         * lib/strptime.c (day_of_the_week): s/the the/the/
7044         * tests/test-chown.h (test_chown): s/a a/a/
7045
7046         test-chown.h: correct a cast
7047         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
7048         when the destination is a stat.st_gid.
7049
7050 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
7051
7052         getaddrinfo: Fix test for sa_len member.
7053         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
7054         include <sys/types.h> before <sys/socket.h>.
7055
7056 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
7057
7058         maint: change "can not" to "cannot"
7059         * doc/posix-functions/iconv.texi (iconv): This one crossed line
7060         boundaries.
7061
7062 2011-04-09  Jim Meyering  <meyering@redhat.com>
7063
7064         maint: change "a a" to "a"
7065         * tests/test-lchown.h (test_lchown): s/a a/a/
7066
7067         maint.mk: prohibit \<the the\>
7068         * top/maint.mk (sc_prohibit_the_the): New rule.
7069
7070         maint: fix "the the" in comment
7071         * lib/count-one-bits.h: s/the the/the/
7072
7073         maint: change "can not" to "cannot"
7074         But do not change the occurrences in maintain.texi or in
7075         build-aux/po/Makefile.in.in, which I presume comes from gettext.
7076         * doc/gnulib-tool.texi: s/can not/cannot/
7077         * doc/posix-functions/accept.texi (accept): Likewise.
7078         * doc/posix-functions/socket.texi (socket): Likewise.
7079         * lib/mbrtowc.c: Likewise.
7080
7081         maint.mk: prohibit use of "can not"
7082         * top/maint.mk (sc_prohibit_can_not): New rule.
7083         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
7084
7085 2011-04-09  Bruno Haible  <bruno@clisp.org>
7086
7087         careadlinkat: Guard against misuse of careadlinkatcwd.
7088         * lib/careadlinkat.c: Include <stdlib.h>.
7089         (careadlinkatcwd): Check that the fd argument is as expected.
7090
7091 2011-04-09  Bruno Haible  <bruno@clisp.org>
7092
7093         careadlinkat: Use common coding style.
7094         * lib/careadlinkat.c: Move gnulib includes after system includes.
7095
7096 2011-04-09  Bruno Haible  <bruno@clisp.org>
7097
7098         careadlinkat: Clarify specification.
7099         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
7100         (careadlinkatcwd): Add comment.
7101         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
7102
7103 2011-04-09  Bruno Haible  <bruno@clisp.org>
7104
7105         areadlinkat: Avoid link error on many platforms.
7106         * modules/areadlinkat (Depends-on): Add areadlink.
7107
7108 2011-04-09  Bruno Haible  <bruno@clisp.org>
7109
7110         allocator, careadlinkat: Fix double-inclusion guard.
7111         * lib/allocator.h: Fix double-inclusion guard.
7112         * lib/careadlinkat.h: Likewise.
7113
7114 2011-04-09  Bruno Haible  <bruno@clisp.org>
7115
7116         relocatable-prog-wrapper: Update after module 'areadlink' changed.
7117         * lib/relocwrapper.c: Update dependencies hierarchy.
7118         * build-aux/install-reloc: Update list of files to be compiled.
7119         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
7120         lib/allocator.[hc].
7121
7122 2011-04-08  Eric Blake  <eblake@redhat.com>
7123
7124         strftime: silence gnulib-tool warning
7125         * modules/strftime-tests (Depends-on): Drop automatic dependency.
7126
7127 2011-04-08  Bruno Haible  <bruno@clisp.org>
7128
7129         verify: Fix syntax error with GCC 4.6 in C++ mode.
7130         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
7131         (HAVE_STATIC_ASSERT): New macro.
7132         (verify_true, verify): Use 'static_assert' if it is supported and
7133         '_Static_assert' is not supported.
7134
7135 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
7136
7137         allocator: New module.
7138         * modules/allocator, lib/allocator.c: New files.
7139         * lib/allocator.h (stdlib_allocator): New decl.
7140         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
7141         Remove.  Do not include <stdlib.h>.
7142         (careadlinkat): Use stdlib_allocator instead of rolling our own.
7143         * modules/careadlinkat (Files): Remove lib/allocator.h.
7144         (Depends-on): Add allocator.
7145
7146         stdlib: let modules use system malloc, realloc
7147         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
7148         if !_GL_USE_STDLIB_ALLOC.
7149         (malloc, realloc): Limit this change to a smaller scope.
7150
7151         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
7152         (malloc, realloc): Don't #undef; no longer needed.
7153         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
7154         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
7155         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
7156         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
7157         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
7158         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
7159         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
7160         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
7161
7162         careadlinkat: rename members to avoid problem
7163         * lib/allocator.h (struct allocator): Rename members from
7164         malloc/realloc to allocate/reallocate, to avoid problems if malloc
7165         and realloc are #define'd.  Reported by Eric Blake in
7166         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
7167         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
7168
7169 2011-04-08  Eric Blake  <eblake@redhat.com>
7170
7171         nonblocking: reduce dependency
7172         * tests/test-nonblocking.c: Only test sockets when in use.
7173         * modules/nonblocking-tests (Depends-on): Drop socket.
7174         (Makefile.am): Link even if sockets are not present.
7175         * modules/pipe2-tests (Makefile.am): Likewise.
7176         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
7177
7178         pipe2: fix O_NONBLOCK support on mingw
7179         * modules/pipe2 (Depends-on): Add nonblocking.
7180         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
7181         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
7182         * tests/test-nonblocking.c (main): Likewise.
7183         * modules/pipe2-tests (Makefile.am): Avoid link failure.
7184
7185         fcntl-h: fix O_ACCMODE on cygwin
7186         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
7187         * lib/fcntl.in.h (O_ACCMODE): Fix it.
7188
7189         pipe-filter: drop O_NONBLOCK workarounds
7190         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
7191         * modules/pipe-filter-ii (Depends-on): Likewise.
7192         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
7193
7194         nonblocking: provide O_NONBLOCK for mingw
7195         * modules/nonblocking (Depends-on): Add open.
7196         (configure.ac): Set new witness macro.
7197         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
7198         * modules/fcntl-h (Makefile.am): Substitute it.
7199         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
7200         nonblocking module is in use.
7201         * lib/nonblocking.c: Adjust portability test.
7202         * lib/open.c (open): Don't let native open see gnulib flag.
7203         * tests/test-fcntl-h.c (main): Enhance test.
7204         * tests/test-open.h (test_open): Likewise.
7205         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
7206
7207         careadlinkat: fix compilation error on mingw
7208         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
7209         within struct allocator.
7210
7211 2011-04-06  Eric Blake  <eblake@redhat.com>
7212
7213         binary-io: relicense under LGPLv2+
7214         * modules/binary-io (License): Relax to LGPLv2+.
7215         Requested for libvirt, and required by pipe2.
7216
7217 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
7218
7219         verify: use _Static_assert if available
7220         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
7221         (verify_true, verify): Use it if available.  This generates better
7222         diagnostics with GCC 4.6.0 and later.
7223
7224 2011-04-05  Bruno Haible  <bruno@clisp.org>
7225
7226         Remove leftover generated .h files after config.status changed.
7227
7228         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
7229         GL_GENERATE_ALLOCA_H.
7230         * modules/alloca-opt (Makefile.am): Remove alloca.h if
7231         GL_GENERATE_ALLOCA_H evaluates to false.
7232
7233         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
7234         GL_GENERATE_ARGZ_H.
7235         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
7236         evaluates to false.
7237
7238         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
7239         GL_GENERATE_BYTESWAP_H.
7240         * modules/byteswap (Makefile.am): Remove byteswap.h if
7241         GL_GENERATE_BYTESWAP_H evaluates to false.
7242
7243         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
7244         GL_GENERATE_ERRNO_H.
7245         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
7246         evaluates to false.
7247
7248         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
7249         GL_GENERATE_FLOAT_H.
7250         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
7251         evaluates to false.
7252
7253         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
7254         GL_GENERATE_FNMATCH_H.
7255         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
7256         GL_GENERATE_FNMATCH_H evaluates to false.
7257
7258         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
7259         GL_GENERATE_GLOB_H.
7260         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
7261         evaluates to false.
7262
7263         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
7264         automake conditional GL_GENERATE_ICONV_H.
7265         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
7266         evaluates to false.
7267
7268         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
7269         GL_GENERATE_NETINET_IN_H.
7270         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
7271         GL_GENERATE_NETINET_IN_H evaluates to false.
7272
7273         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
7274         conditional GL_GENERATE_PTHREAD_H.
7275         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
7276         * modules/pthread (Makefile.am): Remove pthread.h if
7277         GL_GENERATE_PTHREAD_H evaluates to false.
7278
7279         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
7280         GL_GENERATE_SCHED_H.
7281         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
7282         evaluates to false.
7283
7284         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
7285         conditional GL_GENERATE_SELINUX_CONTEXT_H.
7286         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
7287         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
7288
7289         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
7290         GL_GENERATE_STDARG_H.
7291         * modules/stdarg (Makefile.am): Remove stdarg.h if
7292         GL_GENERATE_STDARG_H evaluates to false.
7293
7294         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
7295         GL_GENERATE_STDBOOL_H.
7296         * modules/stdbool (Makefile.am): Remove stdbool.h if
7297         GL_GENERATE_STDBOOL_H evaluates to false.
7298
7299         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
7300         conditional GL_GENERATE_STDDEF_H.
7301         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
7302         * modules/stddef (Makefile.am): Remove stddef.h if
7303         GL_GENERATE_STDDEF_H evaluates to false.
7304
7305         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
7306         GL_GENERATE_STDINT_H.
7307         * modules/stdint (Makefile.am): Remove stdint.h if
7308         GL_GENERATE_STDINT_H evaluates to false.
7309
7310         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
7311         GL_GENERATE_SYSEXITS_H.
7312         * modules/sysexits (Makefile.am): Remove sysexits.h if
7313         GL_GENERATE_SYSEXITS_H evaluates to false.
7314
7315         Reported by Karl Berry and Ralf Wildenhues.
7316
7317 2011-04-05  Bruno Haible  <bruno@clisp.org>
7318
7319         Ensure to rebuild generated .h files when config.status has changed.
7320         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
7321         config.status.
7322         * modules/ctype (Makefile.am): Likewise.
7323         * modules/dirent (Makefile.am): Likewise.
7324         * modules/errno (Makefile.am): Likewise.
7325         * modules/fcntl-h (Makefile.am): Likewise.
7326         * modules/float (Makefile.am): Likewise.
7327         * modules/getopt-posix (Makefile.am): Likewise.
7328         * modules/glob (Makefile.am): Likewise.
7329         * modules/iconv-h (Makefile.am): Likewise.
7330         * modules/inttypes (Makefile.am): Likewise.
7331         * modules/langinfo (Makefile.am): Likewise.
7332         * modules/locale (Makefile.am): Likewise.
7333         * modules/math (Makefile.am): Likewise.
7334         * modules/netdb (Makefile.am): Likewise.
7335         * modules/netinet_in (Makefile.am): Likewise.
7336         * modules/poll-h (Makefile.am): Likewise.
7337         * modules/pthread (Makefile.am): Likewise.
7338         * modules/pty (Makefile.am): Likewise.
7339         * modules/sched (Makefile.am): Likewise.
7340         * modules/search (Makefile.am): Likewise.
7341         * modules/selinux-h (Makefile.am): Likewise.
7342         * modules/signal (Makefile.am): Likewise.
7343         * modules/spawn (Makefile.am): Likewise.
7344         * modules/stdarg (Makefile.am): Likewise.
7345         * modules/stdbool (Makefile.am): Likewise.
7346         * modules/stddef (Makefile.am): Likewise.
7347         * modules/stdint (Makefile.am): Likewise.
7348         * modules/stdio (Makefile.am): Likewise.
7349         * modules/stdlib (Makefile.am): Likewise.
7350         * modules/string (Makefile.am): Likewise.
7351         * modules/strings (Makefile.am): Likewise.
7352         * modules/sys_file (Makefile.am): Likewise.
7353         * modules/sys_ioctl (Makefile.am): Likewise.
7354         * modules/sys_select (Makefile.am): Likewise.
7355         * modules/sys_socket (Makefile.am): Likewise.
7356         * modules/sys_stat (Makefile.am): Likewise.
7357         * modules/sys_time (Makefile.am): Likewise.
7358         * modules/sys_times (Makefile.am): Likewise.
7359         * modules/sys_utsname (Makefile.am): Likewise.
7360         * modules/sys_wait (Makefile.am): Likewise.
7361         * modules/sysexits (Makefile.am): Likewise.
7362         * modules/termios (Makefile.am): Likewise.
7363         * modules/time (Makefile.am): Likewise.
7364         * modules/unistd (Makefile.am): Likewise.
7365         * modules/wchar (Makefile.am): Likewise.
7366         * modules/wctype-h (Makefile.am): Likewise.
7367         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
7368
7369 2011-04-05  Bruno Haible  <bruno@clisp.org>
7370
7371         pipe2: Relicense under LGPLv2+.
7372         * modules/pipe2 (License): Change to LGPLv2+.
7373         Requested by Eric Blake, for libvirt.
7374
7375 2011-04-05  Bruce Korb  <bkorb@gnu.org>
7376
7377         bootstrap: compute gnulib_extra_files after updating build_aux
7378         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
7379         change build_aux or also supply gnulib_extra_files.  Handle correctly.
7380
7381 2011-04-05  Eric Blake  <eblake@redhat.com>
7382
7383         bootstrap: preserve git whitelist item sorting
7384         * build-aux/bootstrap (sort_patterns): New function.
7385         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
7386
7387 2011-04-05  Simon Josefsson  <simon@josefsson.org>
7388
7389         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
7390         sc_space_tab check.
7391
7392 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
7393
7394         areadlink, areadlinkat: rewrite in terms of careadlinkat
7395         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
7396         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
7397         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
7398         (malloc, realloc): Remove #undefs.
7399         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
7400         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
7401         readlink, ssize_t, stdint, unistd.
7402         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
7403         areadlink, stdint.
7404
7405         careadlinkat: new module
7406         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
7407         * modules/careadlinkat: New files, written by me with
7408         a review and feedback from Ben Pfaff in
7409         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
7410
7411 2011-04-01  Bruno Haible  <bruno@clisp.org>
7412
7413         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
7414         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
7415         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
7416         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
7417         Reported by Bruce Korb <bruce.korb@gmail.com>.
7418
7419 2011-04-01  Bruno Haible  <bruno@clisp.org>
7420
7421         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
7422         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
7423         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
7424         * modules/wcpcpy (Depends-on): Add extensions.
7425         * modules/wcpncpy (Depends-on): Likewise.
7426         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
7427         systems.
7428         * doc/posix-functions/wcpncpy.texi: Likewise.
7429         * doc/posix-functions/wcwidth.texi: Likewise.
7430
7431 2011-03-31  Eric Blake  <eblake@redhat.com>
7432
7433         nonblocking: fix mingw test failures
7434         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
7435         non-blocking flag on regular file.
7436         (get_nonblocking_flag): Set errno on invalid fd.
7437         * tests/test-nonblocking.c (main): Avoid test failure on
7438         directories if fchdir is not active.
7439         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
7440
7441 2011-03-31  Bruno Haible  <bruno@clisp.org>
7442
7443         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
7444         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
7445         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
7446         Reported by Simon Josefsson <simon@josefsson.org>.
7447
7448 2011-03-31  Bruno Haible  <bruno@clisp.org>
7449         and Eric Blake  <eblake@redhat.com>
7450
7451         nonblocking: new module
7452         * modules/nonblocking: New module.
7453         * modules/nonblocking-tests: Likewise.
7454         * lib/nonblocking.h: New file.
7455         * lib/nonblocking.c: Likewise.
7456         * tests/test-nonblocking.c: New test.
7457         * lib/ioctl.c (ioctl) [mingw]: Update comment.
7458
7459 2011-03-30  Bruno Haible  <bruno@clisp.org>
7460
7461         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
7462         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
7463         instead of 'printf' format for GCC >= 4.4.
7464         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
7465         (fprintf, printf, vfprintf, vprintf): Declare with
7466         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
7467         the system's vfprintf() function.
7468         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
7469
7470 2011-03-30  Eric Blake  <eblake@redhat.com>
7471
7472         passfd: fix scoping bug
7473         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
7474         before sendmsg/recvmsg.
7475
7476         passfd: standardize coding conventions
7477         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
7478         can be learned at compile time.
7479         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
7480         ifdefs.
7481         (sendfd, recvfd): Follow gnulib code conventions.
7482
7483         passfd: fix incorrect sendmsg arguments
7484         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
7485         incorrect msg_controllen value.
7486         * modules/passfd-tests (Depends-on): Check for alarm.
7487         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
7488         Reported by Bastien ROUCARIES.
7489
7490 2011-03-30  Bruno Haible  <bruno@clisp.org>
7491
7492         c-strcasestr: Relicense under LGPLv2+.
7493         * modules/c-strcasestr (License): Change to LGPLv2+.
7494         Requested by Eric Blake, for libvirt.
7495
7496 2011-03-30  Simon Josefsson  <simon@josefsson.org>
7497
7498         * users.txt: Add libidn2.  Fix libtasn1 link.
7499
7500 2011-03-30  Jim Meyering  <meyering@redhat.com>
7501
7502         tests: readlink* ("",... fails with EINVAL on newer kernels
7503         readlink and readlinkat have typically failed with ENOENT for
7504         the invalid, empty file name,  "".  However, with the advent
7505         of linux-2.6.39, they fail with EINVAL.
7506         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
7507         when operating on the empty file name.
7508         * tests/test-readlink.h (test_readlink): Likewise.
7509
7510 2011-03-29  Bruno Haible  <bruno@clisp.org>
7511
7512         Relicense some modules under LGPLv2+, for libidn2.
7513         * modules/array-mergesort (License): Change to LGPLv2+.
7514         * modules/c-strcaseeq (License): Likewise.
7515         * modules/striconveh (License): Likewise.
7516         * modules/striconveha (License): Likewise.
7517         * modules/uniconv/base (License): Likewise.
7518         * modules/uniconv/u8-conv-from-enc (License): Likewise.
7519         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
7520         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
7521         * modules/unictype/base (License): Likewise.
7522         * modules/unictype/bidiclass-of (License): Likewise.
7523         * modules/unictype/category-M (License): Likewise.
7524         * modules/unictype/category-none (License): Likewise.
7525         * modules/unictype/category-of (License): Likewise.
7526         * modules/unictype/category-test (License): Likewise.
7527         * modules/unictype/category-test-withtable (License): Likewise.
7528         * modules/unictype/combining-class (License): Likewise.
7529         * modules/unictype/joiningtype-of (License): Likewise.
7530         * modules/unictype/scripts (License): Likewise.
7531         * modules/uninorm/base (License): Likewise.
7532         * modules/uninorm/canonical-decomposition (License): Likewise.
7533         * modules/uninorm/composition (License): Likewise.
7534         * modules/uninorm/decompose-internal (License): Likewise.
7535         * modules/uninorm/decomposition-table (License): Likewise.
7536         * modules/uninorm/nfc (License): Likewise.
7537         * modules/uninorm/nfd (License): Likewise.
7538         * modules/uninorm/u32-normalize (License): Likewise.
7539         * modules/unistr/base (License): Likewise.
7540         * modules/unistr/u32-cpy (License): Likewise.
7541         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
7542         * modules/unistr/u32-to-u8 (License): Likewise.
7543         * modules/unistr/u32-uctomb (License): Likewise.
7544         * modules/unistr/u8-check (License): Likewise.
7545         * modules/unistr/u8-mblen (License): Likewise.
7546         * modules/unistr/u8-mbtouc (License): Likewise.
7547         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
7548         * modules/unistr/u8-mbtoucr (License): Likewise.
7549         * modules/unistr/u8-prev (License): Likewise.
7550         * modules/unistr/u8-strlen (License): Likewise.
7551         * modules/unistr/u8-to-u32 (License): Likewise.
7552         * modules/unistr/u8-uctomb (License): Likewise.
7553         * modules/unitypes (License): Likewise.
7554         Requested by Simon Josefsson.
7555
7556 2011-03-29  Simon Josefsson  <simon@josefsson.org>
7557
7558         lib-symbol-visibility: Add a notice.
7559         * modules/lib-symbol-visibility (Notice): New field.
7560
7561 2011-03-29  Bruno Haible  <bruno@clisp.org>
7562
7563         getaddrinfo: Doc fix.
7564         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
7565         section "fixed in Gnulib".
7566
7567 2011-03-28  Simon Josefsson  <simon@josefsson.org>
7568
7569         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
7570         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
7571
7572 2011-03-26  Bruno Haible  <bruno@clisp.org>
7573
7574         unictype/property-byname: Reduce the number of load-time relocations.
7575         * lib/unictype/pr_byname.c: Include <stdlib.h>.
7576         (UC_PROPERTY_INDEX_*): New enumeration values.
7577         (uc_property_byname): Convert an index from the lookup table to an
7578         uc_property_t.
7579         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
7580         values.
7581
7582 2011-03-26  Bruno Haible  <bruno@clisp.org>
7583
7584         unictype/property-byname: Allow omitted word separators and aliases.
7585         * lib/unictype/pr_byname.gperf: Add property names without word
7586         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
7587         for 'space'.
7588
7589 2011-03-26  Bruno Haible  <bruno@clisp.org>
7590
7591         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
7592         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
7593         also hyphens to space.
7594         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
7595         without spaces.
7596         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
7597
7598 2011-03-26  Bruno Haible  <bruno@clisp.org>
7599
7600         unictype/joiningtype-byname: Recognize long names as well.
7601         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
7602         a long name.
7603         * lib/unictype/joiningtype_byname.c: Include <string.h>,
7604         unictype/joiningtype_byname.h.
7605         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
7606         * lib/unictype/joiningtype_byname.gperf: New file.
7607         * modules/unictype/joiningtype-byname (Files): Add
7608         lib/unictype/joiningtype_byname.gperf.
7609         (Depends-on): Add gperf.
7610         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
7611         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
7612         long names.
7613
7614         Tests for module 'unictype/joiningtype-longname'.
7615         * modules/unictype/joiningtype-longname-tests: New file.
7616         * tests/unictype/test-joiningtype_longname.c: New file.
7617
7618         New module 'unictype/joiningtype-longname'.
7619         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
7620         * lib/unictype/joiningtype_longname.c: New file.
7621         * modules/unictype/joiningtype-longname: New file.
7622         * modules/unictype/joiningtype-all (Depends-on): Add
7623         unictype/joiningtype-longname.
7624
7625 2011-03-26  Bruno Haible  <bruno@clisp.org>
7626
7627         unictype/bidiclass-byname: Recognize long names as well.
7628         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
7629         name.
7630         * lib/unictype/bidi_byname.c: Include <string.h>,
7631         unictype/bidi_byname.h.
7632         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
7633         * lib/unictype/bidi_byname.gperf: New file.
7634         * modules/unictype/bidiclass-byname (Files): Add
7635         lib/unictype/bidi_byname.gperf.
7636         (Depends-on): Add gperf.
7637         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
7638         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
7639         long names.
7640
7641         Tests for module 'unictype/bidiclass-longname'.
7642         * modules/unictype/bidiclass-longname-tests: New file.
7643         * tests/unictype/test-bidi_longname.c: New file.
7644
7645         New module 'unictype/bidiclass-longname'.
7646         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
7647         * lib/unictype/bidi_longname.c: New file.
7648         * modules/unictype/bidiclass-longname: New file.
7649         * modules/unictype/bidiclass-all (Depends-on): Add
7650         unictype/bidiclass-longname.
7651
7652 2011-03-26  Bruno Haible  <bruno@clisp.org>
7653
7654         unictype/bidi*: Rename modules.
7655         * modules/unictype/bidiclass-all: Renamed from
7656         modules/unictype/bidicategory-all.
7657         * modules/unictype/bidiclass-name: Renamed from
7658         modules/unictype/bidiclass-name.
7659         (Description): Update.
7660         * modules/unictype/bidiclass-name-tests: Renamed from
7661         modules/unictype/bidicategory-name-tests.
7662         * modules/unictype/bidiclass-byname: Renamed from
7663         modules/unictype/bidicategory-byname.
7664         (Description): Update.
7665         * modules/unictype/bidiclass-byname-tests: Renamed from
7666         modules/unictype/bidicategory-byname-tests.
7667         * modules/unictype/bidiclass-of: Renamed from
7668         modules/unictype/bidicategory-of.
7669         (Description): Update.
7670         * modules/unictype/bidiclass-of-tests: Renamed from
7671         modules/unictype/bidicategory-of-tests.
7672         * modules/unictype/bidiclass-test: Renamed from
7673         modules/unictype/bidicategory-test.
7674         (Description): Update.
7675         * modules/unictype/bidiclass-test-tests: Renamed from
7676         modules/unictype/bidicategory-test-tests.
7677         * modules/unictype/bidicategory-all: New file, a simple redirection.
7678         * modules/unictype/bidicategory-name: Likewise.
7679         * modules/unictype/bidicategory-byname: Likewise.
7680         * modules/unictype/bidicategory-of: Likewise.
7681         * modules/unictype/bidicategory-test: Likewise.
7682         * modules/unictype/property-bidi-* (Dependencies): Update.
7683         * lib/unictype/bidi_*.c: Update comment.
7684
7685 2011-03-26  Bruno Haible  <bruno@clisp.org>
7686
7687         unictype/bidi*: Rename functions, part 2.
7688         * modules/unictype/bidicategory-name (configure.ac): Update required
7689         libunistring version.
7690         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
7691
7692 2011-03-25  Bruno Haible  <bruno@clisp.org>
7693
7694         New module 'unictype/combining-class-all'.
7695         * modules/unictype/combining-class-all: New file.
7696
7697         Tests for module 'unictype/combining-class-byname'.
7698         * modules/unictype/combining-class-byname-tests: New file.
7699         * tests/unictype/test-combiningclass_byname.c: New file.
7700
7701         New module 'unictype/combining-class-byname'.
7702         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
7703         * lib/unictype/combiningclass_byname.c: New file.
7704         * lib/unictype/combiningclass_byname.gperf: New file.
7705         * modules/unictype/combining-class-byname: New file.
7706
7707         Tests for module 'unictype/combining-class-longname'.
7708         * modules/unictype/combining-class-longname-tests: New file.
7709         * tests/unictype/test-combiningclass_longname.c: New file.
7710
7711         New module 'unictype/combining-class-longname'.
7712         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
7713         * lib/unictype/combiningclass_longname.c: New file.
7714         * modules/unictype/combining-class-longname: New file.
7715
7716         Tests for module 'unictype/combining-class-name'.
7717         * modules/unictype/combining-class-name-tests: New file.
7718         * tests/unictype/test-combiningclass_name.c: New file.
7719
7720         New module 'unictype/combining-class-name'.
7721         * lib/unictype.in.h (uc_combining_class_name): New declaration.
7722         * lib/unictype/combiningclass_name.c: New file.
7723         * modules/unictype/combining-class-name: New file.
7724
7725 2011-03-25  Bruno Haible  <bruno@clisp.org>
7726
7727         unictype/combining-class: Rename source files.
7728         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
7729         of unictype/combining.h.
7730         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
7731         Update.
7732         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
7733         * modules/unictype/combining-class (Description): Fix.
7734         (Files, Makefile.am): Update.
7735         * tests/unictype/test-combiningclass.c: Renamed from
7736         tests/unictype/test-combining.c.
7737         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
7738
7739 2011-03-25  Bruno Haible  <bruno@clisp.org>
7740
7741         unictype: Update list of canonical combining classes.
7742         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
7743
7744 2011-03-25  Bruno Haible  <bruno@clisp.org>
7745
7746         unictype/category-byname: Recognize long names as well.
7747         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
7748         a long name.
7749         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
7750         unictype/categ_byname.h.
7751         (UC_CATEGORY_INDEX_*): New enumeration values.
7752         (uc_general_category_byname): Use uc_general_category_lookup and
7753         convert from index to value.
7754         * lib/unictype/categ_byname.gperf: New file.
7755         * modules/unictype/category-byname (Files): Add
7756         lib/unictype/categ_byname.gperf.
7757         (Depends-on): Add gperf.
7758         (Makefile.am): Add rule for generating unictype/categ_byname.h.
7759         * tests/unictype/test-categ_byname.c (main): Test the recognition of
7760         long names.
7761
7762         Tests for module 'unictype/category-longname'.
7763         * modules/unictype/category-longname-tests: New file.
7764         * tests/unictype/test-categ_longname.c: New file.
7765
7766         New module 'unictype/category-longname'.
7767         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
7768         * lib/unictype/categ_longname.c: New file.
7769         * modules/unictype/category-longname: New file.
7770         * modules/unictype/category-all (Depends-on): Add it.
7771
7772 2011-03-25  Bruno Haible  <bruno@clisp.org>
7773
7774         Tests for module 'unictype/category-LC'.
7775         * modules/unictype/category-LC-tests: New file.
7776         * tests/unictype/test-categ_LC.c: New file, automatically generated.
7777
7778         New module 'unictype/category-LC'.
7779         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
7780         (UC_CATEGORY_LC): New declaration.
7781         (UC_CASED_LETTER): New macro.
7782         * lib/gen-uni-tables.c (is_category_LC): New function.
7783         (output_categories): Also handle category LC.
7784         (UC_CATEGORY_MASK_LC): New enumeration value.
7785         (general_category_byname): Also handle category LC.
7786         * lib/unictype/categ_LC.c: New file.
7787         * lib/unictype/categ_LC.h: New file, automatically generated.
7788         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
7789         category LC.
7790         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
7791         * modules/unictype/category-LC: New file.
7792         * modules/unictype/category-byname (Depends-on): Add
7793         unictype/category-LC.
7794         * modules/unictype/category-all (Depends-on): Likewise.
7795
7796 2011-03-25  Eric Blake  <eblake@redhat.com>
7797
7798         xmalloc: revert yesterday's regression
7799         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
7800         realloc's underlying behavior (allowing allocation of zero-size
7801         objects, especially if malloc-gnu is also in use).
7802
7803 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
7804
7805         maint.mk: add missing version to VC-tag
7806         * top/maint.mk: git tag was missing actual tag name; add it.
7807
7808         valgrind: do leak checking, and exit with code 1 on error (not 0)
7809         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
7810         to VALGRIND.
7811
7812 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
7813
7814         posix-modules: say what it does.
7815         * posix-modules: Add a line to the --help output saying what it does.
7816
7817 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
7818
7819         xmalloc: Do not leak if underlying realloc is C99 compatible.
7820         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
7821         This avoids a leak on C99-based systems.  See
7822         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
7823
7824 2011-03-24  Eric Blake  <eblake@redhat.com>
7825
7826         realloc: document portability problem
7827         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
7828         passing 0 size to realloc.
7829
7830 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
7831
7832         doc: update users.txt
7833         * users.txt: Add cvsps, tmpwatch
7834
7835 2011-03-23  Matt Rice  <ratmice@gmail.com>
7836
7837         doc: update users.txt
7838         * users.txt: Add gdb.
7839
7840 2011-03-23  Jim Meyering  <meyering@redhat.com>
7841
7842         doc: update users.txt
7843         Looking through matches up to the following URL (there are still
7844         several more pages), I found several projects that use gnulib:
7845         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
7846         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
7847         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
7848
7849 2011-03-22  Bruno Haible  <bruno@clisp.org>
7850
7851         unictype/bidi*: Rename functions.
7852         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
7853         uc_bidi_class, uc_is_bidi_class): New declarations.
7854         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
7855         uc_bidi_category_byname.
7856         (uc_bidi_category_byname): New function.
7857         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
7858         u_bidi_category_name.
7859         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
7860         (uc_bidi_category_name): New function.
7861         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
7862         uc_bidi_category.
7863         (uc_bidi_category): New function.
7864         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
7865         uc_is_bidi_category. Invoke uc_bidi_class.
7866         (uc_is_bidi_category): New function.
7867         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
7868         instead of uc_bidi_category_byname.
7869         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
7870         instead of uc_bidi_category_name.
7871         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
7872         uc_bidi_category.
7873         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
7874         instead of uc_is_bidi_category.
7875
7876 2011-03-21  Bruno Haible  <bruno@clisp.org>
7877
7878         New module 'unictype/joininggroup-all'.
7879         * modules/unictype/joininggroup-all: New file.
7880
7881         Tests for module 'unictype/joininggroup-of'.
7882         * modules/unictype/joininggroup-of-tests: New file.
7883         * tests/unictype/test-joininggroup_of.c: New file.
7884         * tests/unictype/test-joininggroup_of.h: New file, automatically
7885         generated by gen-uni-tables.
7886
7887         New module 'unictype/joininggroup-of'.
7888         * modules/unictype/joininggroup-of: New file.
7889         * lib/unictype/joininggroup_of.c: New file.
7890         * lib/unictype/joininggroup_of.h: New file, automatically generated by
7891         gen-uni-tables.
7892
7893         Tests for module 'unictype/joininggroup-byname'.
7894         * modules/unictype/joininggroup-byname-tests: New file.
7895         * tests/unictype/test-joininggroup_byname.c: New file.
7896
7897         New module 'unictype/joininggroup-byname'.
7898         * modules/unictype/joininggroup-byname: New file.
7899         * lib/unictype/joininggroup_byname.c: New file.
7900         * lib/unictype/joininggroup_byname.gperf: New file.
7901
7902         Tests for module 'unictype/joininggroup-name'.
7903         * modules/unictype/joininggroup-name-tests: New file.
7904         * tests/unictype/test-joininggroup_name.c: New file.
7905
7906         New module 'unictype/joininggroup-name'.
7907         * modules/unictype/joininggroup-name: New file.
7908         * lib/unictype/joininggroup_name.c: New file.
7909         * lib/unictype/joininggroup_name.h: New file.
7910
7911         New module 'unictype/joiningtype-all'.
7912         * modules/unictype/joiningtype-all: New file.
7913
7914         Tests for module 'unictype/joiningtype-of'.
7915         * modules/unictype/joiningtype-of-tests: New file.
7916         * tests/unictype/test-joiningtype_of.c: New file.
7917         * tests/unictype/test-joiningtype_of.h: New file, automatically
7918         generated by gen-uni-tables.
7919
7920         New module 'unictype/joiningtype-of'.
7921         * modules/unictype/joiningtype-of: New file.
7922         * lib/unictype/joiningtype_of.c: New file.
7923         * lib/unictype/joiningtype_of.h: New file, automatically generated by
7924         gen-uni-tables.
7925
7926         Tests for module 'unictype/joiningtype-byname'.
7927         * modules/unictype/joiningtype-byname-tests: New file.
7928         * tests/unictype/test-joiningtype_byname.c: New file.
7929
7930         New module 'unictype/joiningtype-byname'.
7931         * modules/unictype/joiningtype-byname: New file.
7932         * lib/unictype/joiningtype_byname.c: New file.
7933
7934         Tests for module 'unictype/joiningtype-name'.
7935         * modules/unictype/joiningtype-name-tests: New file.
7936         * tests/unictype/test-joiningtype_name.c: New file.
7937
7938         New module 'unictype/joiningtype-name'.
7939         * modules/unictype/joiningtype-name: New file.
7940         * lib/unictype/joiningtype_name.c: New file.
7941
7942         unictype: Add support for Arabic shaping properties.
7943         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
7944         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
7945         declarations.
7946         (UC_JOINING_GROUP_*): New enumeration values.
7947         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
7948         declarations.
7949         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
7950         (unicode_joining_type): New variable.
7951         (UC_JOINING_GROUP_*): New enumeration values.
7952         (unicode_joining_group): New variable.
7953         (fill_arabicshaping, joining_type_as_c_identifier,
7954         output_joining_type_test, output_joining_type,
7955         joining_group_as_c_identifier, output_joining_group_test,
7956         output_joining_group): New functions.
7957         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
7958         fill_arabicshaping and output_joining_type_test, output_joining_type,
7959         output_joining_group_test, output_joining_group.
7960         Reported by Simon Josefsson.
7961
7962 2011-03-21  Jim Meyering  <meyering@redhat.com>
7963
7964         strftime: fix a bug in yesterday's change
7965         * lib/strftime.c (add): Accommodate width's initial value of -1.
7966         Otherwise, nstrftime would copy uninitialized data into
7967         the result buffer.
7968
7969 2011-03-21  Jim Meyering  <meyering@redhat.com>
7970
7971         tests: add strftime-tests module
7972         * tests/test-strftime.c: New file.
7973         * modules/strftime-tests: New module.
7974
7975 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
7976
7977         strftime: don't assume a byte count fits in 'int'
7978         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
7979         found this problem by static analysis, using gcc -Wstrict-overflow
7980         (GCC 4.5.2, x86-64).  This reported an optimization that depended
7981         on an integer overflow having undefined behavior, but it turns out
7982         that the argument is a size, which might not fit in 'int' anyway,
7983
7984 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
7985
7986         stdio: don't require ignore_value around fwrite
7987
7988         This patch works around libc bug 11959
7989         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
7990         Without this patch, applications must often write
7991         ignore_value (fwrite (...)) even though the ignore_value is
7992         not helpful here.  It's common to write many objects, using
7993         fwrite/printf/etc., and then use ferror to detect output error.
7994
7995         I considered making this patch optional, but decided against it,
7996         because libc is obviously being inconsistent here: there is no
7997         reason libc should insist that user code must inspect fwrite
7998         return's value without also insisting that it inspect printf's,
7999         putchar's, etc.  If user code wants to have a strict style where
8000         all these functions' values are checked (so that ferror need not
8001         be checked), we could add support for that style in a new gnulib
8002         module, but in the meantime it's better to be consistent and to
8003         support common usage.
8004
8005         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
8006         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
8007         that we are compiling in checking mode, and if not C++, and
8008         if not already wrapping fwrite for some other reason.
8009         (fwrite): #define to rpl_fwrite if the latter is defined.
8010
8011 2011-03-20  Bruno Haible  <bruno@clisp.org>
8012
8013         verror: Fix compilation error introduced on 2011-02-13.
8014         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
8015         instead of __attribute__.
8016         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8017
8018 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
8019             Bruno Haible  <bruno@clisp.org>
8020
8021         socklen: do not depend on sys_socket
8022         While trying to modify Emacs to use gnulib's socklen module,
8023         I discovered a circular dependency: socklen depends on sys_socket
8024         and vice versa.  Emacs can use socklen, but it does not need
8025         sys_socket because it has its own substitute for sys/socket.h.
8026         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
8027         gl_TYPE_SOCKLEN_T.
8028         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
8029         gl_PREREQ_SYS_H_SOCKET.
8030         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
8031         gl_PREREQ_SYS_H_SOCKET.
8032         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
8033         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
8034         * modules/socklen (Depends-on): Do not depend on sys_socket.
8035         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
8036
8037 2011-03-20  Jim Meyering  <meyering@redhat.com>
8038
8039         maint.mk: sort file names *after* new transformation
8040         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
8041         prefix would have led to an unwarranted failure in GNU parted.
8042         Sort after that transformation.
8043
8044 2011-03-19  Jim Meyering  <meyering@redhat.com>
8045
8046         maint.mk: fix po-file syntax-check rule
8047         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
8048         Patch by Bruno Haible.
8049
8050 2011-03-19  Bruno Haible  <bruno@clisp.org>
8051
8052         socklen: Update comment.
8053         * m4/socklen.m4: Update comment about platforms.
8054
8055 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
8056             Bruno Haible  <bruno@clisp.org>
8057
8058         inet_ntop, inet_pton: Simplify.
8059         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
8060         documented to provide socklen_t and we already depend on sys_socket.
8061         * modules/inet_pton (Depends-on): Likewise.
8062         * lib/arpa_inet.in.h: Adjust comment.
8063
8064 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
8065             Bruno Haible  <bruno@clisp.org>
8066
8067         netdb: Simplify.
8068         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
8069         documented to provide socklen_t and we already depend on sys_socket.
8070         * lib/netdb.in.h: Adjust comment.
8071
8072 2011-03-19  Bruno Haible  <bruno@clisp.org>
8073
8074         sys_socket, netdb: Document problem with socklen_t.
8075         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
8076         platforms.
8077         * doc/posix-headers/netdb.texi: Likewise.
8078
8079 2011-03-18  Eric Blake  <eblake@redhat.com>
8080
8081         maint.mk: let po check work in VPATH build
8082         * top/maint.mk (po_file): Allow cfg.mk override.
8083         (sc_po_check): Allow VPATH use.
8084         Reported by Jiri Denemark.
8085
8086 2011-03-16  Jim Meyering  <meyering@redhat.com>
8087
8088         maint.mk: allow fine-grained syntax-check exclusion via Make variables
8089         Before, you would have had to create one .x-sc_ file per rule in order
8090         to exempt offending files.  Now, you may instead use a Make variable --
8091         usually defined in cfg.mk -- whose name identifies the affected rule.
8092         * top/maint.mk (_sc_excl): Define.
8093         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
8094         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
8095
8096 2011-03-13  Bruno Haible  <bruno@clisp.org>
8097
8098         ignore-value tests: Avoid warnings.
8099         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
8100         empty for gcc < 3.4.
8101
8102 2011-03-13  Bruno Haible  <bruno@clisp.org>
8103
8104         passfd: Fix link error on Solaris.
8105         * modules/passfd (Description): Correct.
8106         (Depends-on): Add socketlib.
8107         (Link): New section.
8108         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
8109
8110 2011-03-13  Bruno Haible  <bruno@clisp.org>
8111
8112         passfd: Fix link error on AIX 5.2.
8113         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
8114
8115 2011-03-13  Bruno Haible  <bruno@clisp.org>
8116
8117         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
8118         * lib/sys_socket.in.h: Include <stddef.h>.
8119         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
8120         CMSG_FIRSTHDR. Remove unused variable.
8121
8122 2011-03-13  Bruno Haible  <bruno@clisp.org>
8123
8124         passfd: Fix compilation error on OpenBSD.
8125         * lib/passfd.c: Include <sys/uio.h>.
8126
8127 2011-03-13  Bruno Haible  <bruno@clisp.org>
8128
8129         passfd test: Fix warnings.
8130         * tests/test-passfd.c: Include <sys/wait.h>.
8131         (main): Fix typo.
8132
8133 2011-03-13  Bruno Haible  <bruno@clisp.org>
8134
8135         passfd module, part 4, tweaks.
8136         * tests/test-passfd.c: Reorder includes.
8137         (main): Fix perror and printf calls.
8138
8139 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
8140
8141         passfd module, part 4.
8142         * modules/passfd-tests: New file.
8143         * tests/test-passfd.c: New file.
8144
8145 2011-03-13  Jim Meyering  <meyering@redhat.com>
8146
8147         Makefile: rely on GNU make; derive syntax-check rule names
8148         Rather than requiring that each sc_ rule be listed as a dependent
8149         of "check", use features of GNU make to derive the list.
8150         * Makefile (syntax-check-rules): Define.
8151         (check): Depend on the new variable, not the hard-coded list.
8152
8153 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
8154             Bruno Haible  <bruno@clisp.org>
8155
8156         passfd module, part 3.
8157         * lib/passfd.h (recvfd): Add a flags argument.
8158         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
8159         (recvfd): Add a flags argument.
8160         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
8161         exists.
8162         * modules/passfd (Depends-on): Add cloexec.
8163         Suggested by Eric Blake.
8164
8165 2011-03-13  Bruno Haible  <bruno@clisp.org>
8166
8167         passfd module, part 2, tweaks.
8168         * modules/passfd (Files): Reorder.
8169         (Depends-on): Remove errno.
8170         (Include): Remove <sys/socket.h>, <sys/un.h>.
8171         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
8172         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
8173         specification header. Include <sys/socket.h> always. Don't include
8174         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
8175         (sendfd): Clarify that it sets errno when it fails.
8176         (recvfd): Fix specification.
8177
8178 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
8179
8180         passfd module, part 2.
8181         * modules/passfd: New file.
8182         * lib/passfd.h: New file.
8183         * lib/passfd.c: New file.
8184
8185 2011-03-12  Bruno Haible  <bruno@clisp.org>
8186
8187         wcswidth, mbswidth: Avoid integer overflow.
8188         * lib/wcswidth.c: Include <limits.h>.
8189         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
8190         * lib/mbswidth.c: Include <limits.h>.
8191         (mbsnwidth): Avoid 'int' overflow.
8192         Reported by Jim Meyering.
8193
8194 2011-03-12  Bruno Haible  <bruno@clisp.org>
8195
8196         futimens, utimensat: Avoid endless recursion on Solaris 10.
8197         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
8198         Solaris.
8199         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
8200         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
8201
8202 2011-03-11  Jim Meyering  <meyering@redhat.com>
8203
8204         maint.mk: relax a regexp to accommodate other formatting styles
8205         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
8206         between "ngettext" and the following "(".
8207
8208 2011-03-11  Pádraig Brady <P@draigBrady.com>
8209
8210         maint.mk: suppress a false positive warning
8211         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
8212         diagnostics are marked with ngettext.
8213
8214 2011-03-10  Eric Blake  <eblake@redhat.com>
8215
8216         wchar: add explicit dependencies, for Tru64
8217         * modules/mbmemcasecoll (Depends-on): Add wchar.
8218         * modules/mbtowc (Depends-on): Likewise.
8219         * modules/vasnprintf (Depends-on): Likewise.
8220         * modules/unistdio/u-printf-args (Depends-on): Likewise.
8221         * modules/wctomb (Depends-on): Likewise.
8222         Reported by Peter O'Gorman.
8223
8224 2011-03-08  Bruno Haible  <bruno@clisp.org>
8225
8226         passfd module, part 1, tweaks.
8227         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
8228         Improve indentation. Improve AC_MSG_CHECKING messages.
8229         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
8230         gl_SOCKET_FAMILIES.
8231
8232 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
8233
8234         passfd module, part 1.
8235         * m4/afunix.m4: New file.
8236         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
8237         sockets.
8238
8239 2011-03-08  Bruno Haible  <bruno@clisp.org>
8240
8241         regex-quote: New API.
8242         * lib/regex-quote.h: Include <stdbool.h>.
8243         (struct regex_quote_spec): New type.
8244         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
8245         New declarations.
8246         (regex_quote_length, regex_quote_copy, regex_quote): Take a
8247         'const struct regex_quote_spec *' argument.
8248         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
8249         (pcre_special): New constant.
8250         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
8251         New functions.
8252         (regex_quote_length, regex_quote_copy, regex_quote): Take a
8253         'const struct regex_quote_spec *' argument.
8254         * modules/regex-quote (Depends-on): Add stdbool.
8255         * tests/test-regex-quote.c (check): Update for new API. Add test for
8256         anchored results.
8257         * NEWS: Mention the API change.
8258         Reported by Reuben Thomas and Eric Blake.
8259
8260 2011-03-06  Bruno Haible  <bruno@clisp.org>
8261
8262         regex-quote: Fix creation of POSIX extended regular expressions.
8263         * lib/regex-quote.c (ere_special): Add grouping and alternation
8264         operators.
8265
8266 2011-03-05  Bruno Haible  <bruno@clisp.org>
8267
8268         doc: Improve doc regarding autopoint vs. gnulib.
8269         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
8270         disable autopoint while running autoreconf.
8271         Suggested by Ralf Wildenhues.
8272
8273 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8274
8275         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
8276         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
8277
8278 2011-03-03  Bruce Korb  <bkorb@gnu.org>
8279
8280         parse-duration: remove xalloc.h dependency
8281         * lib/parse-duration.c (parse_period): handle NULL return from
8282         strdup instead of calling xstrdup().
8283         * modules/parse-duration: remove "xalloc" dependency
8284
8285 2011-03-03  Matthew Booth  <mbooth@redhat.com>
8286
8287         bootstrap: honor m4_base when running aclocal
8288         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
8289
8290 2011-03-02  Jim Meyering  <meyering@redhat.com>
8291
8292         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
8293         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
8294         on request from Matt Booth.
8295
8296 2011-03-01  Eric Blake  <eblake@redhat.com>
8297
8298         test-link: work on Hurd
8299         * tests/test-link.h (test_link): Hurd rejects linking directories
8300         with EISDIR instead of the POSIX-mandated EPERM.
8301
8302 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
8303
8304         stdio: simplify by moving files to printf-posix, sigpipe
8305         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
8306         since this symbol is needed only if printf is replaced.
8307         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
8308         Require gl_ASM_SYMBOL_PREFIX.
8309         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
8310         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
8311         (Depends-on): Add 'raise'.
8312         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
8313         * modules/stdio (Files): Remove lib/stdio-write.c,
8314         m4/asm-underscore.m4.
8315         (Depends-on): Remove 'raise'.
8316
8317         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
8318         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
8319         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
8320         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
8321
8322 2011-02-28  Bruno Haible  <bruno@clisp.org>
8323
8324         localcharset: Assume ANSI C behaviour of free().
8325         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
8326         calling free().
8327         Suggested by Simon Josefsson <simon@josefsson.org>.
8328
8329 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
8330             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
8331             Bruno Haible  <bruno@clisp.org>  (tiny change)
8332
8333         On Cygwin, use /proc file system instead of win32 API.
8334         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
8335         Win32 file names.
8336         (DllMain): Simplify by removing Cygwin specific code.
8337         (find_shared_library_fullname): Use Linux specific implementation also
8338         for Cygwin.
8339         (get_shared_library_fullname): Update accordingly.
8340         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
8341         Win32 file names.
8342         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
8343         Cygwin specific code.
8344
8345 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
8346             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
8347
8348         Fix OpenMP flag detection for various Fortran compilers.
8349         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
8350         OpenMP-conditional compilation construct, to force compile
8351         failure with missing OpenMP flag.
8352         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
8353
8354 2011-02-25  Eric Blake  <eblake@redhat.com>
8355
8356         strstr: expand test coverage
8357         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
8358         compilation.
8359         * tests/test-memmem.c (main): Duplicate tests.
8360         * tests/test-strcasestr.c (main): Likewise.
8361         * tests/test-c-strcasestr.c (main): Likewise.
8362
8363 2011-02-25  Jim Meyering  <meyering@redhat.com>
8364
8365         maint.mk: detect missing-NL-at-EOF, too
8366         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
8367         it also detects when a file lacks a newline at EOF.
8368         (require_exactly_one_NL_at_EOF_): Renamed from
8369         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
8370         since people may well have .x-sc_... file names tied to the
8371         existing name.  Suggested by Eric Blake.
8372
8373 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
8374
8375         dirname: move m4/dos.m4 functionality into lib/dosname.h
8376
8377         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
8378         extracts symbols from it, puts them into config.h; but it's much
8379         easier to use the symbols directly.  filename.h already does this,
8380         but it disagrees with dos.m4 in some respects.  This patch
8381         introduces a different include file dosname.h that packages up
8382         dos.m4, and then later we can work on merging filename.h and
8383         dosname.h.  Applications that need only the easy-to-configure
8384         symbols should consider including dosname.h rather than dirname.h.
8385         * NEWS: Mention incompatible changes.
8386         * m4/dos.m4: Remove.
8387         * lib/dosname.h, modules/dosname: New files.
8388         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
8389         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
8390         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
8391         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
8392         Include dosname.h, not dirname.h.
8393         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
8394         Include dosname.h, for definitions of symbols like ISSLASH
8395         that used to be in config.h.
8396         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
8397         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
8398         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
8399         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
8400         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
8401         * modules/rmdir (Files): Likewise.
8402         * modules/stat (Files): Likewise.
8403         * modules/unlink (Files): Likewise.
8404         * modules/dirname-lgpl (Depends-on): Add dosname.
8405         * modules/lstat (Depends-on): Likewise.
8406         * modules/openat (Depends-on): Likewise.
8407         * modules/rmdir (Depends-on): Likewise.
8408         * modules/savewd (Depends-on): Likewise.
8409         * modules/stat (Depends-on): Likewise.
8410         * modules/unlink (Depends-on): Likewise.
8411         * modules/openat (Depends-on): Remove dirname-lgpl.
8412         * modules/savewd (Depends-on): Likewise.
8413         * tests/test-dirname.c: Do not use removed symbols like
8414         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
8415         the remaining symbols, e.g., ISSLASH ('\\').
8416
8417 2011-02-25  Eric Blake  <eblake@redhat.com>
8418
8419         strstr: revert patches that introduced bug and pessimization
8420         * lib/str-two-way.h: Add another reference.
8421         (two_way_short_needle, two_way_long_needle): Revert changes from
8422         2011-02-24; they pessimize search speed.
8423         (critical_factorization): Partially revert changes from
8424         2010-06-22; they violate the requirement that the left half of the
8425         needle be smaller than the period of the needle.
8426
8427 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
8428
8429         filenamecat: remove unnecessary dependency on dirname-lgpl
8430         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
8431         is no direct dependency, just an indirect one via filenamecat-lgpl.
8432
8433         remove: remove unnecessary use of m4/dos.m4
8434         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
8435         * modules/remove (FILES): Remove m4/dos.m4.
8436
8437         * lib/openat-proc.c: Don't include dirname.h; not needed.
8438
8439         backupfile: remove unnecessary use of m4/dos.m4
8440         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
8441         of its symbols are used by the backupfile code.  backupfile.c does
8442         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
8443         for the rare case of programs that want all their backup file
8444         names to live within 8+3 limits, and dos.m4 doesn't address that.
8445         * modules/backupfile (Files): Remove m4/dos.m4.
8446
8447 2011-02-24  Jim Meyering  <meyering@redhat.com>
8448
8449         strstr: fix a bug whereby strstr would mistakenly return NULL
8450         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
8451         in period calculation.
8452         (two_way_long_needle): Likewise.
8453         The original problem was reported by Mike Stump in
8454         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
8455         Ralf Wildenhues provided the short needle and haystack.
8456         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
8457         Add a more involved test to trigger the bug in two_way_long_needle.
8458
8459 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
8460
8461         gnulib-tool: remove use of bold display in help screen
8462         * gnulib-tool (func_usage): Do not use bold display anymore in the
8463         help screen.  That was just meant to be a temporary emphasis for a
8464         backward-incompatible change.
8465
8466 2011-02-23  Bruno Haible  <bruno@clisp.org>
8467
8468         Fix misindentation of preprocessor directives.
8469         * lib/argp-namefrob.h: Reindent preprocessor directives.
8470         * lib/getopt_int.h (struct _getopt_data): Likewise.
8471         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
8472         * lib/vasnprintf.c (decode_long_double): Likewise.
8473         * tests/test-argmatch.c: Insert blank lines, for clarity.
8474         * tests/test-exclude.c: Likewise.
8475
8476 2011-02-22  Bruno Haible  <bruno@clisp.org>
8477
8478         ioctl: Fix for MacOS X in 64-bit mode.
8479         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
8480         value.
8481         Suggested by Eric Blake.
8482         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
8483
8484 2011-02-22  Jim Meyering  <meyering@redhat.com>
8485
8486         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
8487         * Makefile (sc_cpp_indent_check): Don't limit the check to files
8488         in lib/.
8489
8490 2011-02-22  Eric Blake  <eblake@redhat.com>
8491
8492         maint: avoid any CDPATH issue
8493         * Makefile (sc_cpp_indent_check): Anchor cd argument.
8494
8495         maint: adjust cpp indentation for my modules, as well
8496         * Makefile (sc_cpp_indent_check): Add my name.
8497         * lib/fbufmode.c: Filter through cppi.
8498         * lib/fpurge.c: Likewise.
8499         * lib/freadable.c: Likewise.
8500         * lib/freading.c: Likewise.
8501         * lib/fwritable.c: Likewise.
8502         * lib/fwriting.c: Likewise.
8503         * lib/sigaction.c: Likewise.
8504
8505 2011-02-22  Jim Meyering  <meyering@redhat.com>
8506
8507         maint: adjust cpp indentation to reflect nesting depth
8508         I.e., in a block of code that begins with an unnested "#if",
8509         put one space between the "#" in column 1 and following token.
8510         For example,
8511         -#include <sys/vfs.h>
8512         +# include <sys/vfs.h>
8513         Do this only in .c files that are part of a module I maintain.
8514         * lib/linkat.c: Filter through cppi.
8515         * lib/nanosleep.c: Likewise.
8516         * lib/openat.c: Likewise.
8517         * lib/openat-die.c: Likewise.
8518         * lib/dup3.c: Likewise.
8519         * lib/fchownat.c: Likewise.
8520         * lib/flock.c: Likewise.
8521         * lib/fsync.c: Likewise.
8522         * lib/fts.c: Likewise.
8523         * lib/getpass.c: Likewise.
8524         * lib/gettimeofday.c: Likewise.
8525         * lib/userspec.c: Likewise.
8526         * Makefile (sc_cpp_indent_check): New rule, to check this.
8527
8528 2011-02-22  Bruno Haible  <bruno@clisp.org>
8529
8530         New module 'wctomb'.
8531         * lib/stdlib.in.h (wctomb): New declaration.
8532         * lib/wctomb.c: New file.
8533         * lib/wctomb-impl.h: New file.
8534         * m4/wctomb.m4: New file.
8535         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
8536         REPLACE_WCTOMB.
8537         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
8538         REPLACE_WCTOMB.
8539         * modules/wctomb: New file.
8540         * tests/test-stdlib-c++.cc: Test signature of wctomb.
8541         * doc/posix-functions/wctomb.texi: Mention the new module.
8542         * modules/wctob (Depends-on): Add wctomb.
8543
8544 2011-02-22  Bruno Haible  <bruno@clisp.org>
8545
8546         New module 'mbtowc'.
8547         * lib/stdlib.in.h (mbtowc): New declaration.
8548         * lib/mbtowc.c: New file.
8549         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
8550         * m4/mbtowc.m4: New file.
8551         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
8552         REPLACE_MBTOWC.
8553         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
8554         REPLACE_MBTOWC.
8555         * modules/mbtowc: New file.
8556         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
8557         * doc/posix-functions/mbtowc.texi: Mention the new module.
8558         * modules/btowc (Depends-on): Add mbtowc.
8559
8560 2011-02-22  Bruno Haible  <bruno@clisp.org>
8561
8562         wcrtomb: Add more tests for native Windows platforms.
8563         * tests/test-wcrtomb-w32-1.sh: New file.
8564         * tests/test-wcrtomb-w32-2.sh: New file.
8565         * tests/test-wcrtomb-w32-3.sh: New file.
8566         * tests/test-wcrtomb-w32-4.sh: New file.
8567         * tests/test-wcrtomb-w32-5.sh: New file.
8568         * tests/test-wcrtomb-w32.c: New file.
8569         * modules/wcrtomb-tests (Files): Add them.
8570         (Makefile.am): Arrange to run these tests.
8571         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
8572         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
8573
8574 2011-02-20  Bruno Haible  <bruno@clisp.org>
8575
8576         wcrtomb: Enhance test.
8577         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
8578
8579 2011-02-20  Bruno Haible  <bruno@clisp.org>
8580
8581         mbrtowc: Tiny optimization.
8582         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
8583
8584 2011-02-20  Jim Meyering  <meyering@redhat.com>
8585
8586         test-exclude.c: remove unmatched #endif
8587         * tests/test-exclude.c: Remove stray #endif, left over from
8588         the change of a week ago.
8589
8590 2011-02-19  Jim Meyering  <meyering@redhat.com>
8591
8592         git-version-gen: skip "-dirty" check when appropriate
8593         * build-aux/git-version-gen: Don't run any git commands when the
8594         version string comes from .tarball-version.  Prior to this, we
8595         would run git update-index --refresh even from a just-unpacked
8596         tarball directory, and that could affect a .git/ directory in a
8597         parent of the build directory.  Reported by Mike Frysinger.
8598
8599 2011-02-19  Bruno Haible  <bruno@clisp.org>
8600
8601         unictype/property-byname: Reduce the size of the 'data' segment.
8602         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
8603
8604 2011-02-19  Bruno Haible  <bruno@clisp.org>
8605
8606         unictype/scripts: Reduce the size of the 'data' segment.
8607         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
8608         '%pic'.
8609         * lib/unictype/scripts_byname.gperf: Regenerated.
8610
8611 2011-02-19  Bruno Haible  <bruno@clisp.org>
8612
8613         stdint: Update documentation.
8614         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
8615
8616 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
8617
8618         stdint: omit redundant check for wchar.h
8619         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
8620         always tests whether wchar.h exists, so remove the now-redundant test.
8621
8622 2011-02-18  Bruno Haible  <bruno@clisp.org>
8623
8624         stdint: Cut dependency to module 'wchar'.
8625         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
8626         include the necessary prerequisites.
8627         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
8628         * modules/stdint (Depends-on): Remove wchar.
8629         (Makefile.am): Substitute HAVE_WCHAR_H.
8630         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
8631
8632 2011-02-18  Eric Blake  <eblake@redhat.com>
8633
8634         longlong: skip, rather than fail, on cross-compilation
8635         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
8636         when cross-compiling; regression from 2011-02-16.
8637
8638 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
8639
8640         * NEWS: Mention 2011-02-08 change to stdlib.
8641
8642 2011-02-17  Bruno Haible  <bruno@clisp.org>
8643
8644         getloadavg: Add comments about platforms.
8645         * m4/getloadavg.m4: Add comment.
8646         * lib/getloadavg.c: Likewise.
8647
8648 2011-02-17  Bruno Haible  <bruno@clisp.org>
8649
8650         getloadavg: Fix link error on Solaris 2.6.
8651         * modules/getloadavg (Link): New section.
8652         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
8653         linking test-getloadavg.
8654         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
8655         getloadavg.
8656
8657 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
8658
8659         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
8660         It was 'int', but this doesn't match the IRIX 6.5 manual.
8661         Suggested by Bruno Haible in
8662         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
8663
8664 2011-02-17  Bruno Haible  <bruno@clisp.org>
8665
8666         havelib: Fix comments.
8667         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
8668         change.
8669
8670 2011-02-17  Bruno Haible  <bruno@clisp.org>
8671
8672         havelib: Update config.rpath.
8673         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
8674
8675 2011-02-17  Bruno Haible  <bruno@clisp.org>
8676
8677         getloadavg test: Add some plausibility checks.
8678         * tests/test-getloadavg.c (check_avg): Print a warning when the value
8679         is improbable.
8680
8681 2011-02-16  Eric Blake  <eblake@redhat.com>
8682
8683         maintainer-makefile: make syntax-check a no-op from tarballs
8684         * top/maint.mk (no-vc-detected): New rule.
8685         (local-checks-available): Use it to avoid hanging if someone tries
8686         'make syntax-check' from a tarball.  Also append to any non-syntax
8687         checks already defined in cfg.mk.
8688
8689 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
8690
8691         longlong: tune, particularly for common case of c99
8692
8693         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
8694         or running anything if c99, or if unsigned long long int does not
8695         work.  In either case, we know the answer without further tests.
8696         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
8697         it at most once, and use its results for both long long int and
8698         unsigned long long int.  This is more likely to be efficient in
8699         the common case where the program wants to check for both long
8700         long int and unsigned long long int.
8701         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
8702         since the answer is already known.
8703
8704 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
8705
8706         getloadavg: set errno
8707         * lib/getloadavg.c: Set errno when returning -1.  If no other
8708         error number looks appropriate, set it to ENOSYS if the getloadavg
8709         looks like it can't possibly ever work, ENOTSUP otherwise.
8710         Suggested by Bruno Haible in
8711         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
8712
8713         getloadavg: trim unused parts and speed up 'configure'
8714         * NEWS: Document this.
8715         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
8716         always compiled if getloadavg is absent.
8717         Move test code to ...
8718         * tests/test-getloadavg.c: New file, containing previous
8719         contents of test from lib/getloadavg.c.  It also contains
8720         suggestions by Bruno Haible in
8721         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
8722         * modules/getloadavg-tests: New file.
8723         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
8724         Do tests in the same order as they're needed for getloadavg.c.
8725         Omit setgid-related tests that generate symbols KMEM_GROUP,
8726         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
8727         Do only the tests that are needed to see whether the system has
8728         getloadavg, moving the other tests into ...
8729         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
8730         NLIST_NAME_UNION; nobody should be using it.  Do not define
8731         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
8732         relevant, as the user of this module shouldn't care how getloadavg
8733         is implemented.
8734
8735         getloadavg: omit unused var
8736         * lib/getloadavg.c (getloadavg): Omit unused local variable.
8737
8738 2011-02-15  Jim Meyering  <meyering@redhat.com>
8739
8740         doc: update users.txt
8741         * users.txt: Update iwhd's URL.
8742
8743 2011-02-13  Bruno Haible  <bruno@clisp.org>
8744
8745         Consistent macro naming for macros that use GCC __attribute__.
8746         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
8747         _ATTRIBUTE_NONNULL_.
8748         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
8749         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
8750         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
8751         ATTRIBUTE_DEPRECATED.
8752         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
8753         ATTRIBUTE_NORETURN.
8754         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
8755         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
8756         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
8757         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
8758         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
8759         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
8760         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
8761         ATTRIBUTE_SENTINEL.
8762         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
8763         ATTRIBUTE_RETURN_CHECK.
8764         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
8765         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
8766         ATTRIBUTE_NORETURN.
8767         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
8768         Reported by Paul Eggert.
8769
8770 2011-02-13  Bruno Haible  <bruno@clisp.org>
8771
8772         Don't interfere with a program's definition of __attribute__.
8773         * lib/argp.h (__attribute__): Remove definition.
8774         (_GL_ATTRIBUTE_FORMAT): New macro.
8775         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
8776         * lib/argp-fmtstream.h (__attribute__): Remove definition.
8777         (_GL_ATTRIBUTE_FORMAT): New macro.
8778         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
8779         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
8780         GCC 3 or newer.
8781         * lib/error.h (__attribute__): Remove definition.
8782         (_GL_ATTRIBUTE_FORMAT): New macro.
8783         (error, error_at_line): Use it.
8784         * lib/hash.h (__attribute__): Remove definition.
8785         (ATTRIBUTE_WUR): Update definition. Define always.
8786         * lib/openat.h (__attribute__): Remove definition.
8787         (ATTRIBUTE_NORETURN): Update definition. Define always.
8788         * lib/sigpipe-die.h (__attribute__): Remove definition.
8789         (ATTRIBUTE_NORETURN): Update definition. Define always.
8790         * lib/vasnprintf.h (__attribute__): Remove definition.
8791         (_GL_ATTRIBUTE_FORMAT): New macro.
8792         (asnprintf, vasnprintf): Use it.
8793         * lib/xalloc.h (__attribute__): Remove definition.
8794         (ATTRIBUTE_NORETURN): Update definition. Define always.
8795         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
8796         * lib/xmemdup0.h (__attribute__): Remove definition.
8797         (ATTRIBUTE_NORETURN): Update definition. Define always.
8798         * lib/xprintf.h (__attribute__): Remove definition.
8799         (_GL_ATTRIBUTE_FORMAT): New macro.
8800         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
8801         * lib/xstrtol.h (__attribute__): Remove definition.
8802         (ATTRIBUTE_NORETURN): Update definition. Define always.
8803         * lib/xvasprintf.h (__attribute__): Remove definition.
8804         (_GL_ATTRIBUTE_FORMAT): New macro.
8805         (xasprintf, xvasprintf): Use it.
8806         * tests/test-argmatch.c (__attribute__): Remove definition.
8807         (ATTRIBUTE_NORETURN): Update definition. Define always.
8808         * tests/test-exclude.c (__attribute__): Remove definition.
8809         (ATTRIBUTE_NORETURN): Update definition. Define always.
8810         Reported by Paul Eggert.
8811
8812 2011-02-13  Bruno Haible  <bruno@clisp.org>
8813
8814         mbrtowc: Add more tests for native Windows platforms.
8815         * tests/test-mbrtowc-w32-1.sh: New file.
8816         * tests/test-mbrtowc-w32-2.sh: New file.
8817         * tests/test-mbrtowc-w32-3.sh: New file.
8818         * tests/test-mbrtowc-w32-4.sh: New file.
8819         * tests/test-mbrtowc-w32-5.sh: New file.
8820         * tests/test-mbrtowc-w32.c: New file.
8821         * modules/mbrtowc-tests (Files): Add them.
8822         (Makefile.am): Arrange to run these tests.
8823         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
8824         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
8825
8826 2011-02-13  Bruno Haible  <bruno@clisp.org>
8827
8828         mbrtowc: Work around native Windows bug.
8829         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
8830         guess when no suitable locale for testing was found.
8831         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
8832
8833 2011-02-13  Bruno Haible  <bruno@clisp.org>
8834
8835         mbsinit: Work around mingw bug.
8836         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
8837         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
8838         Windows.
8839         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
8840
8841 2011-02-13  Bruno Haible  <bruno@clisp.org>
8842
8843         mbsinit: Don't crash for a NULL argument.
8844         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
8845         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
8846
8847 2011-02-13  Bruno Haible  <bruno@clisp.org>
8848
8849         Don't interfere with a program's definition of __attribute__.
8850         * lib/stdio.in.h (__attribute__): Remove definition.
8851         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
8852         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
8853         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
8854         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
8855         * lib/string.in.h (__attribute__): Remove definition.
8856         Reported by Paul Eggert.
8857
8858 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
8859
8860         stdlib: don't get in the way of non-GCC __attribute__
8861         See thread starting at
8862         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
8863         Revert previous stdlib change, installing the following instead:
8864         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
8865         to get in the way of a non-GCC compiler that supports __attribute__.
8866         (_GL_ATTRIBUTE_RETURN): New macro.
8867         (_Exit): Use it instead of __attribute__.
8868
8869 2011-02-12  Bruno Haible  <bruno@clisp.org>
8870
8871         quotearg test: Avoid test failure on mingw.
8872         * tests/test-quotearg.sh: Convert the locale identifier from native
8873         Windows syntax to Unix syntax.
8874
8875 2011-02-12  Bruno Haible  <bruno@clisp.org>
8876
8877         setlocale: Prefer gnulib's override over libintl's override.
8878         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
8879         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
8880         GNULIB_defined_setlocale is set.
8881
8882 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
8883
8884         stdlib: support non-GCC __attribute__
8885
8886         Fix a serious and tricky problem encountered when attempting to
8887         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
8888         5.5, but it crashed due to memory corruption on Solaris 10 with
8889         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
8890         bits that are otherwise zero.  This tagging is optional inside
8891         Emacs but is preferred and is used when __attribute__ ((__aligned
8892         (8))) works, as it does with both recent-enough GCC and with Sun C
8893         5.11.  However, Sun C 5.11 is not GCC and does not #define
8894         __GNUC__ and __GNUC_MINOR__.
8895
8896         When I added the getloadavg module to Emacs, it brought in
8897         stdlib.in.h, which contained this fragment:
8898
8899            #ifndef __attribute__
8900            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
8901            #  define __attribute__(Spec)   /* empty */
8902            # endif
8903            #endif
8904
8905         When files that include <stdlib.h> were compiled with Sun C 5.11,
8906         the above code disabled __attribute__ ((__aligned (8))), which
8907         caused variables to not be properly aligned, which eventually led
8908         to the pointer corruption mentioned above.  (This was a bit hard
8909         to diagnose, unfortunately.)
8910
8911         Several "#define __attribute__(X) /* empty */" code snippets need
8912         to be eradicated from Gnulib to work with non-GCC compilers that
8913         support __attribute__.  The Autoconf way to do this is to test for
8914         each kind of attribute that we want support for, and selectively
8915         enable that in source code.
8916
8917         Fix this problem just for stdlib.h, by adding a test for the
8918         __noreturn__ attribute, and change stdlib.in.h to use that test
8919         when needed.  This technique can be easily generalized to the
8920         other *.in.h files and attributes, and a similar technique can be
8921         used for *.h and *.c files.  This patch is enough to solve the
8922         problem for Emacs + getloadavg, and I thought I'd publish it for
8923         feedback before undertaking further, similar fixes in other
8924         modules.
8925
8926         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
8927         because it's not needed for stdlib.h.  It merely substitutes the
8928         value directly into stdlib.h.  We may well need to #define it, or
8929         similar symbols, for other modules, but it's nice to also have an
8930         option to not #define it for applications like Emacs that do not
8931         need it.
8932
8933         * lib/stdlib.in.h (__attribute__): Do not #define.
8934         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
8935         be defined only if the _Exit module is also used.
8936         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
8937         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
8938         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
8939         platforms.
8940         * modules/_Exit (Files): Add m4/attribute.m4.
8941         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
8942         * m4/attribute.m4: New file.
8943
8944 2011-02-12  Bruno Haible  <bruno@clisp.org>
8945
8946         wcsrtombs: Work around bug on native Windows.
8947         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
8948         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
8949         instead of len.
8950         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
8951
8952 2011-02-12  Bruno Haible  <bruno@clisp.org>
8953
8954         mbsrtowcs: Work around bug on native Windows.
8955         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
8956         against mingw bug.
8957         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
8958
8959 2011-02-12  Bruno Haible  <bruno@clisp.org>
8960
8961         Avoid setlocale bugs in tests.
8962         * modules/btowc (Dependencies): Add setlocale.
8963         * modules/c-strcase (Dependencies): Likewise.
8964         * modules/mbmemcasecmp (Dependencies): Likewise.
8965         * modules/mbmemcasecoll (Dependencies): Likewise.
8966         * modules/mbrtowc (Dependencies): Likewise.
8967         * modules/mbscasecmp (Dependencies): Likewise.
8968         * modules/mbscasestr (Dependencies): Likewise.
8969         * modules/mbschr (Dependencies): Likewise.
8970         * modules/mbscspn (Dependencies): Likewise.
8971         * modules/mbsinit (Dependencies): Likewise.
8972         * modules/mbsncasecmp (Dependencies): Likewise.
8973         * modules/mbsnrtowcs (Dependencies): Likewise.
8974         * modules/mbspbrk (Dependencies): Likewise.
8975         * modules/mbspcasecmp (Dependencies): Likewise.
8976         * modules/mbsrchr (Dependencies): Likewise.
8977         * modules/mbsrtowcs (Dependencies): Likewise.
8978         * modules/mbsspn (Dependencies): Likewise.
8979         * modules/mbsstr (Dependencies): Likewise.
8980         * modules/nl_langinfo (Dependencies): Likewise.
8981         * modules/quotearg (Dependencies): Likewise.
8982         * modules/unicase/locale-language (Dependencies): Likewise.
8983         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
8984         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
8985         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
8986         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
8987         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
8988         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
8989         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
8990         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
8991         * modules/vasnprintf-posix (Dependencies): Likewise.
8992         * modules/wcrtomb (Dependencies): Likewise.
8993         * modules/wcsnrtombs (Dependencies): Likewise.
8994         * modules/wcsrtombs (Dependencies): Likewise.
8995
8996 2011-02-12  Bruno Haible  <bruno@clisp.org>
8997
8998         setlocale: Workaround native Windows bug.
8999         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
9000         succeeds but sets LC_CTYPE to "C", report a failure.
9001         * tests/test-setlocale2.sh: New file.
9002         * tests/test-setlocale2.c: New file.
9003         * modules/setlocale-tests (Files): Add the new files.
9004         (Makefile.am): Enable test-setlocale2.sh test.
9005         * doc/posix-functions/setlocale.texi: Mention workaround.
9006
9007 2011-02-11  Bruno Haible  <bruno@clisp.org>
9008
9009         Tests for module 'setlocale'.
9010         * modules/setlocale-tests: New file.
9011         * tests/test-setlocale1.sh: New file.
9012         * tests/test-setlocale1.c: New file.
9013
9014         New module 'setlocale'.
9015         * lib/locale.in.h (setlocale): New declaration.
9016         * lib/setlocale.c: New file, based on
9017         gettext/gettext-runtime/intl/setlocale.c.
9018         * m4/setlocale.m4: New file.
9019         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
9020         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
9021         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
9022         REPLACE_SETLOCALE.
9023         * modules/setlocale: New file.
9024         * tests/test-locale-c++.cc: Test the declaration of setlocale.
9025         * doc/posix-functions/setlocale.texi: Mention the new module.
9026
9027 2011-02-11  Bruno Haible  <bruno@clisp.org>
9028
9029         Prepare for locale dependent tests on mingw.
9030         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
9031         because it has the wrong locale encoding.
9032         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
9033         French_France.1252 instead of "fr".
9034         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
9035         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
9036         because it has the wrong locale encoding.
9037         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
9038         native Windows, try Turkish_Turkey.65001.
9039         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
9040         Chinese_China.54936.
9041
9042         Prepare for locale dependent tests on mingw.
9043         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
9044         differently.
9045         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
9046         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
9047         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
9048         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
9049
9050 2011-02-11  Eric Blake  <eblake@redhat.com>
9051
9052         strptime: avoid compiler warnings
9053         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
9054         compiler warnings about dead code.
9055         Reported by Daniel P. Berrange.
9056
9057 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
9058
9059         doc: update users.txt
9060         * users.txt: Add rcs.
9061
9062 2011-02-10  John W. Eaton  <jwe@gnu.org>
9063
9064         doc: update users.txt
9065         * users.txt: Add octave.
9066
9067 2011-02-10  Jim Meyering  <meyering@redhat.com>
9068
9069         doc: update users.txt
9070         * users.txt: Add iwhd.
9071
9072 2011-02-09  Bruno Haible  <bruno@clisp.org>
9073
9074         gnulib-tool: Make copyright notice adjustment more robust.
9075         * gnulib-tool (func_import): In sed_transform_main_lib_file,
9076         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
9077         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
9078         License".
9079         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
9080
9081 2011-02-06  Bruno Haible  <bruno@clisp.org>
9082
9083         New module 'towctrans'.
9084         * modules/towctrans: New file.
9085         * lib/wctype.in.h (towctrans): New declaration.
9086         * lib/towctrans.c: New file.
9087         * lib/towctrans-impl.h: New file.
9088         * m4/towctrans.m4: New file.
9089         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
9090         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
9091         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
9092         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
9093         * doc/posix-functions/towctrans.texi: Mention the new module.
9094
9095 2011-02-06  Bruno Haible  <bruno@clisp.org>
9096
9097         New module 'wctrans'.
9098         * modules/wctrans: New file.
9099         * lib/wctype.in.h (wctrans): New declaration.
9100         * lib/wctrans.c: New file.
9101         * lib/wctrans-impl.h: New file.
9102         * m4/wctrans.m4: New file.
9103         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
9104         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
9105         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
9106         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
9107         * doc/posix-functions/wctrans.texi: Mention the new module.
9108
9109 2011-02-06  Bruno Haible  <bruno@clisp.org>
9110
9111         New module 'iswctype'.
9112         * modules/iswctype: New file.
9113         * lib/wctype.in.h (iswctype): New declaration.
9114         * lib/iswctype.c: New file.
9115         * lib/iswctype-impl.h: New file.
9116         * m4/iswctype.m4: New file.
9117         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
9118         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
9119         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
9120         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
9121         * doc/posix-functions/iswctype.texi: Mention the new module and the
9122         HP-UX 11.00 problem.
9123
9124 2011-02-06  Bruno Haible  <bruno@clisp.org>
9125
9126         New module 'wctype'.
9127         * modules/wctype: Change to represent the wctype() substitute.
9128         * lib/wctype.in.h (wctype): New declaration.
9129         * lib/wctype.c: New file.
9130         * lib/wctype-impl.h: New file.
9131         * m4/wctype.m4: New file.
9132         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
9133         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
9134         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
9135         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
9136         * doc/posix-functions/wctype.texi: Mention the new module and the
9137         HP-UX 11.00 problem.
9138
9139 2011-02-06  Bruno Haible  <bruno@clisp.org>
9140
9141         wctype-h: Ensure wctype_t and wctrans_t are defined.
9142         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
9143         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
9144         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
9145         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
9146         HAVE_WCTRANS_T.
9147         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
9148
9149 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
9150
9151         flock: fix license typo
9152
9153         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
9154         omitted.
9155
9156 2011-02-08  Bruno Haible  <bruno@clisp.org>
9157
9158         Split large sed scripts, for HP-UX sed.
9159         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
9160         to avoid HP-UX limit of 99 commands, in the near future.
9161         * modules/stdlib (Makefile.am): Likewise.
9162         * modules/unistd (Makefile.am): Likewise.
9163         * modules/wchar (Makefile.am): Likewise.
9164         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
9165         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
9166         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
9167
9168 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
9169             Bruno Haible  <bruno@clisp.org>
9170
9171         stdlib: improve random_r modularization
9172         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
9173         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
9174         you also need the random_r module to get this material right.
9175         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
9176         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
9177         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
9178
9179 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
9180
9181         stdlib: don't depend on stdint
9182         * lib/stdlib.in.h: Don't include <stdint.h> merely because
9183         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
9184         be independent of whether stdint.h is needed.
9185         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
9186         here, instead of ...
9187         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
9188         struct random_data should be using the random_r module, not just
9189         the stdlib module (which wouldn't make sense: what package needs
9190         just struct random_data without also needing random_r?).
9191         * modules/stdlib (Depends-on): Remove stdint.
9192
9193         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
9194         See the thread rooted at
9195         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
9196         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
9197         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
9198         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
9199         __VMS)); previously it was always included (via fcntl--.h).
9200         (getloadavg): Do not use c_strtod.  Instead, approximate it by
9201         hand; this is good enough for load averages.  Also, do not use
9202         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
9203         flags directly if available and don't bother otherwise.  (Packages
9204         that need the extra reliability should use the modules that define
9205         these flags on older platforms that lack them.)
9206         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
9207         fcntl-safer.
9208
9209 2011-02-08  Jim Meyering  <meyering@redhat.com>
9210
9211         di-set.h, ino-map.h: add multiple-inclusion guard
9212         Technically, the guard is required only for ino-map.h, due to its
9213         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
9214         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
9215         * lib/ino-map.h: Likewise.
9216
9217 2011-02-06  Bruno Haible  <bruno@clisp.org>
9218
9219         iswblank: Ensure declaration on glibc systems.
9220         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
9221         * modules/iswblank (Dependencies): Add 'extensions'.
9222         * doc/posix-functions/iswblank.texi: Document the glibc problem.
9223
9224 2011-02-06  Bruno Haible  <bruno@clisp.org>
9225
9226         New module 'iswblank'.
9227         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
9228         * modules/iswblank: New file.
9229         * modules/wctype-h (Files): Remove lib/iswblank.c.
9230         (Makefile.am): Substitute GNULIB_ISWBLANK.
9231         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
9232         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
9233         (gl_WCTYPE_H_DEFAULTS): New macro.
9234         (gl_WCTYPE_H): Require it. Remove iswblank related code.
9235         * modules/iswblank-tests: New file.
9236         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
9237         * tests/test-wctype-h.c (main): Remove iswblank tests.
9238         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
9239         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
9240         of 'wctype-h'.
9241         * NEWS: Mention the change.
9242         * modules/mbchar (Depends-on): Add iswblank.
9243
9244 2011-02-08  Bruno Haible  <bruno@clisp.org>
9245
9246         di-set tests: Refactor.
9247         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
9248         unnecessary includes.
9249         (ASSERT): Remove macro.
9250         (main): Make C90 compliant by avoiding variable declaration after
9251         statement.
9252         * modules/di-set-tests (Files): Add tests/macros.h.
9253
9254 2011-02-08  Bruno Haible  <bruno@clisp.org>
9255
9256         ino-map tests: Refactor.
9257         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
9258         unnecessary includes.
9259         (ASSERT): Remove macro.
9260         (main): Make C90 compliant by avoiding variable declaration after
9261         statement.
9262         * modules/ino-map-tests (Files): Add tests/macros.h.
9263
9264 2011-02-08  Jim Meyering  <meyering@redhat.com>
9265
9266         di-set: add "const" to a cast
9267         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
9268         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
9269
9270 2011-02-06  Bruno Haible  <bruno@clisp.org>
9271
9272         Rename module 'wctype' to 'wctype-h'.
9273         * modules/wctype-h: Renamed from modules/wctype.
9274         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
9275         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
9276         (Files, Depends-on, Makefile.am): Update.
9277         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
9278         (Files, Makefile.am): Update.
9279         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
9280         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
9281         * doc/posix-headers/wctype.texi: Update.
9282         * doc/posix-functions/iswalnum.texi: Update.
9283         * doc/posix-functions/iswalpha.texi: Update.
9284         * doc/posix-functions/iswblank.texi: Update.
9285         * doc/posix-functions/iswcntrl.texi: Update.
9286         * doc/posix-functions/iswdigit.texi: Update.
9287         * doc/posix-functions/iswgraph.texi: Update.
9288         * doc/posix-functions/iswlower.texi: Update.
9289         * doc/posix-functions/iswprint.texi: Update.
9290         * doc/posix-functions/iswpunct.texi: Update.
9291         * doc/posix-functions/iswspace.texi: Update.
9292         * doc/posix-functions/iswupper.texi: Update.
9293         * doc/posix-functions/iswxdigit.texi: Update.
9294         * doc/posix-functions/towlower.texi: Update.
9295         * doc/posix-functions/towupper.texi: Update.
9296         * NEWS: Mention the change.
9297         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
9298         * modules/mbchar (Dependencies): Likewise.
9299         * modules/mbswidth (Dependencies): Likewise.
9300         * modules/quotearg (Dependencies): Likewise.
9301         * modules/regex (Dependencies): Likewise.
9302         * modules/wcscasecmp (Dependencies): Likewise.
9303         * modules/wcsncasecmp (Dependencies): Likewise.
9304         * modules/wcwidth (Dependencies): Likewise.
9305
9306 2011-02-06  Bruno Haible  <bruno@clisp.org>
9307
9308         New module 'wcswidth'.
9309         * modules/wcswidth: New file.
9310         * lib/wchar.in.h (wcswidth): New declaration.
9311         * lib/wcswidth.c: New file.
9312         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
9313         * m4/wcswidth.m4: New file.
9314         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
9315         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
9316         REPLACE_WCSWIDTH.
9317         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
9318         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
9319         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
9320         * doc/posix-functions/wcswidth.texi: Mention the new module.
9321
9322 2011-02-06  Bruno Haible  <bruno@clisp.org>
9323
9324         New module 'wcstok'.
9325         * modules/wcstok: New file.
9326         * lib/wchar.in.h (wcstok): New declaration.
9327         * lib/wcstok.c: New file.
9328         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
9329         * m4/wcstok.m4: New file.
9330         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
9331         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
9332         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
9333         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
9334         * doc/posix-functions/wcstok.texi: Mention the new module.
9335
9336 2011-02-06  Bruno Haible  <bruno@clisp.org>
9337
9338         New module 'wcsstr'.
9339         * modules/wcsstr: New file.
9340         * lib/wchar.in.h (wcsstr): New declaration.
9341         * lib/wcsstr.c: New file.
9342         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
9343         * m4/wcsstr.m4: New file.
9344         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
9345         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
9346         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
9347         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
9348         * doc/posix-functions/wcsstr.texi: Mention the new module.
9349
9350 2011-02-06  Bruno Haible  <bruno@clisp.org>
9351
9352         New module 'wcspbrk'.
9353         * modules/wcspbrk: New file.
9354         * lib/wchar.in.h (wcspbrk): New declaration.
9355         * lib/wcspbrk.c: New file.
9356         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
9357         * m4/wcspbrk.m4: New file.
9358         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
9359         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
9360         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
9361         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
9362         * doc/posix-functions/wcspbrk.texi: Mention the new module.
9363
9364 2011-02-06  Bruno Haible  <bruno@clisp.org>
9365
9366         New module 'wcsspn'.
9367         * modules/wcsspn: New file.
9368         * lib/wchar.in.h (wcsspn): New declaration.
9369         * lib/wcsspn.c: New file.
9370         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
9371         * m4/wcsspn.m4: New file.
9372         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
9373         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
9374         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
9375         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
9376         * doc/posix-functions/wcsspn.texi: Mention the new module.
9377
9378 2011-02-06  Bruno Haible  <bruno@clisp.org>
9379
9380         New module 'wcscspn'.
9381         * modules/wcscspn: New file.
9382         * lib/wchar.in.h (wcscspn): New declaration.
9383         * lib/wcscspn.c: New file.
9384         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
9385         * m4/wcscspn.m4: New file.
9386         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
9387         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
9388         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
9389         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
9390         * doc/posix-functions/wcscspn.texi: Mention the new module.
9391
9392 2011-02-06  Bruno Haible  <bruno@clisp.org>
9393
9394         New module 'wcsrchr'.
9395         * modules/wcsrchr: New file.
9396         * lib/wchar.in.h (wcsrchr): New declaration.
9397         * lib/wcsrchr.c: New file.
9398         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
9399         * m4/wcsrchr.m4: New file.
9400         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
9401         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
9402         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
9403         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
9404         * doc/posix-functions/wcsrchr.texi: Mention the new module.
9405
9406 2011-02-06  Bruno Haible  <bruno@clisp.org>
9407
9408         New module 'wcschr'.
9409         * modules/wcschr: New file.
9410         * lib/wchar.in.h (wcschr): New declaration.
9411         * lib/wcschr.c: New file.
9412         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
9413         * m4/wcschr.m4: New file.
9414         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
9415         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
9416         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
9417         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
9418         * doc/posix-functions/wcschr.texi: Mention the new module.
9419
9420 2011-02-06  Bruno Haible  <bruno@clisp.org>
9421
9422         New module 'wcsdup'.
9423         * modules/wcsdup: New file.
9424         * lib/wchar.in.h (wcsdup): New declaration.
9425         * lib/wcsdup.c: New file.
9426         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
9427         * m4/wcsdup.m4: New file.
9428         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
9429         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
9430         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
9431         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
9432         * doc/posix-functions/wcsdup.texi: Mention the new module.
9433
9434 2011-02-06  Bruno Haible  <bruno@clisp.org>
9435
9436         New module 'wcsxfrm'.
9437         * modules/wcsxfrm: New file.
9438         * lib/wchar.in.h (wcsxfrm): New declaration.
9439         * lib/wcsxfrm.c: New file.
9440         * lib/wcsxfrm-impl.h: New file.
9441         * m4/wcsxfrm.m4: New file.
9442         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
9443         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
9444         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
9445         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
9446         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
9447
9448 2011-02-06  Bruno Haible  <bruno@clisp.org>
9449
9450         New module 'wcscoll'.
9451         * modules/wcscoll: New file.
9452         * lib/wchar.in.h (wcscoll): New declaration.
9453         * lib/wcscoll.c: New file.
9454         * lib/wcscoll-impl.h: New file.
9455         * m4/wcscoll.m4: New file.
9456         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
9457         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
9458         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
9459         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
9460         * doc/posix-functions/wcscoll.texi: Mention the new module.
9461
9462 2011-02-06  Bruno Haible  <bruno@clisp.org>
9463
9464         New module 'wcsncasecmp'.
9465         * modules/wcsncasecmp: New file.
9466         * lib/wchar.in.h (wcsncasecmp): New declaration.
9467         * lib/wcsncasecmp.c: New file.
9468         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
9469         * m4/wcsncasecmp.m4: New file.
9470         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
9471         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
9472         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
9473         HAVE_WCSNCASECMP.
9474         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
9475         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
9476
9477 2011-02-06  Bruno Haible  <bruno@clisp.org>
9478
9479         New module 'wcscasecmp'.
9480         * modules/wcscasecmp: New file.
9481         * lib/wchar.in.h (wcscasecmp): New declaration.
9482         * lib/wcscasecmp.c: New file.
9483         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
9484         * m4/wcscasecmp.m4: New file.
9485         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
9486         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
9487         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
9488         HAVE_WCSCASECMP.
9489         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
9490         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
9491
9492 2011-02-05  Bruno Haible  <bruno@clisp.org>
9493
9494         New module 'wcsncmp'.
9495         * modules/wcsncmp: New file.
9496         * lib/wchar.in.h (wcsncmp): New declaration.
9497         * lib/wcsncmp.c: New file.
9498         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
9499         * m4/wcsncmp.m4: New file.
9500         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
9501         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
9502         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
9503         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
9504         * doc/posix-functions/wcsncmp.texi: Mention the new module.
9505
9506 2011-02-05  Bruno Haible  <bruno@clisp.org>
9507
9508         New module 'wcscmp'.
9509         * modules/wcscmp: New file.
9510         * lib/wchar.in.h (wcscmp): New declaration.
9511         * lib/wcscmp.c: New file.
9512         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
9513         * m4/wcscmp.m4: New file.
9514         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
9515         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
9516         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
9517         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
9518         * doc/posix-functions/wcscmp.texi: Mention the new module.
9519
9520 2011-02-05  Bruno Haible  <bruno@clisp.org>
9521
9522         New module 'wcsncat'.
9523         * modules/wcsncat: New file.
9524         * lib/wchar.in.h (wcsncat): New declaration.
9525         * lib/wcsncat.c: New file.
9526         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
9527         * m4/wcsncat.m4: New file.
9528         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
9529         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
9530         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
9531         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
9532         * doc/posix-functions/wcsncat.texi: Mention the new module.
9533
9534 2011-02-05  Bruno Haible  <bruno@clisp.org>
9535
9536         New module 'wcscat'.
9537         * modules/wcscat: New file.
9538         * lib/wchar.in.h (wcscat): New declaration.
9539         * lib/wcscat.c: New file.
9540         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
9541         * m4/wcscat.m4: New file.
9542         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
9543         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
9544         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
9545         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
9546         * doc/posix-functions/wcscat.texi: Mention the new module.
9547
9548 2011-02-05  Bruno Haible  <bruno@clisp.org>
9549
9550         New module 'wcpncpy'.
9551         * modules/wcpncpy: New file.
9552         * lib/wchar.in.h (wcpncpy): New declaration.
9553         * lib/wcpncpy.c: New file.
9554         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
9555         * m4/wcpncpy.m4: New file.
9556         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
9557         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
9558         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
9559         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
9560         * doc/posix-functions/wcpncpy.texi: Mention the new module.
9561
9562 2011-02-05  Bruno Haible  <bruno@clisp.org>
9563
9564         New module 'wcsncpy'.
9565         * modules/wcsncpy: New file.
9566         * lib/wchar.in.h (wcsncpy): New declaration.
9567         * lib/wcsncpy.c: New file.
9568         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
9569         * m4/wcsncpy.m4: New file.
9570         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
9571         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
9572         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
9573         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
9574         * doc/posix-functions/wcsncpy.texi: Mention the new module.
9575
9576 2011-02-05  Bruno Haible  <bruno@clisp.org>
9577
9578         New module 'wcpcpy'.
9579         * modules/wcpcpy: New file.
9580         * lib/wchar.in.h (wcpcpy): New declaration.
9581         * lib/wcpcpy.c: New file.
9582         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
9583         * m4/wcpcpy.m4: New file.
9584         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
9585         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
9586         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
9587         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
9588         * doc/posix-functions/wcpcpy.texi: Mention the new module.
9589
9590 2011-02-05  Bruno Haible  <bruno@clisp.org>
9591
9592         New module 'wcscpy'.
9593         * modules/wcscpy: New file.
9594         * lib/wchar.in.h (wcscpy): New declaration.
9595         * lib/wcscpy.c: New file.
9596         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
9597         * m4/wcscpy.m4: New file.
9598         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
9599         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
9600         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
9601         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
9602         * doc/posix-functions/wcscpy.texi: Mention the new module.
9603
9604 2011-02-05  Bruno Haible  <bruno@clisp.org>
9605
9606         New module 'wcsnlen'.
9607         * modules/wcsnlen: New file.
9608         * lib/wchar.in.h (wcsnlen): New declaration.
9609         * lib/wcsnlen.c: New file.
9610         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
9611         * m4/wcsnlen.m4: New file.
9612         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
9613         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
9614         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
9615         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
9616         * doc/posix-functions/wcsnlen.texi: Mention the new module.
9617
9618 2011-02-05  Bruno Haible  <bruno@clisp.org>
9619
9620         New module 'wcslen'.
9621         * modules/wcslen: New file.
9622         * lib/wchar.in.h (wcslen): New declaration.
9623         * lib/wcslen.c: New file.
9624         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
9625         * m4/wcslen.m4: New file.
9626         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
9627         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
9628         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
9629         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
9630         * doc/posix-functions/wcslen.texi: Mention the new module.
9631
9632 2011-02-05  Bruno Haible  <bruno@clisp.org>
9633
9634         New module 'wmemset'.
9635         * modules/wmemset: New file.
9636         * lib/wchar.in.h (wmemset): New declaration.
9637         * lib/wmemset.c: New file.
9638         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
9639         * m4/wmemset.m4: New file.
9640         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
9641         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
9642         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
9643         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
9644         * doc/posix-functions/wmemset.texi: Mention the new module.
9645
9646 2011-02-05  Bruno Haible  <bruno@clisp.org>
9647
9648         New module 'wmemmove'.
9649         * modules/wmemmove: New file.
9650         * lib/wchar.in.h (wmemmove): New declaration.
9651         * lib/wmemmove.c: New file.
9652         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
9653         * m4/wmemmove.m4: New file.
9654         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
9655         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
9656         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
9657         HAVE_WMEMMOVE.
9658         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
9659         * doc/posix-functions/wmemmove.texi: Mention the new module.
9660
9661 2011-02-05  Bruno Haible  <bruno@clisp.org>
9662
9663         New module 'wmemcpy'.
9664         * modules/wmemcpy: New file.
9665         * lib/wchar.in.h (wmemcpy): New declaration.
9666         * lib/wmemcpy.c: New file.
9667         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
9668         * m4/wmemcpy.m4: New file.
9669         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
9670         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
9671         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
9672         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
9673         * doc/posix-functions/wmemcpy.texi: Mention the new module.
9674
9675 2011-02-05  Bruno Haible  <bruno@clisp.org>
9676
9677         New module 'wmemcmp'.
9678         * modules/wmemcmp: New file.
9679         * lib/wchar.in.h (wmemcmp): New declaration.
9680         * lib/wmemcmp.c: New file.
9681         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
9682         * m4/wmemcmp.m4: New file.
9683         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
9684         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
9685         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
9686         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
9687         * doc/posix-functions/wmemcmp.texi: Mention the new module.
9688
9689 2011-02-07  Jim Meyering  <meyering@redhat.com>
9690
9691         di-set, ino-map: new modules, from coreutils
9692         * lib/di-set.c: New file.
9693         * lib/di-set.h: Likewise.
9694         * lib/ino-map.c: Likewise.
9695         * lib/ino-map.h: Likewise.
9696         * modules/di-set: Likewise.
9697         * modules/di-set-tests: Likewise.
9698         * modules/ino-map: Likewise.
9699         * modules/ino-map-tests: Likewise.
9700         * tests/test-di-set.c: Likewise.
9701         * tests/test-ino-map.c: Likewise.
9702
9703 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
9704
9705         getloadavg: merge minor changes from Emacs
9706
9707         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
9708         (getloadavg): Use memset, not bzero.
9709
9710         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
9711         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
9712         clash (bug#86).
9713
9714 2010-11-14  Bruno Haible  <bruno@clisp.org>
9715
9716         Allow multiple gnulib generated replacements to coexist.
9717         * lib/getopt.in.h (struct option): Avoid identical redefinition.
9718         * lib/inttypes.in.h (imaxdiv_t): Likewise.
9719         * lib/langinfo.in.h (nl_item): Likewise.
9720         * lib/math.in.h (_NaN, NAN): Likewise.
9721         * lib/netdb.in.h (struct addrinfo): Likewise.
9722         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
9723         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
9724         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
9725         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
9726         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
9727         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
9728         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
9729         pthread_mutexattr_init, pthread_mutexattr_settype,
9730         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
9731         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
9732         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
9733         pthread_spin_trylock, pthread_spin_unlock): Likewise.
9734         * lib/sched.in.h (struct sched_param): Likewise.
9735         * lib/se-selinux.in.h (security_class_t, security_context_t,
9736         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
9737         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
9738         lsetfilecon, fsetfilecon, security_check_context,
9739         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
9740         Likewise.
9741         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
9742         Likewise.
9743         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
9744         _gl_function_taking_int_returning_void_t, union sigval,
9745         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
9746         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
9747         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
9748         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
9749         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
9750         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
9751         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
9752         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
9753         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
9754         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
9755         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
9756         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
9757         socklen_t, rpl_fd_isset): Likewise.
9758         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
9759         * lib/sys_time.in.h (struct timeval): Likewise.
9760         * lib/sys_times.in.h (struct tms): Likewise.
9761         * lib/sys_utsname.in.h (struct utsname):
9762         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
9763         * lib/unistd.in.h (getpagesize): Likewise.
9764         * lib/wchar.in.h (mbstate_t): Likewise.
9765         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
9766         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
9767         towlower, towupper): Likewise.
9768         Reported by Sam Steingold <sds@gnu.org>.
9769
9770 2011-02-05  Eric Blake  <eblake@redhat.com>
9771
9772         unsetenv: work around Haiku issues
9773         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
9774         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
9775
9776 2010-12-30  Bruce Korb  <bkorb@gnu.org>
9777
9778         libposix: avoid calling error() within libposix
9779         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
9780         is defined.
9781
9782 2011-02-05  Eric Blake  <eblake@redhat.com>
9783
9784         strerror_r-posix: port to cygwin
9785         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
9786         implementation.
9787         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
9788         * tests/test-strerror_r.c (main): Fix test.
9789         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
9790         issue.
9791
9792 2011-02-05  Bruno Haible  <bruno@clisp.org>
9793
9794         New module 'wmemchr'.
9795         * modules/wmemchr: New file.
9796         * lib/wchar.in.h (wmemchr): New declaration.
9797         * lib/wmemchr.c: New file.
9798         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
9799         * m4/wmemchr.m4: New file.
9800         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
9801         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
9802         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
9803         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
9804         * doc/posix-functions/wmemchr.texi: Mention the new module.
9805
9806 2011-02-04  Eric Blake  <eblake@redhat.com>
9807
9808         fdopendir: detect FreeBSD bug
9809         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
9810         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
9811
9812 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
9813
9814         stdbool: do not define HAVE_STDBOOL_H
9815         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
9816         AC_HEADER_STDBOOL.  All uses changed.  Do not define
9817         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
9818         imported from the latest Autoconf git.  It was motivated by Emacs,
9819         which uses gnulib but does not need HAVE_STDBOOL_H.
9820
9821 2011-02-04  Bruno Haible  <bruno@clisp.org>
9822
9823         wcsnrtombs: Prepare for new module wwcsnrtombs.
9824         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
9825         * lib/wcsnrtombs.c: Include it.
9826         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
9827
9828         wcsrtombs: Prepare for new module wwcsrtombs.
9829         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
9830         * lib/wcsrtombs.c: Include it.
9831         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
9832
9833         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
9834         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
9835         * lib/mbsnrtowcs.c: Include it.
9836         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
9837
9838         mbsrtowcs: Prepare for new module mbsrtowwcs.
9839         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
9840         * lib/mbsrtowcs.c: Include it.
9841         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
9842
9843 2011-02-04  Bruno Haible  <bruno@clisp.org>
9844
9845         vasnprintf: Reduce use of malloc for small format strings.
9846         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
9847         (arguments): Add room for the first 7 arguments.
9848         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
9849         (char_directives, u8_directives, u16_directives, u32_directives): Add
9850         room for the first 7 directives.
9851         * lib/printf-parse.c: Include <string.h>.
9852         (PRINTF_PARSE): Change memory handling code so that it uses the first
9853         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
9854         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
9855         Reported by Pádraig Brady <P@draigbrady.com>.
9856
9857 2011-01-31  Eric Blake  <eblake@redhat.com>
9858
9859         dup2: work around Haiku bug
9860         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
9861         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
9862         * doc/posix-functions/dup2.texi (dup2): Document the bug.
9863         * tests/test-dup2.c (main): Enhance test.
9864
9865 2011-01-31  Simon Josefsson  <simon@josefsson.org>
9866
9867         doc: off_t is not available in eglibc 2.11.2 stdio.h.
9868         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
9869         declared by eglibc 2.11.2.
9870         * lib/stdio.in.h: Likewise.
9871
9872 2011-01-31  Eric Blake  <eblake@redhat.com>
9873
9874         ignore-value: add missing test dependency
9875         * tests/test-ignore-value.c: Revert previous change; stdio.h
9876         provides off_t.
9877         * modules/ignore-value-tests (Depends-on): Add missing dependency.
9878
9879 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
9880
9881         mktime: clarify long_int width checking
9882         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
9883         the top level, to make it clearer that the assumption about
9884         long_int width is being checked.  See
9885         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
9886
9887 2011-01-30  Simon Josefsson  <simon@josefsson.org>
9888
9889         ignore-value: Fix self-test.
9890         * tests/test-ignore-value.c: Include sys/types.h for off_t.
9891
9892 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
9893
9894         TYPE_MAXIMUM: avoid theoretically undefined behavior
9895         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
9896         negative number, which the C Standard says has undefined behavior.
9897         In practice this is not a problem, but might as well do it by the book.
9898         Reported by Rich Felker and Eric Blake; see
9899         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
9900         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
9901         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
9902         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
9903         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
9904         * m4/stdint.m4 (gl_STDINT_H): Likewise.
9905         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
9906
9907         mktime: #undef mktime before #defining it
9908         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
9909
9910         mktime: systematically normalize tm_isdst comparisons
9911         * lib/mktime.c (isdst_differ): New function.
9912         (__mktime_internal): Use it systematically for all isdst comparisons.
9913         This completes the fix for libc BZ #6723, and removes the need for
9914         normalizing tm_isdst.  See
9915         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
9916         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
9917
9918         mktime: fix some integer overflow issues and sidestep the rest
9919
9920         This was prompted by a bug report by Benjamin Lindner for MinGW
9921         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
9922         His bug is due to signed integer overflow (0 - INT_MIN), and I
9923         I scanned through mktime.c looking for other integer overflow
9924         problems, fixing all the bugs I found.
9925
9926         Although the C Standard says the resulting code is still not safe
9927         in the presence of integer overflow, in practice it should be good
9928         enough for all real-world two's-complement implementations, except
9929         for debugging environments that deliberately trap on integer
9930         overflow (e.g., gcc -ftrapv).
9931
9932         * lib/mktime.c (WRAPV): New macro.
9933         (SHR): Also check that long_int and time_t shift right in the
9934         usual way, before using the fast-but-unportable method.
9935         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
9936         used.  The code already assumed two's complement, so there's
9937         no need to test for alternatives.  All uses removed.
9938         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
9939         the C standard.  Problem reported by Rich Felker in
9940         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
9941         (twos_complement_arithmetic): Also check long_int and time_t.
9942         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
9943         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
9944         (__mktime_internal): Avoid integer overflow with unary subtraction
9945         in two instances where -1 - X is an adequate replacement for -X,
9946         since the calculations are approximate.
9947
9948 2011-01-29  Eric Blake  <eblake@redhat.com>
9949
9950         mktime: avoid infinite loop
9951         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
9952         type; behavior is still undefined but portable to all known targets.
9953         Reported by Rich Felker.
9954
9955 2011-01-29  Simon Josefsson  <simon@josefsson.org>
9956
9957         rename, unlink, same-inode: Relicense.
9958         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
9959         * modules/unlink (License): Likewise.
9960         * modules/same-inode (License): Likewise.
9961
9962 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
9963
9964         mktime: avoid problems on NetBSD 5 / i386
9965         * lib/mktime.c (long_int): New type.  This works around a problem
9966         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
9967         but time_t is 64 bits, and where I expect the existing code is
9968         wrong in some cases.
9969         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
9970         (ydhms_diff): Bring back the compile-time check for wide-enough
9971         year and yday.
9972
9973         mktime: fix misspelling in comment
9974         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
9975         This merges all recent glibc changes of importance.
9976
9977 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9978
9979         move-if-change: cope with concurrent mv of identical file.
9980         * build-aux/move-if-change (CMPPROG): Accept environment
9981         variable as an override for `cmp'.
9982         (usage): Document CMPPROG.
9983         Adjust comparison to drop stdout.  Cope with failure of mv if
9984         the target file exists and is identical to the source, for
9985         parallel builds.
9986         Report from H.J. Lu against binutils in PR binutils/12283.
9987
9988 2011-01-28  Bruce Korb  <bkorb@gnu.org>
9989
9990         * users.txt: Mention sharutils.
9991
9992 2011-01-28  Simon Josefsson  <simon@josefsson.org>
9993
9994         * users.txt: Mention OATH Toolkit.
9995
9996 2011-01-27  Bruno Haible  <bruno@clisp.org>
9997
9998         Prepare for supporting FreeBSD 10.
9999         * build-aux/config.libpath: Remove handling of freebsd1*.
10000
10001 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
10002
10003         Prepare for supporting FreeBSD 10.
10004         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
10005         match FreeBSD 10.0.
10006
10007 2011-01-27  Bruno Haible  <bruno@clisp.org>
10008
10009         vma-iter, get-rusage-as: Add OpenBSD support.
10010         * modules/vma-iter (configure.ac): Test for mquery.
10011         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
10012         * lib/vma-iter.c: Include <sys/mman.h>.
10013         (vma_iterate): Add an implementation based on mquery().
10014         * lib/resource-ext.h (get_rusage_as): Update comments.
10015         * lib/get-rusage-as.c: Likewise.
10016         * lib/get-rusage-data.c: Likewise.
10017
10018 2011-01-26  Karl Berry  <karl@gnu.org>
10019
10020         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
10021         variables to make it easier to override the makeinfo program used.
10022
10023 2011-01-26  Eric Blake  <eblake@redhat.com>
10024
10025         fcntl: work around Haiku F_DUPFD bugs
10026         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
10027         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
10028         cloexec bit on duplication.
10029         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
10030
10031 2011-01-26  Bruno Haible  <bruno@clisp.org>
10032
10033         Enable memory leak tests on AIX.
10034         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
10035         * tests/test-fprintf-posix3.c (main): Likewise.
10036
10037 2011-01-26  Bruno Haible  <bruno@clisp.org>
10038
10039         Tests for module 'get-rusage-data'.
10040         * modules/get-rusage-data-tests: New file.
10041         * tests/test-get-rusage-data.c: New file.
10042
10043         New module 'get-rusage-data'.
10044         * lib/resource-ext.h (get_rusage_data): New declaration.
10045         * lib/get-rusage-data.c: New file.
10046         * modules/get-rusage-data: New file.
10047
10048 2011-01-25  Bruno Haible  <bruno@clisp.org>
10049
10050         get-rusage-as: Allow for easier testing.
10051         * lib/resource-ext.h (get_rusage_as): Add comment.
10052         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
10053         (main): New function for interactive testing.
10054
10055 2011-01-25  Bruno Haible  <bruno@clisp.org>
10056
10057         vma-iter: Treat Haiku like BeOS.
10058         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
10059         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
10060
10061 2011-01-25  Eric Blake  <eblake@redhat.com>
10062
10063         c-stack: fix regression on cygwin when libsigsegv is present
10064         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
10065
10066 2011-01-24  Bruno Haible  <bruno@clisp.org>
10067
10068         vma-iter: Avoid empty intervals.
10069         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
10070         on an empty interval.
10071
10072 2011-01-24  Jim Meyering  <meyering@redhat.com>
10073
10074         u64: remove unnecessary #include
10075         * lib/u64.h: Don't include <stddef.h>.  It was not used.
10076
10077 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
10078
10079         Allow the user to avoid the HAVE_RAW_DECL_* macros.
10080         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
10081
10082 2011-01-23  Bruno Haible  <bruno@clisp.org>
10083
10084         New module 'vma-iter'.
10085         * lib/vma-iter.h: New file.
10086         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
10087         * modules/vma-iter: New file.
10088         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
10089         for get_rusage_as_via_iterator.
10090         (vma_iterate_callback): New function.
10091         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
10092         * modules/get-rusage-as (Depends-on): Add vma-iter.
10093
10094 2011-01-23  Bruno Haible  <bruno@clisp.org>
10095
10096         uninorm: Tweak includes.
10097         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
10098         Reported by Jim Meyering.
10099
10100 2011-01-23  Bruno Haible  <bruno@clisp.org>
10101
10102         get-rusage-as: Improve on NetBSD.
10103         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
10104         /proc, like on FreeBSD.
10105
10106 2011-01-23  Jim Meyering  <meyering@redhat.com>
10107
10108         xreadlink.h: remove unnecessary #include
10109         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
10110
10111         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
10112         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
10113
10114 2011-01-23  Bruno Haible  <bruno@clisp.org>
10115
10116         get-rusage-as: Fix bug.
10117         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
10118         original limit when aborting the first loop.
10119
10120 2011-01-23  Bruno Haible  <bruno@clisp.org>
10121
10122         wctype: Ensure valid C syntax.
10123         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
10124         unconditionally, instead of gl_NEXT_HEADERS conditionally.
10125
10126 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
10127
10128         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
10129         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
10130         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
10131         as they are needed only for configure's test case.
10132         This removes two unnecessary symbols from config.h.
10133
10134         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
10135         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
10136         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
10137         AC_CHECK_HEADERS_ONCE on a header that we also invoke
10138         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
10139         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
10140         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
10141         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
10142         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
10143         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
10144         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
10145         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
10146         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
10147         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
10148         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
10149         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
10150         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
10151         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
10152
10153 2011-01-21  Eric Blake  <eblake@redhat.com>
10154
10155         maintainer-makefile: work with older git for submodule check
10156         * top/maint.mk (public-submodule-commit): Rewrite to avoid
10157         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
10158         Reported by Matthias Bolte.
10159
10160         bootstrap: minor portability fixes
10161         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
10162         (usage): Omit leading capital and trailing . on help phrases, per
10163         GNU Coding Standards.
10164         (check_versions, top level): Prefix messages with script name.
10165
10166 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
10167
10168         bootstrap: support --no-git option
10169         * build-aux/bootstrap: Add --no-git option, to be used when
10170         --gnulib-srcdir points to the exact desired checkout.
10171
10172 2011-01-21  Eric Blake  <eblake@redhat.com>
10173
10174         strerror_r-posix: work with glibc 2.13
10175         * lib/strerror_r.c (strerror_r): Fix return type.
10176
10177 2011-01-21  Pádraig Brady  <P@draigBrady.com>
10178             Bruno Haible  <bruno@clisp.org>
10179
10180         uN_strstr: New unit tests.
10181         * modules/unistr/u8-strstr-tests: New file.
10182         * modules/unistr/u16-strstr-tests: New file.
10183         * modules/unistr/u32-strstr-tests: New file.
10184         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
10185         * tests/unistr/test-u8-strstr.c: New file.
10186         * tests/unistr/test-u16-strstr.c: New file.
10187         * tests/unistr/test-u32-strstr.c: New file.
10188
10189 2011-01-21  Pádraig Brady  <P@draigBrady.com>
10190             Bruno Haible  <bruno@clisp.org>
10191
10192         Make uN_strstr functions O(n) worst-case.
10193         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
10194         16-bit and 32-bit unit cases, use the unibyte algorithm from
10195         lib/mbsstr.c.
10196         * lib/unistr/u8-strstr.c: Include <string.h>.
10197         (UNIT_IS_UINT8_T): New macro.
10198         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
10199         (U_STRLEN, U_STRNLEN): New macros.
10200         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
10201         (U_STRLEN, U_STRNLEN): New macros.
10202         * modules/unistr/u8-strstr (Depends-on): Add strstr.
10203         (configure.ac): Update required libunistring version.
10204         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
10205         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
10206         malloca.
10207         (configure.ac): Update required libunistring version.
10208         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
10209         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
10210         malloca.
10211         (configure.ac): Update required libunistring version.
10212
10213 2011-01-21  Pádraig Brady  <P@draigBrady.com>
10214             Bruno Haible  <bruno@clisp.org>
10215
10216         Prepare for faster uN_strstr functions.
10217         * lib/str-kmp.h: Support definable UNITs.
10218         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
10219         needle_len argument.
10220         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
10221         * lib/mbscasestr.c (mbscasestr): Likewise.
10222
10223 2011-01-21  Pádraig Brady <P@draigBrady.com>
10224
10225         malloca-tests: make faster by unsetting MALLOC_PERTURB_
10226         * tests/test-malloca.c (main): Unset the environment variable
10227         to greatly speed up the test.
10228         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
10229         * modules/malloca-tests: Depend on unsetenv.
10230
10231 2011-01-21  Pádraig Brady <P@draigBrady.com>
10232
10233         ignore-value: remove stdint dependency
10234         * lib/ignore-value.h: Remove <stdint.h>
10235         * modules/ignore-value: Remove stdint dependency.
10236
10237 2011-01-21  Jim Meyering  <meyering@redhat.com>
10238
10239         maint.mk: adjust variable name to be consistent with other gl_ vars
10240         * top/maint.mk (gl_public_submodule_commit): Rename the variable
10241         to be lower case.
10242
10243 2011-01-20  Jim Meyering  <meyering@redhat.com>
10244
10245         maint.mk: make "check" depend on public-submodule-commit by default
10246         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
10247
10248 2011-01-20  Bruno Haible  <bruno@clisp.org>
10249
10250         mbfile, mbiter: Complete change from 2008-12-21.
10251         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
10252         * m4/mbiter.m4 (gl_MBITER): Likewise.
10253
10254 2011-01-20  Jim Meyering  <meyering@redhat.com>
10255
10256         init.sh: insert space between each function name and "()"
10257         * tests/init.sh: Make it a little easier to see that a function's
10258         name is "warn_", and not "warn" when looking at the first part of
10259         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
10260
10261 2011-01-20  Jim Meyering  <meyering@redhat.com>
10262
10263         mountlist: clean up code formatting
10264         * lib/mountlist.c (read_file_system_list): Split a long line,
10265         correct bracing style, use NULL in place of "(struct statfs *)0",
10266         don't parenthesize return value, add spaces around "=" and after
10267         ";-in-for-stmt".
10268
10269 2011-01-14  Markus Duft <mduft@gentoo.org>
10270
10271         mountlist: add support for Interix
10272         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
10273         Apply statvfs to all entries of /dev/fs.
10274         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
10275         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
10276
10277 2011-01-20  Jim Meyering  <meyering@redhat.com>
10278
10279         maint.mk: improve the public-submodule-commit rule
10280         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
10281         to suppress printing of its commands... unless V=1.
10282         Add git submodule's --quiet option to suppress printing of e.g.,
10283         "Entering gnulib" output.
10284         "cd" into $(srcdir) before running git submodule.
10285
10286 2011-01-20  Bruno Haible  <bruno@clisp.org>
10287
10288         include_next: Fix bug introduced on 2011-01-18.
10289         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
10290         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
10291         ac_cv_header_... variable if the second argument is not 'check'.
10292         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
10293         gl_NEXT_HEADERS_INTERNAL.
10294
10295 2011-01-20  Bruno Haible  <bruno@clisp.org>
10296
10297         Allow the user to avoid the GNULIB_TEST_* macros.
10298         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
10299         Suggested by Paul Eggert.
10300
10301 2011-01-14  Jim Meyering  <meyering@redhat.com>
10302
10303         bootstrap: avoid failure when there is no .gitmodules file
10304         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
10305         has been assigned to, even when its value is the empty string.
10306         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
10307         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
10308         Reported by John W. Eaton <jwe@gnu.org>.
10309
10310 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
10311
10312         assume <ctype.h>, ..., <time.h> exist
10313         For years gnulib has been assuming the existence of the headers
10314         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
10315         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
10316         them, since they don't appear to be needed.
10317         * README (Portability guidelines): Document this.
10318         * lib/flock.c: Assume <fcntl.h> exists.
10319         * lib/regex_internal.h: Assume <locale.h> exists.
10320         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
10321         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
10322         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
10323         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
10324         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
10325         * m4/regex.m4 (gl_REGEX): Likewise.
10326         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
10327         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
10328         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
10329         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
10330         * tests/test-argp.c: Likewise.
10331         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
10332
10333         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
10334         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
10335         AA_APPLE_UNIVERSAL_BUILD.  See
10336         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
10337         * NEWS: Document this.
10338
10339 2011-01-19  Eric Blake  <eblake@redhat.com>
10340
10341         c-stack: assume stack overflow if SA_SIGINFO unsupported
10342         * lib/c-stack.c (SIGACTION_WORKS): Rename...
10343         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
10344         sigaction will work.
10345         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
10346         behavior match Linux.
10347         * tests/test-c-stack.c (main): Prefer NULL for pointers.
10348
10349         stdbool-tests: accomodate Haiku
10350         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
10351
10352         binary-io: fix O_TEXT on Haiku
10353         * modules/binary-io (Depends-on): Add fcntl-h.
10354         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
10355         than blindly undefining O_TEXT.
10356         Reported by Scott McCreary.
10357
10358 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
10359
10360         include_next: do not check for standard headers like stddef.h
10361
10362         I found this problem when modifying Emacs to use gnulib.
10363         I noticed that it added HAVE_STDDEF_H to config.h, even though
10364         gnulib always assumes <stddef.h> exists as per README and this
10365         symbol is unnecessary.
10366         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
10367         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
10368         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
10369         faster for headers like stddef.h that are known to exist.
10370         (gl_CHECK_NEXT_HEADERS): Use it.
10371         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
10372         rather than gl_CHECK_NEXT_HEADERS.
10373         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
10374         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
10375
10376 2011-01-18  Eric Blake  <eblake@redhat.com>
10377
10378         ansi-c++-opt: skip C++ dependency style if C++ is unused
10379         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
10380         tests when we know C++ compilation is not desired.
10381         Reported by Scott McCreary.
10382
10383 2011-01-18  Bruno Haible  <bruno@clisp.org>
10384
10385         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
10386         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
10387         (main): Perform test also when getrlimit and setrlimit don't exist or
10388         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
10389         limiting the address space size using setrlimit, compare the address
10390         space size before and after the the test.
10391         * tests/test-dprintf-posix2.c: Likewise.
10392         * tests/test-fprintf-posix3.sh: Update skip messages.
10393         * tests/test-dprintf-posix2.sh: Likewise.
10394         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
10395         * modules/dprintf-posix-tests (Depends-on): Likewise.
10396         Reported by Bruce Korb <bkorb@gnu.org> and
10397         Gary V. Vaughan <gary@gnu.org>.
10398
10399 2011-01-18  Bruno Haible  <bruno@clisp.org>
10400
10401         get-rusage-as: Improvement for Cygwin.
10402         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
10403         areas that are merely reserved.
10404
10405 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
10406
10407         strftime: remove dependencies on multibyte modules
10408
10409         strftime depended on mbrlen, mbsinit, and wchar, but these modules
10410         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
10411         only if __osf__ is defined, and I suspect OSF doesn't need these
10412         other modules.  If my guess is wrong, we'll need to come up with a
10413         variant of strftime that doesn't need the multibyte modules.
10414
10415         I discovered this problem when attempting modify Emacs to use the
10416         strftime module.  With the previous gnulib, this caused Emacs to
10417         need 31 new files, ranging from lib/config.charset to
10418         m4/wint_t.m4.  This was overkill and I expect would be offputting
10419         to the Emacs maintainers.  After this change, only 6 new files are
10420         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
10421         stdbool.m4, and tm_gmtoff.m4.
10422
10423         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
10424         Suggested by Bruno Haible in
10425         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
10426         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
10427         and do not check for wchar.h.
10428         * modules/strftime (Files): Remove m4/mbstate_t.m4.
10429         (Depends-on): Remove mbrlen, mbsinit, wchar.
10430
10431 2011-01-18  Bruno Haible  <bruno@clisp.org>
10432
10433         Tests for module 'get-rusage-as'.
10434         * modules/get-rusage-as-tests: New file.
10435         * tests/test-get-rusage-as.c: New file.
10436
10437         New module 'get-rusage-as'.
10438         * modules/get-rusage-as: New file.
10439         * lib/resource-ext.h: New file.
10440         * lib/get-rusage-as.c: New file.
10441
10442 2011-01-17  Eric Blake  <eblake@redhat.com>
10443
10444         sigaction: relax license from LGPLv3+ to LGPLv2+
10445         * modules/sigaction (License): Relax to LGPLv2+.
10446
10447 2011-01-14  Bruno Haible  <bruno@clisp.org>
10448
10449         filemode: Make function declarations usable in C++ mode.
10450         * lib/filemode.h: Enclose function declarations in extern "C" block.
10451         Reported by John W. Eaton <jwe@gnu.org>.
10452
10453 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
10454
10455         save-cwd: no longer include "xgetcwd.h"
10456         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
10457         This avoids a compilation failure in projects that use save-cwd
10458         without also using the xgetcwd module.
10459
10460 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
10461
10462         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
10463         This is so that a program like Emacs, which needs only dtoastr,
10464         does not have to bother with distributing and compiling ftoastr
10465         and ldtoastr.
10466         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
10467         * modules/dtoastr, modules/ldtoastr: New files.
10468         * modules/ftoastr: Now works just for 'float'.
10469         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
10470         (Makefile.am): Remove ftoastr.h (not needed and no effect),
10471         dtoastr.c, ldtoastr.c.
10472
10473 2011-01-11  Jim Meyering  <meyering@redhat.com>
10474
10475         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
10476         There is no need to work around the lack of the fchdir function,
10477         since gnulib can now provide a replacement when required.
10478         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
10479         * modules/save-cwd (Depends-on): Add fchdir.
10480
10481 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
10482
10483         openat, save-cwd: avoid xmalloc
10484
10485         This removes a direct (but undocumented) dependency of openat on
10486         xalloc, along with an indirect dependency via save-cwd.  It also
10487         removes a dependency of save-cwd on xgetcwd, and thereby
10488         indirectly on xalloc.  This change causes the openat substitute
10489         to fall back on save_cwd when memory is tight, and for save_cwd to
10490         fail instead of dying when memory is tight, but that's good enough.
10491         Problem and initial idea for fix reported by Bastien Roucaries in
10492         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
10493
10494         * lib/openat-proc.c: Include stdlib.h (for malloc), not
10495         xalloc.h (for xmalloc).
10496         (openat_proc_name): Use malloc, not xmalloc.
10497         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
10498         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
10499
10500         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
10501         This avoids heap allocation for file names whose lengths are in
10502         the range 512..1023, with the upper bound increasing to at most
10503         4031 depending on the platform's PATH_MAX.  (We do not want
10504         pathmax.h here as it might supply a non-constant PATH_MAX.)
10505         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
10506         Perhaps they should be moved to malloca.h?
10507         (OPENAT_BUFFER_SIZE): Use them.
10508
10509 2011-01-10  Bruno Haible  <bruno@clisp.org>
10510
10511         doc: Update users.txt.
10512         * users.txt: Add recutils.
10513
10514 2011-01-09  Karl Berry  <karl@gnu.org>
10515
10516         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
10517
10518         * doc/configmake.texi: New file.
10519         * doc/gnulib.texi: Include it.
10520         * modules/configmake: Move documentation from here.
10521
10522 2011-01-09  Bruno Haible  <bruno@clisp.org>
10523
10524         Update to Unicode 6.0.0.
10525         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
10526         (get_lbp): Update for Unicode 6.0.0.
10527         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
10528         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
10529         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
10530         U+11001, U+11038..U+11046. Remove U+06DE.
10531         (uc_width): Fix bounds of planes.
10532         * tests/uniwidth/test-uc_width2.sh: Same updates as in
10533         lib/uniwidth/width.c.
10534         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
10535         trailing whitespace removed.
10536         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
10537         without comments, but with the original copyright notice.
10538         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
10539         * lib/unicase/ignorable.h: Likewise.
10540         * lib/unicase/tocasefold.h: Likewise.
10541         * lib/unicase/tolower.h: Likewise.
10542         * lib/unicase/totitle.h: Likewise.
10543         * lib/unicase/toupper.h: Likewise.
10544         * lib/unictype/bidi_of.h: Likewise.
10545         * lib/unictype/blocks.h: Likewise.
10546         * lib/unictype/categ_C.h: Likewise.
10547         * lib/unictype/categ_Cn.h: Likewise.
10548         * lib/unictype/categ_L.h: Likewise.
10549         * lib/unictype/categ_Ll.h: Likewise.
10550         * lib/unictype/categ_Lm.h: Likewise.
10551         * lib/unictype/categ_Lo.h: Likewise.
10552         * lib/unictype/categ_Lu.h: Likewise.
10553         * lib/unictype/categ_M.h: Likewise.
10554         * lib/unictype/categ_Mc.h: Likewise.
10555         * lib/unictype/categ_Me.h: Likewise.
10556         * lib/unictype/categ_Mn.h: Likewise.
10557         * lib/unictype/categ_N.h: Likewise.
10558         * lib/unictype/categ_Nd.h: Likewise.
10559         * lib/unictype/categ_No.h: Likewise.
10560         * lib/unictype/categ_P.h: Likewise.
10561         * lib/unictype/categ_Po.h: Likewise.
10562         * lib/unictype/categ_S.h: Likewise.
10563         * lib/unictype/categ_Sc.h: Likewise.
10564         * lib/unictype/categ_Sk.h: Likewise.
10565         * lib/unictype/categ_Sm.h: Likewise.
10566         * lib/unictype/categ_So.h: Likewise.
10567         * lib/unictype/categ_of.h: Likewise.
10568         * lib/unictype/combining.h: Likewise.
10569         * lib/unictype/ctype_alnum.h: Likewise.
10570         * lib/unictype/ctype_alpha.h: Likewise.
10571         * lib/unictype/ctype_graph.h: Likewise.
10572         * lib/unictype/ctype_lower.h: Likewise.
10573         * lib/unictype/ctype_print.h: Likewise.
10574         * lib/unictype/ctype_punct.h: Likewise.
10575         * lib/unictype/ctype_upper.h: Likewise.
10576         * lib/unictype/decdigit.h: Likewise.
10577         * lib/unictype/digit.h: Likewise.
10578         * lib/unictype/numeric.h: Likewise.
10579         * lib/unictype/pr_alphabetic.h: Likewise.
10580         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
10581         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
10582         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
10583         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
10584         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
10585         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
10586         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
10587         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
10588         * lib/unictype/pr_case_ignorable.h: Likewise.
10589         * lib/unictype/pr_cased.h: Likewise.
10590         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
10591         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
10592         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
10593         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
10594         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
10595         * lib/unictype/pr_combining.h: Likewise.
10596         * lib/unictype/pr_composite.h: Likewise.
10597         * lib/unictype/pr_currency_symbol.h: Likewise.
10598         * lib/unictype/pr_decimal_digit.h: Likewise.
10599         * lib/unictype/pr_deprecated.h: Likewise.
10600         * lib/unictype/pr_format_control.h: Likewise.
10601         * lib/unictype/pr_grapheme_base.h: Likewise.
10602         * lib/unictype/pr_grapheme_extend.h: Likewise.
10603         * lib/unictype/pr_grapheme_link.h: Likewise.
10604         * lib/unictype/pr_id_continue.h: Likewise.
10605         * lib/unictype/pr_id_start.h: Likewise.
10606         * lib/unictype/pr_ideographic.h: Likewise.
10607         * lib/unictype/pr_lowercase.h: Likewise.
10608         * lib/unictype/pr_math.h: Likewise.
10609         * lib/unictype/pr_numeric.h: Likewise.
10610         * lib/unictype/pr_other_alphabetic.h: Likewise.
10611         * lib/unictype/pr_other_id_continue.h: Likewise.
10612         * lib/unictype/pr_other_math.h: Likewise.
10613         * lib/unictype/pr_punctuation.h: Likewise.
10614         * lib/unictype/pr_sentence_terminal.h: Likewise.
10615         * lib/unictype/pr_terminal_punctuation.h: Likewise.
10616         * lib/unictype/pr_unassigned_code_value.h: Likewise.
10617         * lib/unictype/pr_unified_ideograph.h: Likewise.
10618         * lib/unictype/pr_uppercase.h: Likewise.
10619         * lib/unictype/pr_xid_continue.h: Likewise.
10620         * lib/unictype/pr_xid_start.h: Likewise.
10621         * lib/unictype/scripts.h: Likewise.
10622         * lib/unictype/scripts_byname.gperf: Likewise.
10623         * lib/unictype/sy_java_ident.h: Likewise.
10624         * lib/unigbrk/gbrkprop.h: Likewise.
10625         * lib/unilbrk/lbrkprop1.h: Likewise.
10626         * lib/unilbrk/lbrkprop2.h: Likewise.
10627         * lib/uninorm/decomposition-table2.h: Likewise.
10628         * lib/uniwbrk/wbrkprop.h: Likewise.
10629         * tests/unicase/test-cased.c: Likewise.
10630         * tests/unicase/test-ignorable.c: Likewise.
10631         * tests/unicase/test-uc_tolower.c: Likewise.
10632         * tests/unicase/test-uc_totitle.c: Likewise.
10633         * tests/unicase/test-uc_toupper.c: Likewise.
10634         * tests/unictype/test-categ_C.c: Likewise.
10635         * tests/unictype/test-categ_Cn.c: Likewise.
10636         * tests/unictype/test-categ_L.c: Likewise.
10637         * tests/unictype/test-categ_Ll.c: Likewise.
10638         * tests/unictype/test-categ_Lm.c: Likewise.
10639         * tests/unictype/test-categ_Lo.c: Likewise.
10640         * tests/unictype/test-categ_Lu.c: Likewise.
10641         * tests/unictype/test-categ_M.c: Likewise.
10642         * tests/unictype/test-categ_Mc.c: Likewise.
10643         * tests/unictype/test-categ_Me.c: Likewise.
10644         * tests/unictype/test-categ_Mn.c: Likewise.
10645         * tests/unictype/test-categ_N.c: Likewise.
10646         * tests/unictype/test-categ_Nd.c: Likewise.
10647         * tests/unictype/test-categ_No.c: Likewise.
10648         * tests/unictype/test-categ_P.c: Likewise.
10649         * tests/unictype/test-categ_Po.c: Likewise.
10650         * tests/unictype/test-categ_S.c: Likewise.
10651         * tests/unictype/test-categ_Sc.c: Likewise.
10652         * tests/unictype/test-categ_Sk.c: Likewise.
10653         * tests/unictype/test-categ_Sm.c: Likewise.
10654         * tests/unictype/test-categ_So.c: Likewise.
10655         * tests/unictype/test-ctype_alnum.c: Likewise.
10656         * tests/unictype/test-ctype_alpha.c: Likewise.
10657         * tests/unictype/test-ctype_graph.c: Likewise.
10658         * tests/unictype/test-ctype_lower.c: Likewise.
10659         * tests/unictype/test-ctype_print.c: Likewise.
10660         * tests/unictype/test-ctype_punct.c: Likewise.
10661         * tests/unictype/test-ctype_upper.c: Likewise.
10662         * tests/unictype/test-decdigit.h: Likewise.
10663         * tests/unictype/test-digit.h: Likewise.
10664         * tests/unictype/test-numeric.h: Likewise.
10665         * tests/unictype/test-pr_alphabetic.c: Likewise.
10666         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
10667         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
10668         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
10669         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
10670         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
10671         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
10672         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
10673         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
10674         * tests/unictype/test-pr_case_ignorable.c: Likewise.
10675         * tests/unictype/test-pr_cased.c: Likewise.
10676         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
10677         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
10678         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
10679         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
10680         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
10681         * tests/unictype/test-pr_combining.c: Likewise.
10682         * tests/unictype/test-pr_composite.c: Likewise.
10683         * tests/unictype/test-pr_currency_symbol.c: Likewise.
10684         * tests/unictype/test-pr_decimal_digit.c: Likewise.
10685         * tests/unictype/test-pr_deprecated.c: Likewise.
10686         * tests/unictype/test-pr_format_control.c: Likewise.
10687         * tests/unictype/test-pr_grapheme_base.c: Likewise.
10688         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
10689         * tests/unictype/test-pr_grapheme_link.c: Likewise.
10690         * tests/unictype/test-pr_id_continue.c: Likewise.
10691         * tests/unictype/test-pr_id_start.c: Likewise.
10692         * tests/unictype/test-pr_ideographic.c: Likewise.
10693         * tests/unictype/test-pr_lowercase.c: Likewise.
10694         * tests/unictype/test-pr_math.c: Likewise.
10695         * tests/unictype/test-pr_numeric.c: Likewise.
10696         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
10697         * tests/unictype/test-pr_other_id_continue.c: Likewise.
10698         * tests/unictype/test-pr_other_math.c: Likewise.
10699         * tests/unictype/test-pr_punctuation.c: Likewise.
10700         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
10701         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
10702         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
10703         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
10704         * tests/unictype/test-pr_uppercase.c: Likewise.
10705         * tests/unictype/test-pr_xid_continue.c: Likewise.
10706         * tests/unictype/test-pr_xid_start.c: Likewise.
10707         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
10708         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
10709         changes.
10710         * lib/unictype/categ_Cc.h: Likewise.
10711         * lib/unictype/categ_Cf.h: Likewise.
10712         * lib/unictype/categ_Co.h: Likewise.
10713         * lib/unictype/categ_Cs.h: Likewise.
10714         * lib/unictype/categ_Lt.h: Likewise.
10715         * lib/unictype/categ_Nl.h: Likewise.
10716         * lib/unictype/categ_Pc.h: Likewise.
10717         * lib/unictype/categ_Pd.h: Likewise.
10718         * lib/unictype/categ_Pe.h: Likewise.
10719         * lib/unictype/categ_Pf.h: Likewise.
10720         * lib/unictype/categ_Pi.h: Likewise.
10721         * lib/unictype/categ_Ps.h: Likewise.
10722         * lib/unictype/categ_Z.h: Likewise.
10723         * lib/unictype/categ_Zl.h: Likewise.
10724         * lib/unictype/categ_Zp.h: Likewise.
10725         * lib/unictype/categ_Zs.h: Likewise.
10726         * lib/unictype/ctype_blank.h: Likewise.
10727         * lib/unictype/ctype_cntrl.h: Likewise.
10728         * lib/unictype/ctype_digit.h: Likewise.
10729         * lib/unictype/ctype_space.h: Likewise.
10730         * lib/unictype/ctype_xdigit.h: Likewise.
10731         * lib/unictype/mirror.h: Likewise.
10732         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
10733         * lib/unictype/pr_bidi_block_separator.h: Likewise.
10734         * lib/unictype/pr_bidi_common_separator.h: Likewise.
10735         * lib/unictype/pr_bidi_control.h: Likewise.
10736         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
10737         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
10738         * lib/unictype/pr_bidi_european_digit.h: Likewise.
10739         * lib/unictype/pr_bidi_pdf.h: Likewise.
10740         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
10741         * lib/unictype/pr_bidi_whitespace.h: Likewise.
10742         * lib/unictype/pr_dash.h: Likewise.
10743         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
10744         * lib/unictype/pr_diacritic.h: Likewise.
10745         * lib/unictype/pr_extender.h: Likewise.
10746         * lib/unictype/pr_hex_digit.h: Likewise.
10747         * lib/unictype/pr_hyphen.h: Likewise.
10748         * lib/unictype/pr_ids_binary_operator.h: Likewise.
10749         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
10750         * lib/unictype/pr_ignorable_control.h: Likewise.
10751         * lib/unictype/pr_iso_control.h: Likewise.
10752         * lib/unictype/pr_join_control.h: Likewise.
10753         * lib/unictype/pr_left_of_pair.h: Likewise.
10754         * lib/unictype/pr_line_separator.h: Likewise.
10755         * lib/unictype/pr_logical_order_exception.h: Likewise.
10756         * lib/unictype/pr_non_break.h: Likewise.
10757         * lib/unictype/pr_not_a_character.h: Likewise.
10758         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
10759         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
10760         * lib/unictype/pr_other_id_start.h: Likewise.
10761         * lib/unictype/pr_other_lowercase.h: Likewise.
10762         * lib/unictype/pr_other_uppercase.h: Likewise.
10763         * lib/unictype/pr_paired_punctuation.h: Likewise.
10764         * lib/unictype/pr_paragraph_separator.h: Likewise.
10765         * lib/unictype/pr_pattern_syntax.h: Likewise.
10766         * lib/unictype/pr_pattern_white_space.h: Likewise.
10767         * lib/unictype/pr_private_use.h: Likewise.
10768         * lib/unictype/pr_quotation_mark.h: Likewise.
10769         * lib/unictype/pr_radical.h: Likewise.
10770         * lib/unictype/pr_soft_dotted.h: Likewise.
10771         * lib/unictype/pr_space.h: Likewise.
10772         * lib/unictype/pr_titlecase.h: Likewise.
10773         * lib/unictype/pr_variation_selector.h: Likewise.
10774         * lib/unictype/pr_white_space.h: Likewise.
10775         * lib/unictype/pr_zero_width.h: Likewise.
10776         * lib/unictype/sy_c_ident.h: Likewise.
10777         * lib/unictype/sy_c_whitespace.h: Likewise.
10778         * lib/unictype/sy_java_whitespace.h: Likewise.
10779         * lib/uninorm/composition-table.gperf: Likewise.
10780         * lib/uninorm/decomposition-table1.h: Likewise.
10781         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
10782         LB8.
10783         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
10784         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
10785         * modules/unictype/*: Bump version number of expected libunistring
10786         version.
10787
10788 2011-01-09  Bruno Haible  <bruno@clisp.org>
10789
10790         Update to Unicode 5.2.0.
10791         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
10792         trailing whitespace removed.
10793
10794 2011-01-09  Bruno Haible  <bruno@clisp.org>
10795
10796         New Unicode character properties, from Unicode 5.2.0.
10797         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
10798         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
10799         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
10800         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
10801         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
10802         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
10803         uc_is_property_cased, uc_is_property_case_ignorable,
10804         uc_is_property_changes_when_lowercased,
10805         uc_is_property_changes_when_uppercased,
10806         uc_is_property_changes_when_titlecased,
10807         uc_is_property_changes_when_casefolded,
10808         uc_is_property_changes_when_casemapped): New declarations.
10809         * lib/unictype/pr_byname.gperf: Add the new properties.
10810         * modules/unictype/property-byname (Depends-on): Depend on the new
10811         properties modules.
10812         * modules/unictype/property-all (Depends-on): Likewise.
10813         * MODULES.html.sh (Unicode string functions): Add
10814         unictype/property-case-ignorable, unictype/property-cased,
10815         unictype/property-changes-when-casefolded,
10816         unictype/property-changes-when-casemapped,
10817         unictype/property-changes-when-lowercased,
10818         unictype/property-changes-when-titlecased,
10819         unictype/property-changes-when-uppercased.
10820
10821         New module 'unictype/property-changes-when-casemapped'.
10822         * modules/unictype/property-changes-when-casemapped: New file.
10823         * lib/unictype/pr_changes_when_casemapped.c: New file.
10824         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
10825         generated by gen-uni-tables.
10826         * modules/unictype/property-changes-when-casemapped-tests: New file.
10827         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
10828         automatically generated by gen-uni-tables.
10829
10830         New module 'unictype/property-changes-when-casefolded'.
10831         * modules/unictype/property-changes-when-casefolded: New file.
10832         * lib/unictype/pr_changes_when_casefolded.c: New file.
10833         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
10834         generated by gen-uni-tables.
10835         * modules/unictype/property-changes-when-casefolded-tests: New file.
10836         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
10837         automatically generated by gen-uni-tables.
10838
10839         New module 'unictype/property-changes-when-titlecased'.
10840         * modules/unictype/property-changes-when-titlecased: New file.
10841         * lib/unictype/pr_changes_when_titlecased.c: New file.
10842         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
10843         generated by gen-uni-tables.
10844         * modules/unictype/property-changes-when-titlecased-tests: New file.
10845         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
10846         automatically generated by gen-uni-tables.
10847
10848         New module 'unictype/property-changes-when-uppercased'.
10849         * modules/unictype/property-changes-when-uppercased: New file.
10850         * lib/unictype/pr_changes_when_uppercased.c: New file.
10851         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
10852         generated by gen-uni-tables.
10853         * modules/unictype/property-changes-when-uppercased-tests: New file.
10854         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
10855         automatically generated by gen-uni-tables.
10856
10857         New module 'unictype/property-changes-when-lowercased'.
10858         * modules/unictype/property-changes-when-lowercased: New file.
10859         * lib/unictype/pr_changes_when_lowercased.c: New file.
10860         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
10861         generated by gen-uni-tables.
10862         * modules/unictype/property-changes-when-lowercased-tests: New file.
10863         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
10864         automatically generated by gen-uni-tables.
10865
10866         New module 'unictype/property-case-ignorable'.
10867         * modules/unictype/property-case-ignorable: New file.
10868         * lib/unictype/pr_case_ignorable.c: New file.
10869         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
10870         by gen-uni-tables.
10871         * modules/unictype/property-case-ignorable-tests: New file.
10872         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
10873         generated by gen-uni-tables.
10874
10875         New module 'unictype/property-cased'.
10876         * modules/unictype/property-cased: New file.
10877         * lib/unictype/pr_cased.c: New file.
10878         * lib/unictype/pr_cased.h: New file, automatically generated by
10879         gen-uni-tables.
10880         * modules/unictype/property-cased-tests: New file.
10881         * tests/unictype/test-pr_cased.c: New file, automatically generated by
10882         gen-uni-tables.
10883
10884 2011-01-09  Bruno Haible  <bruno@clisp.org>
10885
10886         Update to Unicode 5.2.0.
10887         * lib/gen-uni-tables.c (output_predicate, output_category,
10888         output_combclass, output_bidi_category, output_decimal_digit_test,
10889         output_decimal_digit, output_digit_test, output_digit,
10890         output_numeric_test, output_numeric, output_mirror, output_scripts,
10891         output_scripts_byname, output_blocks, output_ident_category): Fix
10892         comment header.
10893         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
10894         get_wbp.
10895         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
10896         items.
10897         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
10898         Changes_When_Lowercased, Changes_When_Uppercased,
10899         Changes_When_Titlecased, Changes_When_Casefolded,
10900         Changes_When_Casemapped.
10901         (is_property_alphabetic, is_property_default_ignorable_code_point):
10902         Update for Unicode 5.2.0.
10903         (is_property_cased, is_property_case_ignorable,
10904         is_property_changes_when_lowercased,
10905         is_property_changes_when_uppercased,
10906         is_property_changes_when_titlecased,
10907         is_property_changes_when_casefolded,
10908         is_property_changes_when_casemapped): New functions.
10909         (output_properties): Output also the properties cased, case_ignorable,
10910         changes_when_lowercased, changes_when_uppercased,
10911         changes_when_titlecased, changes_when_casefolded,
10912         changes_when_casemapped.
10913         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
10914         Unicode TR#11 revision 17 -> 19.
10915         (LBP_CP): New enumeration value.
10916         (LBP_*): Adjust values accordingly.
10917         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
10918         TR#14 revision 22 -> 24.
10919         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
10920         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
10921         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
10922         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
10923         is_WBP_MIDLETTER.
10924         (output_composition_tables): Allow for 24 bits instead of 16 bits in
10925         the code1 and code2 of each composition rule.
10926         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
10927         * lib/unicase/ignorable.h: Likewise.
10928         * lib/unicase/tocasefold.h: Likewise.
10929         * lib/unicase/tolower.h: Likewise.
10930         * lib/unicase/totitle.h: Likewise.
10931         * lib/unicase/toupper.h: Likewise.
10932         * lib/unictype/bidi_of.h: Likewise.
10933         * lib/unictype/blocks.h: Likewise.
10934         * lib/unictype/categ_C.h: Likewise.
10935         * lib/unictype/categ_Cf.h: Likewise.
10936         * lib/unictype/categ_Cn.h: Likewise.
10937         * lib/unictype/categ_L.h: Likewise.
10938         * lib/unictype/categ_Ll.h: Likewise.
10939         * lib/unictype/categ_Lm.h: Likewise.
10940         * lib/unictype/categ_Lo.h: Likewise.
10941         * lib/unictype/categ_Lu.h: Likewise.
10942         * lib/unictype/categ_M.h: Likewise.
10943         * lib/unictype/categ_Mc.h: Likewise.
10944         * lib/unictype/categ_Mn.h: Likewise.
10945         * lib/unictype/categ_N.h: Likewise.
10946         * lib/unictype/categ_Nd.h: Likewise.
10947         * lib/unictype/categ_Nl.h: Likewise.
10948         * lib/unictype/categ_No.h: Likewise.
10949         * lib/unictype/categ_P.h: Likewise.
10950         * lib/unictype/categ_Pd.h: Likewise.
10951         * lib/unictype/categ_Po.h: Likewise.
10952         * lib/unictype/categ_S.h: Likewise.
10953         * lib/unictype/categ_Sc.h: Likewise.
10954         * lib/unictype/categ_So.h: Likewise.
10955         * lib/unictype/categ_of.h: Likewise.
10956         * lib/unictype/combining.h: Likewise.
10957         * lib/unictype/ctype_alnum.h: Likewise.
10958         * lib/unictype/ctype_alpha.h: Likewise.
10959         * lib/unictype/ctype_graph.h: Likewise.
10960         * lib/unictype/ctype_lower.h: Likewise.
10961         * lib/unictype/ctype_print.h: Likewise.
10962         * lib/unictype/ctype_punct.h: Likewise.
10963         * lib/unictype/ctype_upper.h: Likewise.
10964         * lib/unictype/decdigit.h: Likewise.
10965         * lib/unictype/digit.h: Likewise.
10966         * lib/unictype/numeric.h: Likewise.
10967         * lib/unictype/pr_alphabetic.h: Likewise.
10968         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
10969         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
10970         * lib/unictype/pr_bidi_european_digit.h: Likewise.
10971         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
10972         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
10973         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
10974         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
10975         * lib/unictype/pr_combining.h: Likewise.
10976         * lib/unictype/pr_composite.h: Likewise.
10977         * lib/unictype/pr_currency_symbol.h: Likewise.
10978         * lib/unictype/pr_dash.h: Likewise.
10979         * lib/unictype/pr_decimal_digit.h: Likewise.
10980         * lib/unictype/pr_deprecated.h: Likewise.
10981         * lib/unictype/pr_diacritic.h: Likewise.
10982         * lib/unictype/pr_extender.h: Likewise.
10983         * lib/unictype/pr_grapheme_base.h: Likewise.
10984         * lib/unictype/pr_grapheme_extend.h: Likewise.
10985         * lib/unictype/pr_grapheme_link.h: Likewise.
10986         * lib/unictype/pr_id_continue.h: Likewise.
10987         * lib/unictype/pr_id_start.h: Likewise.
10988         * lib/unictype/pr_ideographic.h: Likewise.
10989         * lib/unictype/pr_ignorable_control.h: Likewise.
10990         * lib/unictype/pr_logical_order_exception.h: Likewise.
10991         * lib/unictype/pr_lowercase.h: Likewise.
10992         * lib/unictype/pr_numeric.h: Likewise.
10993         * lib/unictype/pr_other_alphabetic.h: Likewise.
10994         * lib/unictype/pr_punctuation.h: Likewise.
10995         * lib/unictype/pr_sentence_terminal.h: Likewise.
10996         * lib/unictype/pr_terminal_punctuation.h: Likewise.
10997         * lib/unictype/pr_unassigned_code_value.h: Likewise.
10998         * lib/unictype/pr_unified_ideograph.h: Likewise.
10999         * lib/unictype/pr_uppercase.h: Likewise.
11000         * lib/unictype/pr_xid_continue.h: Likewise.
11001         * lib/unictype/pr_xid_start.h: Likewise.
11002         * lib/unictype/pr_zero_width.h: Likewise.
11003         * lib/unictype/scripts.h: Likewise.
11004         * lib/unictype/scripts_byname.gperf: Likewise.
11005         * lib/unictype/sy_java_ident.h: Likewise.
11006         * lib/unigbrk/gbrkprop.h: Likewise.
11007         * lib/unilbrk/lbrkprop1.h: Likewise.
11008         * lib/unilbrk/lbrkprop2.h: Likewise.
11009         * lib/unilbrk/lbrktables.h: Likewise.
11010         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
11011         LBP_CP. Implement rule LB30.
11012         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
11013         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
11014         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
11015         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
11016         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
11017         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
11018         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
11019         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
11020         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
11021         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
11022         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
11023         bits instead of 16 bits in the code1 and code2 of each composition
11024         rule.
11025         (uc_composition): Update for Unicode 5.2.0.
11026         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
11027         * lib/uninorm/decomposition-table2.h: Likewise.
11028         * lib/uniwbrk/wbrkprop.h: Likewise.
11029         * tests/unicase/test-cased.c: Likewise.
11030         * tests/unicase/test-ignorable.c: Likewise.
11031         * tests/unicase/test-uc_tolower.c: Likewise.
11032         * tests/unicase/test-uc_totitle.c: Likewise.
11033         * tests/unicase/test-uc_toupper.c: Likewise.
11034         * tests/unictype/test-categ_C.c: Likewise.
11035         * tests/unictype/test-categ_Cf.c: Likewise.
11036         * tests/unictype/test-categ_Cn.c: Likewise.
11037         * tests/unictype/test-categ_L.c: Likewise.
11038         * tests/unictype/test-categ_Ll.c: Likewise.
11039         * tests/unictype/test-categ_Lm.c: Likewise.
11040         * tests/unictype/test-categ_Lo.c: Likewise.
11041         * tests/unictype/test-categ_Lu.c: Likewise.
11042         * tests/unictype/test-categ_M.c: Likewise.
11043         * tests/unictype/test-categ_Mc.c: Likewise.
11044         * tests/unictype/test-categ_Mn.c: Likewise.
11045         * tests/unictype/test-categ_N.c: Likewise.
11046         * tests/unictype/test-categ_Nd.c: Likewise.
11047         * tests/unictype/test-categ_Nl.c: Likewise.
11048         * tests/unictype/test-categ_No.c: Likewise.
11049         * tests/unictype/test-categ_P.c: Likewise.
11050         * tests/unictype/test-categ_Pd.c: Likewise.
11051         * tests/unictype/test-categ_Po.c: Likewise.
11052         * tests/unictype/test-categ_S.c: Likewise.
11053         * tests/unictype/test-categ_Sc.c: Likewise.
11054         * tests/unictype/test-categ_So.c: Likewise.
11055         * tests/unictype/test-ctype_alnum.c: Likewise.
11056         * tests/unictype/test-ctype_alpha.c: Likewise.
11057         * tests/unictype/test-ctype_graph.c: Likewise.
11058         * tests/unictype/test-ctype_lower.c: Likewise.
11059         * tests/unictype/test-ctype_print.c: Likewise.
11060         * tests/unictype/test-ctype_punct.c: Likewise.
11061         * tests/unictype/test-ctype_upper.c: Likewise.
11062         * tests/unictype/test-decdigit.h: Likewise.
11063         * tests/unictype/test-digit.h: Likewise.
11064         * tests/unictype/test-numeric.h: Likewise.
11065         * tests/unictype/test-pr_alphabetic.c: Likewise.
11066         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
11067         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
11068         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
11069         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
11070         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
11071         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
11072         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
11073         * tests/unictype/test-pr_combining.c: Likewise.
11074         * tests/unictype/test-pr_composite.c: Likewise.
11075         * tests/unictype/test-pr_currency_symbol.c: Likewise.
11076         * tests/unictype/test-pr_dash.c: Likewise.
11077         * tests/unictype/test-pr_decimal_digit.c: Likewise.
11078         * tests/unictype/test-pr_deprecated.c: Likewise.
11079         * tests/unictype/test-pr_diacritic.c: Likewise.
11080         * tests/unictype/test-pr_extender.c: Likewise.
11081         * tests/unictype/test-pr_grapheme_base.c: Likewise.
11082         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
11083         * tests/unictype/test-pr_grapheme_link.c: Likewise.
11084         * tests/unictype/test-pr_id_continue.c: Likewise.
11085         * tests/unictype/test-pr_id_start.c: Likewise.
11086         * tests/unictype/test-pr_ideographic.c: Likewise.
11087         * tests/unictype/test-pr_ignorable_control.c: Likewise.
11088         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
11089         * tests/unictype/test-pr_lowercase.c: Likewise.
11090         * tests/unictype/test-pr_numeric.c: Likewise.
11091         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
11092         * tests/unictype/test-pr_punctuation.c: Likewise.
11093         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
11094         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
11095         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
11096         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
11097         * tests/unictype/test-pr_uppercase.c: Likewise.
11098         * tests/unictype/test-pr_xid_continue.c: Likewise.
11099         * tests/unictype/test-pr_xid_start.c: Likewise.
11100         * tests/unictype/test-pr_zero_width.c: Likewise.
11101         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
11102         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
11103         changed behaviour: line breaking is now disallowed between a letter
11104         or '=' and '('.
11105         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
11106         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
11107         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
11108         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
11109         * tests/uniwidth/test-uc_width2.sh: Same updates as in
11110         lib/uniwidth/width.c.
11111         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
11112         without comments, but with the original copyright notice.
11113         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
11114         changes.
11115         * lib/unictype/categ_Cc.h: Likewise.
11116         * lib/unictype/categ_Co.h: Likewise.
11117         * lib/unictype/categ_Cs.h: Likewise.
11118         * lib/unictype/categ_Lt.h: Likewise.
11119         * lib/unictype/categ_Me.h: Likewise.
11120         * lib/unictype/categ_Pc.h: Likewise.
11121         * lib/unictype/categ_Pe.h: Likewise.
11122         * lib/unictype/categ_Pf.h: Likewise.
11123         * lib/unictype/categ_Pi.h: Likewise.
11124         * lib/unictype/categ_Ps.h: Likewise.
11125         * lib/unictype/categ_Sk.h: Likewise.
11126         * lib/unictype/categ_Sm.h: Likewise.
11127         * lib/unictype/categ_Z.h: Likewise.
11128         * lib/unictype/categ_Zl.h: Likewise.
11129         * lib/unictype/categ_Zp.h: Likewise.
11130         * lib/unictype/categ_Zs.h: Likewise.
11131         * lib/unictype/ctype_blank.h: Likewise.
11132         * lib/unictype/ctype_cntrl.h: Likewise.
11133         * lib/unictype/ctype_digit.h: Likewise.
11134         * lib/unictype/ctype_space.h: Likewise.
11135         * lib/unictype/ctype_xdigit.h: Likewise.
11136         * lib/unictype/mirror.h: Likewise.
11137         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
11138         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
11139         * lib/unictype/pr_bidi_block_separator.h: Likewise.
11140         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
11141         * lib/unictype/pr_bidi_common_separator.h: Likewise.
11142         * lib/unictype/pr_bidi_control.h: Likewise.
11143         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
11144         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
11145         * lib/unictype/pr_bidi_pdf.h: Likewise.
11146         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
11147         * lib/unictype/pr_bidi_whitespace.h: Likewise.
11148         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
11149         * lib/unictype/pr_format_control.h: Likewise.
11150         * lib/unictype/pr_hex_digit.h: Likewise.
11151         * lib/unictype/pr_hyphen.h: Likewise.
11152         * lib/unictype/pr_ids_binary_operator.h: Likewise.
11153         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
11154         * lib/unictype/pr_iso_control.h: Likewise.
11155         * lib/unictype/pr_join_control.h: Likewise.
11156         * lib/unictype/pr_left_of_pair.h: Likewise.
11157         * lib/unictype/pr_line_separator.h: Likewise.
11158         * lib/unictype/pr_math.h: Likewise.
11159         * lib/unictype/pr_non_break.h: Likewise.
11160         * lib/unictype/pr_not_a_character.h: Likewise.
11161         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
11162         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
11163         * lib/unictype/pr_other_id_continue.h: Likewise.
11164         * lib/unictype/pr_other_id_start.h: Likewise.
11165         * lib/unictype/pr_other_lowercase.h: Likewise.
11166         * lib/unictype/pr_other_math.h: Likewise.
11167         * lib/unictype/pr_other_uppercase.h: Likewise.
11168         * lib/unictype/pr_paired_punctuation.h: Likewise.
11169         * lib/unictype/pr_paragraph_separator.h: Likewise.
11170         * lib/unictype/pr_pattern_syntax.h: Likewise.
11171         * lib/unictype/pr_pattern_white_space.h: Likewise.
11172         * lib/unictype/pr_private_use.h: Likewise.
11173         * lib/unictype/pr_quotation_mark.h: Likewise.
11174         * lib/unictype/pr_radical.h: Likewise.
11175         * lib/unictype/pr_soft_dotted.h: Likewise.
11176         * lib/unictype/pr_space.h: Likewise.
11177         * lib/unictype/pr_titlecase.h: Likewise.
11178         * lib/unictype/pr_variation_selector.h: Likewise.
11179         * lib/unictype/pr_white_space.h: Likewise.
11180         * lib/unictype/sy_c_ident.h: Likewise.
11181         * lib/unictype/sy_c_whitespace.h: Likewise.
11182         * lib/unictype/sy_java_whitespace.h: Likewise.
11183         * modules/uni*/*: Bump version number of expected libunistring version.
11184         Reported by Simon Josefsson.
11185
11186 2011-01-09  Karl Heuer  <kwzh@gnu.org>
11187
11188         useless-if-before-free: fix typo in --help and make the internal,
11189         automatic version date update process work once again.
11190         --help output contained a NUL character instead of the
11191         backslash-zero that was intended.  Also, the "must lie within
11192         the first 8 lines" line is on line 9, and hence not getting
11193         automatically updated.
11194         * build-aux/useless-if-before-free: Fix the former by adding a
11195         backslash, and the latter by condensing the three lines of what-it-does
11196         to a single line, leaving one line of slack for the future.
11197
11198 2011-01-09  Bruno Haible  <bruno@clisp.org>
11199
11200         uniwidth/width: Fix width of U+1D173..U+1D17A.
11201         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
11202         symbolic_width, output_width_property_test): New functions.
11203         (main): Invoke output_nonspacing_property, output_width_property_test.
11204         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
11205         U+1D173..U+1D17A.
11206         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
11207         1.
11208         * modules/uniwidth/*: Bump version number of expected libunistring
11209         version.
11210         * modules/unilbrk/*: Likewise.
11211
11212 2011-01-08  Bruno Haible  <bruno@clisp.org>
11213
11214         uninorm tests: Preserve copyright of Unicode data file.
11215         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
11216         Mention modifications.
11217
11218 2011-01-08  Bruno Haible  <bruno@clisp.org>
11219
11220         gen-uni-tables: Prepare for Unicode 5.2.0.
11221         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
11222         (debug_output_lbp, output_lbp): Update.
11223
11224 2011-01-08  Bruno Haible  <bruno@clisp.org>
11225
11226         unilbrk: Clarify gen-uni-tables.c code.
11227         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
11228         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
11229         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
11230
11231 2011-01-07  Bruno Haible  <bruno@clisp.org>
11232
11233         strtod: Restore errno when successfully parsing Infinity or NaN.
11234         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
11235         restore the original errno.
11236
11237 2011-01-07  Bruno Haible  <bruno@clisp.org>
11238
11239         remove test: Avoid failure on HP-UX 11.
11240         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
11241
11242 2011-01-07  Bruno Haible  <bruno@clisp.org>
11243
11244         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
11245         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
11246         error code.
11247
11248 2011-01-07  Pádraig Brady <P@draigBrady.com>
11249
11250         ignore-value: fixup comments, and add Eric Blake
11251         as an author since he rewrote the macros.
11252         * lib/ignore-value.h (ignore_value):  State that
11253         we now support aggregates.  Also specify exactly
11254         when the GCC warn_unused_result feature was added.
11255
11256 2011-01-06  Eric Blake  <eblake@redhat.com>
11257
11258         ignore-value: support aggregate types
11259         * lib/ignore-value.h (ignore_value): Provide separate gcc
11260         definition.
11261         * modules/ignore-value-tests: New test module.
11262         * tests/test-ignore-value.c: New test.
11263
11264         maint.mk: improve sc_prohibit_strcmp regex
11265         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
11266         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
11267         definition of STRNEQ.
11268
11269         signal: work around Haiku issue with SIGBUS
11270         * lib/siglist.h: Add comment.
11271         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
11272         strsignal's favoring of SIGSEGV.
11273         * tests/test-signal.c (main): Avoid test failure.
11274         * doc/posix-headers/signal.texi (signal.h): Document the issue.
11275         Reported by Scott McCreary.
11276
11277         maint.mk: add pre-release check to ensure submodule commits are public
11278         * top/maint.mk (public-submodule-commit): New rule.
11279         (submodule-checks): New variable.
11280         (alpha beta stable): Depend on the variable.
11281
11282 2011-01-05  Pádraig Brady <P@draigBrady.com>
11283         and Jim Meyering  <meyering@redhat.com>
11284
11285         ignore-value: make ignore_value more generic; deprecate ignore_ptr
11286         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
11287         (ATTRIBUTE_DEPRECATED): Define.
11288         (_ignore_case): New function.
11289         (ignore_value): New macro, to replace the old function.
11290         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
11291         * modules/ignore-value (Depends-on): Add stdint.
11292
11293 2011-01-04  Eric Blake  <eblake@redhat.com>
11294
11295         doc: regenerate INSTALL
11296         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
11297         @firstparagraphindent support, now that autoconf dropped it.
11298         (INSTALL_PRELUDE): Reinstate old macro.
11299         * doc/install.texi: Resync from autoconf.
11300         * doc/INSTALL: Reflect recent autoconf update.
11301         * doc/INSTALL.ISO: Likewise.
11302         * doc/INSTALL.UTF-8: Likewise.
11303         Reported by Karl Berry.
11304
11305 2011-01-04  Bruce Korb  <address@hidden>
11306
11307         git-version-gen: avoid a sub-shell
11308         * build-aux/git-version-gen: Redirect stderr in `...` via
11309         "exec 2>...", rather than via an added sub-shell.
11310
11311 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
11312
11313         git-version-gen: use (...) rather than sh -c '...'
11314         * build-aux/git-version-gen: Rather than hard-coding a shell's name
11315         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
11316
11317 2011-01-03  Jim Meyering  <meyering@redhat.com>
11318
11319         git-version-gen: convert leading TABs to spaces
11320         * build-aux/git-version-gen: Expand leading TABs.
11321
11322         git-version-gen: handle failed "git rev-list"
11323         * build-aux/git-version-gen: Rather than leaking a "fatal" error
11324         from git and proceeding as if it had succeeded but printed no SHA1
11325         checksums, suppress the diagnostic and handle the failure.
11326         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
11327
11328         git-version-gen: include command name in one more diagnostic
11329         * build-aux/git-version-gen: When the required .tarball-version file
11330         was missing or unreadable, you might see the diagnostic from "cat",
11331         but no trace of the name of the invoking script.  Now, you still see
11332         the diagnostic from cat, but also get one from "git-version-gen: ".
11333         Inspired by a patch from Bruce Korb.
11334
11335         update-copyright: adjust test to match changed code
11336         * tests/test-update-copyright.sh: Change test's expected output
11337         to match new actual output.
11338
11339 2011-01-02  Bruno Haible  <bruno@clisp.org>
11340
11341         getlogin_r: Avoid test failure on HP-UX 11.
11342         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
11343         ERANGE when the second argument is zero.
11344         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
11345         portability problem.
11346
11347 2011-01-02  Bruce Korb  <bkorb@gnu.org>
11348
11349         * build-aux/update-copyright: doc Simon's changes
11350
11351 2011-01-02  Simon Josefsson  <simon@josefsson.org>
11352
11353         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
11354         environment variable.
11355
11356 2011-01-02  Bruno Haible  <bruno@clisp.org>
11357
11358         unigbrk: Avoid gcc warnings.
11359         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
11360         unused variable.
11361         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
11362         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
11363         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
11364         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
11365         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
11366         Change type of first argument to 'const char *'.
11367         (main): Remove unused variable.
11368         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
11369         type of first argument to 'const char *'.
11370         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
11371         Likewise.
11372         (main): Change type of variable 's'.
11373         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
11374         to 'int'.
11375
11376 2011-01-02  Bruno Haible  <bruno@clisp.org>
11377
11378         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
11379         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
11380         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
11381         bug.
11382         * lib/pwrite.c: Undo 2010-12-31 patch.
11383         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
11384
11385 2011-01-02  Bruno Haible  <bruno@clisp.org>
11386
11387         pread: Fix test whether it works.
11388         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
11389
11390 2011-01-02  Bruno Haible  <bruno@clisp.org>
11391
11392         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
11393         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
11394         ends in "6". Don't require a specific month name. Try also the locale
11395         names found on HP-UX 11 and Solaris 7.
11396
11397 2011-01-02  Bruno Haible  <bruno@clisp.org>
11398
11399         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
11400         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
11401         C linkage.
11402         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
11403
11404 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
11405
11406         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
11407         for consistency, since the "cluster" term is not used elsewhere.
11408         * lib/unigbrk.in.h: Update name.
11409         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
11410         * lib/unigbrk/u16-grapheme-next.c: Update name.
11411         * lib/unigbrk/u16-grapheme-prev.c: Update name.
11412         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
11413         * lib/unigbrk/u32-grapheme-next.c: Update name.
11414         * lib/unigbrk/u32-grapheme-prev.c: Update name.
11415         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
11416         * lib/unigbrk/u8-grapheme-next.c: Update name.
11417         * lib/unigbrk/u8-grapheme-prev.c: Update name.
11418         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
11419         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
11420         Suggested by Bruno Haible.
11421
11422 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
11423
11424         Remove module 'u8-grapheme-len' as too redundant with
11425         'u8-grapheme-next'.
11426         * modules/unigbrk/u8-grapheme-len: Delete file.
11427         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
11428         * lib/unigbrk.in.h: Remove prototype for deleted function.
11429         * lib/unigbrk/u8-grapheme-len.c: Delete file.
11430         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
11431
11432         Remove module 'u16-grapheme-len' as too redundant with
11433         'u16-grapheme-next'.
11434         * modules/unigbrk/u16-grapheme-len: Delete file.
11435         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
11436         * lib/unigbrk.in.h: Remove prototype for deleted function.
11437         * lib/unigbrk/u16-grapheme-len.c: Delete file.
11438         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
11439
11440         Remove module 'u32-grapheme-len' as too redundant with
11441         'u32-grapheme-next'.
11442         * modules/unigbrk/u32-grapheme-len: Delete file.
11443         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
11444         * lib/unigbrk.in.h: Remove prototype for deleted function.
11445         * lib/unigbrk/u32-grapheme-len.c: Delete file.
11446         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
11447
11448         Suggested by Bruno Haible.
11449
11450 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
11451
11452         * unigbrk.in.h: Fix typo: "ben" => "been".
11453         Reported by Bruno Haible.
11454
11455 2011-01-01  Jim Meyering  <meyering@redhat.com>
11456
11457         maint: update almost all copyright ranges to include 2011
11458         Run the new "make update-copyright" rule.
11459
11460 2011-01-01  Jim Meyering  <meyering@redhat.com>
11461
11462         maint: update-copyright: exempt doc/INSTALL*
11463         * Makefile (update-copyright): Also exclude doc/INSTALL*,
11464         since they are generated.  Suggested by Bruno Haible.
11465
11466 2011-01-01  Jim Meyering  <meyering@redhat.com>
11467
11468         maint: refine the update-copyright rule
11469         * Makefile (update-copyright): Also exclude any file that includes
11470         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
11471         code that merely generates the comment.
11472
11473 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
11474
11475         New module 'u8-grapheme-len'.
11476         * modules/unigbrk/u8-grapheme-len: New file.
11477         * modules/unigbrk/u8-grapheme-len-tests: New file.
11478         * lib/unigbrk.in.h: Add prototype for new function.
11479         * lib/unigbrk/u8-grapheme-len.c: New file.
11480         * tests/unigbrk/test-u8-grapheme-len.c: New file.
11481
11482         New module 'u16-grapheme-len'.
11483         * modules/unigbrk/u16-grapheme-len: New file.
11484         * modules/unigbrk/u16-grapheme-len-tests: New file.
11485         * lib/unigbrk.in.h: Add prototype for new function.
11486         * lib/unigbrk/u16-grapheme-len.c: New file.
11487         * tests/unigbrk/test-u16-grapheme-len.c: New file.
11488
11489         New module 'u32-grapheme-len'.
11490         * modules/unigbrk/u32-grapheme-len: New file.
11491         * modules/unigbrk/u32-grapheme-len-tests: New file.
11492         * lib/unigbrk.in.h: Add prototype for new function.
11493         * lib/unigbrk/u32-grapheme-len.c: New file.
11494         * tests/unigbrk/test-u32-grapheme-len.c: New file.
11495
11496         New module 'u8-grapheme-next'.
11497         * modules/unigbrk/u8-grapheme-next: New file.
11498         * modules/unigbrk/u8-grapheme-next-tests: New file.
11499         * lib/unigbrk.in.h: Add prototype for new function.
11500         * lib/unigbrk/u8-grapheme-next.c: New file.
11501         * tests/unigbrk/test-u8-grapheme-next.c: New file.
11502
11503         New module 'u16-grapheme-next'.
11504         * modules/unigbrk/u16-grapheme-next: New file.
11505         * modules/unigbrk/u16-grapheme-next-tests: New file.
11506         * lib/unigbrk.in.h: Add prototype for new function.
11507         * lib/unigbrk/u16-grapheme-next.c: New file.
11508         * tests/unigbrk/test-u16-grapheme-next.c: New file.
11509
11510         New module 'u32-grapheme-next'.
11511         * modules/unigbrk/u32-grapheme-next: New file.
11512         * modules/unigbrk/u32-grapheme-next-tests: New file.
11513         * lib/unigbrk.in.h: Add prototype for new function.
11514         * lib/unigbrk/u32-grapheme-next.c: New file.
11515         * tests/unigbrk/test-u32-grapheme-next.c: New file.
11516
11517         New module 'u8-grapheme-prev'.
11518         * modules/unigbrk/u8-grapheme-prev: New file.
11519         * modules/unigbrk/u8-grapheme-prev-tests: New file.
11520         * lib/unigbrk.in.h: Add prototype for new function.
11521         * lib/unigbrk/u8-grapheme-prev.c: New file.
11522         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
11523
11524         New module 'u16-grapheme-prev'.
11525         * modules/unigbrk/u16-grapheme-prev: New file.
11526         * modules/unigbrk/u16-grapheme-prev-tests: New file.
11527         * lib/unigbrk.in.h: Add prototype for new function.
11528         * lib/unigbrk/u16-grapheme-prev.c: New file.
11529         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
11530
11531         New module 'u32-grapheme-prev'.
11532         * modules/unigbrk/u32-grapheme-prev: New file.
11533         * modules/unigbrk/u32-grapheme-prev-tests: New file.
11534         * lib/unigbrk.in.h: Add prototype for new function.
11535         * lib/unigbrk/u32-grapheme-prev.c: New file.
11536         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
11537
11538         New module 'u8-grapheme-breaks'.
11539         * modules/unigbrk/u8-grapheme-breaks: New file.
11540         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
11541         * lib/unigbrk.in.h: Add prototype for new function.
11542         * lib/unigbrk/u8-grapheme-breaks.c: New file.
11543         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
11544
11545         New module 'u16-grapheme-breaks'.
11546         * modules/unigbrk/u16-grapheme-breaks: New file.
11547         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
11548         * lib/unigbrk.in.h: Add prototype for new function.
11549         * lib/unigbrk/u16-grapheme-breaks.c: New file.
11550         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
11551
11552         New module 'u32-grapheme-breaks'.
11553         * modules/unigbrk/u32-grapheme-breaks: New file.
11554         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
11555         * lib/unigbrk.in.h: Add prototype for new function.
11556         * lib/unigbrk/u32-grapheme-breaks.c: New file.
11557         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
11558
11559         New module 'ulc-grapheme-breaks'.
11560         * modules/unigbrk/ulc-grapheme-breaks: New file.
11561         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
11562         * m4/locale-ar.m4: New file.
11563         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
11564         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
11565         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
11566
11567 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
11568
11569         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
11570         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
11571         modified how this file was generated before I initially submitted
11572         the module, but failed to regenerate it.  This meant that several
11573         of the level2 entries were wrong.
11574         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
11575         Remove the division-by-2 that is folded into the table now that
11576         gbrkprop.h has been regenerated properly.  Now -1 entries are
11577         handled correctly.
11578
11579         New module 'unigbrk/uc-gbrk-prop-tests'.
11580         * modules/unigbrk/uc-gbrk-prop-tests: New file.
11581         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
11582         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
11583         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
11584
11585 2011-01-01  Bruno Haible  <bruno@clisp.org>
11586
11587         Avoid use of hexadecimal escapes.
11588         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
11589         instead of hexadecimal escapes.
11590
11591 2011-01-01  Jim Meyering  <meyering@redhat.com>
11592
11593         maint: new rule to update copyright year ranges
11594         * Makefile (update-copyright): New rule.
11595
11596         maint: indent with TABs in Makefile
11597         * Makefile: Expand leading sequences of spaces to TABs
11598
11599         version-etc: update the copyright year it reports
11600         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
11601
11602 2010-12-31  Bruno Haible  <bruno@clisp.org>
11603
11604         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
11605         * lib/isfinite.c (zerof, zerod, zerol): New variables.
11606         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
11607         zero.
11608
11609 2010-12-31  Bruno Haible  <bruno@clisp.org>
11610
11611         pwrite: Work around HP-UX 11.11 bug.
11612         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
11613         works and set REPLACE_PWRITE if not.
11614         * lib/pwrite.c (pwrite): Add an implementation that uses the system
11615         function.
11616         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
11617
11618 2010-12-31  Bruno Haible  <bruno@clisp.org>
11619
11620         pread: Work around HP-UX 11 bugs.
11621         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
11622         and set REPLACE_PREAD if not.
11623         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
11624
11625 2010-12-31  Eric Blake  <eblake@redhat.com>
11626
11627         nl_langinfo: fix YESEXPR on Irix 6.5
11628         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
11629         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
11630         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
11631         it.
11632
11633 2010-12-31  Bruno Haible  <bruno@clisp.org>
11634
11635         iconv: Document HP-UX 11 bug.
11636         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
11637
11638 2010-12-31  Bruno Haible  <bruno@clisp.org>
11639
11640         ldexpl: Fix link error on HP-UX 11.
11641         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
11642         LDEXPL_LIBM, using $ISNANL_LIBM.
11643
11644 2010-12-31  Eric Blake  <eblake@redhat.com>
11645
11646         ftello: avoid compilation failure with SunStudio c89
11647         * lib/ftello.c (ftello): Use lseek, not llseek.
11648
11649         tests: avoid failing coreutils tests on cygwin
11650         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
11651         (create_exe_shims_): Return 0 when skipping.
11652
11653 2010-12-31  Bruno Haible  <bruno@clisp.org>
11654
11655         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
11656         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
11657
11658 2010-12-31  Bruno Haible  <bruno@clisp.org>
11659
11660         waitpid: Fix link error in C++ mode.
11661         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
11662
11663 2010-12-31  Bruno Haible  <bruno@clisp.org>
11664
11665         isnan: Use GCC built-ins when possible.
11666         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
11667         __builtin_isnan.
11668         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
11669         (isnan): Define using GCC built-ins for GCC >= 4.0.
11670
11671 2010-12-31  Bruno Haible  <bruno@clisp.org>
11672
11673         isnand: Fix mistake.
11674         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
11675         __builtin_isnand.
11676
11677 2010-12-31  Bruno Haible  <bruno@clisp.org>
11678
11679         open: Avoid C++ error on HP-UX 11.
11680         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
11681
11682 2010-12-31  Bruno Haible  <bruno@clisp.org>
11683
11684         time_r: Add missing declarations on HP-UX 11.
11685         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
11686         instead of HAVE_LOCALTIME_R.
11687         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
11688         HAVE_LOCALTIME_R always.
11689         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
11690         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
11691         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
11692         HAVE_LOCALTIME_R.
11693         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
11694         * doc/posix-functions/localtime_r.texi: Likewise.
11695
11696 2010-12-29  Eric Blake  <eblake@redhat.com>
11697
11698         mountlist: tweak previous commit
11699         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
11700         Reported by Paul Eggert.
11701
11702         mountlist: fix local drive detection on cygwin
11703         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
11704         that works for cygwin.
11705
11706 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
11707
11708         ftoastr, snprintf: ftoastr + snprintf module
11709         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
11710         since the snprintf module now should be good enough here.
11711         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
11712         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
11713         and gl_MODULE_INDICATOR([snprintf]), but the former enables
11714         GNULIB_SNPRINTF only for the test directory, and the latter
11715         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
11716         seems to suffice by itself.
11717
11718 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
11719
11720         alloca: one step towards thread-safety
11721         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
11722         need for a static variable.  All callers changed.  This does not
11723         make the alloca replacement thread-safe, but it's one step.
11724
11725         tests: minor indenting change
11726         * tests/init.sh: Sync from coreutils housekeeping patch
11727         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
11728         to keep lines within 80 columns.
11729
11730 2010-12-28  Jim Meyering  <meyering@redhat.com>
11731
11732         regex: don't infloop on persistent failing calloc
11733         * lib/regexec.c (build_trtable): Return failure indication upon
11734         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
11735         In glibc, this was fixed for version 2.13:
11736         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
11737
11738 2010-12-28  Bruno Haible  <bruno@clisp.org>
11739             Paul Eggert <eggert@cs.ucla.edu>
11740
11741         linkat: Make implementation robust against system behaviour variations.
11742         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
11743         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
11744         way, and to -2 if it needs a generic runtime test.
11745         * lib/linkat.c (solaris_optimized_link_immediate,
11746         solaris_optimized_link_follow): New functions.
11747         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
11748         (check_same_link): Use it.
11749
11750 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
11751
11752         New module 'unigbrk/base'.
11753         * modules/unigbrk/base: New file.
11754         * lib/unigbrk.in.h: New file.
11755
11756         New module 'unigbrk/uc-gbrk-prop'.
11757         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
11758         * modules/unigbrk/uc-gbrk-prop: New file.
11759         * lib/unigbrk/gbrkprop.h: New file.
11760         * lib/unigbrk/uc-gbrk-prop.c: New file.
11761
11762         New module 'unigbrk/uc-is-grapheme-break'.
11763         * modules/unigbrk/uc-is-grapheme-break: New file.
11764         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
11765         * lib/unigbrk/uc-is-grapheme-break.c: New file.
11766         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
11767         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
11768         * tests/unigbrk/GraphemeBreakTest.txt: New file.
11769
11770         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
11771
11772 2010-12-27  Bruno Haible  <bruno@clisp.org>
11773
11774         linkat test: Avoid failure on Solaris 11 2010-11.
11775         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
11776
11777 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
11778
11779         utimens: work around glibc rounding bug on more platforms
11780         * lib/utimens.c (fdutimens): Work around rounding bug even if
11781         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
11782         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
11783
11784 2010-12-27  Bruno Haible  <bruno@clisp.org>
11785
11786         select tests: Improve comments.
11787         * tests/test-select.c (do_select): Add comments.
11788
11789 2010-12-27  Bruno Haible  <bruno@clisp.org>
11790
11791         select tests: Safer way of handling timeout.
11792         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
11793         at every invocation.
11794
11795 2010-12-27  Bruno Haible  <bruno@clisp.org>
11796
11797         select tests: Use 'bool' where appropriate.
11798         * tests/test-select.c (connect_to_socket): Change argument type to
11799         'bool'.
11800
11801 2010-12-27  Bruno Haible  <bruno@clisp.org>
11802
11803         select tests: Use existing modules.
11804         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
11805         (configure.ac): Don't test for unistd.h.
11806         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
11807         declared in <unistd.h>.
11808
11809 2010-12-27  Bruno Haible  <bruno@clisp.org>
11810
11811         mbrtowc: Work around a Solaris 7 bug.
11812         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
11813         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
11814         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
11815         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
11816         MBRTOWC_NULL_ARG1_BUG.
11817         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
11818         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
11819         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
11820         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
11821
11822 2010-12-27  Jim Meyering  <meyering@redhat.com>
11823
11824         read-file.c: tweak syntax
11825         * lib/read-file.c (fread_file): Remove space after "*" in function
11826         definitions.
11827
11828 2010-12-27  Bruno Haible  <bruno@clisp.org>
11829
11830         times test: Avoid gcc warnings on OSF/1.
11831         * tests/test-times.c (main): Cast printf arguments from clock_t to
11832         'long int'.
11833
11834 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
11835
11836         utimens: work around glibc rounding bug on older Linux kernels
11837         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
11838         on Linux with a glibc whose utimes might not work, then work
11839         around a longstanding glibc bug involving rounding rather than
11840         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
11841         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
11842
11843 2010-12-26  Bruno Haible  <bruno@clisp.org>
11844
11845         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
11846         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
11847         _GL_CXXALIAS_SYS.
11848         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
11849
11850 2010-12-26  Bruno Haible  <bruno@clisp.org>
11851
11852         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
11853         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
11854         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
11855         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
11856         looking for the declaration.
11857         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
11858         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
11859         problem.
11860         * doc/posix-functions/inet_pton.texi: Likewise.
11861
11862 2010-12-26  Bruno Haible  <bruno@clisp.org>
11863
11864         arpa_inet: Use the common idioms with C++ support.
11865         * lib/arpa_inet.in.h: Include c++defs.h.
11866         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
11867         support.
11868         * modules/arpa_inet (Depends-on): Add c++defs.
11869         (Makefile.am): Substitute the contents of c++defs.h.
11870         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
11871         * modules/arpa_inet-c++-tests: New file.
11872         * tests/test-arpa_inet-c++.cc: New file.
11873
11874 2010-12-25  Bruno Haible  <bruno@clisp.org>
11875
11876         Fix more C++ link errors on Solaris 8.
11877         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
11878         $(LIB_EACCESS).
11879         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
11880         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
11881         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
11882         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
11883         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
11884
11885 2010-12-25  Bruno Haible  <bruno@clisp.org>
11886
11887         printf-posix: Fix link error when a non-GCC compiler is used.
11888         * lib/stdio.in.h (printf): When not using GCC, override printf
11889         correctly.
11890         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
11891
11892 2010-12-25  Bruno Haible  <bruno@clisp.org>
11893
11894         strerror_r-posix: Update doc.
11895         * doc/posix-functions/strerror_r.texi: Update doc about the return
11896         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
11897
11898 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
11899
11900         utimens: simplify the logic of the previous change
11901         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
11902         This should not affect whether the test succeeds or fails.
11903
11904         utimens: configure better on hosts with NFS clock skew
11905         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
11906         uses the clock of the local host.  It might use the clock of the
11907         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
11908         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
11909
11910 2010-12-25  Bruno Haible  <bruno@clisp.org>
11911
11912         ptsname test: Avoid failure on Solaris.
11913         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
11914         open a pseudo-terminal; don't use BSD-style ptys.
11915         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
11916
11917 2010-12-25  Bruno Haible  <bruno@clisp.org>
11918
11919         ptsname: Avoid ERANGE failure on some systems.
11920         * lib/ptsname.c (buffer): Increase size.
11921
11922 2010-12-25  Bruno Haible  <bruno@clisp.org>
11923
11924         rename, renameat: Avoid test failures at NFS mounted locations.
11925         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
11926         so that subsequent mkdir calls succeed.
11927
11928 2010-12-25  Bruno Haible  <bruno@clisp.org>
11929
11930         iswblank: Fix C++ link error on Solaris 8.
11931         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
11932         _GL_FUNCDECL_SYS.
11933
11934 2010-12-25  Bruno Haible  <bruno@clisp.org>
11935
11936         unistd: Fix C++ link error on Solaris 8.
11937         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
11938
11939 2010-12-25  Bruno Haible  <bruno@clisp.org>
11940
11941         readlink doc: Mention an old glibc bug.
11942         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
11943
11944 2010-12-25  Bruno Haible  <bruno@clisp.org>
11945
11946         fcntl-h: Fix for use of C++ on glibc systems.
11947         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
11948         also on glibc systems in C++ mode.
11949         Reported by Gary V. Vaughan <gary@gnu.org>.
11950
11951 2010-12-25  Bruno Haible  <bruno@clisp.org>
11952
11953         roundl-ieee: Make it work on OSF/1 5.1 with cc.
11954         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
11955
11956 2010-12-25  Bruno Haible  <bruno@clisp.org>
11957
11958         truncl-ieee: Make it work on OSF/1 5.1 with cc.
11959         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
11960         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
11961         test whether truncl works according to ISO C 99 with IEC 60559.
11962         * m4/truncl-ieee.m4: New file.
11963         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
11964         m4/signbit.m4.
11965         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
11966
11967 2010-12-25  Bruno Haible  <bruno@clisp.org>
11968
11969         ceill-ieee: Make it work on OSF/1 5.1 with cc.
11970         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
11971         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
11972         test whether ceill works according to ISO C 99 with IEC 60559.
11973         * m4/ceill-ieee.m4: New file.
11974         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
11975         m4/signbit.m4.
11976         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
11977
11978 2010-12-25  Bruno Haible  <bruno@clisp.org>
11979
11980         Ensure all prerequisites of <wchar.h> are included.
11981         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
11982         before <wchar.h>.
11983         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
11984         gl_MBRLEN_NUL_RETVAL): Likewise.
11985         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
11986         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
11987         AC_FUNC_MBRTOWC): Likewise.
11988         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
11989         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
11990         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
11991         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
11992         Likewise.
11993         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
11994         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
11995         (gl_WCHAR_H): Improve comments.
11996         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
11997
11998 2010-12-25  Bruno Haible  <bruno@clisp.org>
11999
12000         strtok_r: Fix C syntax error in autoconf macro.
12001         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
12002         characters in test program.
12003
12004 2010-12-24  Bruno Haible  <bruno@clisp.org>
12005
12006         ceil, trunc, round: Fix gcc warnings.
12007         * lib/ceil.c (MIN): Undefine before redefining.
12008         * lib/trunc.c (MIN): Likewise.
12009         * lib/round.c (MIN): Likewise.
12010         Include <math.h> first.
12011
12012 2010-12-24  Bruno Haible  <bruno@clisp.org>
12013
12014         select tests: Avoid failures on OSF/1 5.1.
12015         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
12016         failure of closing the last socket; it may fail with ECONNRESET.
12017
12018 2010-12-24  Eric Blake  <eblake@redhat.com>
12019
12020         stdint: avoid HP-UX 10.20 preprocessor bug
12021         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
12022         than #if.
12023         * tests/test-floor2.c (main): Likewise.
12024         Reported by Peter O'Gorman.
12025
12026         pipe: make obsoletion transition easier
12027         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
12028         * modules/pipe (Files): Include revived file.
12029         (Include): Drop reference, to mirror getdate's behavior.
12030
12031 2010-12-24  Bruno Haible  <bruno@clisp.org>
12032
12033         sys_socket: Hide mismatch of declarations on NonStop Kernel.
12034         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
12035         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
12036         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
12037
12038 2010-12-24  Bruno Haible  <bruno@clisp.org>
12039
12040         gethostname: Ensure declaration on NonStop Kernel.
12041         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
12042         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
12043
12044 2010-12-24  Bruno Haible  <bruno@clisp.org>
12045
12046         sys_select: Ensure all necessary types on NonStop Kernel.
12047         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
12048         include <sys/time.h>.
12049         * doc/posix-headers/sys_select.texi: Mention that it's missing on
12050         NonStop Kernel.
12051         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
12052
12053 2010-12-24  Bruno Haible  <bruno@clisp.org>
12054
12055         sys_select: Remove unneeded include.
12056         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
12057         have <sys/select.h>.
12058
12059 2010-12-24  Bruno Haible  <bruno@clisp.org>
12060
12061         gethostname: Provide a fallback for HOST_NAME_MAX.
12062         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
12063         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
12064         instead.
12065         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
12066
12067 2010-12-24  Bruno Haible  <bruno@clisp.org>
12068
12069         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
12070         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
12071         (SA_RESTART): Likewise.
12072         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
12073
12074 2010-12-24  Bruno Haible  <bruno@clisp.org>
12075
12076         signal: Define NSIG.
12077         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
12078         * tests/test-signal.c (nsig): New variable.
12079         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
12080
12081 2010-12-24  Bruno Haible  <bruno@clisp.org>
12082
12083         rename, renameat: Avoid test failures on OSF/1 5.1.
12084         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
12085         alternative error codes.
12086         * tests/test-renameat.c (main): Likewise.
12087
12088 2010-12-24  Bruno Haible  <bruno@clisp.org>
12089
12090         *printf: Detect large precisions bug on Solaris 10/SPARC.
12091         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
12092         by Paul Eggert.
12093         * tests/test-snprintf-posix.h (test_function): Add this test code here
12094         too.
12095         * tests/test-sprintf-posix.h (test_function): Likewise.
12096         * tests/test-vasnprintf-posix.c (test_function): Likewise.
12097         * tests/test-vasprintf-posix.c (test_function): Likewise.
12098         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
12099         around by gnulib.
12100         * doc/posix-functions/printf.texi: Likewise.
12101         * doc/posix-functions/snprintf.texi: Likewise.
12102         * doc/posix-functions/sprintf.texi: Likewise.
12103         * doc/posix-functions/vfprintf.texi: Likewise.
12104         * doc/posix-functions/vprintf.texi: Likewise.
12105         * doc/posix-functions/vsnprintf.texi: Likewise.
12106         * doc/posix-functions/vsprintf.texi: Likewise.
12107         * doc/posix-functions/dprintf.texi: Undo last commit.
12108         * doc/posix-functions/vdprintf.texi: Likewise.
12109
12110 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
12111
12112         tests: port test-fdutimensat.c to Solaris 8
12113         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
12114         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
12115         On Solaris 8, it fails with errno == ENOSYS, because there is no
12116         futimens (so it can't use the fd), and there is no lutimens (so it
12117         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
12118
12119         vsnprintf: make more consistent with snprintf; doc fixes
12120
12121         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
12122         the byte count return problem was promoted from the snprintf-posix
12123         to the snprintf module.
12124         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
12125         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
12126         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
12127         * tests/test-snprintf.c (main): Check the byte count returned.
12128         * tests/test-vsnprintf.c (main): Likewise.
12129
12130 2010-12-23  Eric Blake  <eblake@redhat.com>
12131
12132         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
12133         * modules/sigpipe (License): Relax license.
12134
12135 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
12136
12137         doc: document Solaris printf bug with large float precisions
12138         * doc/posix-functions/dprintf.texi (dprintf):
12139         * doc/posix-functions/fprintf.texi (fprintf):
12140         * doc/posix-functions/printf.texi (printf):
12141         * doc/posix-functions/snprintf.texi (snprintf):
12142         * doc/posix-functions/sprintf.texi (sprintf):
12143         * doc/posix-functions/vdprintf.texi (vdprintf):
12144         * doc/posix-functions/vfprintf.texi (vfprintf):
12145         * doc/posix-functions/vprintf.texi (vprintf):
12146         * doc/posix-functions/vsnprintf.texi (vsnprintf):
12147         * doc/posix-functions/vsprintf.texi (vsprintf):
12148         Mention that these functions mishandle large floating point
12149         precisions on Solaris 10.  The same bug is also present in Solaris
12150         8, and I assume earlier.  This causes "cd gnulib-tests; make
12151         check" to fail on Solaris 8 (and I assume, later) when building
12152         the latest coreutils, in test-vasprintf-posix's call to
12153         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
12154         the wide flavors (e.g., wprintf) so this patch just updates the
12155         documentation for the narrow ones.
12156
12157         test-posixtm.c: add two tests
12158         * tests/test-posixtm.c: Add two tests, to highlight the
12159         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
12160         around this bug; this is merely to document it.
12161
12162 2010-12-22  Bruno Haible  <bruno@clisp.org>
12163
12164         getlogin_r: Work around portability problem on OSF/1.
12165         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
12166         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
12167         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
12168         test for a truncated result.
12169         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
12170         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
12171         * modules/getlogin_r (Depends-on): Add memchr.
12172         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
12173
12174 2010-12-22  Bruno Haible  <bruno@clisp.org>
12175
12176         ptsname: Avoid test failure on OSF/1 5.1.
12177         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
12178         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
12179         (same_slave): New function.
12180         (main): Use it to compare ptsname's result with the expected file name.
12181
12182 2010-12-22  Bruno Haible  <bruno@clisp.org>
12183
12184         Port extended stdio modules to HP NonStop Kernel.
12185         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
12186         macros.
12187         * lib/fbufmode.c: Update comments.
12188         * lib/fflush.c: Likewise.
12189         * lib/fpurge.c: Likewise.
12190         * lib/freadable.c: Likewise.
12191         * lib/freadahead.c: Likewise.
12192         * lib/freading.c: Likewise.
12193         * lib/freadptr.c: Likewise.
12194         * lib/freadseek.c: Likewise.
12195         * lib/fseeko.c: Likewise.
12196         * lib/fseterr.c: Likewise.
12197         * lib/fwritable.c: Likewise.
12198         * lib/fwriting.c: Likewise.
12199         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
12200
12201 2010-12-22  Bruno Haible  <bruno@clisp.org>
12202
12203         ttyname_r: Work around bug on OSF/1 5.1.
12204         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
12205         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
12206         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
12207         present.
12208         * lib/ttyname_r.c (ttyname_r): Update comments.
12209
12210 2010-12-22  Bruno Haible  <bruno@clisp.org>
12211
12212         round: Implement result sign according to IEEE 754.
12213         * lib/round.c (MIN, MINUS_ZERO): New macros.
12214         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
12215         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
12216         * tests/test-round-ieee.c (main): Likewise.
12217         * tests/test-roundl-ieee.c (main): Likewise.
12218
12219         trunc: Implement result sign according to IEEE 754.
12220         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
12221         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
12222         * tests/test-trunc2.c: Include minus-zero.h.
12223         (MINUS_ZERO): New macro.
12224         (trunc_reference): Keep in sync with lib/trunc.c.
12225         * tests/test-truncf2.c: Include minus-zero.h.
12226         (MINUS_ZERO): New macro.
12227         (truncf_reference): Keep in sync with lib/trunc.c.
12228         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
12229         * tests/test-trunc-ieee.c (main): Likewise.
12230         * tests/test-truncl-ieee.c (main): Likewise.
12231
12232         ceil: Implement result sign according to IEEE 754.
12233         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
12234         (FUNC): Return -0.0 for -1 < x < 0.
12235         * tests/test-ceil2.c: Include minus-zero.h.
12236         (MINUS_ZERO): New macro.
12237         (ceil_reference): Keep in sync with lib/ceil.c.
12238         * tests/test-ceilf2.c: Include minus-zero.h.
12239         (MINUS_ZERO): New macro.
12240         (ceilf_reference): Keep in sync with lib/ceil.c.
12241         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
12242         * tests/test-ceil-ieee.c (main): Likewise.
12243         * tests/test-ceill-ieee.c (main): Likewise.
12244
12245         floor: Implement result sign according to IEEE 754.
12246         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
12247         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
12248         * tests/test-floorf2.c (floorf_reference): Likewise.
12249         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
12250         * tests/test-floor-ieee.c (main): Likewise.
12251         * tests/test-floorl-ieee.c (main): Likewise.
12252
12253 2010-12-22  Bruno Haible  <bruno@clisp.org>
12254
12255         getaddrinfo: Update doc.
12256         * doc/posix-functions/gai_strerror.texi: Return type is also different
12257         on AIX and HP-UX.
12258
12259 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
12260
12261         getaddrinfo, inet_ntop: Update doc for Solaris.
12262         * doc/posix-functions/gai_strerror.texi: Return type is also an
12263         issue on Solaris 9 and earlier.
12264         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
12265         on Solaris 10 and earlier.
12266
12267 2010-12-21  Bruno Haible  <bruno@clisp.org>
12268
12269         New module 'roundl-ieee'.
12270         * modules/roundl-ieee: New file.
12271         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
12272         test whether roundl works according to ISO C 99 with IEC 60559.
12273         * m4/roundl-ieee.m4: New file.
12274         * modules/roundl-ieee-tests: New file.
12275         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
12276         * tests/test-roundl.c (main): Remove signbit tests.
12277         * modules/roundl-tests (Depends-on): Remove signbit.
12278         * doc/posix-functions/roundl.texi: Mention the new module.
12279
12280 2010-12-21  Bruno Haible  <bruno@clisp.org>
12281
12282         New module 'truncl-ieee'.
12283         * modules/truncl-ieee: New file.
12284         * modules/truncl-ieee-tests: New file.
12285         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
12286         * tests/test-truncl.c (main): Remove signbit tests.
12287         * modules/truncl-tests (Depends-on): Remove signbit.
12288         * doc/posix-functions/truncl.texi: Mention the new module.
12289
12290 2010-12-21  Bruno Haible  <bruno@clisp.org>
12291
12292         New module 'ceill-ieee'.
12293         * modules/ceill-ieee: New file.
12294         * modules/ceill-ieee-tests: New file.
12295         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
12296         * tests/test-ceill.c (main): Remove signbit tests.
12297         * modules/ceill-tests (Depends-on): Remove signbit.
12298         * doc/posix-functions/ceill.texi: Mention the new module.
12299
12300 2010-12-21  Bruno Haible  <bruno@clisp.org>
12301
12302         New module 'floorl-ieee'.
12303         * modules/floorl-ieee: New file.
12304         * modules/floorl-ieee-tests: New file.
12305         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
12306         * tests/test-floorl.c (main): Remove signbit tests.
12307         * modules/floorl-tests (Depends-on): Remove signbit.
12308         * doc/posix-functions/floorl.texi: Mention the new module.
12309
12310 2010-12-21  Bruno Haible  <bruno@clisp.org>
12311
12312         New module 'round-ieee'.
12313         * modules/round-ieee: New file.
12314         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
12315         whether round works according to ISO C 99 with IEC 60559.
12316         * m4/round-ieee.m4: New file.
12317         * modules/round-ieee-tests: New file.
12318         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
12319         * tests/test-round1.c (main): Remove signbit tests.
12320         * modules/round-tests (Depends-on): Remove 'signbit'.
12321         * doc/posix-functions/round.texi: Mention the new module.
12322
12323 2010-12-21  Bruno Haible  <bruno@clisp.org>
12324
12325         New module 'trunc-ieee'.
12326         * modules/trunc-ieee: New file.
12327         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
12328         whether trunc works according to ISO C 99 with IEC 60559.
12329         * m4/trunc-ieee.m4: New file.
12330         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
12331         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
12332         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
12333         * modules/trunc-ieee-tests: New file.
12334         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
12335         * tests/test-trunc1.c (main): Remove signbit tests.
12336         * modules/trunc-tests (Depends-on): Remove 'signbit'.
12337         * doc/posix-functions/trunc.texi: Mention the new module.
12338
12339 2010-12-21  Bruno Haible  <bruno@clisp.org>
12340
12341         New module 'ceil-ieee'.
12342         * modules/ceil-ieee: New file.
12343         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
12344         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
12345         ISO C 99 with IEC 60559.
12346         * m4/ceil-ieee.m4: New file.
12347         * modules/ceil (Files): Add lib/ceil.c.
12348         (Depends-on): Add 'float'.
12349         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
12350         * lib/math.in.h (ceil): New declaration.
12351         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
12352         REPLACE_CEIL.
12353         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
12354         * modules/ceil-ieee-tests: New file.
12355         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
12356         * tests/test-math-c++.cc: Check the signature of 'ceil'.
12357         * doc/posix-functions/ceil.texi: Mention the new module.
12358
12359 2010-12-21  Bruno Haible  <bruno@clisp.org>
12360
12361         New module 'floor-ieee'.
12362         * modules/floor-ieee: New file.
12363         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
12364         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
12365         ISO C 99 with IEC 60559.
12366         * m4/floor-ieee.m4: New file.
12367         * modules/floor (Files): Add lib/floor.c.
12368         (Depends-on): Add 'float'.
12369         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
12370         * lib/math.in.h (floor): New declaration.
12371         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
12372         REPLACE_FLOOR.
12373         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
12374         * modules/floor-ieee-tests: New file.
12375         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
12376         * tests/test-math-c++.cc: Check the signature of 'floor'.
12377         * doc/posix-functions/floor.texi: Mention the new module.
12378
12379 2010-12-21  Bruno Haible  <bruno@clisp.org>
12380
12381         New module 'roundf-ieee'.
12382         * modules/roundf-ieee: New file.
12383         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
12384         test whether roundf works according to ISO C 99 with IEC 60559.
12385         * m4/roundf-ieee.m4: New file.
12386         * modules/roundf-ieee-tests: New file.
12387         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
12388         * tests/test-roundf1.c (main): Remove signbit tests.
12389         * modules/roundf-tests (Depends-on): Remove 'signbit'.
12390         * doc/posix-functions/roundf.texi: Mention the new module.
12391
12392 2010-12-21  Bruno Haible  <bruno@clisp.org>
12393
12394         New module 'truncf-ieee'.
12395         * modules/truncf-ieee: New file.
12396         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
12397         test whether truncf works according to ISO C 99 with IEC 60559.
12398         * m4/truncf-ieee.m4: New file.
12399         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
12400         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
12401         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
12402         * modules/truncf-ieee-tests: New file.
12403         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
12404         * tests/test-truncf1.c (main): Remove signbit tests.
12405         * modules/truncf-tests (Depends-on): Remove 'signbit'.
12406         * doc/posix-functions/truncf.texi: Mention the new module.
12407
12408 2010-12-21  Bruno Haible  <bruno@clisp.org>
12409
12410         New module 'ceilf-ieee'.
12411         * modules/ceilf-ieee: New file.
12412         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
12413         test whether ceilf works according to ISO C 99 with IEC 60559.
12414         * m4/ceilf-ieee.m4: New file.
12415         * modules/ceilf-ieee-tests: New file.
12416         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
12417         * tests/test-ceilf1.c (main): Remove signbit tests.
12418         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
12419         * doc/posix-functions/ceilf.texi: Mention the new module.
12420
12421 2010-12-21  Bruno Haible  <bruno@clisp.org>
12422
12423         New module 'floorf-ieee'.
12424         * modules/floorf-ieee: New file.
12425         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
12426         test whether floorf works according to ISO C 99 with IEC 60559.
12427         * m4/floorf-ieee.m4: New file.
12428         * modules/floorf-ieee-tests: New file.
12429         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
12430         * tests/test-floorf1.c (main): Remove signbit tests.
12431         * modules/floorf-tests (Depends-on): Remove 'signbit'.
12432         * doc/posix-functions/floorf.texi: Mention the new module.
12433
12434 2010-12-21  Bruno Haible  <bruno@clisp.org>
12435
12436         Support for minus zero in autoconf macros.
12437         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
12438         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
12439         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
12440         * tests/minus-zero.h: Update comments.
12441
12442 2010-12-21  Bruno Haible  <bruno@clisp.org>
12443
12444         Tests for module 'ceil'.
12445         * modules/ceil-tests: New file.
12446         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
12447         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
12448
12449 2010-12-21  Bruno Haible  <bruno@clisp.org>
12450
12451         Tests for module 'floor'.
12452         * modules/floor-tests: New file.
12453         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
12454         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
12455
12456 2010-12-21  Bruno Haible  <bruno@clisp.org>
12457
12458         math: Fix indentation.
12459         * lib/math.in.h (floorf): Fix indentation.
12460
12461 2010-12-21  Bruno Haible  <bruno@clisp.org>
12462
12463         Fix cross-compilation guesses on Solaris.
12464         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
12465         not match "solaris2.10".
12466         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
12467         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
12468         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
12469
12470 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
12471
12472         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
12473         This fixes a problem observed with the latest coreutils snapshot
12474         that caused a test to fail on Solaris 8.  src/csplit.c's call
12475         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
12476         earlier, instead of returning the number of bytes that would have
12477         been generated; this causes csplit to incorrectly report memory
12478         exhaustion.
12479         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
12480         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
12481         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
12482         comments to match.
12483         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
12484         Fix typo in matching older versions of Solaris: "solaris2.10"
12485         is matched by the shell pattern "solaris2.[0-9]*".  This matters
12486         only for guessing while cross-compiling.
12487         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
12488
12489 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
12490
12491         ftoastr: fix comment again
12492         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
12493         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
12494         Also, simplify example a bit by using flags = 0.
12495
12496 2010-12-20  Bruno Haible  <bruno@clisp.org>
12497
12498         round*, trunc*: Update documentation regarding glibc.
12499         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
12500         * doc/posix-functions/round.texi: Likewise.
12501         * doc/posix-functions/roundl.texi: Likewise.
12502         * doc/posix-functions/truncf.texi: Likewise.
12503         * doc/posix-functions/trunc.texi: Likewise.
12504         * doc/posix-functions/truncl.texi: Likewise.
12505
12506 2010-12-20  Bruno Haible  <bruno@clisp.org>
12507
12508         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
12509         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
12510         * doc/posix-functions/round.texi: Likewise.
12511         * doc/posix-functions/roundl.texi: Likewise.
12512
12513 2010-12-20  Bruno Haible  <bruno@clisp.org>
12514
12515         ttyname_r: Add missing declaration on HP-UX 11.
12516         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
12517         HAVE_TTYNAME_R.
12518         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
12519         declared. Set HAVE_TTYNAME_R always.
12520         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
12521         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
12522         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
12523         HAVE_TTYNAME_R.
12524         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
12525
12526 2010-12-20  Bruno Haible  <bruno@clisp.org>
12527
12528         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
12529         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
12530         * doc/posix-functions/getlogin_r.texi: Likewise.
12531         * tests/test-getlogin.c: Include <errno.h>.
12532         (main): Avoid test failure on HP-UX 11.11.
12533         * tests/test-getlogin_r.c (main): Likewise.
12534
12535 2010-12-20  Bruno Haible  <bruno@clisp.org>
12536
12537         getlogin_r: Add missing declaration on HP-UX 11.
12538         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
12539         declared also when it exists as a function.
12540         * doc/posix-functions/getlogin_r.texi: Document this workaround.
12541
12542 2010-12-20  Bruno Haible  <bruno@clisp.org>
12543
12544         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
12545         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
12546         through wcrtomb.
12547
12548 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
12549
12550         ftoastr: fix comment
12551         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
12552         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
12553
12554 2010-12-19  Bruno Haible  <bruno@clisp.org>
12555
12556         isnan: Ensure it is a macro.
12557         * lib/math.in.h (isnan): Define as a macro if not already a macro.
12558         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
12559         Solaris.
12560
12561 2010-12-19  Bruno Haible  <bruno@clisp.org>
12562
12563         ldexpl test: Fix link error on OSF/1 5.1.
12564         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
12565
12566 2010-12-19  Bruno Haible  <bruno@clisp.org>
12567
12568         wctype: Make it work in C++ mode on OSF/1 5.1.
12569         * lib/wctype.in.h (iswblank): Declare but not define here.
12570         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
12571         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
12572         * modules/wctype (Files): Add lib/iswblank.c.
12573
12574 2010-12-19  Bruno Haible  <bruno@clisp.org>
12575
12576         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
12577         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
12578         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
12579
12580 2010-12-19  Bruno Haible  <bruno@clisp.org>
12581
12582         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
12583         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
12584         _POSIX_PII_SOCKET.
12585         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
12586         * doc/posix-functions/recvfrom.texi: Likewise.
12587         * doc/posix-functions/send.texi: Likewise.
12588         * doc/posix-functions/sendto.texi: Likewise.
12589
12590 2010-12-19  Bruno Haible  <bruno@clisp.org>
12591
12592         tcgetsid: Add missing declaration on OSF/1 5.1.
12593         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
12594         HAVE_TCGETSID.
12595         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
12596         Don't set HAVE_TCGETSID.
12597         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
12598         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
12599         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
12600         HAVE_TCGETSID.
12601         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
12602
12603 2010-12-19  Bruno Haible  <bruno@clisp.org>
12604
12605         stdio: Fix problem with popen() declaration on OSF/1 5.1.
12606         * lib/stdio.in.h: During the include_next statement, let recursive
12607         includes of this file include only the system header file.
12608
12609 2010-12-19  Bruno Haible  <bruno@clisp.org>
12610
12611         iconv_open: Fix regression from 2010-12-04.
12612         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
12613         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
12614
12615 2010-12-19  Bruno Haible  <bruno@clisp.org>
12616
12617         stdbool test: Avoid a gcc warning.
12618         * tests/test-stdbool.c (main): Fail if e1 is false.
12619         Reported by Jim Meyering.
12620
12621 2010-12-19  Jim Meyering  <meyering@redhat.com>
12622
12623         setenv: restore to working order
12624         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
12625         mistakenly removed.
12626         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
12627         HAVE_SETENV.
12628         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
12629         HAVE_SETENV.
12630
12631 2010-12-19  Bruno Haible  <bruno@clisp.org>
12632
12633         Document some different function declarations on OSF/1 5.1.
12634         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
12635         * doc/posix-functions/inet_ntop.texi: Likewise.
12636         * doc/posix-functions/gethostname.texi: Likewise.
12637         * lib/unistd.in.h (gethostname): Update comment.
12638
12639 2010-12-19  Bruno Haible  <bruno@clisp.org>
12640
12641         doc: Mention vasprintf-posix module.
12642         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
12643         the 'vasprintf-posix' module.
12644         * doc/glibc-functions/vasprintf.texi: Likewise.
12645
12646 2010-12-19  Bruno Haible  <bruno@clisp.org>
12647
12648         unsetenv: Add missing declaration on OSF/1 5.1.
12649         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
12650         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
12651         Don't set HAVE_UNSETENV. In the test program, set _BSD.
12652         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
12653         not HAVE_UNSETENV.
12654         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
12655         HAVE_UNSETENV.
12656         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
12657
12658 2010-12-19  Bruno Haible  <bruno@clisp.org>
12659
12660         setenv: Add missing declaration on OSF/1 5.1.
12661         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
12662         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
12663         declared. Don't set HAVE_SETENV.
12664         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
12665         not HAVE_SETENV.
12666         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
12667         HAVE_SETENV.
12668         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
12669
12670 2010-12-19  Bruno Haible  <bruno@clisp.org>
12671
12672         nl_langinfo tests: Avoid gcc warning.
12673         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
12674
12675 2010-12-19  Bruno Haible  <bruno@clisp.org>
12676
12677         mknod: Avoid error in C++ mode on OSF/1 with GCC.
12678         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
12679         _GL_CXXALIAS_SYS.
12680
12681 2010-12-19  Bruno Haible  <bruno@clisp.org>
12682
12683         stdbool: Relax test.
12684         * tests/test-stdbool.c (e): Don't require that casts from a variable's
12685         address to 'bool' work in static initializer, for compilers other than
12686         GCC.
12687
12688 2010-12-19  Bruno Haible  <bruno@clisp.org>
12689
12690         ftello: Add missing declaration on OSF/1 5.1.
12691         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
12692         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
12693         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
12694         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
12695         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
12696
12697 2010-12-19  Bruno Haible  <bruno@clisp.org>
12698
12699         fseeko: Add missing declaration on OSF/1 5.1.
12700         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
12701         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
12702         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
12703         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
12704         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
12705
12706 2010-12-19  Bruno Haible  <bruno@clisp.org>
12707
12708         fchdir: Add missing declaration on OSF/1 5.1.
12709         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
12710         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
12711         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
12712         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
12713         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
12714
12715 2010-12-19  Bruno Haible  <bruno@clisp.org>
12716
12717         relocatable-prog-wrapper: Separate from relocatable-prog.
12718         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
12719         uninstall-relocwrapper rule here.
12720         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
12721         Reported by Ian Beckwith <ianb@erislabs.net>.
12722
12723 2010-12-19  Bruno Haible  <bruno@clisp.org>
12724
12725         unistr/u8-mbsnlen: Add missing dependency.
12726         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
12727         Reported by Ian Beckwith <ianb@erislabs.net>.
12728
12729 2010-12-19  Bruno Haible  <bruno@clisp.org>
12730
12731         iconv: Make it possible again to use this module without 'iconv-h'.
12732         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
12733         if it is not defined.
12734         Reported by Ian Beckwith <ianb@erislabs.net>.
12735
12736 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
12737
12738         acl: port to Solaris 8 when copying from tmpfs to ufs
12739         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
12740         error number.  Problem observed on Solaris 8 with latest
12741         coreutils, with "mv A B", where A is on a tmpfs file system and B
12742         is on a ufs file system.  This caused coreutils' mv/part-symlink
12743         test to fail.
12744
12745         tests: set fail=0 at start
12746         * tests/init.sh (setup_): Move fail=0 initialization here ...
12747         (mktempd_): ... from here, so that tests can rely on fail being
12748         set to 0 initially.  This fixes a problem in coreutils; see:
12749         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
12750
12751 2010-12-18  Bruno Haible  <bruno@clisp.org>
12752
12753         memmem-simple: Stylistic changes.
12754         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
12755         Fix preprocessor directive indentation.
12756
12757 2010-12-15  Pádraig Brady <P@draigBrady.com>
12758
12759         memmem, memmem-simple: reorganize and expand empty needle check
12760         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
12761         functional checks to memmem-simple so that one has a fully functional
12762         memmem by using just this module.
12763         Restrict the performance only check to the memmem module.
12764         Also expand the empty needle check to ensure the correct
12765         pointer is returned, not just a non NULL pointer.
12766         * doc/glibc-functions/memmem.texi: Rearrange the portability
12767         documentation to correlate with the rearranged checks.
12768         Clarify exactly how the memmem and memmem-simple modules
12769         relate to each other.
12770
12771 2010-12-15  Pádraig Brady <P@draigBrady.com>
12772             Bruno Haible  <bruno@clisp.org>
12773
12774         Improve cross-compilation guesses for uClibc.
12775         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
12776         that uClibc does not have the glibc bug.
12777         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
12778         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
12779
12780 2010-12-14  Eric Blake  <eblake@redhat.com>
12781
12782         configmake: provide fallbacks for oldest supported autotools
12783         * m4/configmake.m4: New file.
12784         * modules/configmake (Files): Ship it.
12785         (configure.ac): Use it to guarantee fallbacks.
12786
12787 2010-12-13  Pádraig Brady <P@draigBrady.com>
12788
12789         read-file: Improve handling of large files
12790         * lib/read-file.c (fread_file): Minimize realloc()s
12791         for regular files, and better manage sizes around SIZE_MAX.
12792
12793 2010-12-13  Eric Blake  <eblake@redhat.com>
12794
12795         cloexec, fcntl: relax license
12796         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
12797         consent from all contributors.
12798         * modules/fcntl (License): Likewise.
12799
12800 2010-12-10  Bruno Haible  <bruno@clisp.org>
12801
12802         Tests for module 'pipe-posix'.
12803         * modules/pipe-posix-tests: New file.
12804         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
12805
12806 2010-12-10  Bruno Haible  <bruno@clisp.org>
12807
12808         pipe-posix: Make it work in C++ mode.
12809         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
12810         (pipe): Use common idiom, not a macro definition.
12811         * lib/pipe.c: New file.
12812         * m4/pipe.m4: New file.
12813         * modules/pipe-posix (Description): Enhance.
12814         (Files): Add lib/pipe.c, m4/pipe.m4.
12815         (configure.ac): Invoke gl_FUNC_PIPE.
12816         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
12817         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
12818         * tests/test-unistd-c++.cc: Check the signature of pipe.
12819
12820 2010-12-10  Bruno Haible  <bruno@clisp.org>
12821
12822         Rename module 'pipe' to 'spawn-pipe'.
12823         * modules/spawn-pipe: New file, renamed from modules/pipe.
12824         (Files, configure.ac, Makefile.am): Update.
12825         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
12826         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
12827         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
12828         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
12829         "spawn-pipe.h" instead of "pipe.h".
12830         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
12831         to gl_SPAWN_PIPE.
12832         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
12833         (Files, Makefile.am): Update.
12834         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
12835         Update.
12836         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
12837         Include "spawn-pipe.h" instead of "pipe.h".
12838         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
12839         * lib/javacomp.c: Likewise.
12840         * lib/javaversion.c: Likewise.
12841         * lib/pipe-filter-gi.c: Likewise.
12842         * lib/pipe-filter-ii.c: Likewise.
12843         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
12844         * modules/javacomp (Depends-on): Likewise.
12845         * modules/javaversion (Depends-on): Likewise.
12846         * modules/pipe-filter-gi (Depends-on): Likewise.
12847         * modules/pipe-filter-ii (Depends-on): Likewise.
12848         * MODULES.html.sh (Executing programs): Update.
12849         * NEWS: Mention the change.
12850
12851 2010-12-10  Eric Blake  <eblake@redhat.com>
12852
12853         pipe-posix: new module
12854         * modules/pipe-posix: New file.
12855         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
12856         (gl_UNISTD_H): Check for declaration.
12857         * modules/unistd (Makefile.am): Substitute it.
12858         * lib/unistd.in.h (pipe): Provide it for mingw.
12859         * doc/posix-functions/pipe.texi (pipe): Update documentation.
12860         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
12861
12862 2010-12-07  Bruno Haible  <bruno@clisp.org>
12863
12864         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
12865         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
12866         u8_strcmp_gnu.
12867         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
12868
12869 2010-12-06  Bruno Haible  <bruno@clisp.org>
12870
12871         Update internal documentation.
12872         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
12873
12874 2010-12-04  Bruno Haible  <bruno@clisp.org>
12875
12876         Put more information about failed tests into the test return codes.
12877         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
12878         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
12879         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
12880         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
12881         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
12882         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
12883         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
12884         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
12885         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
12886         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
12887         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
12888         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
12889         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
12890         * m4/stdint.m4 (gl_STDINT_H): Likewise.
12891         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
12892         returns a bit mask.
12893         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
12894         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
12895         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
12896         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
12897         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
12898         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
12899         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
12900         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
12901         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
12902         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
12903         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
12904         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
12905         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
12906         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
12907         * m4/link.m4 (gl_FUNC_LINK): Likewise.
12908         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
12909         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
12910         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
12911         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
12912         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
12913         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
12914         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
12915         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
12916         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
12917         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
12918         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
12919         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
12920         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
12921         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
12922         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
12923         gl_PRINTF_PRECISION): Likewise.
12924         * m4/regex.m4 (gl_REGEX): Likewise.
12925         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
12926         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
12927         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
12928         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
12929         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
12930         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
12931         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
12932         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
12933         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
12934         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
12935         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
12936         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
12937         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
12938         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
12939         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
12940         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
12941         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
12942         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
12943         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
12944         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
12945         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
12946         enumerated value.
12947         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
12948
12949 2010-12-04  Bruno Haible  <bruno@clisp.org>
12950
12951         Update for Solaris 11 2010-11.
12952         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
12953         Express, released in November 2010.
12954
12955 2010-12-04  Bruno Haible  <bruno@clisp.org>
12956
12957         nproc: Relax license.
12958         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
12959         and Paul Eggert.
12960         Requested by Ludovic Courtès <ludo@gnu.org>.
12961
12962 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
12963
12964         utimecmp: fine-grained src to nearby coarse-grained dest
12965
12966         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
12967         and the source is on a file system with higher-resolution time
12968         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
12969         not work, and the time stamps are close together, the algorithm to
12970         determine the exact resolution from the read-back mtime was buggy:
12971         it had a "!=" where it should have had an "==".  This bug has been
12972         in the code ever since it was introduced to gnulib.
12973         Problem reported by Dan Jacobson in
12974         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
12975
12976 2010-11-30  Bruno Haible  <bruno@clisp.org>
12977
12978         strerror_r-posix: Fix autoconf test.
12979         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
12980
12981 2010-11-28  Bruno Haible  <bruno@clisp.org>
12982             Paul Eggert  <eggert@cs.ucla.edu>
12983
12984         Tests for module 'getdomainname'.
12985         * modules/getdomainname-tests: New file.
12986         * tests/test-getdomainname.c: New file, based on
12987         tests/test-gethostname.c.
12988
12989 2010-11-28  Bruno Haible  <bruno@clisp.org>
12990             Paul Eggert  <eggert@cs.ucla.edu>
12991
12992         getdomainname: Use the system function when possible.
12993         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
12994         (getdomainname): Replace if needed. Provide the declaration if it is
12995         missing. Don't use _GL_CXXALIAS_SYS_CAST.
12996         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
12997         (getdomainname): When the system has getdomainname, call the system
12998         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
12999         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
13000         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
13001         found in libnsl. Look for the declaration also in <netdb.h>. Replace
13002         the function if its second argument is of type 'int' or if it is found
13003         in libnsl.
13004         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
13005         <sys/systeminfo.h> and sysinfo().
13006         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
13007         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
13008         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
13009         HAVE_GETDOMAINNAME.
13010         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
13011         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
13012         * doc/glibc-functions/getdomainname.texi: Document the problems with
13013         the getdomainname declaration.
13014
13015 2010-11-28  Bruno Haible  <bruno@clisp.org>
13016
13017         sys_socket: Ensure ss_family field on AIX.
13018         * lib/sys_socket.in.h (ss_family): New macro definition.
13019         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
13020         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
13021         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
13022         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
13023         * modules/sys_socket (Makefile.am): Substitute
13024         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
13025         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
13026
13027 2010-11-27  Bruno Haible  <bruno@clisp.org>
13028
13029         readline: Improve configure output.
13030         * m4/readline.m4 (gl_FUNC_READLINE): Make the
13031         "checking for readline..." result understandable.
13032
13033 2010-11-27  Bruno Haible  <bruno@clisp.org>
13034
13035         *printf-posix: Detect a bug on Solaris 10/x86.
13036         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
13037         for floating-point output.
13038         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
13039         directive.
13040         * tests/test-snprintf-posix.h (test_function): Likewise.
13041         * tests/test-sprintf-posix.h (test_function): Likewise.
13042         * tests/test-vasprintf-posix.c (test_function): Likewise.
13043         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
13044         * doc/posix-functions/printf.texi: Likewise.
13045         * doc/posix-functions/snprintf.texi: Likewise.
13046         * doc/posix-functions/sprintf.texi: Likewise.
13047         * doc/posix-functions/vfprintf.texi: Likewise.
13048         * doc/posix-functions/vprintf.texi: Likewise.
13049         * doc/posix-functions/vsnprintf.texi: Likewise.
13050         * doc/posix-functions/vsprintf.texi: Likewise.
13051         * doc/glibc-functions/obstack_printf.texi: Likewise.
13052         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
13053
13054 2010-11-27  Bruno Haible  <bruno@clisp.org>
13055
13056         Fix link error when module libunistring-optional is in use.
13057         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
13058         * modules/striconveha-tests (Makefile.am): Likewise.
13059
13060 2010-11-27  Bruno Haible  <bruno@clisp.org>
13061
13062         regex: Mention link dependencies.
13063         * modules/regex (Link): New section.
13064         * modules/rpmatch (Link): Likewise.
13065         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
13066
13067 2010-11-27  Bruno Haible  <bruno@clisp.org>
13068
13069         ftoastr: Fix compilation error on Solaris.
13070         * lib/ftoastr.c: Include <config.h>.
13071
13072 2010-11-27  Bruno Haible  <bruno@clisp.org>
13073
13074         getloadavg: Update documentation.
13075         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
13076
13077 2010-11-27  Bruno Haible  <bruno@clisp.org>
13078
13079         sys_socket: Fix test whether the functions are declared.
13080         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
13081         not <sys/select.h>.
13082
13083 2010-11-27  Bruno Haible  <bruno@clisp.org>
13084
13085         getpass: Make sure to get system declaration on some platforms.
13086         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
13087         gl_USE_SYSTEM_EXTENSIONS.
13088         * modules/getpass (Depends-on): Add extensions.
13089
13090 2010-11-26  Bruno Haible  <bruno@clisp.org>
13091
13092         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
13093         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
13094         'iconv' module is present.
13095         (ICONV_CONST): New macro.
13096         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
13097         ICONV_CONST.
13098         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
13099         set ICONV_CONST.
13100         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
13101         here.
13102         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
13103         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
13104         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
13105         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
13106         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
13107         present.
13108
13109 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
13110
13111         ftoastr: comment fix
13112         * lib/ftoastr.c: "little" -> "little or no" in comment
13113
13114 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
13115
13116         stdint: port to GCC 4.3 + OSX + Octave
13117         On this platform, stdint.h is buggy and defines int64_t to long
13118         long int.  The replacement defined it to long int, causing
13119         problems with C++ style name mangling.  Instead, trust the system
13120         definition if INT64_MAX is defined, and likewise for the unsigned
13121         variant.   Problem reported by Jarno Rajahalme in
13122         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
13123         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
13124         and don't mess with int64_t and INT64_MAX in this case.
13125         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
13126
13127 2010-11-24  Bruno Haible  <bruno@clisp.org>
13128
13129         doc: Corrections regarding MacOS X 10.4 and 10.5.
13130         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
13131         MacOS X.
13132         Reported by Simon Josefsson.
13133
13134 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
13135
13136         Uninstall ".bin" files installed by relocwrapper.
13137         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
13138         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
13139         unless it is already there.
13140
13141 2010-11-21  Bruno Haible  <bruno@clisp.org>
13142
13143         Update for NetBSD 5.0.
13144         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
13145         NetBSD; the test fails on NetBSD 5.0.
13146         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
13147         about NetBSD.
13148
13149 2010-11-21  Bruno Haible  <bruno@clisp.org>
13150
13151         Update for HP-UX 11.23 and HP-UX 11.31.
13152         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
13153         HP-UX.
13154
13155 2010-11-21  Bruno Haible  <bruno@clisp.org>
13156
13157         Update for MacOS X 10.5.
13158         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
13159         MacOS X; the test fails on MacOS X 10.5.8.
13160         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
13161         about MacOS X.
13162
13163 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
13164
13165         bootstrap: add bootstrap_sync option.
13166         See discussion at
13167         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
13168         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
13169         * build-aux/bootstrap: Accept --bootstrap-sync to update
13170         bootstrap if it is not identical to the local gnulib's
13171         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
13172         enable this by default.  Accept --no-bootstrap-sync to disable
13173         it.
13174
13175 2010-11-20  Bruno Haible  <bruno@clisp.org>
13176
13177         Ensure that <features.h> is included before __GLIBC__ is tested.
13178         * lib/printf-parse.h: Include <features.h>.
13179         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
13180         Reported by Mike Frysinger <vapier@gentoo.org>.
13181
13182         Ensure that <features.h> is included before __GLIBC__ is tested.
13183         * lib/wchar.in.h: Include <features.h>.
13184         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
13185         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
13186         Reported by Mike Frysinger <vapier@gentoo.org>.
13187
13188         Ensure that <features.h> is included before __GLIBC__ is tested.
13189         * lib/arpa_inet.in.h: Include <features.h>.
13190         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
13191         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
13192         Reported by Mike Frysinger <vapier@gentoo.org>.
13193
13194         Ensure that <features.h> is included before __GLIBC__ is tested.
13195         * build-aux/link-warning.h: Include <features.h>.
13196         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
13197         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
13198         Reported by Mike Frysinger <vapier@gentoo.org>.
13199
13200         Ensure that <features.h> is included before __GLIBC__ is tested.
13201         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
13202         Reported by Mike Frysinger <vapier@gentoo.org>.
13203
13204 2010-11-20  Bruno Haible  <bruno@clisp.org>
13205
13206         memmem: Fix autoconf test.
13207         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
13208
13209 2010-11-20  Bruno Haible  <bruno@clisp.org>
13210
13211         Port to uClibc.
13212         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
13213         * lib/fcntl.in.h: Likewise.
13214         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
13215         * lib/mbrtowc.c (mbrtowc): Likewise.
13216         * lib/relocatable.c (find_shared_library_fullname): Likewise.
13217         * lib/strerror_r.c: Likewise.
13218         * lib/unistr/u8-strnlen.c: Likewise.
13219         * lib/vasnprintf.c (decimal_point_char): Likewise.
13220         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
13221         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
13222         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
13223         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
13224         * tests/test-sigaction.c (handler, main): Likewise.
13225         * lib/freading.h: Treat uClibc like a non-glibc platform.
13226         * lib/freading.c: Likewise.
13227         * lib/gettext.h: Likewise.
13228         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
13229         Likewise.
13230         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
13231         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
13232         * lib/propername.c (proper_name_utf8): Likewise.
13233         * lib/spawn.in.h: Likewise.
13234         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
13235         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
13236         mem_cd_iconveh_internal): Likewise.
13237         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
13238         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
13239         strstr, strcasestr): Likewise.
13240         * lib/unicodeio.c (unicode_to_mb): Likewise.
13241         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
13242         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
13243         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
13244         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
13245         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
13246         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
13247         * lib/unistr/u8-stpncpy.c: Likewise.
13248         * lib/vasnprintf.c (VASNPRINTF): Likewise.
13249         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
13250         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
13251         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
13252         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
13253         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
13254         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
13255         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
13256         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
13257         Likewise.
13258         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
13259         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
13260         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
13261         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
13262         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
13263         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
13264         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
13265         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
13266         * tests/test-getopt.h (OPTIND_MIN): Likewise.
13267         * tests/test-striconveha.c (main): Likewise.
13268         * tests/test-vasnprintf-posix.c (test_function): Likewise.
13269         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
13270         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
13271         * doc/posix-functions/getline.texi: Likewise.
13272         Reported by Mike Frysinger <vapier@gentoo.org>.
13273
13274 2010-11-20  Bruno Haible  <bruno@clisp.org>
13275
13276         nproc: Fix condition.
13277         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
13278         HAVE_PTHREAD_AFFINITY_NP.
13279
13280 2010-11-20  Bruno Haible  <bruno@clisp.org>
13281
13282         Fix a comment.
13283         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
13284
13285 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
13286
13287         ftoastr: don't assume snprintf
13288         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
13289         Implement a subset of snprintf here, by using sprintf safely.
13290         * modules/ftoastr (Depends-on): Remove snprintf.
13291
13292 2010-11-19  Jim Meyering  <meyering@redhat.com>
13293
13294         test-rename.h: fix compilation failure
13295         * tests/test-rename.h (test_rename): Add omitted "}".
13296
13297 2010-11-17  Jim Meyering  <meyering@redhat.com>
13298
13299         maint.mk: add a URL discussing the no-@acronym policy
13300         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
13301
13302 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
13303
13304         ftoastr: depend on snprintf, improve comments
13305         * lib/ftoastr.c: Also mention Loitsch's draft.
13306         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
13307         needed in the current implementation, but it might simplify
13308         speeding up the code later.
13309         * modules/ftoastr: Depend on snprintf; this improves portability.
13310         Suggested by Bruno Haible in the same email.
13311
13312         ftoastr: port to hosts lacking strtof and strtold
13313         Problem reported by Bruno Haible in
13314         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
13315         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
13316         environment and strtold (and presumably strtof) are not available.
13317         * modules/ftoastr (Files): Add m4/c-strtod.m4.
13318         (configure.ac): Require gl_C99_STRTOLD.
13319
13320 2010-11-18  Bruno Haible  <bruno@clisp.org>
13321
13322         c-strtold: Avoid link error on AIX 7.
13323         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
13324         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
13325         (gl_C_STRTOLD): Test whether strtold_l exists.
13326         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
13327
13328 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
13329
13330         intprops: new macro INT_BITS_STRLEN_BOUND
13331         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
13332         ftoastr.h.  This exposes an internal of intprops.h that was formerly
13333         not exposed.  Also, it uses a slightly tighter bound than before;
13334         though this makes no practical difference, we might as well be as
13335         tight as we easily can.
13336
13337         ftoastr: new module, for lossless conversion of floats to short strings
13338         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
13339         * modules/ftoastr: New files.
13340
13341 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
13342
13343         bootstrap: port to Solaris sed
13344         * build-aux/bootstrap (get_version): Port to Solaris sed.
13345         See Ralf Wildenhues's note in
13346         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
13347
13348 2010-11-14  Jim Meyering  <meyering@redhat.com>
13349
13350         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
13351         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
13352         and move definition closer to sole use.
13353
13354 2010-11-13  Jim Meyering  <meyering@redhat.com>
13355
13356         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
13357         Now we require at least autoconf-2.59, which means the work-around
13358         is no longer needed.
13359         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
13360         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
13361         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
13362         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
13363         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
13364
13365 2010-11-13  Bruno Haible  <bruno@clisp.org>
13366
13367         rename, renameat: Avoid test failures at NFS mounted locations.
13368         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
13369         functions.
13370         (test_rename): Use assert_nonexistent.
13371         * tests/test-rename.c: Include <dirent.h>.
13372         * tests/test-renameat.c: Likewise.
13373         Reported by Gary V. Vaughan <gary@gnu.org>.
13374
13375         rename, renameat: Document Linux bug with NFS
13376         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
13377         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
13378         * doc/posix-functions/renameat.texi: Likewise.
13379         Suggested by Eric Blake.
13380
13381 2010-11-13  Bruno Haible  <bruno@clisp.org>
13382
13383         rename test: Add comments.
13384         * tests/test-rename.h (test_rename): Add structure and comments.
13385
13386 2010-11-13  Eric Blake  <eblake@redhat.com>
13387
13388         maintainer-makefile: cover a few more files
13389         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
13390         scripts generated within C files, for libvirt.
13391
13392 2010-11-13  Bruno Haible  <bruno@clisp.org>
13393
13394         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
13395         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
13396         character, return the number of bytes that belong together, not always
13397         1.
13398         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
13399         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
13400         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
13401         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
13402         number of bytes of an invalid character.
13403         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
13404         (main): Invoke it.
13405         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
13406         results.
13407         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
13408         malformed byte sequences.
13409         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
13410         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
13411         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
13412         Reported by Ben Pfaff and Paolo Bonzini.
13413
13414 2010-11-13  Bruno Haible  <bruno@clisp.org>
13415
13416         openat: Work around glibc bug with fchownat() and empty file names.
13417         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
13418         (gl_FUNC_FCHOWNAT): Invoke it.
13419         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
13420         * doc/posix-functions/fchownat.texi: Document the glibc bug.
13421         Reported by Gary V. Vaughan <gary@gnu.org>.
13422
13423 2010-11-13  Bruno Haible  <bruno@clisp.org>
13424
13425         openat: Ensure autoconf macro ordering.
13426         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
13427         gl_USE_SYSTEM_EXTENSIONS.
13428         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
13429
13430 2010-11-13  Bruno Haible  <bruno@clisp.org>
13431
13432         Update comments.
13433         * lib/unistr/u8-check.c: Update file name in comments.
13434         * lib/unistr/u8-mblen.c: Likewise.
13435         * lib/unistr/u8-prev.c: Likewise.
13436         * lib/unistr/u8-strmblen.c: Likewise.
13437         * lib/unistr/u8-strmbtouc.c: Likewise.
13438
13439 2010-11-13  Jim Meyering  <meyering@redhat.com>
13440
13441         tests: avoid test failure on Solaris 10 due to lack of PATH export
13442         * tests/test-update-copyright.sh: Don't forget to export PATH.
13443
13444         init.sh: ensure that IFS is defined, just in case...
13445         * tests/init.sh (setup_): Ensure that IFS is defined,
13446         so that saving and restoring it works as expected.  This
13447         appears to be useful at least for an old version of dash
13448         from a long time ago (RH 6).  See here for details:
13449         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
13450
13451         maint.mk: tighten "test a == b" check
13452         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
13453         test to files that contain something like #!/bin/sh.
13454         Without this, coreutils would get two false positives in
13455         the comments of C source files.
13456
13457 2010-11-12  Eric Blake  <eblake@redhat.com>
13458
13459         bootstrap: fix typo in previous attempt
13460         * build-aux/bootstrap (buildreq): Correct the grouping.
13461         Reported by Paul Eggert.
13462
13463         maintainer-makefile: prohibit test x == x
13464         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
13465         Based on a report by Matthias Bolte.
13466
13467         bootstrap: allow FreeBSD gzip
13468         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
13469         which has no '.' and goes to stderr.
13470         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
13471         Reported by Matthias Bolte.
13472
13473         maintainer-makefile: check for i18n setup
13474         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
13475         will likely work.
13476
13477 2010-11-12  Bruno Haible  <bruno@clisp.org>
13478
13479         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
13480         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
13481         * lib/nanosleep.c (nanosleep): Likewise.
13482
13483 2010-11-11  Bruno Haible  <bruno@clisp.org>
13484
13485         fcntl-h: Fix for use of C++ on glibc systems.
13486         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
13487         also on glibc systems in C++ mode.
13488         Reported by Gary V. Vaughan <gary@gnu.org>.
13489
13490 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
13491
13492         mknod: avoid false failure with dash
13493         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
13494
13495 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
13496
13497         unlink: Fix "is it should" typo in diagnostic.
13498         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
13499         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
13500
13501 2010-11-11  Bruno Haible  <bruno@clisp.org>
13502
13503         Tests for module 'strerror_r-posix'.
13504         * modules/strerror_r-posix-tests: New file.
13505         * tests/test-strerror_r.c: New file.
13506         * tests/test-string-c++.cc: Check the signature of strerror_r.
13507
13508         New module 'strerror_r-posix'.
13509         * lib/string.in.h (strerror_r): New declaration.
13510         * lib/strerror_r.c: New file.
13511         * m4/strerror_r.m4: New file.
13512         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
13513         of strerror_r.
13514         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
13515         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
13516         * modules/strerror_r-posix: New file.
13517         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
13518         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
13519         * doc/posix-functions/strerror_r.texi: Mention the new module and the
13520         portability problems.
13521
13522 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
13523
13524         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
13525         line is also considered for output. Quoted function name in shell
13526         command, so temporary files for functions like MyClass::operator()
13527         are removed correctly without errors.
13528
13529 2010-11-09  Bruno Haible  <bruno@clisp.org>
13530
13531         * doc/posix-functions/strerror.texi: List more failing platforms.
13532
13533         * doc/posix-functions/strerror.texi: Add a comment.
13534
13535 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
13536
13537         fdopendir: fix bug on MacOS X when low on file descriptors
13538
13539         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
13540         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
13541         All callers changed.
13542         (fdopendir): Invoke save_cwd at the top level, not after using
13543         multiple dup() calls to use up file descriptors.  Then retry
13544         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
13545         less than the maximum number of open file descriptors, because
13546         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
13547         on Mac OS X 10.6.4 for tar 1.24
13548         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
13549         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
13550         and for tar 1.25
13551         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
13552
13553 2010-11-07  Bruno Haible  <bruno@clisp.org>
13554
13555         vasnprintf: Support I flag on glibc systems.
13556         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
13557         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
13558         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
13559         snprintf function.
13560         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
13561         glibc systems.
13562         * tests/test-vasnprintf-posix3.c: New file.
13563         * modules/vasnprintf-posix-tests (Files): Add it.
13564         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
13565
13566 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
13567
13568         [html] Fix copy/paste bug: Use unique name for compiler warnings.
13569         * MODULES.html.sh: For compiler warnings, use name
13570         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
13571
13572 2010-11-05  Eric Blake  <eblake@redhat.com>
13573
13574         ceil, floor: avoid spurious failure with icc
13575         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
13576         [denormals-as-zero] when optimizing without -mieee-fp option.
13577         * tests/test-floorf2.c (floorf_reference): Likewise.
13578         * tests/test-ceilf1.c (dummy): New function.
13579         (main): Use it to outsmart icc's optimization.
13580         * tests/test-floorf1.c (dummy, main): Likewise.
13581
13582         tests: require working signbit
13583         * modules/ceilf-tests (Depends-on): Add signbit.
13584         * modules/ceill-tests (Depends-on): Likewise.
13585         * modules/floorf-tests (Depends-on): Likewise.
13586         * modules/floorl-tests (Depends-on): Likewise.
13587         * modules/round-tests (Depends-on): Likewise.
13588         * modules/roundf-tests (Depends-on): Likewise.
13589         * modules/roundl-tests (Depends-on): Likewise.
13590         * modules/trunc-tests (Depends-on): Likewise.
13591         * modules/truncf-tests (Depends-on): Likewise.
13592         * modules/truncl-tests (Depends-on): Likewise.
13593
13594         strtod: work around icc bug
13595         * lib/strtod.c (minus_zero): Define to working value.
13596         (strtod): Use it to avoid icc bug.
13597
13598         copysign: enhance tests
13599         * modules/copysign-tests (Files): Add minus-zero.h.
13600         * tests/test-copysign.c (main): Also test zeros.
13601
13602 2010-11-04  Eric Blake  <eblake@redhat.com>
13603
13604         ceil, floor, round, trunc: enhance tests of -0
13605         * tests/test-ceilf1.c (main): Ensure correct sign of result.
13606         * tests/test-ceill.c (main): Likewise.
13607         * tests/test-floorf1.c (main): Likewise.
13608         * tests/test-floorl.c (main): Likewise.
13609         * tests/test-round1.c (main): Likewise.
13610         * tests/test-roundf1.c (main): Likewise.
13611         * tests/test-roundl.c (main): Likewise.
13612         * tests/test-trunc1.c (main): Likewise.
13613         * tests/test-truncf1.c (main): Likewise.
13614         * tests/test-truncl.c (main): Likewise.
13615
13616 2010-11-04  Eric Blake  <eblake@redhat.com>
13617
13618         frexp, tests: work around ICC bug with -zero
13619         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
13620         works with more compilers.
13621         * tests/minus-zero.h: New file.
13622         * modules/ceilf-tests (Files): Include it.
13623         * modules/ceill-tests (Files): Likewise.
13624         * modules/floorf-tests (Files): Likewise.
13625         * modules/floorl-tests (Files): Likewise.
13626         * modules/frexp-nolibm-tests (Files): Likewise.
13627         * modules/frexp-tests (Files): Likewise.
13628         * modules/frexpl-nolibm-tests (Files): Likewise.
13629         * modules/frexpl-tests (Files): Likewise.
13630         * modules/isnan-tests (Files): Likewise.
13631         * modules/isnand-nolibm-tests (Files): Likewise.
13632         * modules/isnand-tests (Files): Likewise.
13633         * modules/isnanf-nolibm-tests (Files): Likewise.
13634         * modules/isnanf-tests (Files): Likewise.
13635         * modules/isnanl-nolibm-tests (Files): Likewise.
13636         * modules/isnanl-tests (Files): Likewise.
13637         * modules/round-tests (Files): Likewise.
13638         * modules/roundf-tests (Files): Likewise.
13639         * modules/roundl-tests (Files): Likewise.
13640         * modules/ldexpl-tests (Files): Likewise.
13641         * modules/signbit-tests (Files): Likewise.
13642         * modules/snprintf-posix-tests (Files): Likewise.
13643         * modules/sprintf-posix-tests (Files): Likewise.
13644         * modules/strtod-tests (Files): Likewise.
13645         * modules/trunc-tests (Files): Likewise.
13646         * modules/truncf-tests (Files): Likewise.
13647         * modules/truncl-tests (Files): Likewise.
13648         * modules/vsnprintf-posix-tests (Files): Likewise.
13649         * modules/vsprintf-posix-tests (Files): Likewise.
13650         * modules/vasnprintf-posix-tests (Files): Likewise.
13651         * modules/vasprintf-posix-tests (Files): Likewise.
13652         * tests/test-ceilf1.c (main): Use it.
13653         * tests/test-ceill.c (main): Likewise.
13654         * tests/test-floorf1.c (main): Likewise.
13655         * tests/test-floorl.c (main): Likewise.
13656         * tests/test-frexp.c (main): Likewise.
13657         * tests/test-frexpl.c (main): Likewise.
13658         * tests/test-isnan.c (main): Likewise.
13659         * tests/test-isnand.h (main): Likewise.
13660         * tests/test-isnanf.h (main): Likewise.
13661         * tests/test-isnanl.h (main): Likewise.
13662         * tests/test-ldexpl.c (main): Likewise.
13663         * tests/test-round.c (main): Likewise.
13664         * tests/test-roundf.c (main): Likewise.
13665         * tests/test-roundl.c (main): Likewise.
13666         * tests/test-signbit.c (test_signbitf, test_signbitd)
13667         (test_signbitl): Likewise.
13668         * tests/test-snprintf-posix.h (test_function): Likewise.
13669         * tests/test-sprintf-posix.h (test_function): Likewise.
13670         * tests/test-strtod.c (main): Likewise.
13671         * tests/test-trunc1.c (main): Likewise.
13672         * tests/test-truncf1.c (main): Likewise.
13673         * tests/test-truncl.c (main): Likewise.
13674
13675         isnanl: work around icc bug
13676         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
13677
13678 2010-11-03  Eric Blake  <eblake@redhat.com>
13679
13680         tests: fix compiler warnings
13681         * tests/test-getopt.h (test_getopt): Fix condition.
13682         * tests/test-getopt_long.h (test_getopt_long): Likewise.
13683         * tests/test-pipe2.c (main): Likewise.
13684         * tests/test-quotearg-simple.c (main): Avoid icc warning.
13685
13686         utimens: fix broken m4 test
13687         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
13688
13689 2010-10-28  Bruno Haible  <bruno@clisp.org>
13690
13691         posix_spawn*, getdtablesize: Relax license.
13692         * modules/posix_spawn (License): Change to LGPLv2+.
13693         * modules/posix_spawnp (License): Likewise.
13694         * modules/posix_spawn-internal (License): Likewise.
13695         * modules/posix_spawnattr_init (License): Likewise.
13696         * modules/posix_spawnattr_getflags (License): Likewise.
13697         * modules/posix_spawnattr_setflags (License): Likewise.
13698         * modules/posix_spawnattr_getpgroup (License): Likewise.
13699         * modules/posix_spawnattr_setpgroup (License): Likewise.
13700         * modules/posix_spawnattr_getschedparam (License): Likewise.
13701         * modules/posix_spawnattr_setschedparam (License): Likewise.
13702         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
13703         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
13704         * modules/posix_spawnattr_getsigdefault (License): Likewise.
13705         * modules/posix_spawnattr_setsigdefault (License): Likewise.
13706         * modules/posix_spawnattr_getsigmask (License): Likewise.
13707         * modules/posix_spawnattr_setsigmask (License): Likewise.
13708         * modules/posix_spawnattr_destroy (License): Likewise.
13709         * modules/posix_spawn_file_actions_init (License): Likewise.
13710         * modules/posix_spawn_file_actions_addclose (License): Likewise.
13711         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
13712         * modules/posix_spawn_file_actions_addopen (License): Likewise.
13713         * modules/posix_spawn_file_actions_destroy (License): Likewise.
13714         * modules/getdtablesize (License): Likewise.
13715         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
13716
13717 2010-10-26  Bruno Haible  <bruno@clisp.org>
13718
13719         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
13720         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
13721         Cygwin and mingw.
13722         Suggested by Eric Blake.
13723
13724 2010-10-26  Bruno Haible  <bruno@clisp.org>
13725
13726         stdio: Work around compilation error due to renameat() on Solaris 10.
13727         * lib/stdio.in.h: Include <unistd.h> on Solaris.
13728         * lib/renameat.c: Don't include <unistd.h> here.
13729         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
13730         Reported by Paul Eggert and Eric Blake.
13731
13732 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
13733
13734         renameat: port to Solaris 10, which declares renameat in unistd.h
13735
13736         * lib/renameat.c: Include unistd.h before stdio.h, because
13737         Solaris 10 declares renameat in unistd.h.  Problem encountered
13738         when building GNU tar 1.24 on Solaris 10.
13739
13740 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
13741
13742         fdopendir: fix C89 compilation
13743         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
13744         compilers.
13745
13746 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
13747
13748         inttostr: simplify by removing unnecessary redundancy
13749         * lib/anytostr.c: Don't include verify.h.
13750         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
13751         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
13752         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
13753         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
13754         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
13755         Likewise.
13756         * modules/inttostr (Depends-on): Remove 'verify'.
13757
13758 2010-10-23  Bruno Haible  <bruno@clisp.org>
13759
13760         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
13761         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
13762         Reported by Eric Blake.
13763
13764 2010-10-23  Bruno Haible  <bruno@clisp.org>
13765
13766         Tests: Fix LOCALE_JA on MirBSD 10.
13767         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
13768         to an UTF-8 locale.
13769         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
13770         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
13771         Reported by Eric Blake.
13772
13773 2010-10-21  Bruno Haible  <bruno@clisp.org>
13774
13775         nl_langinfo test: Avoid test failure on NetBSD 5.
13776         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
13777         Reported by Eric Blake.
13778
13779 2010-10-21  Eric Blake  <eblake@redhat.com>
13780
13781         c-stack: work around libsigsegv 2.8 bug
13782         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
13783         overflow on at least PowerPC64.
13784
13785 2010-10-17  Bruno Haible  <bruno@clisp.org>
13786
13787         userspec: Drop redundant file.
13788         * modules/userspec (Files): Remove lib/inttostr.h.
13789
13790 2010-10-17  Bruno Haible  <bruno@clisp.org>
13791
13792         nl_langinfo tests: Silence some warnings.
13793         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
13794         Reported by Jim Meyering.
13795
13796 2010-10-17  Bruno Haible  <bruno@clisp.org>
13797
13798         Make use of GCC's attribute __alloc_size__.
13799         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
13800         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
13801         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
13802         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
13803         __alloc_size__.
13804         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
13805         Suggested by Jim Meyering.
13806
13807 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
13808
13809         bootstrap: anchor .gitignore entries.
13810         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
13811         with...
13812         (insert_vc_ignore): ... this new function, which prepends `/' to
13813         all .gitignore entries before passing them to
13814         insert_sorted_if_absent.
13815
13816 2010-10-16  Bruno Haible  <bruno@clisp.org>
13817
13818         nextafter: Fix configure check.
13819         * modules/nextafter (configure.ac): Correct expected prototype.
13820
13821 2010-10-16  Bruno Haible  <bruno@clisp.org>
13822
13823         termios: Update documentation.
13824         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
13825
13826 2010-10-16  Bruno Haible  <bruno@clisp.org>
13827
13828         tests: Make them compile with TinyCC.
13829         * tests/test-strstr.c (main): Remove parentheses around array
13830         initializer.
13831
13832 2010-10-15  Eric Blake  <eblake@redhat.com>
13833
13834         ignore-value: make header idempotent
13835         * lib/ignore-value.h: Add double-inclusion guards.
13836         Reported by Stefan Berger.
13837
13838 2010-10-15  Jim Meyering  <meyering@redhat.com>
13839
13840         GNUmakefile: handle "stable" target, not "major"
13841         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
13842         lists in maint.mk and announce-gen.  Without this, "make stable"
13843         would fail to ensure that $(VERSION) is up to date.
13844
13845 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
13846
13847         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
13848         & co.
13849
13850 2010-10-14  Bruno Haible  <bruno@clisp.org>
13851
13852         vasnprintf: Don't set errno to 0.
13853         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
13854         block that sets it to 0.
13855         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
13856
13857 2010-10-14  Bruno Haible  <bruno@clisp.org>
13858
13859         socketlib: Fix.
13860         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
13861         gl_PREREQ_SYS_H_WINSOCK2.
13862         Reported by Ian Beckwith <ianb@erislabs.net>.
13863
13864 2010-10-13  Jim Meyering  <meyering@redhat.com>
13865
13866         test-select-stdin.c: avoid warn_unused_result warnings
13867         * tests/test-select-stdin.c: Include "macros.h".
13868         ASSERT that read and fflush succeed.
13869
13870 2010-10-13  Jim Meyering  <meyering@redhat.com>
13871
13872         git-version-gen: do require git-VC'd files in cwd
13873         * build-aux/git-version-gen: Reject a git version string
13874         if there are no commits associated with the current directory.
13875         This avoids an unlikely false-positive (unrelated dir whose parent
13876         repository also contains a tag matching v*), as pointed out
13877         by Giuseppe Scrivano in
13878         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
13879
13880 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
13881
13882         argv-iter: omit nonconforming declaration
13883         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
13884         enum arg_iter_err declaration, which doesn't conform to C99.
13885         Solaris 10 cc warns about this.
13886
13887 2010-10-13  Eric Blake  <eblake@redhat.com>
13888
13889         termios: fix compilation on mingw
13890         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
13891         (gl_TERMIOS_H): Adjust it on mingw.
13892         * modules/termios (Makefile.am): Substitute new key.
13893         * lib/termios.in.h (includes): Make include_next conditional.
13894         * doc/posix-headers/termios.texi (termios.h): Update
13895         documentation.
13896         Reported by Daniel P. Berrange.
13897
13898 2010-10-13  Jim Meyering  <meyering@redhat.com>
13899
13900         git-version-gen: don't require that .git/ be in the current dir
13901         * build-aux/git-version-gen: Adjust this script so that it works
13902         when run from any working directory beneath the top-level .git/-
13903         containing directory.  Inspired by a patch from Giuseppe Scrivano,
13904         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
13905
13906         test-select: avoid warn_unused_result warnings
13907         * tests/test-select.c: Include "macros.h".
13908         ASSERT that each call to read, write, and pipe succeeds.
13909         While not technically required, also check each "close".
13910         * modules/select-tests (Files): Add tests/macros.h.
13911
13912         test-symlinkat: remove declaration of unused local
13913         * tests/test-symlinkat.c (main): Remove unused local, "buf".
13914
13915         test-inttostr: avoid shadowing warnings
13916         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
13917         and use malloc rather than the stack for the same reason as
13918         mentioned in the comment justifying the other allocation.
13919
13920 2010-10-11  Bruno Haible  <bruno@clisp.org>
13921
13922         stdlib: Allow multiple gnulib generated replacements to coexist.
13923         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
13924         Reported by Sam Steingold <sds@gnu.org>.
13925
13926 2010-10-11  Jim Meyering  <meyering@redhat.com>
13927
13928         fix a documentation typo
13929         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
13930
13931 2010-10-11  Eric Blake  <eblake@redhat.com>
13932
13933         futimens: work around Solaris 11 bug
13934         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
13935         * tests/test-futimens.h (test_futimens): Enhance, rather than
13936         weaken test.
13937         * doc/posix-functions/futimens.texi (futimens): Document the bug.
13938
13939 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
13940
13941         Indentation.
13942         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
13943         higher-level operators more to the left.
13944
13945 2010-10-11  Jim Meyering  <meyering@redhat.com>
13946
13947         test-futimens: avoid unwarranted test failure on Solaris 5.11
13948         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
13949         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
13950         because it tries to dereference the NULL name argument.
13951
13952 2010-10-11  Bruno Haible  <bruno@clisp.org>
13953
13954         Indentation.
13955         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
13956         indentation.
13957
13958 2010-10-11  Jim Meyering  <meyering@redhat.com>
13959
13960         spawn.in.h: make indentation consistent with parentheses
13961         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
13962         Make indentation consistent with parentheses.
13963
13964 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
13965
13966         Fix mismatched parens in previous commit
13967         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
13968         parens.
13969
13970 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
13971
13972         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
13973
13974         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
13975         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
13976         * lib/malloca.c: Include "verify.h".
13977         (verify1): Remove, replacing with a verify call.
13978         * lib/relocwrapper.c (verify1): Likewise.
13979         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
13980         Likewise.
13981         * modules/malloca (Depends-on): Add 'verify'.
13982         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
13983         * modules/vasnprintf (Depends-on): Add 'verify'.
13984         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
13985         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
13986         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
13987         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
13988         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
13989         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
13990         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
13991
13992         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
13993
13994         Formerly the style was sometimes 2*X - 1, because the C standard
13995         was wrongly thought to disallow ?: in integral constant expressions.
13996         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
13997         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
13998         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
13999         * lib/stdint.in.h (_verify_intmax_size): Likewise.
14000         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
14001         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
14002         verify that time_t cannot be floating.
14003
14004 2010-10-08  Eric Blake  <eblake@redhat.com>
14005
14006         time: enforce recent POSIX ruling that time_t is integral
14007         * lib/time.in.h (__time_t_must_be_integral): Detect any
14008         problematic systems, allowing the rest of gnulib to assume POSIX.
14009
14010 2010-10-08  Jim Meyering  <meyering@redhat.com>
14011
14012         fdopendir: fix a bug on systems lacking openat and /proc support
14013         OpenBSD 4.7 is one such system.  The most noticeable effect was
14014         failure of any application making nontrivial use of fts: rm, du,
14015         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
14016           ./rm: traversal failed: `a': Bad file descriptor
14017         Debugging that, you see that even though FD 6 was closed just
14018         prior to the opendir call in fd_clone_opendir, its resulting
14019         dir->dd_fd was 8, rather than the expected value of 6:
14020
14021         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
14022         93                close (fd);
14023         (gdb) n
14024         94                dir = fd_clone_opendir (dupfd);
14025         (gdb) n
14026         95                saved_errno = errno;
14027         (gdb) p dir->dd_fd
14028         $11 = 8
14029
14030         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
14031         The problem is that on OpenBSD, fd_clone_opendir has to resort
14032         to using the old-style save/restore CWD mechanism, due to its
14033         lack of openat/proc support, and *that* would steal the FD (6)
14034         that opendir was supposed to use.
14035
14036         The fix is to squirrel away the desired FD so that save_cwd uses a
14037         different one, and then free the dest FD right before calling opendir.
14038         That guarantees opendir will use the required file descriptor.
14039
14040         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
14041
14042 2010-10-08  Bruno Haible  <bruno@clisp.org>
14043
14044         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
14045         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
14046
14047 2010-10-08  Bruno Haible  <bruno@clisp.org>
14048
14049         nanosleep: Make replacement POSIX compliant.
14050         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
14051         is out of range.
14052         Reported by Jim Meyering.
14053
14054 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
14055
14056         bootstrap: add hook for altering gnulib.mk, for Bison
14057         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
14058         the Bison bootstrapping process can rewrite file names and variables
14059         in this file before later parts of 'bootstrap' use the file.
14060         Bison wants to include lib/gnulib.mk from the top-level makefile,
14061         so it needs the file names in this file to be relative to the top
14062         level, not relative to lib; plus it needs variable names to be
14063         rewritten.
14064         (slurp): Use the new function.
14065
14066         bootstrap: reformat for readability
14067         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
14068
14069 2010-10-08  Eric Blake  <eblake@redhat.com>
14070
14071         docs: update cygwin progress
14072         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
14073         1.7.7.
14074         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
14075         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
14076         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
14077         * doc/posix-functions/carg.texi (carg): Likewise.
14078         * doc/posix-functions/cargf.texi (cargf): Likewise.
14079         * doc/posix-functions/casin.texi (casin): Likewise.
14080         * doc/posix-functions/casinf.texi (casinf): Likewise.
14081         * doc/posix-functions/casinh.texi (casinh): Likewise.
14082         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
14083         * doc/posix-functions/catan.texi (catan): Likewise.
14084         * doc/posix-functions/catanf.texi (catanf): Likewise.
14085         * doc/posix-functions/catanh.texi (catanh): Likewise.
14086         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
14087         * doc/posix-functions/ccos.texi (ccos): Likewise.
14088         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
14089         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
14090         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
14091         * doc/posix-functions/cexp.texi (cexp): Likewise.
14092         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
14093         * doc/posix-functions/cimag.texi (cimag): Likewise.
14094         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
14095         * doc/posix-functions/clog.texi (clog): Likewise.
14096         * doc/posix-functions/clogf.texi (clogf): Likewise.
14097         * doc/posix-functions/conj.texi (conj): Likewise.
14098         * doc/posix-functions/conjf.texi (conjf): Likewise.
14099         * doc/posix-functions/cpow.texi (cpow): Likewise.
14100         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
14101         * doc/posix-functions/cproj.texi (cproj): Likewise.
14102         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
14103         * doc/posix-functions/creal.texi (creal): Likewise.
14104         * doc/posix-functions/crealf.texi (crealf): Likewise.
14105         * doc/posix-functions/csin.texi (csin): Likewise.
14106         * doc/posix-functions/csinf.texi (csinf): Likewise.
14107         * doc/posix-functions/csinh.texi (csinh): Likewise.
14108         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
14109         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
14110         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
14111         * doc/posix-functions/ctan.texi (ctan): Likewise.
14112         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
14113         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
14114         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
14115         * doc/posix-headers/complex.texi (complex.h): Likewise.
14116
14117 2010-10-07  Jim Meyering  <meyering@redhat.com>
14118
14119         parse-datetime: avoid compilation failure on OpenBSD 4.7
14120         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
14121         This works around a compilation failure on OpenBSD 4.7:
14122         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
14123
14124 2010-10-07  Eric Blake  <eblake@redhat.com>
14125
14126         docs: update cygwin progress
14127         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
14128         1.7.6.
14129         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
14130         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
14131         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
14132         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
14133         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
14134         Likewise.
14135         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
14136         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
14137         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
14138         Likewise.
14139         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
14140         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
14141         Likewise.
14142         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
14143         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
14144         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
14145         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
14146         Likewise.
14147         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
14148         Likewise.
14149         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
14150
14151         docs: update parse-datetime history
14152         * doc/parse-datetime.texi (Authors of parse_datetime): Better
14153         documentation of this function's history and alternatives.
14154
14155         cygwin: use more robust version check
14156         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
14157         exclude an eventual cygwin 1.9.1.
14158         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
14159         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
14160         (gl_FUNC_STRCASESTR): Likewise.
14161         Reported by Bruno Haible.
14162
14163 2010-10-06  Bruno Haible  <bruno@clisp.org>
14164
14165         string, sys_select: Avoid #including large headers unless necessary.
14166         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
14167         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
14168         OSF/1, BeOS, Haiku.
14169         Reported by Jim Meyering.
14170
14171 2010-10-05  Eric Blake  <eblake@redhat.com>
14172
14173         memmem, strstr, strcasestr: fix bug with long periodic needle
14174         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
14175         periodic needle having false positive.
14176         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
14177         and cygwin 1.7.7.
14178         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
14179         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
14180         (gl_FUNC_STRCASESTR): Likewise.
14181         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
14182         * tests/test-memmem.c (main): Expose the bug.
14183         * tests/test-strcasestr.c (main): Likewise.
14184         * tests/test-strstr.c (main): Likewise.
14185         * tests/test-c-strcasestr.c (main): Likewise.
14186         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
14187         * doc/posix-functions/strstr.texi (strstr): Likewise.
14188         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
14189         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
14190
14191 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
14192
14193         parse-datetime: do some more renaming
14194         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
14195         parse_datetime, not get_date.  Mention the renaming.
14196         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
14197         in comments.
14198         * m4/bison.m4: Likewise.
14199
14200 2010-10-05  Eric Blake  <eblake@redhat.com>
14201
14202         parse-datetime: better name than get_date
14203         * NEWS: Reword the deprecation notice.
14204         * modules/get_date: Rename to modules/parse-datetime.
14205         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
14206         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
14207         * lib/get_date.y: Rename to lib/parse-datetime.y.
14208         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
14209         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
14210         * doc/getdate.texi: Provide fallback wrapper.
14211         * lib/getdate.h: Move guts, and wrap...
14212         * lib/parse-datetime.h: ...new file.
14213         * lib/parse-datetime.y (get_date): Rename...
14214         (parse_datetime): ...to this.
14215         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
14216         (gl_PARSE_DATETIME): ...to this.
14217         * doc/posix-functions/getdate.texi (get_date): Provide fallback
14218         documentation.
14219         * modules/getdate (Files): Provide fallback docs and header.
14220         (Notice, Depends-on): Update references.
14221         * tests/test-parse-datetime.c: Likewise.
14222         * DEPENDENCIES: Likewise.
14223         * MODULES.html.sh (Date and time <time.h>): Likewise.
14224         * doc/parse-datetime.texi (Date input formats)
14225         (Authors of parse_datetime): Likewise.
14226         * modules/parse-datetime (Files, configure.ac, Makefile.am)
14227         (Include): Likewise.
14228         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
14229         * gnulib-tool: Likewise.
14230         * m4/bison.m4 (gl_BISON): Likewise.
14231         Suggested by Bruno Haible.
14232
14233 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
14234
14235         more ports to Solaris tr, which needs [] around ranges
14236         * gnulib-tool: Solaris tr needs [] around ranges.
14237         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
14238         * tests/test-pipe-filter-gi1.c (main): Likewise.
14239         * tests/test-pipe-filter-ii1.c (main): Likewise.
14240
14241 2010-10-05  Eric Blake  <eblake@redhat.com>
14242
14243         bootstrap: fix Solaris regression
14244         * build-aux/bootstrap (check_versions): Solaris tr still needs []
14245         around ranges.
14246         Reported by Pádraig Brady.
14247
14248         bootstrap: work with pkg-config
14249         * build-aux/bootstrap (check_versions): Also transliterate - in
14250         prerequisite name.
14251         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
14252         prerequisites that were already found, to avoid confusion.
14253         Reported by Justin Clift.
14254
14255         faccessat: remove unused wrappers
14256         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
14257         presence of these wrappers dragged in -lgen on Solaris.
14258         Reported by Clemens Brogi; fix suggested by Paul Eggert.
14259
14260 2010-10-05  Jim Meyering  <meyering@redhat.com>
14261
14262         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
14263         * Makefile (sc_pragma_columns): New syntax-check rule.
14264
14265 2010-10-04  Bruno Haible  <bruno@clisp.org>
14266
14267         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
14268         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
14269         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
14270         Reported by Bruce Korb and Eric Blake.
14271
14272 2010-10-04  Bruno Haible  <bruno@clisp.org>
14273
14274         threadlib: Make option --with-libpth-prefix work.
14275         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
14276         use $LIBPTH, not just -lpth.
14277
14278 2010-10-04  Bruno Haible  <bruno@clisp.org>
14279
14280         Avoid line length limitation from HP NonStop system header files.
14281         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
14282         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
14283         * lib/ctype.in.h: Likewise.
14284         * lib/dirent.in.h: Likewise.
14285         * lib/errno.in.h: Likewise.
14286         * lib/fcntl.in.h: Likewise.
14287         * lib/float.in.h: Likewise.
14288         * lib/getopt.in.h: Likewise.
14289         * lib/iconv.in.h: Likewise.
14290         * lib/inttypes.in.h: Likewise.
14291         * lib/langinfo.in.h: Likewise.
14292         * lib/locale.in.h: Likewise.
14293         * lib/math.in.h: Likewise.
14294         * lib/netdb.in.h: Likewise.
14295         * lib/netinet_in.in.h: Likewise.
14296         * lib/poll.in.h: Likewise.
14297         * lib/pthread.in.h: Likewise.
14298         * lib/pty.in.h: Likewise.
14299         * lib/sched.in.h: Likewise.
14300         * lib/se-selinux.in.h: Likewise.
14301         * lib/search.in.h: Likewise.
14302         * lib/signal.in.h: Likewise.
14303         * lib/spawn.in.h: Likewise.
14304         * lib/stdarg.in.h: Likewise.
14305         * lib/stddef.in.h: Likewise.
14306         * lib/stdint.in.h: Likewise.
14307         * lib/stdio.in.h: Likewise.
14308         * lib/stdlib.in.h: Likewise.
14309         * lib/string.in.h: Likewise.
14310         * lib/strings.in.h: Likewise.
14311         * lib/sys_file.in.h: Likewise.
14312         * lib/sys_ioctl.in.h: Likewise.
14313         * lib/sys_select.in.h: Likewise.
14314         * lib/sys_socket.in.h: Likewise.
14315         * lib/sys_stat.in.h: Likewise.
14316         * lib/sys_time.in.h: Likewise.
14317         * lib/sys_times.in.h: Likewise.
14318         * lib/sys_utsname.in.h: Likewise.
14319         * lib/sys_wait.in.h: Likewise.
14320         * lib/sysexits.in.h: Likewise.
14321         * lib/termios.in.h: Likewise.
14322         * lib/time.in.h: Likewise.
14323         * lib/unistd.in.h: Likewise.
14324         * lib/wchar.in.h: Likewise.
14325         * lib/wctype.in.h: Likewise.
14326         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
14327         * modules/ctype (Makefile.am): Likewise.
14328         * modules/dirent (Makefile.am): Likewise.
14329         * modules/errno (Makefile.am): Likewise.
14330         * modules/fcntl-h (Makefile.am): Likewise.
14331         * modules/float (Makefile.am): Likewise.
14332         * modules/getopt-posix (Makefile.am): Likewise.
14333         * modules/iconv-h (Makefile.am): Likewise.
14334         * modules/inttypes (Makefile.am): Likewise.
14335         * modules/langinfo (Makefile.am): Likewise.
14336         * modules/locale (Makefile.am): Likewise.
14337         * modules/math (Makefile.am): Likewise.
14338         * modules/netdb (Makefile.am): Likewise.
14339         * modules/netinet_in (Makefile.am): Likewise.
14340         * modules/poll-h (Makefile.am): Likewise.
14341         * modules/pthread (Makefile.am): Likewise.
14342         * modules/pty (Makefile.am): Likewise.
14343         * modules/sched (Makefile.am): Likewise.
14344         * modules/search (Makefile.am): Likewise.
14345         * modules/selinux-h (Makefile.am): Likewise.
14346         * modules/signal (Makefile.am): Likewise.
14347         * modules/spawn (Makefile.am): Likewise.
14348         * modules/stdarg (Makefile.am): Likewise.
14349         * modules/stddef (Makefile.am): Likewise.
14350         * modules/stdint (Makefile.am): Likewise.
14351         * modules/stdio (Makefile.am): Likewise.
14352         * modules/stdlib (Makefile.am): Likewise.
14353         * modules/string (Makefile.am): Likewise.
14354         * modules/strings (Makefile.am): Likewise.
14355         * modules/sys_file (Makefile.am): Likewise.
14356         * modules/sys_ioctl (Makefile.am): Likewise.
14357         * modules/sys_select (Makefile.am): Likewise.
14358         * modules/sys_socket (Makefile.am): Likewise.
14359         * modules/sys_stat (Makefile.am): Likewise.
14360         * modules/sys_time (Makefile.am): Likewise.
14361         * modules/sys_times (Makefile.am): Likewise.
14362         * modules/sys_utsname (Makefile.am): Likewise.
14363         * modules/sys_wait (Makefile.am): Likewise.
14364         * modules/sysexits (Makefile.am): Likewise.
14365         * modules/termios (Makefile.am): Likewise.
14366         * modules/time (Makefile.am): Likewise.
14367         * modules/unistd (Makefile.am): Likewise.
14368         * modules/wchar (Makefile.am): Likewise.
14369         * modules/wctype (Makefile.am): Likewise.
14370
14371 2010-10-04  Bruno Haible  <bruno@clisp.org>
14372
14373         read-file tests: Avoid a test failure on NonStop Kernel.
14374         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
14375         a regular file.
14376         Reported by Joachim Schmitz <schmitz@hp.com>.
14377
14378 2010-10-03  Bruno Haible  <bruno@clisp.org>
14379
14380         gnulib-tool: Fixes for --create-testdir with --libtool.
14381         * gnulib-tool (func_get_automake_snippet): Don't augment
14382         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
14383         an executable.
14384         (func_create_testdir): Handle module 'alloca' like func_import.
14385         Reported by Bruce Korb <bruce.korb@gmail.com>.
14386
14387 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
14388
14389         Avoid some lines longer than 80 characters.
14390         * lib/stdint.in.h: Break long comment lines.
14391         * lib/math.in.h: Likewise.
14392         (_GL_NUM_UINT_WORDS): New macro, for readability.
14393         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
14394         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
14395         * lib/stdlib.in.h: Likewise.
14396         * lib/spawn.in.h: Likewise.
14397         * lib/sys_socket.in.h: Update an URL.
14398         * lib/sys_stat.in.h: Break long line.
14399
14400 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
14401
14402         Improve pmccabe2html.
14403         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
14404         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
14405         when the sources change. Remove the line in the HTML about "Used
14406         ranges" (which implied that there might be other unused ranges),
14407         rename "Resume" to "Summary" (easier to understand for more users).
14408         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
14409         styles, and some unnecessary blank lines.
14410
14411 2010-10-03  Bruno Haible  <bruno@clisp.org>
14412             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
14413
14414         acl: Add support for ACLs on NonStop Kernel.
14415         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
14416         Check whether the function aclsort() exists.
14417         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
14418         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
14419         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
14420         (acl_nontrivial [HAVE_ACLSORT]: New function.
14421         (file_has_acl): Implement for NonStop Kernel.
14422         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
14423         (qset_acl): Implement for NonStop Kernel.
14424         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
14425         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
14426         (main): Implement for NonStop Kernel.
14427         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
14428         Kernel. Handle this flavor.
14429         * tests/test-set-mode-acl.sh: Likewise.
14430         * tests/test-copy-acl.sh: Likewise.
14431         * tests/test-copy-file.sh: Likewise.
14432
14433 2010-10-03  Bruno Haible  <bruno@clisp.org>
14434
14435         Info about ACLs on NonStop Kernel.
14436         * doc/acl-resources.txt: Add info about NonStop Kernel.
14437         References by Joachim Schmitz <schmitz@hp.com>.
14438
14439 2010-10-02  Bruno Haible  <bruno@clisp.org>
14440
14441         Define missing EDQUOT on NonStop Kernel.
14442         * lib/errno.in.h (EDQUOT): Assign a value if missing.
14443         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
14444         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
14445         missing.
14446         * doc/posix-headers/errno.texi: Mention the NSK bug.
14447         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
14448         Reported by Joachim Schmitz <schmitz@hp.com>.
14449
14450 2010-10-02  Bruno Haible  <bruno@clisp.org>
14451
14452         Update doc for POSIX:2008.
14453         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
14454         Update URL of POSIX specification.
14455
14456 2010-10-02  Bruno Haible  <bruno@clisp.org>
14457
14458         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
14459         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
14460         from gnulib, not from Automake.
14461
14462 2010-10-02  Bruno Haible  <bruno@clisp.org>
14463
14464         New module 'system-posix'.
14465         * modules/system-posix: New file.
14466         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
14467         module is present.
14468         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
14469         GNULIB_SYSTEM_POSIX.
14470         * modules/stdlib (Depends-on): Remove sys_wait.
14471         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
14472         * doc/posix-functions/system.texi: Mention the new module.
14473         * doc/posix-headers/stdlib.texi: Likewise.
14474         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
14475         define test_sys_wait_macros to a no-op.
14476         Reported by Sam Steingold <sds@gnu.org>.
14477
14478 2010-09-30  Bruno Haible  <bruno@clisp.org>
14479
14480         More renaming from 'getdate' to 'get_date'.
14481         * doc/get_date.texi: Renamed from doc/getdate.texi.
14482         * modules/get_date (Files): Update.
14483         * MODULES.html.sh (Date and time <time.h>): Update.
14484         * DEPENDENCIES: Update.
14485         * gnulib-tool: Update comment.
14486         * m4/bison.m4 (gl_BISON): Likewise.
14487         * m4/get_date.m4 (gl_GET_DATE): Likewise.
14488
14489 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
14490
14491         bootstrap: support ACLOCAL_FLAGS during aclocal
14492         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
14493         can add additional -I dir for third-party .m4 files.
14494
14495 2010-09-30  Eric Blake  <eblake@redhat.com>
14496
14497         bootstrap: use glibtoolize on MacOS
14498         * build-aux/bootstrap (check_versions): Convert libtool into
14499         libtoolize.
14500         (tool search): Move libtool check earlier, and look for
14501         glibtoolize for MacOS.
14502         (gnulib_tool_options): Auto-add --libtool when appropriate.
14503         Reported by Justin Clift.
14504
14505         poll: fix typo that broke test on MacOS
14506         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
14507         Reported by Justin Clift.
14508
14509         getdate: rename to get_date
14510         Note: getdate.h is not renamed, to minimize client impact.
14511         * modules/getdate: Mark obsolete.  Move old contents...
14512         * modules/get_date: ...to new module name.
14513         * modules/getdate-tests: Move...
14514         * modules/get_date-tests: ...here.
14515         * m4/getdate.m4: Move...
14516         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
14517         * lib/getdate.y: Move...
14518         * lib/get_date.y: ...here.
14519         * tests/test-getdate.c: Move...
14520         * tests/test-get_date.c: ...here.
14521         * doc/posix-functions/getdate.texi (getdate): Update name.
14522         * NEWS: Mention the change.
14523
14524 2010-09-29  Bruno Haible  <bruno@clisp.org>
14525
14526         Separate the module 'waitpid' from the module 'sys_wait'.
14527         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
14528         present.
14529         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
14530         gl_MODULE_INDICATOR_FOR_TESTS.
14531         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
14532         * modules/sys_wait (Depends-on): Remove waitpid.
14533         (Makefile.am): Substitute GNULIB_WAITPID.
14534         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
14535         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
14536         signature only if the 'waitpid' module is present.
14537         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
14538         * NEWS: Mention the change.
14539         * modules/grantpt (Depends-on): Add waitpid.
14540         * modules/wait-process (Depends-on): Likewise.
14541
14542 2010-09-29  Bruno Haible  <bruno@clisp.org>
14543
14544         More tests for module 'sys_wait'.
14545         * modules/sys_wait-c++-tests: New file.
14546         * tests/test-sys_wait-c++.cc: New file.
14547         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
14548         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
14549
14550 2010-09-29  Bruno Haible  <bruno@clisp.org>
14551
14552         New module 'waitpid'.
14553         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
14554         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
14555         Don't include <process.h>.
14556         (waitpid): Declare only, using modern idiom.
14557         * m4/waitpid.m4: New file.
14558         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
14559         * modules/waitpid: New file.
14560         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
14561         (Makefile.am): Update.
14562         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
14563
14564 2010-09-28  Bruno Haible  <bruno@clisp.org>
14565
14566         poll: Assume ANSI C.
14567         * lib/poll.c (poll): Use an ANSI C declaration.
14568
14569 2010-09-28  Bruno Haible  <bruno@clisp.org>
14570
14571         poll-h: Create poll.h on all platforms.
14572         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
14573         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
14574         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
14575         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
14576         (gl_REPLACE_POLL_H): Don't set POLL_H.
14577         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
14578         * modules/poll-h (Depends-on): Add include_next.
14579         (Makefile.am): Create poll.h unconditionally. Substitute also
14580         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
14581
14582 2010-09-28  Bruno Haible  <bruno@clisp.org>
14583
14584         Tests for module 'poll-h'.
14585         * modules/poll-h-c++-tests: New file.
14586         * tests/test-poll-h-c++.cc: New file.
14587
14588         Tests for module 'poll-h'.
14589         * modules/poll-h-tests: New file.
14590         * tests/test-poll-h.c: New file.
14591
14592 2010-09-28  Bruno Haible  <bruno@clisp.org>
14593
14594         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
14595         * modules/poll-h (Depends-on): Add 'extensions'.
14596
14597 2010-09-28  Bruno Haible  <bruno@clisp.org>
14598
14599         New module 'poll-h'.
14600         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
14601         (poll): Use modern idiom.
14602         * modules/poll-h: New file.
14603         * modules/poll (Files): Remove lib/poll.in.h.
14604         (Depends-on): Add poll-h.
14605         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
14606         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
14607         * m4/poll_h.m4: New file.
14608         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
14609         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
14610         and invoke gl_REPLACE_POLL_H.
14611         * lib/poll.c: Use common idiom.
14612         * tests/test-poll.c: Likewise.
14613         * doc/posix-headers/poll.texi: Mention the poll-h module.
14614         Suggested by Eric Blake.
14615
14616 2010-09-26  Bruno Haible  <bruno@clisp.org>
14617
14618         sys_wait: Implement WSTOPSIG.
14619         * lib/sys_wait.in.h (WSTOPSIG): New macro.
14620         Reported by Simon Josefsson.
14621
14622 2010-09-26  Simon Josefsson  <simon@josefsson.org>
14623
14624         stdlib, sys_wait: Avoid compilation error on mingw.
14625         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
14626
14627 2010-09-26  Bruno Haible  <bruno@clisp.org>
14628
14629         stdlib tests: Avoid code duplication.
14630         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
14631         * modules/sys_wait-tests (Files): Likewise.
14632         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
14633         * tests/test-stdlib.c: Include test-sys_wait.h.
14634         (main): Invoke test_sys_wait_macros.
14635         * tests/test-sys_wait.c: Include test-sys_wait.h.
14636         (main): Invoke test_sys_wait_macros.
14637
14638 2010-09-25  Simon Josefsson  <simon@josefsson.org>
14639
14640         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
14641         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
14642         sure Windows sockets are working before calling getaddrinfo.
14643         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
14644         * doc/gnulib.texi (Windows sockets): Fix typo.
14645
14646 2010-09-25  Bruno Haible  <bruno@clisp.org>
14647
14648         Tests for module 'regex-quote'.
14649         * modules/regex-quote-tests: New file.
14650         * tests/test-regex-quote.c: New file.
14651
14652         New module 'regex-quote'.
14653         * lib/regex-quote.h: New file.
14654         * lib/regex-quote.c: New file.
14655         * modules/regex-quote: New file.
14656         Suggested by Reuben Thomas <rrt@sc3d.org>.
14657
14658 2010-09-24  Bruno Haible  <bruno@clisp.org>
14659
14660         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
14661         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
14662
14663 2010-09-23  Bruno Haible  <bruno@clisp.org>
14664
14665         setenv: Relax license.
14666         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
14667         Blake.
14668         Requested by Eric Blake.
14669
14670 2010-09-22  Bruno Haible  <bruno@clisp.org>
14671
14672         termios: Relax license.
14673         * modules/termios (License): Change to LGPLv2+.
14674         Requested by Eric Blake.
14675
14676 2010-09-22  Bruno Haible  <bruno@clisp.org>
14677
14678         threadlib: Allow the package to change the default to 'no'.
14679         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
14680         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
14681         Reported by Paul Eggert.
14682
14683 2010-09-22  Pádraig Brady  <P@draigbrady.com>
14684             Bruno Haible  <bruno@clisp.org>
14685
14686         Fix endless loop in mbmemcasecoll.
14687         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
14688         byte.
14689         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
14690
14691 2010-09-22  Bruno Haible  <bruno@clisp.org>
14692
14693         Tests for module 'memcoll'.
14694         * modules/memcoll-tests: New file.
14695         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
14696
14697         memcoll, xmemcoll: Clarify size vs. length.
14698         * modules/memcoll.c (memcoll0): Clarify specification.
14699         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
14700         passed to collate_error.
14701
14702 2010-09-22  Bruno Haible  <bruno@clisp.org>
14703
14704         Tests for module 'memcasecmp'.
14705         * modules/memcasecmp-tests: New file.
14706         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
14707
14708 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
14709
14710         * lib/pthread.in.h: Add split double-inclusion guard, and include
14711         system <pthread.h> if there is one.  Use @@-style as in other
14712         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
14713         pthread.h doesn't.
14714         (pthread_mutexattr_destroy, pthread_mutexattr_init):
14715         (pthread_mutexattr_settype, pthread_mutex_trylock):
14716         New static inline functions, if there's no system <pthread.h>.
14717         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
14718         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
14719         Approximate with mutexes if the system lacks spinlocks, as in
14720         MacOS.
14721         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
14722         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
14723         @@-style.  Check for spinlocks separately.
14724         (gl_PTHREAD_DEFAULTS): New macro.
14725         * modules/pthread: Redo to use a more typical style for in.h files.
14726
14727 2010-09-21  Eric Blake  <eblake@redhat.com>
14728
14729         net_if: enhance tests
14730         * tests/test-net_if.c (main): Move signature checks earlier.
14731         Print failures to stderr.
14732         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
14733         Document the bug that we do not yet fix.
14734
14735 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
14736
14737         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
14738         about gnulib, not GSS.
14739
14740 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
14741
14742         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
14743         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
14744         for Emacs.
14745         * build-aux/pmccabe2html: Make Makefile.am example code more
14746         cut-and-paste friendly.
14747
14748 2010-09-21  Simon Josefsson  <simon@josefsson.org>
14749
14750         * tests/test-net_if.c: New file.
14751         * modules/net_if-tests: New file.
14752
14753 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
14754
14755         pthread: add pthread_spin_destroy
14756         * lib/pthread.in.h (pthread_spin_destroy): New function.
14757
14758 2010-09-19  Bruno Haible  <bruno@clisp.org>
14759
14760         gnulib-tool: Fix --help output.
14761         * gnulib-tool (func_usage): Fix help message.
14762         Reported by Reuben Thomas <rrt@sc3d.org>.
14763
14764 2010-09-18  Jim Meyering  <meyering@redhat.com>
14765
14766         maint.mk: avoid unexpanded \n in two diagnostics
14767         * top/maint.mk (sc_prohibit_always_true_header_tests):
14768         Don't use a literal \n in a halt=... assignment.  It would not be
14769         expanded, and the two \n bytes would appear in the diagnostic output
14770         rather than the desired newline.  Use halt=$$(printf ... instead.
14771         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
14772
14773 2010-09-18  Bruno Haible  <bruno@clisp.org>
14774
14775         netinet_in: Doc tweak.
14776         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
14777         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
14778
14779 2010-09-18  Jim Meyering  <meyering@redhat.com>
14780
14781         init.sh: correct an outdated comment
14782         * tests/init.sh (create_exe_shims_):  s/function/alias/
14783
14784         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
14785         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
14786         a file named "*.exe" is removed between the glob expansion and the
14787         processing of that oddly named file.
14788
14789 2010-09-17  Eric Blake  <eblake@redhat.com>
14790
14791         mirbsd: add some more support
14792         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
14793         in BSD family.
14794         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
14795         devices as OpenBSD.
14796         * m4/host-os.m4 (mirbsd): Add MirBSD.
14797
14798         tests: fix unportable assumption on sys/wait.h
14799         * tests/test-sys_wait.c (main): Relax test.
14800         * tests/test-stdlib.c (main): Likewise.
14801
14802         init.sh: accomodate directory with no .exes
14803         * tests/init.sh: Accomodate directory containing only scripts.
14804
14805         tests: avoid compiler warning
14806         * tests/test-stdlib.c (main): Use the variable.
14807
14808         fdutimens, fdutimensat: update signature, again
14809         * lib/utimens.h (gl_futimens): Delete, and move signature...
14810         (fdutimens): ...here.
14811         (fdutimensat): Rearrange signature.
14812         (lutimensat): Rename variable for clarity.
14813         * lib/fdutimensat.c (fdutimensat): Update signature.
14814         * lib/utimens.c (fdutimens): Likewise.
14815         (gl_futimens): Delete.
14816         (utimens, lutimens): Update callers.
14817         * lib/futimens.c (futimens): Likewise.
14818         * tests/test-fdutimensat.c: Likewise.
14819         * tests/test-utimens.c: Likewise.
14820         * tests/test-futimens.h: Update comment.
14821         * NEWS: Mention this.
14822         Suggested by Paul Eggert.
14823
14824 2010-09-17  Bruno Haible  <bruno@clisp.org>
14825
14826         Take over the maintenance of some older macros from Autoconf.
14827         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
14828         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
14829         GNU Autoconf.
14830         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
14831         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
14832
14833 2010-09-17  Eric Blake  <eblake@redhat.com>
14834
14835         fdutimensat: drop atflag validation
14836         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
14837         with valid fd, to close a race scenario where futimens is
14838         unsupported and FILE was replaced by a symlink.
14839         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
14840         accordingly.
14841         Suggested by Paul Eggert.
14842
14843 2010-09-16  Bruno Haible  <bruno@clisp.org>
14844
14845         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
14846         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
14847
14848 2010-09-16  Bruno Haible  <bruno@clisp.org>
14849
14850         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
14851         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
14852         login_tty exists.
14853         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
14854
14855 2010-09-16  Bruno Haible  <bruno@clisp.org>
14856
14857         login_tty: Make the replacement code work on BSD systems.
14858         * lib/login_tty.c: Include <sys/ioctl.h>.
14859         (login_tty): Use ioctl TIOCSCTTY when available.
14860         * modules/login_tty (Depends-on): Add sys_ioctl.
14861         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
14862
14863 2010-09-16  Bruno Haible  <bruno@clisp.org>
14864
14865         login_tty: Stricter unit test.
14866         * modules/login_tty-tests (Depends-on): Add tcgetsid.
14867         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
14868         and tcgetsid() after login_tty.
14869         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
14870
14871 2010-09-16  Bruno Haible  <bruno@clisp.org>
14872
14873         New module 'tcgetsid'.
14874         * lib/tcgetsid.c: New file.
14875         * m4/tcgetsid.m4: New file.
14876         * modules/tcgetsid: New file.
14877         * modules/termios (Depends-on): Add c++defs, warn-on-use.
14878         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
14879         GNULIB_TCGETSID, HAVE_TCGETSID.
14880         * lib/termios.in.h: Include <sys/types.h>.
14881         (tcgetsid): New declaration.
14882         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
14883         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
14884         * doc/posix-functions/tcgetsid.texi: Mention the new module.
14885         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
14886
14887 2010-09-16  Bruno Haible  <bruno@clisp.org>
14888
14889         Tests for module 'termios'.
14890         * modules/termios-c++-tests: New file.
14891         * modules/termios-tests: New file.
14892         * tests/test-termios-c++.cc: New file.
14893         * tests/test-termios.c: New file.
14894
14895         New module 'termios'.
14896         * modules/termios: New file.
14897         * lib/termios.in.h: New file.
14898         * m4/termios_h.m4: New file.
14899         * doc/posix-headers/termios.texi: Mention the new module.
14900
14901 2010-09-16  Eric Blake  <eblake@redhat.com>
14902
14903         fdutimensat: add an atflag parameter
14904         * lib/fdutimensat.c (fdutimensat): Add new parameter.
14905         * lib/utimens.h (fdutimensat): Update prototype.
14906         * tests/test-fdutimensat.c: Adjust test to match.
14907         * NEWS: Document the change.
14908         Suggested by Paul Eggert.
14909
14910 2010-09-16  Bruno Haible  <bruno@clisp.org>
14911
14912         Fix typos in comments.
14913         * lib/striconveh.h: Fix typo in comment.
14914         * lib/login_tty.c (login_tty): Likewise.
14915
14916 2010-09-15  Bruno Haible  <bruno@clisp.org>
14917
14918         stdlib: clarify MirBSD WEXITSTATUS bug
14919         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
14920         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
14921
14922 2010-09-15  Eric Blake  <eblake@redhat.com>
14923
14924         stdlib: work around MirBSD WEXITSTATUS bug
14925         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
14926         * modules/stdlib (Depends-on): Add sys_wait.
14927         * tests/test-sys_wait.c (main): Enhance test.
14928         * tests/test-stdlib.c (main): Likewise.
14929         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
14930
14931         docs: mention MacOS issue with WEXITSTATUS(constant)
14932         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
14933         issue.
14934         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
14935
14936         strnlen: add tests
14937         * modules/strnlen-tests: New file.
14938         * tests/test-strnlen.c: Likewise.
14939
14940 2010-09-14  Bruno Haible  <bruno@clisp.org>
14941
14942         unistr/base: Avoid link errors when module 'libunistring' is also used.
14943         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
14944         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
14945         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
14946         Declare also when HAVE_LIBUNISTRING is set.
14947         Reported by Pádraig Brady <P@draigbrady.com>.
14948
14949 2010-09-14  Eric Blake  <eblake@redhat.com>
14950
14951         test-rawmemchr: make more robust
14952         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
14953         (Depends-on, configure.ac): Add needed prerequisites to use it.
14954         * modules/memchr-tests (Files, Depends-on, configure.ac):
14955         Likewise, to avoid implicit reliance on memchr module prereqs.
14956         * tests/test-memchr.c (main): Ensure proper masking.
14957         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
14958         reads.
14959
14960         memchr: detect glibc Alpha bug
14961         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
14962         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
14963         Alpha.
14964         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
14965         * tests/test-memchr.c (main): Enhance test.
14966         Reported by Nelson H. F. Beebe.
14967
14968 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
14969
14970         fts, getcwd, glob: audit for dirfd returning -1
14971         * lib/fts.c (opendir): Remove #define; no longer used.
14972         (opendirat): New arg PDIR_FD.  All callers changed.
14973         (fts_build, _opendir2): Use new opendirat to avoid the need for
14974         dirfd, or for checking whether dirfd returns a negative value.
14975         Don't use opendir; always use openat followed by fdopendir.
14976         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
14977         it.
14978         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
14979         returns -1 here.
14980         * modules/fts (Depends-on): Remove dirfd.
14981         * modules/getcwd (Depends-on): Likewise.
14982
14983 2010-09-13  Eric Blake  <eblake@redhat.com>
14984
14985         float: fix broken MirBSD header
14986         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
14987         * doc/posix-headers/float.texi (float.h): Document it.
14988
14989 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
14990
14991         fts: use O_NOFOLLOW to avoid race condition when opening a directory
14992         * lib/fts.c (opendirat): New arg extra_flags.
14993         (__opendir2): Use it to avoid following symlinks when opening
14994         a directory, if symlinks are not supposed to be followed.  See
14995         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
14996
14997         fdopendir: preserve argument fd before returning
14998         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
14999         (fdopendir_with_dup, fd_clone_opendir): New static functions.
15000         (fdopendir): Use them, arranging for FD to be open to the same
15001         directory that it was when it started.  (It might be temporarily
15002         closed while fdopendir is running, so this not thread- or
15003         signal-safe.)  Be careful to do the right thing even when file
15004         descriptors are scarce and dup fails with errno == EMFILE.  See
15005         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
15006
15007 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
15008
15009         regex: Pass the system regex if its only problem is 32-bit regoff_t.
15010         * NEWS: Document change.
15011         * m4/regex.m4: Disable test for regoff_t size.
15012
15013 2010-09-13  Jim Meyering  <meyering@redhat.com>
15014
15015         fts: don't operate on an invalid file descriptor after failed dup
15016         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
15017         negative file descriptor.
15018
15019 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
15020
15021         savedir: add streamsavedir, deprecate fdsavedir
15022         * NEWS: Mention deprecation of fdsavedir.
15023         * lib/savedir.c (streamsavedir): New extern function, whose name
15024         ends in "savedir" to be consistent with the others.  This differs
15025         from savedirstream in that it doesn't close its argument.  The
15026         next version of GNU tar will use this instead of fdsavedir, to
15027         avoid some race conditions and conserve file descriptors.
15028         (savedirstream): Reimplement as a wrapper around streamsavedir.
15029         (fdsavedir): Add a comment deprecating this function.  As far as
15030         I know, only GNU tar used it, and GNU tar doesn't need it any more.
15031         * lib/savedir.h (streamsavedir): New decl.
15032         (fdsavedir): Add a comment deprecating this.
15033
15034 2010-09-10  Bruno Haible  <bruno@clisp.org>
15035
15036         langinfo: Fix last commit.
15037         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
15038         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
15039         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15040
15041 2010-09-10  Bruno Haible  <bruno@clisp.org>
15042
15043         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
15044         * lib/progreloc.c (O_EXEC): Define fallback.
15045
15046 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
15047
15048         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
15049         * NEWS: Document recent changes to fcntl-h.
15050         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
15051         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
15052         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
15053         Similarly for O_SEARCH; this last was already true, but not documented.
15054         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
15055         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
15056         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
15057         Likewise.
15058         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
15059         is zero, not whether it is defined.
15060         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
15061         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
15062         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
15063
15064 2010-09-10  Bruno Haible  <bruno@clisp.org>
15065
15066         langinfo, nl_langinfo: Fix for IRIX 5.3.
15067         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
15068         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
15069         HAVE_LANGINFO_YESEXPR.
15070         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
15071         HAVE_LANGINFO_YESEXPR.
15072         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
15073         HAVE_LANGINFO_T_FMT_AMPM is 0.
15074         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
15075         HAVE_LANGINFO_YESEXPR is 0.
15076         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
15077         NOEXPR.
15078         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
15079         * doc/posix-functions/nl_langinfo.texi: Likewise.
15080         Reported by Eric Blake.
15081
15082 2010-09-10  Bruno Haible  <bruno@clisp.org>
15083
15084         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
15085         * doc/glibc-functions/login_tty.texi: Mention the include file problem
15086         on FreeBSD 8.0 and OpenBSD 4.6.
15087         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
15088         * m4/pty_h.m4 (gl_PTY_H): Likewise.
15089         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
15090         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
15091         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
15092         ac_includes_default.
15093         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
15094
15095 2010-09-09  Eric Blake  <eblake@redhat.com>
15096
15097         strsignal: work around NetBSD bug
15098         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
15099         * lib/string.in.h (includes): Likewise.
15100         * doc/posix-functions/strsignal.texi (strsignal): Document the
15101         bug.
15102         Reported by Nelson H. F. Beebe.
15103
15104         gnulib-tool: work with NetBSD /bin/sh
15105         * gnulib-tool (func_cache_var, func_cache_lookup_module)
15106         (func_get_description, func_get_comment, func_get_status)
15107         (func_get_notice, func_get_applicability, func_get_filelist)
15108         (func_get_dependencies, func_get_autoconf_early_snippet)
15109         (func_get_autoconf_snippet, func_get_automake_snippet)
15110         (func_get_include_directive, func_get_link_directive)
15111         (func_get_license, func_get_maintainer, func_import): Avoid
15112         shell syntax errors from parsing syntax extensions.
15113
15114 2010-09-09  Bruno Haible  <bruno@clisp.org>
15115
15116         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
15117         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
15118         a reliable way to determine whether the 'alias' command works.
15119
15120 2010-09-08  Jim Meyering  <meyering@redhat.com>
15121
15122         init.sh: penalize a set-x-impaired shell; don't disqualify it
15123         * tests/init.sh: Too many shells corrupt application stderr when
15124         you set -x, so we can't afford to disqualify them, since at least
15125         on Irix-6.5, that would disqualify all bourne shells.
15126         Instead, use a two-pass approach.
15127         On the first pass, try to find a shell that meets the stricter
15128         condition that set -x does not corrupt stderr.
15129         If no shell meets the stricter condition, retest each candidate
15130         shell, but without that extra condition.  Finally, when
15131         VERBOSE=yes is requested and set -x might cause trouble, simply
15132         issue a warning and refrain from enabling debug output.
15133
15134 2010-09-08  Eric Blake  <eblake@redhat.com>
15135
15136         unsetenv: fix OpenBSD bug
15137         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
15138         * doc/posix-functions/unsetenv.texi (unsetenv): Update
15139         documentation.
15140         Reported by Jim Meyering.
15141
15142         strtod: work around IRIX 6.5 bug
15143         * lib/strtod.c (strtod): Reparse number on shorter string if
15144         exponent parse was invalid.
15145         * tests/test-strtod.c (main): Add check for "0x1p 2".
15146         Reported by Tom G. Christensen.
15147
15148         getopt: optimize previous patch
15149         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
15150         empty variable.  Speed up awk script.
15151         Reported by Paolo Bonzini.
15152
15153 2010-09-08  Jim Meyering  <meyering@redhat.com>
15154
15155         test.sh: disqualify shells for which set -x corrupts stderr
15156         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
15157         and OpenBSD 4.7.  They make it so with "set -x", environment settings
15158         appear in stderr output.  For example, this command:
15159             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
15160         prints "P=1" on those two systems:
15161
15162 2010-09-08  Bruno Haible  <bruno@clisp.org>
15163
15164         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
15165         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
15166         commands, because some shells ignore redirections when there is an
15167         error in the command lookup.
15168         Reported by Eric Blake.
15169
15170 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
15171
15172         * lib/regex.h: Fix a mention of `regex_compile' (should be
15173         `re_compile_pattern').
15174         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
15175         (re_set_registers): Correct name of parameter in comment.
15176
15177         * doc/regex.texi: Add documentation for missing syntax flags.
15178         Remove commented-out documentation of defunct syntax option
15179         RE_NO_EMPTY_ALTS.
15180         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
15181         Add documentation of re_set_registers.
15182         Document trick to re-use a pattern buffer by setting fastmap manually.
15183         Update documentation of struct re_pattern_buffer per public members.
15184         Uncomment documentation of equivalence class operators and
15185         collating symbol operators, since they are now implemented,
15186         Explain leftmost-longest matching in relation to alternatives.
15187         Tidy documentation of substring matching.
15188         Remove POSIX documentation, which is done better in
15189         glibc, and refer the reader there. Keep BSD API documentation, as
15190         that is not readily available elsewhere.
15191
15192 2010-09-07  Eric Blake  <eblake@redhat.com>
15193
15194         getopt: handle POSIXLY_CORRECT set but not exported
15195         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
15196         export state of POSIXLY_CORRECT, due to bash set -o posix.
15197         Reported by Dustin J. Mitchell.
15198
15199 2010-09-05  Bruno Haible  <bruno@clisp.org>
15200
15201         gnulib-tool: Highlight the changed options.
15202         * gnulib-tool (func_usage): Display the --import, --add-import,
15203         --remove-import explanations in bold font.
15204
15205 2010-09-06  Karl Berry  <karl@gnu.org>
15206
15207         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
15208
15209 2010-09-05  Bruno Haible  <bruno@clisp.org>
15210
15211         uniwidth/width: Update comment.
15212         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
15213         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
15214
15215 2010-09-05  Bruno Haible  <bruno@clisp.org>
15216
15217         isinf, isnan: Relax license.
15218         * modules/isinf (License): Change from GPL to LGPL, with consent from
15219         Ben Pfaff.
15220         * modules/isnan (License): Likewise.
15221         Requested by Ludovic Courtès.
15222
15223 2010-09-04  Bruno Haible  <bruno@clisp.org>
15224
15225         gnulib-tool: Help migration from --import to --add-import or --update.
15226         * gnulib-tool: Emit a verbose error message when --import is used
15227         without any module name.
15228
15229 2010-09-04  Bruno Haible  <bruno@clisp.org>
15230
15231         Update doc about gnulib-tool.
15232         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
15233         'gnulib-tool --update' in more detail.
15234         Reported by Eric Blake.
15235
15236 2010-09-04  Bruno Haible  <bruno@clisp.org>
15237
15238         gnulib-tool: Change --import. New options --add/remove-import.
15239         * gnulib-tool: New options --add-import, --remove-import.
15240         (func_usage): Document them.
15241         (have_associative): Define always.
15242         (func_import): In import mode, don't merge the specified settings with
15243         the cached settings. Implement remove-import mode.
15244         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
15245         Explain when to use them versus --import.
15246         (Simple update): Use --add-import instead of --import.
15247         * NEWS: Mention the change.
15248
15249 2010-09-04  Bruno Haible  <bruno@clisp.org>
15250
15251         * doc/gnulib-tool.texi (Initial import): Update paragraph about
15252         separate gnulib.mk.
15253
15254 2010-09-04  Bruno Haible  <bruno@clisp.org>
15255
15256         gnulib-tool: Don't talk about CVS any more.
15257         * gnulib-tool (func_usage, func_import): Write "version control"
15258         instead of CVS.
15259
15260 2010-09-04  Jim Meyering  <meyering@redhat.com>
15261
15262         maint.mk: avoid obscure sc_copyright_check failure in coreutils
15263         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
15264         false positives (whose names may be ill-chosen) when searching
15265         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
15266         would cause a false-positive.
15267
15268         avoid coreutils "make distcheck" failure
15269         Coreutils tests with an absolute build directory name that contains
15270         a space.  Not quoting this directory name caused a failure.
15271         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
15272         * tests/test-vc-list-files-cvs.sh: Likewise.
15273
15274 2010-09-04  Bruno Haible  <bruno@clisp.org>
15275
15276         gnulib-tool: Avoid error when run in a package without Makefile.am.
15277         * gnulib-tool: When collecting the m4dirs in a package that does not
15278         have a Makefile.am, eliminate those directories that contain no
15279         gnulib-cache.m4. Fix expression that counts these directories.
15280
15281 2010-09-04  Bruno Haible  <bruno@clisp.org>
15282
15283         update-copyright test: Improve output when perl is missing or too old.
15284         * tests/test-update-copyright.sh: Move test of Perl version down after
15285         the test whether Perl exists. Provide an explanation relating Perl's
15286         error message to Automake's SKIP: message.
15287
15288 2010-09-04  Bruno Haible  <bruno@clisp.org>
15289
15290         Don't augment PATH in TESTS_ENVIRONMENT.
15291         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
15292         set abs_aux_dir instead of augmenting PATH.
15293         * modules/vc-list-files-tests (Makefile.am): Likewise.
15294         * tests/test-update-copyright.sh: Augment PATH here.
15295         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
15296         path_prepend_.
15297         * tests/test-vc-list-files-git.sh: Likewise.
15298
15299 2010-09-04  Jim Meyering  <meyering@redhat.com>
15300
15301         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
15302         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
15303
15304 2010-09-04  Bruno Haible  <bruno@clisp.org>
15305
15306         strdup: Fix compilation error in C++ mode.
15307         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
15308         the macro.
15309
15310 2010-09-04  Bruno Haible  <bruno@clisp.org>
15311
15312         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
15313         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
15314         macro into a function.
15315         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
15316
15317 2010-09-04  Bruno Haible  <bruno@clisp.org>
15318
15319         Set PATH_SEPARATOR the same way autoconf does.
15320         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
15321         the value of PATH_SEPARATOR the same way autoconf-generated configure
15322         scripts do.
15323         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
15324         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
15325
15326 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
15327
15328         Set PATH_SEPARATOR the same way autoconf does.
15329         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
15330         the same way autoconf-generated configure scripts do.
15331         * posix-modules: Likewise.
15332
15333 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
15334
15335         hash: fix safe_hasher const typo
15336         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
15337         const; otherwise, there is a type error later.
15338
15339 2010-09-02  Jim Meyering  <meyering@redhat.com>
15340
15341         test-update-copyright.sh: require perl 5.8.0
15342         * tests/test-update-copyright.sh: Require 5.8.0,
15343         which Tom G. Christensen has confirmed is adequate,
15344         while 5.6.1 is not.
15345
15346 2010-09-02  Eric Blake  <eblake@redhat.com>
15347
15348         tests: init.sh improvements for re-exec'ing with zsh
15349         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
15350         -vx through shell re-exec.
15351         Reported by Tom G. Christensen.
15352
15353         wctype: fix typo in previous commit
15354         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
15355         Reported by Ludovic Courtès.
15356
15357 2010-09-02  Jim Meyering  <meyering@redhat.com>
15358
15359         test-update-copyright.sh: skip test if Perl is too old
15360         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
15361         Reported by Tom G. Christensen.
15362
15363 2010-09-02  Bruno Haible  <bruno@clisp.org>
15364
15365         wctype: Avoid compilation error on IRIX 6.5.30.
15366         * lib/wctype.in.h (iswblank): Declare with a replacement if
15367         REPLACE_ISWBLANK is set.
15368         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
15369         declared. Set REPLACE_ISWBLANK.
15370         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
15371         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
15372         * doc/posix-headers/wctype.texi: Likewise.
15373         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15374
15375 2010-09-01  Bruno Haible  <bruno@clisp.org>
15376
15377         New module 'socketlib'.
15378         * modules/socketlib: New file.
15379         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
15380         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
15381         * modules/sockets (Depends-on): Add socketlib.
15382         Suggested by Sam Steingold <sds@gnu.org>.
15383
15384 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
15385
15386         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
15387
15388         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
15389         when one needs search access to a directory but not read access.
15390         On systems where it is available, it works in some cases where
15391         O_RDONLY does not, namely on directories that are searchable but
15392         not readable, and which need only to be searchable.  If O_SEARCH
15393         is not available, fall back to the traditional method of using
15394         O_RDONLY.
15395
15396         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
15397         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
15398         when opening a directory that needs only to be searchable.
15399         * lib/chdir-safer.c (chdir_no_follow): Likewise.
15400         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
15401         * lib/openat-proc.c (openat_proc_name): Likewise.
15402         * lib/openat.c (openat_needs_fchdir): Likewise.
15403         * lib/save-cwd.c (save_cwd): Likewise.
15404         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
15405
15406 2010-08-28  Bruno Haible  <bruno@clisp.org>
15407
15408         New module 'host-cpu-c-abi'.
15409         * modules/host-cpu-c-abi: New file.
15410         * m4/host-cpu-c-abi.m4: New file, based on part of
15411         clisp/src/m4/general.m4.
15412         Requested by Sam Steingold <sds@gnu.org>.
15413
15414 2010-08-31  Eric Blake  <eblake@redhat.com>
15415         and Jim Meyering  <meyering@redhat.com>
15416
15417         hash: factor, and guard against misbehaving hasher function
15418         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
15419         of table->hasher's return value.  Also protect against a hash value
15420         so large that adding it to table->bucket results in a NULL pointer.
15421         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
15422         Use it in place of open-coded check-and-abort.
15423
15424 2010-08-30  Bruno Haible  <bruno@clisp.org>
15425
15426         hash: silence spurious clang warning
15427         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
15428         Reported by Eric Blake.
15429
15430 2010-08-30  Eric Blake  <eblake@redhat.com>
15431
15432         strstr, memmem, strcasestr: avoid leaked shell message
15433         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
15434         FreeBSD.
15435         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
15436         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
15437
15438         tests: silence clang warning
15439         * tests/test-malloca.c (do_allocation): Avoid dead store.
15440
15441 2010-08-29  Bruno Haible  <bruno@clisp.org>
15442
15443         gettext: Fix recent mistake.
15444         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
15445
15446 2010-08-29  Bruno Haible  <bruno@clisp.org>
15447
15448         selinux-h: Offer a --without-selinux option.
15449         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
15450         --without-selinux was specified, skip all tests and define
15451         HAVE_SELINUX_SELINUX_H to 0.
15452         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
15453         set LIB_SELINUX to empty.
15454         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
15455         gl_LIBSELINUX. If --without-selinux was specified, replace
15456         selinux/context.h.
15457         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
15458
15459 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15460             Bruno Haible  <bruno@clisp.org>
15461
15462         Make the module 'realloc-gnu' work again on AIX and OSF/1.
15463         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
15464         of HAVE_REALLOC.
15465         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
15466         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
15467         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
15468         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
15469
15470 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15471             Bruno Haible  <bruno@clisp.org>
15472
15473         Make the module 'calloc-gnu' work again on AIX and OSF/1.
15474         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
15475         HAVE_CALLOC.
15476         * lib/xmalloc.c: Update accordingly.
15477         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
15478         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
15479         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
15480
15481 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15482             Bruno Haible  <bruno@clisp.org>
15483
15484         Make the module 'malloc-gnu' work again on AIX and OSF/1.
15485         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
15486         HAVE_MALLOC.
15487         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
15488         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
15489         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
15490
15491 2010-08-29  Bruno Haible  <bruno@clisp.org>
15492
15493         Update modules list.
15494         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
15495         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
15496         (String handling <string.h>): Add astrxfrm.
15497         (File system functions): Add readlinkat.
15498
15499 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15500
15501         Tests for module 'realloc-gnu'.
15502         * modules/realloc-gnu-tests: New file.
15503         * tests/test-realloc-gnu.c: New file.
15504
15505         Tests for module 'calloc-gnu'.
15506         * modules/calloc-gnu-tests: New file.
15507         * tests/test-calloc-gnu.c: New file.
15508
15509         Tests for module 'malloc-gnu'.
15510         * modules/malloc-gnu-tests: New file.
15511         * tests/test-malloc-gnu.c: New file.
15512
15513 2010-08-28  Bruno Haible  <bruno@clisp.org>
15514
15515         Rename module 'realloc' -> 'realloc-gnu'.
15516         * modules/realloc-gnu: New file, copied from modules/realloc.
15517         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
15518         obsolete.
15519         * modules/mgetgroups (Depends-on): Update.
15520         * doc/posix-functions/realloc.texi: Update.
15521         * NEWS: Mention the change.
15522
15523         Rename module 'calloc' -> 'calloc-gnu'.
15524         * modules/calloc-gnu: New file, copied from modules/calloc.
15525         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
15526         obsolete.
15527         * doc/posix-functions/calloc.texi: Update.
15528         * NEWS: Mention the change.
15529
15530         Rename module 'malloc' -> 'malloc-gnu'.
15531         * modules/malloc-gnu: New file, copied from modules/malloc.
15532         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
15533         obsolete.
15534         * modules/argp (Depends-on): Update.
15535         * modules/regex (Depends-on): Update.
15536         * doc/posix-functions/malloc.texi: Update.
15537         * NEWS: Mention the change.
15538
15539 2010-08-28  Eric Blake  <eblake@redhat.com>
15540
15541         pread, pwrite: add missing dependency
15542         * modules/pread (Depends-on): Add extensions.
15543         * modules/pwrite (Depends-on): Likewise.
15544
15545 2010-08-28  Bruno Haible  <bruno@clisp.org>
15546
15547         unistr/u*-strchr: Fix tests dependencies.
15548         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
15549         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
15550         Reported by Ian Beckwith <ianb@erislabs.net>.
15551
15552 2010-08-28  Bruno Haible  <bruno@clisp.org>
15553
15554         read-file: Don't occupy too much unused memory.
15555         * lib/read-file.c (fread_file): Shrink the buffer at the end.
15556
15557 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
15558             Eric Blake  <eblake@redhat.com>
15559             Bruno Haible  <bruno@clisp.org>
15560
15561         read-file: Avoid memory reallocations with regular files.
15562         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
15563         (fread_file): With regular files, use the remaining length as the
15564         initial buffer size.  Check against overflow.
15565         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
15566         sys_stat.
15567
15568 2010-08-28  Bruno Haible  <bruno@clisp.org>
15569
15570         ftello: Relax license.
15571         * modules/ftello (License): Relax to LGPLv2+.
15572         Reported by Eric Blake.
15573
15574 2010-08-28  Bruno Haible  <bruno@clisp.org>
15575
15576         Avoid relocwrapper link errors due to gnulib replacement functions.
15577         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
15578         function.
15579         Reported by Ben Pfaff <blp@cs.stanford.edu>.
15580
15581 2010-08-28  Bruno Haible  <bruno@clisp.org>
15582
15583         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
15584         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
15585         defined.
15586         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
15587         Suggested by Eric Blake.
15588
15589 2010-08-28  Bruno Haible  <bruno@clisp.org>
15590
15591         sys_socket, netdb: Ensure socklen_t gets defined.
15592         * modules/sys_socket (Depends-on): Add socklen.
15593         * modules/netdb (Depends-on): Likewise.
15594         * modules/getaddrinfo (Depends-on): Remove socklen.
15595         * modules/getsockopt (Depends-on): Likewise.
15596         * modules/setsockopt (Depends-on): Likewise.
15597         * tests/test-sys_socket.c: Check that socklen_t is defined.
15598         * tests/test-netdb.c: Likewise.
15599         * m4/socklen.m4: Update comments.
15600         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15601
15602 2010-08-27  Eric Blake  <eblake@redhat.com>
15603
15604         login_tty: add missing dependency
15605         * modules/login_tty (Depends-on): Add pty.
15606
15607 2010-08-26  Eric Blake  <eblake@redhat.com>
15608
15609         lib-symbol-versions: fix m4 quoting
15610         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
15611         format for AC_LINK_IFELSE.
15612
15613         glob: fix compile test
15614         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
15615
15616         btowc: fix missing file
15617         * modules/btowc (Files): Also ship locale-fr.m4.
15618
15619         lseek: fix link test
15620         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
15621         AC_LINK_IFELSE.
15622
15623         include_next: silence autoconf 2.68 warning
15624         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
15625         AC_COMPILE_IFELSE as special.
15626         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
15627         autoconf < 2.68.
15628
15629         acl: fix compilation test
15630         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
15631         AC_COMPILE_IFELSE.
15632
15633 2010-08-26  Bruno Haible  <bruno@clisp.org>
15634
15635         Modernize AC_TRY_RUN invocations.
15636         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
15637         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
15638         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
15639         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
15640         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
15641         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
15642         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
15643         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
15644         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
15645         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
15646         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
15647         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
15648         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
15649         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
15650         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
15651         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
15652         gl_MBRLEN_NUL_RETVAL): Likewise.
15653         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
15654         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
15655         Likewise.
15656         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
15657         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
15658         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
15659         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
15660         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
15661         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
15662         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
15663         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
15664         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
15665         Likewise.
15666         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
15667         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
15668         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
15669         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
15670         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
15671         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
15672         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
15673         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
15674         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
15675         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
15676
15677 2010-08-26  Bruno Haible  <bruno@clisp.org>
15678
15679         Modernize AC_TRY_LINK invocations.
15680         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
15681         AC_TRY_LINK.
15682         * m4/argp.m4 (gl_ARGP): Likewise.
15683         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
15684         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
15685         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
15686         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
15687         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
15688         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
15689         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
15690         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
15691         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
15692         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
15693         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
15694         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
15695         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
15696         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
15697         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
15698         * m4/hostent.m4 (gl_HOSTENT): Likewise.
15699         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
15700         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
15701         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
15702         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
15703         Likewise.
15704         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
15705         Likewise.
15706         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
15707         Likewise.
15708         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
15709         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
15710         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
15711         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
15712         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
15713         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
15714         * m4/servent.m4 (gl_SERVENT): Likewise.
15715         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
15716         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
15717         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
15718         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
15719         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
15720         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
15721         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
15722         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
15723         * modules/tsearch-tests (configure.ac): Likewise.
15724
15725 2010-08-26  Bruno Haible  <bruno@clisp.org>
15726
15727         Modernize AC_TRY_COMPILE invocations.
15728         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
15729         AC_TRY_COMPILE.
15730         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
15731         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
15732         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
15733         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
15734         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
15735         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
15736         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
15737         * m4/lock.m4 (gl_LOCK): Likewise.
15738         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
15739         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
15740         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
15741         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
15742         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
15743         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
15744         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
15745         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
15746         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
15747         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
15748         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
15749         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
15750         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
15751         extraneous semicolon.
15752
15753 2010-08-26  Jim Meyering  <meyering@redhat.com>
15754
15755         stat-time: relax license LGPL
15756         * modules/stat-time (License): Change from GPL to LGPL,
15757         with consent from all contributors, for use in libguile.
15758         Requested by Ludovic Courtès.
15759
15760 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
15761
15762         poll: return immediately on POLLHUP.
15763         * lib/poll.c (poll): Always set timeout before wait_timeout is
15764         computed.
15765
15766 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15767
15768         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
15769         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
15770         rmdir ("dir/.//"), unlinkat.
15771
15772 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
15773
15774         stdbool: avoid spurious failure with modern xlc
15775         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
15776
15777 2010-08-24  Bruno Haible  <bruno@clisp.org>
15778
15779         getloadavg: simplify code
15780         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
15781         gl_have_func. Update comments.
15782
15783 2010-08-24  Eric Blake  <eblake@redhat.com>
15784
15785         getloadavg: don't define SVR4 on cygwin
15786         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
15787         only define SVR4 when -lkvm is required.
15788         Reported by Yaakov Selkowitz.
15789
15790 2010-08-24  Bruno Haible  <bruno@clisp.org>
15791
15792         priv-set: fix comment
15793         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
15794
15795 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
15796
15797         priv-set: fix comments
15798         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
15799         to match code, as suggested by David Bartley in:
15800         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
15801
15802 2010-08-23  Eric Blake  <eblake@redhat.com>
15803
15804         stdbool: avoid rejecting clang
15805         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
15806         * tests/test-stdbool.c: Enable more tests if using the system
15807         <stdbool.h> instead of the gnulib replacement.
15808         (main): Move xlc bug test to a runtime test for all compilers.
15809         Reported by Anders Kaseorg.
15810
15811         argz: fix shell quoting issue
15812         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
15813         Reported by Charles Wilson.
15814
15815 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
15816             Erik Faye-Lund <kusmabite@gmail.com>
15817
15818         poll, select: handle ERROR_BROKEN_PIPE.
15819         * lib/poll.c (win32_compute_revents): Return POLLHUP when
15820         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
15821         * lib/select.c (win32_compute_revents): Do not mark a pipe
15822         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
15823
15824 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
15825
15826         fts: allow compilation with C++
15827         * lib/fts_.h: Specify extern "C" linkage with C++.
15828
15829 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15830
15831         Fix gnulib-tool sed script de-commentation for AIX sed.
15832         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
15833         sed.
15834
15835 2010-08-17  Eric Blake  <eblake@redhat.com>
15836
15837         test-stddef: test for (some) offsetof bugs
15838         * tests/test-stddef.c: Enhance test to ensure correct type of
15839         offsetof.
15840         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
15841         that we are not fixing at this time.
15842
15843 2010-08-15  Bruno Haible  <bruno@clisp.org>
15844
15845         stpncpy: Allow stpncpy to be defined as a macro.
15846         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
15847         if it's already correctly declared.
15848         * lib/string.in.h (stpncpy): Undefine before redefining.
15849         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
15850
15851 2010-08-14  Bruno Haible  <bruno@clisp.org>
15852
15853         Rename module 'memxfrm' to 'amemxfrm'.
15854         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
15855         (amemxfrm): Renamed from memxfrm.
15856         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
15857         (amemxfrm): Renamed from memxfrm.
15858         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
15859         * NEWS: Mention the change.
15860         * MODULES.html.sh (String handling <string.h>): Update.
15861         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
15862         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
15863         * lib/unicase/u16-casexfrm.c: Likewise.
15864         * lib/unicase/u32-casexfrm.c: Likewise.
15865         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
15866         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
15867         * lib/uninorm/u16-normxfrm.c: Likewise.
15868         * lib/uninorm/u32-normxfrm.c: Likewise.
15869         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
15870         memxfrm.
15871         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
15872         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
15873         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
15874         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
15875         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
15876         Suggested by Paul Eggert.
15877
15878 2010-08-14  Bruno Haible  <bruno@clisp.org>
15879
15880         Tests for module 'astrxfrm'.
15881         * modules/astrxfrm-tests: New file.
15882         * tests/test-astrxfrm.c: New file.
15883
15884         New module 'astrxfrm'.
15885         * lib/astrxfrm.h: New file.
15886         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
15887         * modules/astrxfrm: New file.
15888
15889 2010-08-14  Reuben Thomas <rrt@sc3d.org>
15890
15891         regex: Tweak doc.
15892         * doc/regex.texi (Overview): Don't mention regex.c.
15893         (GNU Regular Expression Compiling): Likewise.
15894         (Match-end-of-line Operator): Mention 'not_eol'.
15895
15896 2010-08-14  Brian Gough  <bjg@gnu.org>
15897             Bruno Haible  <bruno@clisp.org>
15898
15899         git-merge-changelog: add doc relating to use with bzr and hg.
15900         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
15901
15902 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
15903
15904         pthread: fix pthread.h creation for srcdir != builddir
15905         * modules/pthread (Makefile.am): Fix the rule to work also in a
15906         non-srcdir build.
15907
15908 2010-08-13  Karl Berry  <karl@gnu.org>
15909
15910         * doc/regex.texi (Predefined Syntaxes): @smallexample.
15911         * doc/posix-*/*: force line break before @url of POSIX
15912         specifications.
15913         Suggested by Werner Lemberg.
15914
15915 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
15916
15917         strtod: fix const diagnostic
15918         * lib/strtod.c (strtod): Don't assign const char * to char *,
15919         as this elicits a warning from GCC when warnings are enabled.
15920
15921 2010-08-10  Pádraig Brady <P@draigbrady.com>
15922         and Eric Blake  <eblake@redhat.com>
15923
15924         copy-acl: ignore ENOTSUP on HP-UX
15925         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
15926         so that it is available for HP-UX.
15927         * lib/copy-acl.c (qcopy_acl): Use it.
15928         Reported by Patrick M. Callahan.
15929
15930 2010-08-10  Eric Blake  <eblake@redhat.com>
15931
15932         open, chown: relax license
15933         * modules/open (License): Change to LGPLv2+, with consent by all
15934         authors, for use in augeas.
15935         * modules/chown (License): Likewise.
15936         * modules/lchown (Likewise): Likewise.
15937         Requested by Adam Stokes.
15938
15939 2010-08-09  Karl Berry  <karl@gnu.org>
15940
15941         * build-aux/ar-lib: new file, import from Automake.
15942         * config/srclist.txt: autocheck for updates.
15943
15944 2010-08-09  Eric Blake  <eblake@redhat.com>
15945
15946         readlinkat: adjust client modules
15947         * modules/areadlinkat (Depends-on): Use readlinkat, not
15948         symlinkat.
15949         * modules/areadlinkat-with-size (Depends-on): Likewise.
15950
15951         mknod: be more vocal about danger of running tests as root
15952         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
15953         root, since that is just asking for problems.
15954         Suggested by Bruno Haible, based on a report by Rainer Tammer.
15955
15956         readlinkat: split into its own module
15957         * modules/symlinkat: Split readlinkat...
15958         * modules/readlinkat: ...into separate module.
15959         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
15960         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
15961         * lib/symlinkat.c (readlinkat): Move...
15962         * lib/readlinkat.c: ...into new file.
15963         * modules/symlinkat-tests: Split readlinkat test...
15964         * modules/readlinkat-tests: ...into separate module.
15965         * tests/test-symlinkat.c: Split...
15966         * tests/test-readlinkat.c: ...into new file.
15967         * NEWS: Document the split.
15968         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
15969         * lib/unistd.in.h (readlinkat): Likewise.
15970         Suggested by Bruno Haible.
15971
15972 2010-08-08  Bruno Haible  <bruno@clisp.org>
15973
15974         memxfrm: Speed up.
15975         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
15976         that usually only one call to strxfrm is necessary for each string
15977         part.
15978         Reported by Paul Eggert <eggert@cs.ucla.edu>.
15979
15980 2010-08-07  Karl Berry  <karl@gnu.org>
15981
15982         * doc/posix-headers/limits.texi,
15983         * doc/posix-functions/malloc.texi,
15984         * doc/posix-functions/strsignal.texi: missing @item.
15985         * doc/ld-version-script.texi: spurious leading i.
15986         * doc/regex.texi (Interval Operators): no commas inside @var.
15987
15988 2010-08-01  Bruno Haible  <bruno@clisp.org>
15989
15990         Integrate the regex documentation.
15991         * doc/gnulib.texi: Define 'cn' index.
15992         (Regular expressions): New a chapter that includes regex.texi and
15993         regexprops-generic.texi.
15994         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
15995         syntax.
15996
15997         Whitespace cleanup.
15998         * doc/regex.texi: Remove trailing spaces.
15999
16000         Add regex documentation.
16001         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
16002         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
16003         Written by Kathy A. Hargreaves and Karl Berry.
16004
16005 2010-08-01  Bruno Haible  <bruno@clisp.org>
16006
16007         link: Update documentation.
16008         * doc/posix-functions/link.texi: Update regarding Solaris.
16009
16010 2010-07-31  Bruno Haible  <bruno@clisp.org>
16011
16012         Update modules list.
16013         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
16014         (String handling <string.h>): Add memcmp2, memxfrm.
16015         (Container data structures): Add xlist, xsublist, xoset.
16016         (Core language properties): Add alignof, unused-parameter.
16017         (Process control, Numeric conversion functions <stdlib.h>): Renamed
16018         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
16019         (Unibyte characters <ctype.h>): New section.
16020         (String handling <string.h>): New section.
16021         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
16022         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
16023         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
16024         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
16025         tan, tanh, tanl, y0, y1, yn.
16026         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
16027         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
16028         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
16029         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
16030         unlockpt, vdprintf, vdprintf-posix.
16031         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
16032         (File system functions): Add concat-filename, sys_file, sys_ioctl,
16033         xconcat-filename.
16034         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
16035         getdtablesize, pipe2, pipe2-safer.
16036         (Security): New section.
16037         (Networking functions): Add accept4.
16038         (Signal handling): Add sigpipe.
16039         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
16040         mbmemcasecoll.
16041         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
16042         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
16043         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
16044         pipe-filter-ii.
16045         (Misc): Add argp-version-etc, login_tty, parse-duration.
16046
16047 2010-07-31  Bruno Haible  <bruno@clisp.org>
16048
16049         Improve doc in MODULES.html.
16050         * modules/linkat (Description): Add the word "function".
16051         * modules/mkfifo (Description): Likewise.
16052         * modules/mknod (Description): Likewise.
16053         * modules/remove (Description): Likewise.
16054         * modules/renameat (Description): Likewise.
16055         * modules/stat (Description): Likewise.
16056         * modules/symlink (Description): Likewise.
16057         * modules/unlink (Description): Likewise.
16058
16059 2010-07-31  Bruno Haible  <bruno@clisp.org>
16060
16061         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
16062         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
16063         option --enable/disable-c++ instead of --enable/disable-cxx.
16064         * NEWS: Mention the change.
16065
16066 2010-07-31  Bruno Haible  <bruno@clisp.org>
16067
16068         readlink, areadlink: Relax test a bit.
16069         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
16070         alternative to ENOTDIR.
16071         * tests/test-areadlink.h (test_areadlink): Likewise.
16072         Reported by Rainer Tammer.
16073
16074 2010-07-31  Bruno Haible  <bruno@clisp.org>
16075
16076         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
16077         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
16078         character, perform the search using U_STRCHR.
16079         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
16080         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
16081         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
16082         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
16083         Suggested by Paolo Bonzini.
16084
16085 2010-07-31  Bruno Haible  <bruno@clisp.org>
16086
16087         unistr/u*-strstr: Fix dependencies.
16088         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
16089         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
16090         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
16091
16092 2010-07-31  Bruno Haible  <bruno@clisp.org>
16093
16094         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
16095         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
16096         the beginning of the loop.
16097         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
16098         cases in 'switch' statement.
16099
16100         unistr/u8-strchr: Fix several bugs.
16101         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
16102         the string. When not found, return NULL, not a pointer near the end.
16103
16104         More tests for unistr/u8-strchr.
16105         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
16106         that the function does not read past the first occurrence of the byte
16107         being searched.
16108         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
16109         * tests/unistr/test-u16-strchr.c (main): New function.
16110         * tests/unistr/test-u32-strchr.c (main): New function.
16111
16112 2010-07-31  Bruno Haible  <bruno@clisp.org>
16113
16114         posix-modules: Ignore backup files of documentation files.
16115         * posix-modules: grep only through files named *.texi.
16116
16117 2010-07-31  Bruno Haible  <bruno@clisp.org>
16118
16119         symlinkat: Fix documentation.
16120         * doc/posix-functions/readlinkat.texi: Fix module name.
16121
16122 2010-07-31  Bruno Haible  <bruno@clisp.org>
16123
16124         fchownat: Replace also when chown has the trailing slash bug.
16125         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
16126         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
16127         introduced on 2010-04-10.
16128         Reported by Rainer Tammer.
16129
16130 2010-07-31  Bruno Haible  <bruno@clisp.org>
16131
16132         linkat: Work around AIX 7.1 bug.
16133         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
16134         whether linkat handles trailing slash correctly. If not, replace linkat
16135         and define LINKAT_TRAILING_SLASH_BUG.
16136         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
16137         check whether (fd1,file1) points to a directory if file1 or file2 ends
16138         in a slash. Code taken from lib/link.c.
16139         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
16140         Reported by Rainer Tammer.
16141
16142 2010-07-31  Bruno Haible  <bruno@clisp.org>
16143
16144         Correctly determine whether pow is available in libc on AIX 7 with xlc.
16145         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
16146         This disables an xlc optimization that was causing wrong test results.
16147         Reported by Rainer Tammer.
16148
16149 2010-07-31  Bruno Haible  <bruno@clisp.org>
16150
16151         iconv: Work around AIX 6.1..7.1 bug.
16152         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
16153         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
16154         cross-compiling, guess no on all versions of AIX.
16155         Reported by Rainer Tammer.
16156
16157 2010-07-31  Bruno Haible  <bruno@clisp.org>
16158
16159         readlink: Relax test a bit.
16160         * tests/test-readlink.h (test_readlink): Allow different errno value
16161         when readlink is called with a file name that ends in / and refers to
16162         a file.
16163         Suggested by Eric Blake.
16164         Reported by Rainer Tammer.
16165
16166 2010-07-31  Bruno Haible  <bruno@clisp.org>
16167
16168         copysign: Does not require -lm on glibc systems.
16169         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
16170         gl_COMMON_DOUBLE_MATHFUNC.
16171         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
16172
16173 2010-07-31  Bruno Haible  <bruno@clisp.org>
16174
16175         duplocale: Work around AIX 7.1 bug.
16176         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
16177         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
16178         * lib/duplocale.c (rpl_duplocale): Update comment.
16179         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
16180         Reported by Rainer Tammer.
16181
16182 2010-07-30  Bruno Haible  <bruno@clisp.org>
16183
16184         dirfd: Avoid link error on AIX 7.1.
16185         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
16186         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
16187         exist, set REPLACE_DIRFD.
16188         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
16189         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
16190         * doc/posix-functions/dirfd.texi: Update.
16191         Reported by Rainer Tammer.
16192
16193 2010-07-30  Eric Blake  <eblake@redhat.com>
16194
16195         strtod: next round of AIX fixes
16196         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
16197         exponent.
16198         * tests/test-strtod.c (main): Enhance tests.
16199         * doc/posix-functions/strtod.texi (strtod): Document next bug.
16200         Reported by Rainer Tammer.
16201
16202         futimens: fix configure check
16203         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
16204         Reported by Bruno Haible.
16205
16206 2010-07-30  Bruno Haible  <bruno@clisp.org>
16207
16208         getline: Update regarding AIX.
16209         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
16210         Reported by Rainer Tammer.
16211
16212 2010-07-30  Bruno Haible  <bruno@clisp.org>
16213
16214         wcwidth: Drop replacement on AIX 7.
16215         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
16216         AIX 7.
16217         Reported by Rainer Tammer.
16218
16219 2010-07-30  Bruno Haible  <bruno@clisp.org>
16220
16221         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
16222         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
16223         a 'char *'.
16224         Reported by Rainer Tammer.
16225
16226 2010-07-30  Bruno Haible  <bruno@clisp.org>
16227
16228         unlink: Update regarding AIX.
16229         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
16230         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
16231         Reported by Rainer Tammer.
16232
16233 2010-07-30  Bruno Haible  <bruno@clisp.org>
16234
16235         symlink: Update regarding AIX.
16236         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
16237         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
16238         Reported by Rainer Tammer.
16239
16240 2010-07-30  Bruno Haible  <bruno@clisp.org>
16241
16242         strndup: Update regarding AIX.
16243         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
16244         AIX 7.
16245         Reported by Rainer Tammer.
16246
16247 2010-07-30  Bruno Haible  <bruno@clisp.org>
16248
16249         stat: Update regarding AIX.
16250         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
16251         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
16252         Reported by Rainer Tammer.
16253
16254 2010-07-30  Bruno Haible  <bruno@clisp.org>
16255
16256         truncl: Fix autoconf test.
16257         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
16258         whether truncl works.
16259         Reported by Rainer Tammer.
16260
16261 2010-07-30  Bruno Haible  <bruno@clisp.org>
16262
16263         round: Update regarding AIX.
16264         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
16265         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
16266         Reported by Rainer Tammer.
16267
16268 2010-07-30  Bruno Haible  <bruno@clisp.org>
16269
16270         rename: Update regarding AIX.
16271         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
16272         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
16273         Reported by Rainer Tammer.
16274
16275 2010-07-30  Bruno Haible  <bruno@clisp.org>
16276
16277         printf.m4: Update regarding AIX.
16278         * m4/printf.m4: Update comments regarding AIX.
16279         Reported by Rainer Tammer.
16280
16281 2010-07-30  Bruno Haible  <bruno@clisp.org>
16282
16283         iconv: Update regarding AIX.
16284         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
16285         AIX 7.
16286         Reported by Rainer Tammer.
16287
16288 2010-07-30  Bruno Haible  <bruno@clisp.org>
16289
16290         getopt: Update regarding AIX.
16291         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
16292         no on AIX.
16293         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
16294         Reported by Rainer Tammer.
16295
16296 2010-07-30  Bruno Haible  <bruno@clisp.org>
16297
16298         ldexpl; Update regarding AIX.
16299         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
16300         on AIX 7.
16301         Reported by Rainer Tammer.
16302
16303 2010-07-30  Bruno Haible  <bruno@clisp.org>
16304
16305         frexpl: Update regarding AIX.
16306         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
16307         on AIX 7.
16308         Reported by Rainer Tammer.
16309
16310 2010-07-30  Bruno Haible  <bruno@clisp.org>
16311
16312         open, fopen: Update regarding AIX.
16313         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
16314         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
16315         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
16316         * doc/posix-functions/fopen.texi: Likewise.
16317         Reported by Rainer Tammer.
16318
16319 2010-07-30  Bruno Haible  <bruno@clisp.org>
16320
16321         chown: Update doc regarding AIX.
16322         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
16323         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
16324         Reported by Rainer Tammer.
16325
16326 2010-07-30  Eric Blake  <eblake@redhat.com>
16327
16328         strtod: fix bug in replacement function on AIX
16329         * lib/strtod.c (strtod): Special case broken "0x" parse in
16330         underlying strtod.
16331         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
16332         * doc/posix-functions/strtod.texi (strtod): Likewise.
16333         Reported by Rainer Tammer.
16334
16335 2010-07-30  Bruno Haible  <bruno@clisp.org>
16336
16337         mbrlen: Fix cross-compilation guess for AIX.
16338         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
16339         guess. Leftover from 2008-12-22.
16340
16341 2010-07-30  Bruno Haible  <bruno@clisp.org>
16342
16343         mbrtowc: Fix cross-compilation guess for AIX.
16344         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
16345         guess. Leftover from 2008-12-21.
16346
16347 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
16348
16349         init.sh: work around trap limitation of some shells
16350         * tests/init.sh (setup_): Move exit trap outside of shell function.
16351
16352 2010-07-29  Eric Blake  <eblake@redhat.com>
16353
16354         strtod: aid debugging
16355         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
16356         understanding why strtod is rejected.
16357
16358 2010-07-28  Bruno Haible  <bruno@clisp.org>
16359
16360         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
16361         * lib/unistr/u8-chr.c: Include <string.h>.
16362         * tests/unistr/test-u8-chr.c: Likewise.
16363         * tests/unistr/test-u16-chr.c: Likewise.
16364         * tests/unistr/test-u32-chr.c: Likewise.
16365         * tests/unistr/test-u8-strchr.c: Likewise.
16366         * tests/unistr/test-u16-strchr.c: Likewise.
16367         * tests/unistr/test-u32-strchr.c: Likewise.
16368         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
16369         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
16370         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
16371         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
16372
16373 2010-07-28  Bruno Haible  <bruno@clisp.org>
16374
16375         Use spaces for indentation, not tabs.
16376         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
16377
16378 2010-07-27  Bruno Haible  <bruno@clisp.org>
16379
16380         mbspcasecmp: Fix function specification.
16381         * lib/string.in.h (mbspcasecmp): Fix specification comment.
16382         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
16383         Reported by Eric Blake <eblake@redhat.com>.
16384
16385 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
16386
16387         timespec: use cast and not conditional, as truncation isn't possible
16388         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
16389         instead of a conditional.  Comment about the situation in more detail.
16390         This undoes most of the 2009-10-29 patch.
16391
16392 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
16393
16394         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
16395         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
16396         * lib/unistr/u8-strchr.c: Likewise.
16397         * modules/unistr/u8-chr: Depend on memchr.
16398
16399         unistr/u*-strchr: add tests
16400         * modules/unistr/u8-strchr-tests: New file.
16401         * modules/unistr/u16-strchr-tests: New file.
16402         * modules/unistr/u32-strchr-tests: New file.
16403         * tests/unistr/test-strchr.h: New file.
16404         * tests/unistr/test-u8-strchr.c: New file.
16405         * tests/unistr/test-u16-strchr.c: New file.
16406         * tests/unistr/test-u32-strchr.c: New file.
16407
16408         unistr/u*-chr: test multibyte sequences more
16409         * tests/unistr/test-chr.h: Do complete testing of the characters in the
16410         test vector.
16411         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
16412         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
16413         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
16414
16415         unistr/u*-chr: test multibyte sequences
16416         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
16417
16418         unistr/u*-chr: prepare for multibyte tests
16419         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
16420         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
16421         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
16422         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
16423         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
16424         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
16425
16426 2010-07-18  Bruno Haible  <bruno@clisp.org>
16427
16428         unistr/u8-strchr: Optimize non-ASCII argument case.
16429         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
16430         because the first byte often matches anyway.
16431         Reported by Pádraig Brady <P@draigbrady.com>.
16432
16433 2010-07-15  Karl Berry  <karl@gnu.org>
16434
16435         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
16436
16437 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
16438
16439         getcwd: on Solaris, work better if ancestors are inaccessible
16440         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
16441         buffer and size, try again with a large buffer.  This works better
16442         on Solaris, since its getcwd succeeds even if the path to the root
16443         is inaccessible, and this is helpful in common cases such as .zfs
16444         hidden directories.  Problem reported by J Chapman Flack in
16445         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
16446         Use system getcwd if it's declared, not merely if it's partly
16447         working; use the partly-working test only to avoid needless effort
16448         if the system getcwd fails.
16449         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
16450         comment that was already obsolete and is now even more obsolete.
16451         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
16452         now might call strdup.
16453
16454 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
16455
16456         pthread: Add enough so that coreutils/src/sort.c compiles.
16457         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
16458         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
16459         gnulib. Include <sched.h> and <time.h>, as per POSIX.
16460         Include <sys/types.h>, in case it defines pthread_t.
16461         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
16462         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
16463         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
16464         (pthread_rwlockattr_t, pthread_spinlock_t):
16465         New typedefs, if HAVE_PTHREAD_T is not defined.
16466         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
16467         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
16468         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
16469         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
16470         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
16471         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
16472         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
16473         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
16474         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
16475         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
16476         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
16477         New macros.
16478         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
16479         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
16480         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
16481         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
16482         (pthread_spin_unlock): New dummy functions.
16483         (pthread_create): Return EAGAIN; don't set errno.
16484         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
16485         require AC_C_INLINE.
16486         * modules/pthread (Depends-on): Add sched, time.
16487         (pthread.h): Use AM_V_GEN.
16488
16489 2010-07-13  Bruno Haible  <bruno@clisp.org>
16490
16491         striconveh: Don't malloc memory if the result buffer is sufficient.
16492         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
16493         buffer if its size is sufficient.
16494         Reported by Ludovic Courtès <ludo@gnu.org>.
16495
16496 2010-07-13  Bruno Haible  <bruno@clisp.org>
16497
16498         strtod: Add safety check.
16499         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
16500
16501 2010-07-12  Bruno Haible  <bruno@clisp.org>
16502
16503         Unify tests that set gl_cv_func_ldexpl_no_libm.
16504         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
16505         gl_FUNC_LDEXPL.
16506         (gl_FUNC_LDEXPL): Invoke it.
16507         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
16508
16509 2010-07-12  Bruno Haible  <bruno@clisp.org>
16510
16511         Unify tests that set gl_cv_func_ldexp_no_libm.
16512         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
16513         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
16514         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
16515         (configure.ac): Simply invoke gl_FUNC_LDEXP.
16516         * modules/strtod (Files): Add m4/ldexp.m4.
16517
16518 2010-07-12  Bruno Haible  <bruno@clisp.org>
16519
16520         Unify tests that set gl_cv_func_frexpl_no_libm.
16521         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
16522         gl_FUNC_FREXPL_NO_LIBM.
16523         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
16524         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
16525
16526 2010-07-12  Bruno Haible  <bruno@clisp.org>
16527
16528         Unify tests that set gl_cv_func_frexp_no_libm.
16529         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
16530         gl_FUNC_FREXP_NO_LIBM.
16531         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
16532         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
16533
16534 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
16535
16536         memcoll: clarify sizes versus lengths, document better, and tweak perf
16537         * lib/memcoll.c (strcoll_loop, memcoll0):
16538         Improve quality of descriptive comments.  Name variables
16539         consistently as to whether they are lengths (which do not include
16540         terminating null) versus sizes (which do).
16541         * lib/xmemcoll.c (xmemcoll0): Likewise.
16542         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
16543         returned when s1size == 0; this is easier to compile and saves
16544         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
16545
16546 2010-07-12  Bruno Haible  <bruno@clisp.org>
16547
16548         Tests for module '_Exit'.
16549         * modules/_Exit-tests: New file.
16550         * tests/test-_Exit.sh: New file.
16551         * tests/test-_Exit.c: New file.
16552
16553         New module '_Exit'.
16554         * lib/stdlib.in.h (__attribute__): New macro.
16555         (_Exit): New declaration.
16556         * lib/_Exit.c: New file.
16557         * m4/_Exit.m4: New file.
16558         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
16559         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
16560         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
16561         * modules/_Exit: New file.
16562         * tests/test-stdlib-c++.cc (_Exit): Check signature.
16563         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
16564
16565 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
16566
16567         strtod: make it more-accurate typically, and don't require libm
16568         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
16569         Include limits.h.  Don't include string.h.
16570         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
16571         (locale_isspace): New function, so that no casts are needed to
16572         check whether *s is a space.
16573         (ldexp): Provide an unused dummy if not available.
16574         (scale_radix_exp, parse_number, underlying_strtod): New functions.
16575         (strtod): Use them.  This implementation prefers to use the
16576         underlying strtod if available, falling back on our own code
16577         only to fix known bugs.  This is more likely to produce an
16578         accurate result.  Also, it avoids the use of libm functions.
16579         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
16580         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
16581         was absent, but it caused a test failure with coreutils.
16582         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
16583         with libm.
16584         * modules/strtod (Makefile.am, Link): libm is no longer needed.
16585         * modules/strtod-tests (Makefile.am): Likewise.
16586
16587 2010-07-11  Pádraig Brady  <P@draigBrady.com>
16588             Bruno Haible  <bruno@clisp.org>
16589
16590         unistr/u8-strchr: Optimize ASCII argument case.
16591         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
16592
16593 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
16594
16595         (x)memcoll: minor tweaks
16596         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
16597         is after the type that it qualifies.
16598         (memcoll0): Likewise.
16599         * lib/memcoll.h (memcoll0): Likewise.
16600         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
16601         * lib/xmemcoll.h (xmemcoll0): Likewise.
16602         * lib/memcoll.c (memcoll0): Correct the comment.  This function
16603         differs from memcoll in that the NUL byte is part of the argument.
16604         Omit the abort-checks, as performance is a real issue here.  Plus,
16605         the checks were wrong anyway (an off-by-one error).  Omit local
16606         variable 'diff', as it's a bit clearer that way.
16607         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
16608         no longer needed.
16609
16610 2010-07-08  Chen Guo <chenguo4@yahoo.com>
16611
16612         (x)memcoll: speedup when input is known to be NUL delimited
16613         * lib/memcoll.c: Include stdlib.
16614         (memcoll0): New function.
16615         (strcoll_loop): New function, refactored for use in both memcoll
16616         and memcoll0.
16617         * lib/memcoll.h (memcoll0): Add prototype.
16618         * lib/xmemcoll.c (xmemcoll0): New function.
16619         (collate_error): New function, refactored for use in both xmemcoll
16620         and xmemcoll0.
16621         * lib/xmemcoll.h (xmemcoll0): Add prototype.
16622         * m4/memcoll.m4: add inline invocation.
16623
16624 2010-07-06  Pádraig Brady  <P@draigBrady.com>
16625
16626         * build-aux/bootstrap: Remove any local translations
16627         from the translation project synchronization directory,
16628         so that local only translations are not distributed.
16629
16630 2010-07-04  Bruno Haible  <bruno@clisp.org>
16631
16632         fsusage: Clarify which code applies to which platforms.
16633         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
16634         platform.
16635         * lib/fsusage.c (get_fs_usage): Likewise.
16636
16637 2010-07-04  Bruno Haible  <bruno@clisp.org>
16638
16639         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
16640         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
16641         Reported by Martin Lambers <marlam@marlam.de>.
16642
16643 2010-07-04  Jim Meyering  <meyering@redhat.com>
16644
16645         hash: once again explicitly disallow insertion of NULL
16646         * lib/hash.c (hash_insert0): Reinstate just-removed test:
16647         inserting a NULL pointer cannot work with these functions.
16648         Add a comment with details.
16649         This reverts part of the 2010-07-01 commit, 5bef1a35
16650         "hash: extend module to deal with non-pointer keys".
16651
16652 2010-07-01  Bruno Haible  <bruno@clisp.org>
16653
16654         stdbool: Update doc.
16655         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
16656         Info from Christian Weisgerber <naddy@mips.inka.de>.
16657
16658 2010-07-01  Jim Meyering  <meyering@redhat.com>
16659
16660         hash: extend module to deal with non-pointer keys
16661         * lib/hash.c (hash_insert0): New interface, much like hash_insert
16662         but that allows insertion of non-pointer entries.
16663         Do not disallow an ENTRY value of NULL.
16664         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
16665         * lib/hash.h (hash_insert0): Declare.
16666
16667 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
16668
16669         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
16670         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
16671         not present (i.e. with autoconf 2.59 and when using gettextize, not
16672         gnulib), require AC_GNU_SOURCE instead.
16673
16674 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
16675
16676         idpriv-drop: Fix tests.
16677         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
16678         not to the test-idpriv-droptemp program.
16679
16680 2010-06-29  Bruno Haible  <bruno@clisp.org>
16681
16682         string: Fix syntax error with g++ 2.96.
16683         * lib/string.in.h (__pure__): Remove definition.
16684         (_GL_ATTRIBUTE_PURE): New macro.
16685         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
16686         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
16687         Reported by Christian Weisgerber <naddy@mips.inka.de>.
16688
16689 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
16690
16691         unitypes: Fix bug introduced on 2010-05-18.
16692         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
16693
16694 2010-06-22  Eric Blake  <eblake@redhat.com>
16695
16696         memmem: slight optimization
16697         * lib/str-two-way.h (critical_factorization): Update comments.
16698         Reduce work during factorization phase.
16699         Reported by Carlos Bueno <carlos@bueno.org>.
16700
16701 2010-06-21  Bruno Haible  <bruno@clisp.org>
16702
16703         Fix HAVE_CALLOC_POSIX misnomer.
16704         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
16705         !HAVE_CALLOC_POSIX.
16706         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
16707         HAVE_CALLOC_POSIX.
16708         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
16709         instead of HAVE_CALLOC_POSIX.
16710         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
16711         HAVE_CALLOC_POSIX.
16712
16713         Use modern idiom for calloc() replacement.
16714         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
16715         AC_FUNC_CALLOC.
16716         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
16717         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
16718         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
16719         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
16720         (gl_REPLACE_CALLOC): New macro.
16721
16722 2010-06-21  Bruno Haible  <bruno@clisp.org>
16723
16724         Fix HAVE_REALLOC_POSIX misnomer.
16725         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
16726         !HAVE_REALLOC_POSIX.
16727         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
16728         HAVE_REALLOC_POSIX.
16729         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
16730         instead of HAVE_REALLOC_POSIX.
16731         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
16732         HAVE_REALLOC_POSIX.
16733
16734         Use modern idiom for realloc() replacement.
16735         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
16736         AC_FUNC_REALLOC.
16737         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
16738         Autoconf's AC_FUNC_REALLOC.
16739         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
16740         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
16741         (gl_REPLACE_REALLOC): New macro.
16742         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
16743
16744 2010-06-21  Bruno Haible  <bruno@clisp.org>
16745
16746         Fix HAVE_MALLOC_POSIX misnomer.
16747         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
16748         !HAVE_MALLOC_POSIX.
16749         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
16750         HAVE_MALLOC_POSIX.
16751         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
16752         instead of HAVE_MALLOC_POSIX.
16753         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
16754         HAVE_MALLOC_POSIX.
16755
16756         Use modern idiom for malloc() replacement.
16757         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
16758         AC_FUNC_MALLOC.
16759         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
16760         Autoconf's AC_FUNC_MALLOC.
16761         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
16762         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
16763         (gl_REPLACE_MALLOC): New macro.
16764         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
16765
16766 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
16767
16768         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
16769         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
16770         This macro takes 3 arguments, not 4.
16771
16772 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
16773
16774         ipv6: fix detection under mingw
16775         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
16776         in6_addr.
16777
16778 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
16779
16780         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
16781         that strtod() works when cross-compiling to a glibc version known
16782         to work.
16783
16784 2010-06-15  Bruno Haible  <bruno@clisp.org>
16785
16786         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
16787
16788 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
16789
16790         select: Correct timeout.
16791         * lib/select.c (rpl_select): Compute wait_timeout correctly.
16792
16793 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
16794
16795         git-version-gen: init shell var to avoid env var influence
16796         * build-aux/git-version-gen (v): Init shell var to empty.
16797
16798 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
16799
16800         priv-set: Don't assume that priv.h exists merely because getppriv does.
16801         See Jan Andersen's bug report about AIX 5L in
16802         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
16803         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
16804         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
16805         * lib/priv-set.h: Likewise.
16806         * tests/test-priv-set.c: Likewise.
16807
16808 2010-06-13  Bruno Haible  <bruno@clisp.org>
16809
16810         relocatable: Make it easier to test whether to install wrappers.
16811         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
16812         RELOCATABLE_VIA_WRAPPER.
16813
16814 2010-06-13  Bruno Haible  <bruno@clisp.org>
16815
16816         gnulib-tool: Display specified modules and dependencies differently.
16817         * gnulib-tool (func_show_module_list): New function.
16818         (func_import, func_create_testdir): Invoke it.
16819         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
16820
16821 2010-06-13  Bruno Haible  <bruno@clisp.org>
16822
16823         gnulib-tool: Align code of func_import and func_create_testdir.
16824         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
16825         specified_modules.
16826
16827 2010-06-12  Jim Meyering  <meyering@redhat.com>
16828
16829         test-inttostr: avoid spurious failure on Solaris 9
16830         * tests/test-inttostr.c (main): Skip the test when snprintf fails
16831         to accept "%ju".  Reported by Bruno Haible.
16832
16833 2010-06-11  Jim Meyering  <meyering@redhat.com>
16834
16835         test-sys_socket: mark variables as used more readably
16836         * tests/test-sys_socket.c (main): Mark otherwise unused variables
16837         as "used" explicitly via (void) statement casts.  This is more
16838         readable than using them in an artificial return expression.
16839         Suggestion from Bruno Haible.
16840
16841 2010-06-11  Bruno Haible  <bruno@clisp.org>
16842
16843         Avoid some more warnings from "gcc -Wwrite-strings".
16844         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
16845         to 'const char *'.
16846         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
16847         * tests/test-c-strcasestr.c (main): Likewise.
16848         * tests/test-mbscasestr1.c (main): Likewise.
16849         * tests/test-mbscasestr2.c (main): Likewise.
16850         * tests/test-memmem.c (main): Likewise.
16851         * tests/test-strstr.c (main): Likewise.
16852         * tests/test-strcasestr.c (main): Likewise.
16853
16854 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16855
16856         init.sh: change framework_failure_ to fail with status 99, not 1
16857         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
16858         automake's parallel-tests rule that this is an unexpected failure,
16859         even if the test is listed in XFAIL_TESTS.
16860
16861 2010-06-11  Jim Meyering  <meyering@redhat.com>
16862
16863         test-inttostr: avoid warnings about 4-6KB literal strings
16864         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
16865         Include "macros.h", for its definition of ASSERT.
16866         (CK): s/assert/ASSERT/
16867         * modules/inttostr-tests (Files): Add macros.h.
16868
16869         init.sh: don't use $ME_ or skip_ before they are defined
16870         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
16871         their first uses.  Also hoist their companions: warn_, fail_,
16872         framework_failure_, $stderr_fileno.  Prompted by a patch from
16873         Stefano Lattarini.
16874
16875         test-sys_socket: avoid set-but-not-used warnings from gcc
16876         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
16877         avoid warning about set-but-not-used variables.
16878
16879         test-xvasprintf: avoid 'const' discard warnings
16880         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
16881         "const" when assigning from literal strings.
16882         (test_xasprintf): Add "void" in function argument list to placate
16883         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
16884
16885         tests: avoid compilation warnings in argmatch and exclude tests...
16886         in packages that define ARGMATCH_DIE_DECL, like coreutils.
16887         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
16888         Since it always exits, declare with the "noreturn" attribute.
16889         * tests/test-argmatch.c: Likewise.
16890
16891         tests: avoid 'const' discard warnings in mbsstr tests
16892         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
16893         * tests/test-mbsstr2.c (main): Likewise.
16894
16895         test-verify: avoid warning from gcc's -Wmissing-declarations
16896         * tests/test-verify.c (function): Declare to be static.
16897
16898         test-inttostr.c: include <string.h> for use of strcmp
16899         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
16900
16901         test-linkat: avoid failed assertion on "other" architectures
16902         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
16903         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
16904         sparc: https://bugs.launchpad.net/bugs/591968
16905
16906 2010-06-11  Jim Meyering  <meyering@redhat.com>
16907
16908         printf.m4: avoid autoconf's "Expanded Before Required" warning
16909         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
16910         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
16911         autoconf warning.
16912
16913 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
16914
16915         Replacement header templates are now named with ".in", not "_".
16916         * doc/gnulib-intro.texi: Correct.
16917
16918 2010-06-10  Jim Meyering  <meyering@redhat.com>
16919
16920         inttostr-tests: depend on snprintf, not snprintf-posix
16921         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
16922         snprintf-posix, to avoid this aclocal failure:
16923           missing file gnulib-tests/vasnprintf.c
16924           configure.ac:45: error: expected source file, required through \
16925           AC_LIBSOURCES, not found
16926
16927 2010-06-10  Jim Meyering  <meyering@redhat.com>
16928
16929         inttostr: add a new function, inttostr, and tests
16930         The namesake function was not available.  The existence of the
16931         template file, inttostr.c makes its addition nontrivial.
16932         * lib/anytostr.c: Rename from inttostr.c.
16933         (anytostr): Rename from inttostr.
16934         * lib/inttostr.c: New file.
16935         * modules/inttostr (Files): Add anytostr.c.
16936         (Makefile.am): Set lib_SOURCES instead of ...
16937         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
16938         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
16939         * lib/offtostr.c: Likewise.
16940         * lib/uinttostr.c: Likewise.
16941         * lib/umaxtostr.c: Likewise.
16942         * modules/inttostr-tests: New file.
16943         * tests/test-inttostr.c: New file.  Test these functions.
16944
16945 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
16946             Bruno Haible  <bruno@clisp.org>
16947
16948         Add "Extending Gnulib" chapter to manual.
16949         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
16950         chapter.
16951         (Extending Gnulib): New chapter.
16952         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
16953         chapter.
16954
16955 2010-06-09  Bruno Haible  <bruno@clisp.org>
16956
16957         Avoid relocwrapper link errors due to gnulib replacement functions.
16958         * lib/areadlink.c: Use the system's malloc, realloc functions.
16959         (areadlink): Set errno to ENOMEM explicitly.
16960         * modules/areadlink (Depends-on): Remove malloc-posix.
16961         Reported by Ben Pfaff <blp@cs.stanford.edu>.
16962
16963 2010-06-09  Bruno Haible  <bruno@clisp.org>
16964
16965         Avoid relocwrapper link errors due to gnulib replacement functions.
16966         * lib/canonicalize-lgpl.c: Use the system's malloc function.
16967         * lib/malloca.c: Likewise.
16968         * lib/relocatable.c: Likewise.
16969         * lib/progreloc.c: Use the system's malloc, sprintf functions.
16970         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
16971         * lib/setenv.c: Use the system's malloc, realloc functions.
16972         * lib/strerror.c: Use the system's sprintf function.
16973         Reported by Ben Pfaff <blp@cs.stanford.edu>.
16974
16975 2010-06-04  Bruno Haible  <bruno@clisp.org>
16976
16977         Prefer documented low-level autoconf macro names.
16978         * m4/lib-link.m4: Use m4_translit instead of translit.
16979         * m4/environ.m4: Likewise.
16980         * m4/mathfunc.m4: Likewise.
16981         * m4/onceonly.m4: Likewise.
16982         * m4/stdint.m4: Likewise.
16983         Suggested by Eric Blake.
16984
16985 2010-06-04  Martin Lambers  <marlam@marlam.de>
16986             Bruno Haible  <bruno@clisp.org>
16987
16988         havelib: Allow library names with '+' characters.
16989         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
16990         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
16991
16992 2010-06-09  Bruno Haible  <bruno@clisp.org>
16993
16994         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
16995         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
16996         realloc failed.
16997
16998 2010-06-08  Peter Simons  <simons@cryp.to>
16999
17000         maint.mk: make the news-check rule more configurable
17001         * top/maint.mk (news-check-lines-spec): New variable.
17002         (news-check): Use "sed -n 1,10p" in place of "head".
17003
17004 2010-06-07  Jim Meyering  <meyering@redhat.com>
17005
17006         do-release-commit-and-tag: fix typo in --help
17007         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
17008
17009         regex: avoid new dead-code warning with gcc-4.6.0
17010         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
17011         if-block containing a while-loop.  It's been unused for at least
17012         5 years.
17013
17014 2010-06-05  Bruno Haible  <bruno@clisp.org>
17015
17016         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
17017         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
17018
17019 2010-06-04  Bruno Haible  <bruno@clisp.org>
17020
17021         Update to GNU gettext 0.18.1.
17022         * modules/gettext (configure.ac): Require gettext infrastructure from
17023         version 0.18.1.
17024
17025 2010-06-03  Bruno Haible  <bruno@clisp.org>
17026
17027         Don't use AC_LIBOBJ with file names in subdirectories.
17028         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
17029         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
17030         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
17031         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
17032         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
17033         gl_LIBUNISTRING_LIBSOURCE.
17034         (Makefile.am): Augment lib_SOURCES here, conditionally.
17035         * NEWS: Drop requirement for Automake option 'subdir-objects'.
17036
17037 2010-06-03  Bruno Haible  <bruno@clisp.org>
17038
17039         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
17040         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
17041         expansion does not end with a newline.
17042         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
17043         unnecessary newline.
17044
17045 2010-06-03  Bruno Haible  <bruno@clisp.org>
17046
17047         Reduce dependencies.
17048         * tests/test-quotearg.h: New file, extracted from
17049         tests/test-quotearg.c.
17050         * tests/test-quotearg-simple.c: New file, extracted from
17051         tests/test-quotearg.c.
17052         * tests/test-quotearg.c: Don't include <ctype.h>.
17053         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
17054         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
17055         use_quote_double_quotes, use_quotearg_colon): Moved to
17056         tests/test-quotearg.h.
17057         (results_g, flag_results, custom_quotes, custom_results): Moved
17058         to tests/test-quotearg-simple.c.
17059         (main): Moved the part that does not depend on gettext to
17060         tests/test-quotearg-simple.c. Return 77 if the test cannot be
17061         performed.
17062         * modules/quotearg-simple: New file.
17063         * modules/quotearg-simple-tests: New file.
17064         * modules/quotearg (Depends-on): Add quotearg-simple.
17065         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
17066         (Files): Add tests/test-quotearg.h.
17067         Reported by Paolo Bonzini.
17068
17069 2010-06-03  Bruno Haible  <bruno@clisp.org>
17070
17071         Reduce dependencies.
17072         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
17073
17074 2010-06-03  Bruno Haible  <bruno@clisp.org>
17075
17076         time: Undefine more broken macros.
17077         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
17078         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
17079         Reported by Eric Blake.
17080
17081 2010-06-03  Bruno Haible  <bruno@clisp.org>
17082
17083         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
17084         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
17085         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
17086         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
17087         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
17088         Reported by Ludovic Courtès <ludo@gnu.org>.
17089
17090 2010-06-02  Eric Blake  <eblake@redhat.com>
17091
17092         time: work with mingw + pthreads-win32 library
17093         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
17094         if timespec is defined only in pthread.h.
17095         * modules/time (Makefile.am): Substitute it.
17096         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
17097         <pthread.h>, when needed.
17098         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
17099         from the library.
17100
17101 2010-05-31  Bruno Haible  <bruno@clisp.org>
17102
17103         Avoid expanding two macros in the wrong order.
17104         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
17105         gl_LIBUNISTRING if it is defined.
17106         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
17107         autoconf >= 2.64.
17108         Reported by Ludovic Courtès <ludo@gnu.org>.
17109
17110 2010-05-27  Jim Meyering  <meyering@redhat.com>
17111
17112         maint.mk: also prohibit "#undef" of always-defined symbols
17113         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
17114         Allow more than one space before the symbol name.
17115         (sc_prohibit_always-defined_macros): Use grep's -E, now that
17116         the regexp uses alternation.
17117
17118 2010-05-26  Eric Blake  <eblake@redhat.com>
17119
17120         maint.mk: avoid echo -e
17121         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
17122         Convert all uses of echo -* to printf.
17123         Reported by Matthias Bolte.
17124
17125 2010-05-25  Bruno Haible  <bruno@clisp.org>
17126
17127         Update to GNU gettext 0.18, part 2.
17128         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
17129         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
17130
17131 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17132
17133         Add missing include in test-pwrite.c.
17134         * tests/test-pwrite.c: Include string.h, for strcmp.
17135
17136 2010-05-24  Bruno Haible  <bruno@clisp.org>
17137
17138         * NEWS: Mention requirement for Automake option 'subdir-objects'.
17139
17140 2010-05-24  Bruno Haible  <bruno@clisp.org>
17141
17142         Don't use conversion with transliteration in u{8,16,32}_strcoll.
17143         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
17144         iconveh_error argument.
17145         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
17146         U_STRCONV_TO_LOCALE.
17147         * lib/unistr/u16-strcoll.c: Likewise.
17148         * lib/unistr/u32-strcoll.c: Likewise.
17149         * modules/unistr/u8-strcoll (Depends-on): Add
17150         uniconv/u8-strconv-to-enc, localcharset. Remove
17151         uniconv/u8-strconv-to-locale.
17152         (configure.ac): Bump version number.
17153         * modules/unistr/u16-strcoll (Depends-on): Add
17154         uniconv/u16-strconv-to-enc, localcharset. Remove
17155         uniconv/u16-strconv-to-locale.
17156         (configure.ac): Bump version number.
17157         * modules/unistr/u32-strcoll (Depends-on): Add
17158         uniconv/u32-strconv-to-enc, localcharset. Remove
17159         uniconv/u32-strconv-to-locale.
17160         (configure.ac): Bump version number.
17161
17162 2010-05-24  Bruno Haible  <bruno@clisp.org>
17163
17164         Avoid a test failure on NetBSD 5.0.
17165         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
17166         an iconv() bug.
17167
17168 2010-05-24  Bruno Haible  <bruno@clisp.org>
17169
17170         Adjust #include directive style.
17171         * modules/regex (Includes): Recommend to write <regex.h>.
17172
17173 2010-05-24  Bruno Haible  <bruno@clisp.org>
17174
17175         regex: Don't require alloca.
17176         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
17177         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
17178         only inside if (0).
17179
17180 2010-05-23  Jim Meyering  <meyering@redhat.com>
17181
17182         test-renameat.c: include <sys/stat.h>
17183         * tests/test-renameat.c: Include <sys/stat.h>; required for
17184         definition of S_IS* macros.
17185
17186 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
17187
17188         Update maintainer documentation for 'relocatable-prog' module.
17189         * doc/relocatable-maint.texi: Update.
17190         Comments by Bruno Haible.
17191
17192 2010-05-23  Bruno Haible  <bruno@clisp.org>
17193
17194         git-merge-changelog: Enable --split-merged-entry by default.
17195         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
17196         (usage): Don't mention this option any more.
17197         Reported by Ralf Wildenhues.
17198
17199 2010-05-23  Jim Meyering  <meyering@redhat.com>
17200
17201         test-pwrite: do not leave behind a test file named "out"
17202         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
17203         The trivial-looking use of init.sh is really necessary.
17204         It ensures that the temporary file, "out", is created in
17205         a temporary directory, and removed upon termination.
17206         * tests/test-pwrite.sh: Re-add file.
17207         * modules/pwrite-tests: Reference it.
17208
17209 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17210
17211         Fix output redirection buglet in init.sh.
17212         * tests/init.sh: Fix redirection of stderr.
17213
17214 2010-05-20  Simon Josefsson  <simon@josefsson.org>
17215
17216         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
17217
17218 2010-05-17  Simon Josefsson  <simon@josefsson.org>
17219
17220         * modules/valgrind-tests: New file.
17221         * m4/valgrind-tests.m4: New file.
17222         * doc/valgrind-tests.texi: New file.
17223         * doc/gnulib.texi (Running self-tests under valgrind): New
17224         section.
17225
17226 2010-05-19  Bruno Haible  <bruno@clisp.org>
17227
17228         Clean up dead code in recent commit.
17229         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
17230         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
17231         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
17232         Suggested by Paolo Bonzini.
17233
17234 2010-05-19  Bruno Haible  <bruno@clisp.org>
17235
17236         Avoid valgrind error reports from libunistring.
17237         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
17238         * modules/libunistring (Files): Add it.
17239         * modules/libunistring-optional (Files): Likewise.
17240
17241 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
17242             Bruno Haible  <bruno@clisp.org>
17243
17244         New module 'libunistring-optional'.
17245         * modules/libunistring-optional: New file.
17246         * m4/libunistring-base.m4: New file.
17247         * m4/libunistring-optional.m4: New file.
17248         * lib/unicase.in.h: Renamed from lib/unicase.h.
17249         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
17250         * lib/unictype.in.h: Renamed from lib/unictype.h.
17251         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
17252         * lib/uniname.in.h: Renamed from lib/uniname.h.
17253         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
17254         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
17255         * lib/unistr.in.h: Renamed from lib/unistr.h.
17256         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
17257         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
17258         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
17259         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
17260         gl_LIBUNISTRING. If the library was found, determine the installed
17261         version and set LIBUNISTRING_VERSION.
17262         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
17263         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
17264         handle a configuration option --with-included-libunistring.
17265         * modules/libunistring (Files): Add m4/absolute-header.m4.
17266         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
17267         Add m4/libunistring-base.m4.
17268         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17269         (Makefile.am): Build unicase.h from unicase.in.h.
17270         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
17271         Add m4/libunistring-base.m4.
17272         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17273         (Makefile.am): Build uniconv.h from uniconv.in.h.
17274         * modules/unictype/base (Files): Use unictype.in.h instead of
17275         unictype.h. Add m4/libunistring-base.m4.
17276         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17277         (Makefile.am): Build unictype.h from unictype.in.h.
17278         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
17279         Add m4/libunistring-base.m4.
17280         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17281         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
17282         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
17283         Add m4/libunistring-base.m4.
17284         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17285         (Makefile.am): Build uniname.h from uniname.in.h.
17286         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
17287         Add m4/libunistring-base.m4.
17288         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17289         (Makefile.am): Build uninorm.h from uninorm.in.h.
17290         * modules/unistdio/base (Files): Use unistdio.in.h instead of
17291         unistdio.h. Add m4/libunistring-base.m4.
17292         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17293         (Makefile.am): Build unistdio.h from unistdio.in.h.
17294         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
17295         Add m4/libunistring-base.m4.
17296         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17297         (Makefile.am): Build unistr.h from unistr.in.h.
17298         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
17299         Add m4/libunistring-base.m4.
17300         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17301         (Makefile.am): Build unitypes.h from unitypes.in.h.
17302         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
17303         Add m4/libunistring-base.m4.
17304         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17305         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
17306         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
17307         uniwidth.h. Add m4/libunistring-base.m4.
17308         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17309         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
17310         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
17311         instead of augmenting lib_SOURCES.
17312         * modules/unicase/empty-suffix-context: Likewise.
17313         * modules/unicase/locale-language: Likewise.
17314         * modules/unicase/tolower: Likewise.
17315         * modules/unicase/totitle: Likewise.
17316         * modules/unicase/toupper: Likewise.
17317         * modules/unicase/u8-casecmp: Likewise.
17318         * modules/unicase/u8-casecoll: Likewise.
17319         * modules/unicase/u8-casefold: Likewise.
17320         * modules/unicase/u8-casexfrm: Likewise.
17321         * modules/unicase/u8-ct-casefold: Likewise.
17322         * modules/unicase/u8-ct-tolower: Likewise.
17323         * modules/unicase/u8-ct-totitle: Likewise.
17324         * modules/unicase/u8-ct-toupper: Likewise.
17325         * modules/unicase/u8-is-cased: Likewise.
17326         * modules/unicase/u8-is-casefolded: Likewise.
17327         * modules/unicase/u8-is-lowercase: Likewise.
17328         * modules/unicase/u8-is-titlecase: Likewise.
17329         * modules/unicase/u8-is-uppercase: Likewise.
17330         * modules/unicase/u8-prefix-context: Likewise.
17331         * modules/unicase/u8-suffix-context: Likewise.
17332         * modules/unicase/u8-tolower: Likewise.
17333         * modules/unicase/u8-totitle: Likewise.
17334         * modules/unicase/u8-toupper: Likewise.
17335         * modules/unicase/u16-casecmp: Likewise.
17336         * modules/unicase/u16-casecoll: Likewise.
17337         * modules/unicase/u16-casefold: Likewise.
17338         * modules/unicase/u16-casexfrm: Likewise.
17339         * modules/unicase/u16-ct-casefold: Likewise.
17340         * modules/unicase/u16-ct-tolower: Likewise.
17341         * modules/unicase/u16-ct-totitle: Likewise.
17342         * modules/unicase/u16-ct-toupper: Likewise.
17343         * modules/unicase/u16-is-cased: Likewise.
17344         * modules/unicase/u16-is-casefolded: Likewise.
17345         * modules/unicase/u16-is-lowercase: Likewise.
17346         * modules/unicase/u16-is-titlecase: Likewise.
17347         * modules/unicase/u16-is-uppercase: Likewise.
17348         * modules/unicase/u16-prefix-context: Likewise.
17349         * modules/unicase/u16-suffix-context: Likewise.
17350         * modules/unicase/u16-tolower: Likewise.
17351         * modules/unicase/u16-totitle: Likewise.
17352         * modules/unicase/u16-toupper: Likewise.
17353         * modules/unicase/u32-casecmp: Likewise.
17354         * modules/unicase/u32-casecoll: Likewise.
17355         * modules/unicase/u32-casefold: Likewise.
17356         * modules/unicase/u32-casexfrm: Likewise.
17357         * modules/unicase/u32-ct-casefold: Likewise.
17358         * modules/unicase/u32-ct-tolower: Likewise.
17359         * modules/unicase/u32-ct-totitle: Likewise.
17360         * modules/unicase/u32-ct-toupper: Likewise.
17361         * modules/unicase/u32-is-cased: Likewise.
17362         * modules/unicase/u32-is-casefolded: Likewise.
17363         * modules/unicase/u32-is-lowercase: Likewise.
17364         * modules/unicase/u32-is-titlecase: Likewise.
17365         * modules/unicase/u32-is-uppercase: Likewise.
17366         * modules/unicase/u32-prefix-context: Likewise.
17367         * modules/unicase/u32-suffix-context: Likewise.
17368         * modules/unicase/u32-tolower: Likewise.
17369         * modules/unicase/u32-totitle: Likewise.
17370         * modules/unicase/u32-toupper: Likewise.
17371         * modules/unicase/ulc-casecmp: Likewise.
17372         * modules/unicase/ulc-casecoll: Likewise.
17373         * modules/unicase/ulc-casexfrm: Likewise.
17374         * modules/uniconv/u8-conv-from-enc: Likewise.
17375         * modules/uniconv/u8-conv-to-enc: Likewise.
17376         * modules/uniconv/u8-strconv-from-enc: Likewise.
17377         * modules/uniconv/u8-strconv-from-locale: Likewise.
17378         * modules/uniconv/u8-strconv-to-enc: Likewise.
17379         * modules/uniconv/u8-strconv-to-locale: Likewise.
17380         * modules/uniconv/u16-conv-from-enc: Likewise.
17381         * modules/uniconv/u16-conv-to-enc: Likewise.
17382         * modules/uniconv/u16-strconv-from-enc: Likewise.
17383         * modules/uniconv/u16-strconv-from-locale: Likewise.
17384         * modules/uniconv/u16-strconv-to-enc: Likewise.
17385         * modules/uniconv/u16-strconv-to-locale: Likewise.
17386         * modules/uniconv/u32-conv-from-enc: Likewise.
17387         * modules/uniconv/u32-conv-to-enc: Likewise.
17388         * modules/uniconv/u32-strconv-from-enc: Likewise.
17389         * modules/uniconv/u32-strconv-from-locale: Likewise.
17390         * modules/uniconv/u32-strconv-to-enc: Likewise.
17391         * modules/uniconv/u32-strconv-to-locale: Likewise.
17392         * modules/unictype/bidicategory-byname: Likewise.
17393         * modules/unictype/bidicategory-name: Likewise.
17394         * modules/unictype/bidicategory-of: Likewise.
17395         * modules/unictype/bidicategory-test: Likewise.
17396         * modules/unictype/block-list: Likewise.
17397         * modules/unictype/block-test: Likewise.
17398         * modules/unictype/category-C: Likewise.
17399         * modules/unictype/category-Cc: Likewise.
17400         * modules/unictype/category-Cf: Likewise.
17401         * modules/unictype/category-Cn: Likewise.
17402         * modules/unictype/category-Co: Likewise.
17403         * modules/unictype/category-Cs: Likewise.
17404         * modules/unictype/category-L: Likewise.
17405         * modules/unictype/category-Ll: Likewise.
17406         * modules/unictype/category-Lm: Likewise.
17407         * modules/unictype/category-Lo: Likewise.
17408         * modules/unictype/category-Lt: Likewise.
17409         * modules/unictype/category-Lu: Likewise.
17410         * modules/unictype/category-M: Likewise.
17411         * modules/unictype/category-Mc: Likewise.
17412         * modules/unictype/category-Me: Likewise.
17413         * modules/unictype/category-Mn: Likewise.
17414         * modules/unictype/category-N: Likewise.
17415         * modules/unictype/category-Nd: Likewise.
17416         * modules/unictype/category-Nl: Likewise.
17417         * modules/unictype/category-No: Likewise.
17418         * modules/unictype/category-P: Likewise.
17419         * modules/unictype/category-Pc: Likewise.
17420         * modules/unictype/category-Pd: Likewise.
17421         * modules/unictype/category-Pe: Likewise.
17422         * modules/unictype/category-Pf: Likewise.
17423         * modules/unictype/category-Pi: Likewise.
17424         * modules/unictype/category-Po: Likewise.
17425         * modules/unictype/category-Ps: Likewise.
17426         * modules/unictype/category-S: Likewise.
17427         * modules/unictype/category-Sc: Likewise.
17428         * modules/unictype/category-Sk: Likewise.
17429         * modules/unictype/category-Sm: Likewise.
17430         * modules/unictype/category-So: Likewise.
17431         * modules/unictype/category-Z: Likewise.
17432         * modules/unictype/category-Zl: Likewise.
17433         * modules/unictype/category-Zp: Likewise.
17434         * modules/unictype/category-Zs: Likewise.
17435         * modules/unictype/category-and: Likewise.
17436         * modules/unictype/category-and-not: Likewise.
17437         * modules/unictype/category-byname: Likewise.
17438         * modules/unictype/category-name: Likewise.
17439         * modules/unictype/category-none: Likewise.
17440         * modules/unictype/category-of: Likewise.
17441         * modules/unictype/category-or: Likewise.
17442         * modules/unictype/category-test: Likewise.
17443         * modules/unictype/combining-class: Likewise.
17444         * modules/unictype/ctype-alnum: Likewise.
17445         * modules/unictype/ctype-alpha: Likewise.
17446         * modules/unictype/ctype-blank: Likewise.
17447         * modules/unictype/ctype-cntrl: Likewise.
17448         * modules/unictype/ctype-digit: Likewise.
17449         * modules/unictype/ctype-graph: Likewise.
17450         * modules/unictype/ctype-lower: Likewise.
17451         * modules/unictype/ctype-print: Likewise.
17452         * modules/unictype/ctype-punct: Likewise.
17453         * modules/unictype/ctype-space: Likewise.
17454         * modules/unictype/ctype-upper: Likewise.
17455         * modules/unictype/ctype-xdigit: Likewise.
17456         * modules/unictype/decimal-digit: Likewise.
17457         * modules/unictype/digit: Likewise.
17458         * modules/unictype/mirror: Likewise.
17459         * modules/unictype/numeric: Likewise.
17460         * modules/unictype/property-alphabetic: Likewise.
17461         * modules/unictype/property-ascii-hex-digit: Likewise.
17462         * modules/unictype/property-bidi-arabic-digit: Likewise.
17463         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
17464         * modules/unictype/property-bidi-block-separator: Likewise.
17465         * modules/unictype/property-bidi-boundary-neutral: Likewise.
17466         * modules/unictype/property-bidi-common-separator: Likewise.
17467         * modules/unictype/property-bidi-control: Likewise.
17468         * modules/unictype/property-bidi-embedding-or-override: Likewise.
17469         * modules/unictype/property-bidi-eur-num-separator: Likewise.
17470         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
17471         * modules/unictype/property-bidi-european-digit: Likewise.
17472         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
17473         * modules/unictype/property-bidi-left-to-right: Likewise.
17474         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
17475         * modules/unictype/property-bidi-other-neutral: Likewise.
17476         * modules/unictype/property-bidi-pdf: Likewise.
17477         * modules/unictype/property-bidi-segment-separator: Likewise.
17478         * modules/unictype/property-bidi-whitespace: Likewise.
17479         * modules/unictype/property-byname: Likewise.
17480         * modules/unictype/property-combining: Likewise.
17481         * modules/unictype/property-composite: Likewise.
17482         * modules/unictype/property-currency-symbol: Likewise.
17483         * modules/unictype/property-dash: Likewise.
17484         * modules/unictype/property-decimal-digit: Likewise.
17485         * modules/unictype/property-default-ignorable-code-point: Likewise.
17486         * modules/unictype/property-deprecated: Likewise.
17487         * modules/unictype/property-diacritic: Likewise.
17488         * modules/unictype/property-extender: Likewise.
17489         * modules/unictype/property-format-control: Likewise.
17490         * modules/unictype/property-grapheme-base: Likewise.
17491         * modules/unictype/property-grapheme-extend: Likewise.
17492         * modules/unictype/property-grapheme-link: Likewise.
17493         * modules/unictype/property-hex-digit: Likewise.
17494         * modules/unictype/property-hyphen: Likewise.
17495         * modules/unictype/property-id-continue: Likewise.
17496         * modules/unictype/property-id-start: Likewise.
17497         * modules/unictype/property-ideographic: Likewise.
17498         * modules/unictype/property-ids-binary-operator: Likewise.
17499         * modules/unictype/property-ids-trinary-operator: Likewise.
17500         * modules/unictype/property-ignorable-control: Likewise.
17501         * modules/unictype/property-iso-control: Likewise.
17502         * modules/unictype/property-join-control: Likewise.
17503         * modules/unictype/property-left-of-pair: Likewise.
17504         * modules/unictype/property-line-separator: Likewise.
17505         * modules/unictype/property-logical-order-exception: Likewise.
17506         * modules/unictype/property-lowercase: Likewise.
17507         * modules/unictype/property-math: Likewise.
17508         * modules/unictype/property-non-break: Likewise.
17509         * modules/unictype/property-not-a-character: Likewise.
17510         * modules/unictype/property-numeric: Likewise.
17511         * modules/unictype/property-other-alphabetic: Likewise.
17512         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
17513         * modules/unictype/property-other-grapheme-extend: Likewise.
17514         * modules/unictype/property-other-id-continue: Likewise.
17515         * modules/unictype/property-other-id-start: Likewise.
17516         * modules/unictype/property-other-lowercase: Likewise.
17517         * modules/unictype/property-other-math: Likewise.
17518         * modules/unictype/property-other-uppercase: Likewise.
17519         * modules/unictype/property-paired-punctuation: Likewise.
17520         * modules/unictype/property-paragraph-separator: Likewise.
17521         * modules/unictype/property-pattern-syntax: Likewise.
17522         * modules/unictype/property-pattern-white-space: Likewise.
17523         * modules/unictype/property-private-use: Likewise.
17524         * modules/unictype/property-punctuation: Likewise.
17525         * modules/unictype/property-quotation-mark: Likewise.
17526         * modules/unictype/property-radical: Likewise.
17527         * modules/unictype/property-sentence-terminal: Likewise.
17528         * modules/unictype/property-soft-dotted: Likewise.
17529         * modules/unictype/property-space: Likewise.
17530         * modules/unictype/property-terminal-punctuation: Likewise.
17531         * modules/unictype/property-test: Likewise.
17532         * modules/unictype/property-titlecase: Likewise.
17533         * modules/unictype/property-unassigned-code-value: Likewise.
17534         * modules/unictype/property-unified-ideograph: Likewise.
17535         * modules/unictype/property-uppercase: Likewise.
17536         * modules/unictype/property-variation-selector: Likewise.
17537         * modules/unictype/property-white-space: Likewise.
17538         * modules/unictype/property-xid-continue: Likewise.
17539         * modules/unictype/property-xid-start: Likewise.
17540         * modules/unictype/property-zero-width: Likewise.
17541         * modules/unictype/scripts: Likewise.
17542         * modules/unictype/syntax-c-ident: Likewise.
17543         * modules/unictype/syntax-c-whitespace: Likewise.
17544         * modules/unictype/syntax-java-ident: Likewise.
17545         * modules/unictype/syntax-java-whitespace: Likewise.
17546         * modules/unilbrk/u8-possible-linebreaks: Likewise.
17547         * modules/unilbrk/u8-width-linebreaks: Likewise.
17548         * modules/unilbrk/u16-possible-linebreaks: Likewise.
17549         * modules/unilbrk/u16-width-linebreaks: Likewise.
17550         * modules/unilbrk/u32-possible-linebreaks: Likewise.
17551         * modules/unilbrk/u32-width-linebreaks: Likewise.
17552         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
17553         * modules/unilbrk/ulc-width-linebreaks: Likewise.
17554         * modules/uniname/uniname: Likewise.
17555         * modules/uninorm/canonical-decomposition: Likewise.
17556         * modules/uninorm/composition: Likewise.
17557         * modules/uninorm/decomposing-form: Likewise.
17558         * modules/uninorm/decomposition: Likewise.
17559         * modules/uninorm/filter: Likewise.
17560         * modules/uninorm/nfc: Likewise.
17561         * modules/uninorm/nfd: Likewise.
17562         * modules/uninorm/nfkc: Likewise.
17563         * modules/uninorm/nfkd: Likewise.
17564         * modules/uninorm/u8-normalize: Likewise.
17565         * modules/uninorm/u8-normcmp: Likewise.
17566         * modules/uninorm/u8-normcoll: Likewise.
17567         * modules/uninorm/u8-normxfrm: Likewise.
17568         * modules/uninorm/u16-normalize: Likewise.
17569         * modules/uninorm/u16-normcmp: Likewise.
17570         * modules/uninorm/u16-normcoll: Likewise.
17571         * modules/uninorm/u16-normxfrm: Likewise.
17572         * modules/uninorm/u32-normalize: Likewise.
17573         * modules/uninorm/u32-normcmp: Likewise.
17574         * modules/uninorm/u32-normcoll: Likewise.
17575         * modules/uninorm/u32-normxfrm: Likewise.
17576         * modules/unistdio/u8-asnprintf: Likewise.
17577         * modules/unistdio/u8-asprintf: Likewise.
17578         * modules/unistdio/u8-snprintf: Likewise.
17579         * modules/unistdio/u8-sprintf: Likewise.
17580         * modules/unistdio/u8-u8-asnprintf: Likewise.
17581         * modules/unistdio/u8-u8-asprintf: Likewise.
17582         * modules/unistdio/u8-u8-snprintf: Likewise.
17583         * modules/unistdio/u8-u8-sprintf: Likewise.
17584         * modules/unistdio/u8-u8-vasnprintf: Likewise.
17585         * modules/unistdio/u8-u8-vasprintf: Likewise.
17586         * modules/unistdio/u8-u8-vsnprintf: Likewise.
17587         * modules/unistdio/u8-u8-vsprintf: Likewise.
17588         * modules/unistdio/u8-vasnprintf: Likewise.
17589         * modules/unistdio/u8-vasprintf: Likewise.
17590         * modules/unistdio/u8-vsnprintf: Likewise.
17591         * modules/unistdio/u8-vsprintf: Likewise.
17592         * modules/unistdio/u16-asnprintf: Likewise.
17593         * modules/unistdio/u16-asprintf: Likewise.
17594         * modules/unistdio/u16-snprintf: Likewise.
17595         * modules/unistdio/u16-sprintf: Likewise.
17596         * modules/unistdio/u16-u16-asnprintf: Likewise.
17597         * modules/unistdio/u16-u16-asprintf: Likewise.
17598         * modules/unistdio/u16-u16-snprintf: Likewise.
17599         * modules/unistdio/u16-u16-sprintf: Likewise.
17600         * modules/unistdio/u16-u16-vasnprintf: Likewise.
17601         * modules/unistdio/u16-u16-vasprintf: Likewise.
17602         * modules/unistdio/u16-u16-vsnprintf: Likewise.
17603         * modules/unistdio/u16-u16-vsprintf: Likewise.
17604         * modules/unistdio/u16-vasnprintf: Likewise.
17605         * modules/unistdio/u16-vasprintf: Likewise.
17606         * modules/unistdio/u16-vsnprintf: Likewise.
17607         * modules/unistdio/u16-vsprintf: Likewise.
17608         * modules/unistdio/u32-asnprintf: Likewise.
17609         * modules/unistdio/u32-asprintf: Likewise.
17610         * modules/unistdio/u32-snprintf: Likewise.
17611         * modules/unistdio/u32-sprintf: Likewise.
17612         * modules/unistdio/u32-u32-asnprintf: Likewise.
17613         * modules/unistdio/u32-u32-asprintf: Likewise.
17614         * modules/unistdio/u32-u32-snprintf: Likewise.
17615         * modules/unistdio/u32-u32-sprintf: Likewise.
17616         * modules/unistdio/u32-u32-vasnprintf: Likewise.
17617         * modules/unistdio/u32-u32-vasprintf: Likewise.
17618         * modules/unistdio/u32-u32-vsnprintf: Likewise.
17619         * modules/unistdio/u32-u32-vsprintf: Likewise.
17620         * modules/unistdio/u32-vasnprintf: Likewise.
17621         * modules/unistdio/u32-vasprintf: Likewise.
17622         * modules/unistdio/u32-vsnprintf: Likewise.
17623         * modules/unistdio/u32-vsprintf: Likewise.
17624         * modules/unistdio/ulc-asnprintf: Likewise.
17625         * modules/unistdio/ulc-asprintf: Likewise.
17626         * modules/unistdio/ulc-fprintf: Likewise.
17627         * modules/unistdio/ulc-snprintf: Likewise.
17628         * modules/unistdio/ulc-sprintf: Likewise.
17629         * modules/unistdio/ulc-vasnprintf: Likewise.
17630         * modules/unistdio/ulc-vasprintf: Likewise.
17631         * modules/unistdio/ulc-vfprintf: Likewise.
17632         * modules/unistdio/ulc-vsnprintf: Likewise.
17633         * modules/unistdio/ulc-vsprintf: Likewise.
17634         * modules/unistr/u8-check: Likewise.
17635         * modules/unistr/u8-chr: Likewise.
17636         * modules/unistr/u8-cmp: Likewise.
17637         * modules/unistr/u8-cmp2: Likewise.
17638         * modules/unistr/u8-cpy: Likewise.
17639         * modules/unistr/u8-cpy-alloc: Likewise.
17640         * modules/unistr/u8-endswith: Likewise.
17641         * modules/unistr/u8-mblen: Likewise.
17642         * modules/unistr/u8-mbsnlen: Likewise.
17643         * modules/unistr/u8-mbtouc: Likewise.
17644         * modules/unistr/u8-mbtouc-unsafe: Likewise.
17645         * modules/unistr/u8-mbtoucr: Likewise.
17646         * modules/unistr/u8-move: Likewise.
17647         * modules/unistr/u8-next: Likewise.
17648         * modules/unistr/u8-prev: Likewise.
17649         * modules/unistr/u8-set: Likewise.
17650         * modules/unistr/u8-startswith: Likewise.
17651         * modules/unistr/u8-stpcpy: Likewise.
17652         * modules/unistr/u8-stpncpy: Likewise.
17653         * modules/unistr/u8-strcat: Likewise.
17654         * modules/unistr/u8-strchr: Likewise.
17655         * modules/unistr/u8-strcmp: Likewise.
17656         * modules/unistr/u8-strcoll: Likewise.
17657         * modules/unistr/u8-strcpy: Likewise.
17658         * modules/unistr/u8-strcspn: Likewise.
17659         * modules/unistr/u8-strdup: Likewise.
17660         * modules/unistr/u8-strlen: Likewise.
17661         * modules/unistr/u8-strmblen: Likewise.
17662         * modules/unistr/u8-strmbtouc: Likewise.
17663         * modules/unistr/u8-strncat: Likewise.
17664         * modules/unistr/u8-strncmp: Likewise.
17665         * modules/unistr/u8-strncpy: Likewise.
17666         * modules/unistr/u8-strnlen: Likewise.
17667         * modules/unistr/u8-strpbrk: Likewise.
17668         * modules/unistr/u8-strrchr: Likewise.
17669         * modules/unistr/u8-strspn: Likewise.
17670         * modules/unistr/u8-strstr: Likewise.
17671         * modules/unistr/u8-strtok: Likewise.
17672         * modules/unistr/u8-to-u16: Likewise.
17673         * modules/unistr/u8-to-u32: Likewise.
17674         * modules/unistr/u8-uctomb: Likewise.
17675         * modules/unistr/u16-check: Likewise.
17676         * modules/unistr/u16-chr: Likewise.
17677         * modules/unistr/u16-cmp: Likewise.
17678         * modules/unistr/u16-cmp2: Likewise.
17679         * modules/unistr/u16-cpy: Likewise.
17680         * modules/unistr/u16-cpy-alloc: Likewise.
17681         * modules/unistr/u16-endswith: Likewise.
17682         * modules/unistr/u16-mblen: Likewise.
17683         * modules/unistr/u16-mbsnlen: Likewise.
17684         * modules/unistr/u16-mbtouc: Likewise.
17685         * modules/unistr/u16-mbtouc-unsafe: Likewise.
17686         * modules/unistr/u16-mbtoucr: Likewise.
17687         * modules/unistr/u16-move: Likewise.
17688         * modules/unistr/u16-next: Likewise.
17689         * modules/unistr/u16-prev: Likewise.
17690         * modules/unistr/u16-set: Likewise.
17691         * modules/unistr/u16-startswith: Likewise.
17692         * modules/unistr/u16-stpcpy: Likewise.
17693         * modules/unistr/u16-stpncpy: Likewise.
17694         * modules/unistr/u16-strcat: Likewise.
17695         * modules/unistr/u16-strchr: Likewise.
17696         * modules/unistr/u16-strcmp: Likewise.
17697         * modules/unistr/u16-strcoll: Likewise.
17698         * modules/unistr/u16-strcpy: Likewise.
17699         * modules/unistr/u16-strcspn: Likewise.
17700         * modules/unistr/u16-strdup: Likewise.
17701         * modules/unistr/u16-strlen: Likewise.
17702         * modules/unistr/u16-strmblen: Likewise.
17703         * modules/unistr/u16-strmbtouc: Likewise.
17704         * modules/unistr/u16-strncat: Likewise.
17705         * modules/unistr/u16-strncmp: Likewise.
17706         * modules/unistr/u16-strncpy: Likewise.
17707         * modules/unistr/u16-strnlen: Likewise.
17708         * modules/unistr/u16-strpbrk: Likewise.
17709         * modules/unistr/u16-strrchr: Likewise.
17710         * modules/unistr/u16-strspn: Likewise.
17711         * modules/unistr/u16-strstr: Likewise.
17712         * modules/unistr/u16-strtok: Likewise.
17713         * modules/unistr/u16-to-u32: Likewise.
17714         * modules/unistr/u16-to-u8: Likewise.
17715         * modules/unistr/u16-uctomb: Likewise.
17716         * modules/unistr/u32-check: Likewise.
17717         * modules/unistr/u32-chr: Likewise.
17718         * modules/unistr/u32-cmp: Likewise.
17719         * modules/unistr/u32-cmp2: Likewise.
17720         * modules/unistr/u32-cpy: Likewise.
17721         * modules/unistr/u32-cpy-alloc: Likewise.
17722         * modules/unistr/u32-endswith: Likewise.
17723         * modules/unistr/u32-mblen: Likewise.
17724         * modules/unistr/u32-mbsnlen: Likewise.
17725         * modules/unistr/u32-mbtouc: Likewise.
17726         * modules/unistr/u32-mbtouc-unsafe: Likewise.
17727         * modules/unistr/u32-mbtoucr: Likewise.
17728         * modules/unistr/u32-move: Likewise.
17729         * modules/unistr/u32-next: Likewise.
17730         * modules/unistr/u32-prev: Likewise.
17731         * modules/unistr/u32-set: Likewise.
17732         * modules/unistr/u32-startswith: Likewise.
17733         * modules/unistr/u32-stpcpy: Likewise.
17734         * modules/unistr/u32-stpncpy: Likewise.
17735         * modules/unistr/u32-strcat: Likewise.
17736         * modules/unistr/u32-strchr: Likewise.
17737         * modules/unistr/u32-strcmp: Likewise.
17738         * modules/unistr/u32-strcoll: Likewise.
17739         * modules/unistr/u32-strcpy: Likewise.
17740         * modules/unistr/u32-strcspn: Likewise.
17741         * modules/unistr/u32-strdup: Likewise.
17742         * modules/unistr/u32-strlen: Likewise.
17743         * modules/unistr/u32-strmblen: Likewise.
17744         * modules/unistr/u32-strmbtouc: Likewise.
17745         * modules/unistr/u32-strncat: Likewise.
17746         * modules/unistr/u32-strncmp: Likewise.
17747         * modules/unistr/u32-strncpy: Likewise.
17748         * modules/unistr/u32-strnlen: Likewise.
17749         * modules/unistr/u32-strpbrk: Likewise.
17750         * modules/unistr/u32-strrchr: Likewise.
17751         * modules/unistr/u32-strspn: Likewise.
17752         * modules/unistr/u32-strstr: Likewise.
17753         * modules/unistr/u32-strtok: Likewise.
17754         * modules/unistr/u32-to-u16: Likewise.
17755         * modules/unistr/u32-to-u8: Likewise.
17756         * modules/unistr/u32-uctomb: Likewise.
17757         * modules/uniwbrk/u8-wordbreaks: Likewise.
17758         * modules/uniwbrk/u16-wordbreaks: Likewise.
17759         * modules/uniwbrk/u32-wordbreaks: Likewise.
17760         * modules/uniwbrk/ulc-wordbreaks: Likewise.
17761         * modules/uniwbrk/wordbreak-property: Likewise.
17762         * modules/uniwidth/u8-strwidth: Likewise.
17763         * modules/uniwidth/u8-width: Likewise.
17764         * modules/uniwidth/u16-strwidth: Likewise.
17765         * modules/uniwidth/u16-width: Likewise.
17766         * modules/uniwidth/u32-strwidth: Likewise.
17767         * modules/uniwidth/u32-width: Likewise.
17768         * modules/uniwidth/width: Likewise.
17769         * modules/unicase/cased-tests (Makefile.am): Link all test programs
17770         with $(LIBUNISTRING).
17771         * modules/unicase/ignorable-tests: Likewise.
17772         * modules/unicase/locale-language-tests: Likewise.
17773         * modules/unicase/tolower-tests: Likewise.
17774         * modules/unicase/totitle-tests: Likewise.
17775         * modules/unicase/toupper-tests: Likewise.
17776         * modules/unicase/u8-casecmp-tests: Likewise.
17777         * modules/unicase/u8-casecoll-tests: Likewise.
17778         * modules/unicase/u8-casefold-tests: Likewise.
17779         * modules/unicase/u8-is-cased-tests: Likewise.
17780         * modules/unicase/u8-is-casefolded-tests: Likewise.
17781         * modules/unicase/u8-is-lowercase-tests: Likewise.
17782         * modules/unicase/u8-is-titlecase-tests: Likewise.
17783         * modules/unicase/u8-is-uppercase-tests: Likewise.
17784         * modules/unicase/u8-tolower-tests: Likewise.
17785         * modules/unicase/u8-totitle-tests: Likewise.
17786         * modules/unicase/u8-toupper-tests: Likewise.
17787         * modules/unicase/u16-casecmp-tests: Likewise.
17788         * modules/unicase/u16-casecoll-tests: Likewise.
17789         * modules/unicase/u16-casefold-tests: Likewise.
17790         * modules/unicase/u16-is-cased-tests: Likewise.
17791         * modules/unicase/u16-is-casefolded-tests: Likewise.
17792         * modules/unicase/u16-is-lowercase-tests: Likewise.
17793         * modules/unicase/u16-is-titlecase-tests: Likewise.
17794         * modules/unicase/u16-is-uppercase-tests: Likewise.
17795         * modules/unicase/u16-tolower-tests: Likewise.
17796         * modules/unicase/u16-totitle-tests: Likewise.
17797         * modules/unicase/u16-toupper-tests: Likewise.
17798         * modules/unicase/u32-casecmp-tests: Likewise.
17799         * modules/unicase/u32-casecoll-tests: Likewise.
17800         * modules/unicase/u32-casefold-tests: Likewise.
17801         * modules/unicase/u32-is-cased-tests: Likewise.
17802         * modules/unicase/u32-is-casefolded-tests: Likewise.
17803         * modules/unicase/u32-is-lowercase-tests: Likewise.
17804         * modules/unicase/u32-is-titlecase-tests: Likewise.
17805         * modules/unicase/u32-is-uppercase-tests: Likewise.
17806         * modules/unicase/u32-tolower-tests: Likewise.
17807         * modules/unicase/u32-totitle-tests: Likewise.
17808         * modules/unicase/u32-toupper-tests: Likewise.
17809         * modules/unicase/ulc-casecmp-tests: Likewise.
17810         * modules/unicase/ulc-casecoll-tests: Likewise.
17811         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
17812         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
17813         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
17814         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
17815         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
17816         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
17817         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
17818         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
17819         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
17820         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
17821         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
17822         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
17823         * modules/unictype/bidicategory-byname-tests: Likewise.
17824         * modules/unictype/bidicategory-name-tests: Likewise.
17825         * modules/unictype/bidicategory-of-tests: Likewise.
17826         * modules/unictype/bidicategory-test-tests: Likewise.
17827         * modules/unictype/block-list-tests: Likewise.
17828         * modules/unictype/block-of-tests: Likewise.
17829         * modules/unictype/block-test-tests: Likewise.
17830         * modules/unictype/category-C-tests: Likewise.
17831         * modules/unictype/category-Cc-tests: Likewise.
17832         * modules/unictype/category-Cf-tests: Likewise.
17833         * modules/unictype/category-Cn-tests: Likewise.
17834         * modules/unictype/category-Co-tests: Likewise.
17835         * modules/unictype/category-Cs-tests: Likewise.
17836         * modules/unictype/category-L-tests: Likewise.
17837         * modules/unictype/category-Ll-tests: Likewise.
17838         * modules/unictype/category-Lm-tests: Likewise.
17839         * modules/unictype/category-Lo-tests: Likewise.
17840         * modules/unictype/category-Lt-tests: Likewise.
17841         * modules/unictype/category-Lu-tests: Likewise.
17842         * modules/unictype/category-M-tests: Likewise.
17843         * modules/unictype/category-Mc-tests: Likewise.
17844         * modules/unictype/category-Me-tests: Likewise.
17845         * modules/unictype/category-Mn-tests: Likewise.
17846         * modules/unictype/category-N-tests: Likewise.
17847         * modules/unictype/category-Nd-tests: Likewise.
17848         * modules/unictype/category-Nl-tests: Likewise.
17849         * modules/unictype/category-No-tests: Likewise.
17850         * modules/unictype/category-P-tests: Likewise.
17851         * modules/unictype/category-Pc-tests: Likewise.
17852         * modules/unictype/category-Pd-tests: Likewise.
17853         * modules/unictype/category-Pe-tests: Likewise.
17854         * modules/unictype/category-Pf-tests: Likewise.
17855         * modules/unictype/category-Pi-tests: Likewise.
17856         * modules/unictype/category-Po-tests: Likewise.
17857         * modules/unictype/category-Ps-tests: Likewise.
17858         * modules/unictype/category-S-tests: Likewise.
17859         * modules/unictype/category-Sc-tests: Likewise.
17860         * modules/unictype/category-Sk-tests: Likewise.
17861         * modules/unictype/category-Sm-tests: Likewise.
17862         * modules/unictype/category-So-tests: Likewise.
17863         * modules/unictype/category-Z-tests: Likewise.
17864         * modules/unictype/category-Zl-tests: Likewise.
17865         * modules/unictype/category-Zp-tests: Likewise.
17866         * modules/unictype/category-Zs-tests: Likewise.
17867         * modules/unictype/category-and-not-tests: Likewise.
17868         * modules/unictype/category-and-tests: Likewise.
17869         * modules/unictype/category-byname-tests: Likewise.
17870         * modules/unictype/category-name-tests: Likewise.
17871         * modules/unictype/category-none-tests: Likewise.
17872         * modules/unictype/category-of-tests: Likewise.
17873         * modules/unictype/category-or-tests: Likewise.
17874         * modules/unictype/category-test-withtable-tests: Likewise.
17875         * modules/unictype/combining-class-tests: Likewise.
17876         * modules/unictype/ctype-alnum-tests: Likewise.
17877         * modules/unictype/ctype-alpha-tests: Likewise.
17878         * modules/unictype/ctype-blank-tests: Likewise.
17879         * modules/unictype/ctype-cntrl-tests: Likewise.
17880         * modules/unictype/ctype-digit-tests: Likewise.
17881         * modules/unictype/ctype-graph-tests: Likewise.
17882         * modules/unictype/ctype-lower-tests: Likewise.
17883         * modules/unictype/ctype-print-tests: Likewise.
17884         * modules/unictype/ctype-punct-tests: Likewise.
17885         * modules/unictype/ctype-space-tests: Likewise.
17886         * modules/unictype/ctype-upper-tests: Likewise.
17887         * modules/unictype/ctype-xdigit-tests: Likewise.
17888         * modules/unictype/decimal-digit-tests: Likewise.
17889         * modules/unictype/digit-tests: Likewise.
17890         * modules/unictype/mirror-tests: Likewise.
17891         * modules/unictype/numeric-tests: Likewise.
17892         * modules/unictype/property-alphabetic-tests: Likewise.
17893         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
17894         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
17895         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
17896         * modules/unictype/property-bidi-block-separator-tests: Likewise.
17897         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
17898         * modules/unictype/property-bidi-common-separator-tests: Likewise.
17899         * modules/unictype/property-bidi-control-tests: Likewise.
17900         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
17901         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
17902         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
17903         * modules/unictype/property-bidi-european-digit-tests: Likewise.
17904         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
17905         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
17906         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
17907         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
17908         * modules/unictype/property-bidi-pdf-tests: Likewise.
17909         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
17910         * modules/unictype/property-bidi-whitespace-tests: Likewise.
17911         * modules/unictype/property-byname-tests: Likewise.
17912         * modules/unictype/property-combining-tests: Likewise.
17913         * modules/unictype/property-composite-tests: Likewise.
17914         * modules/unictype/property-currency-symbol-tests: Likewise.
17915         * modules/unictype/property-dash-tests: Likewise.
17916         * modules/unictype/property-decimal-digit-tests: Likewise.
17917         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
17918         * modules/unictype/property-deprecated-tests: Likewise.
17919         * modules/unictype/property-diacritic-tests: Likewise.
17920         * modules/unictype/property-extender-tests: Likewise.
17921         * modules/unictype/property-format-control-tests: Likewise.
17922         * modules/unictype/property-grapheme-base-tests: Likewise.
17923         * modules/unictype/property-grapheme-extend-tests: Likewise.
17924         * modules/unictype/property-grapheme-link-tests: Likewise.
17925         * modules/unictype/property-hex-digit-tests: Likewise.
17926         * modules/unictype/property-hyphen-tests: Likewise.
17927         * modules/unictype/property-id-continue-tests: Likewise.
17928         * modules/unictype/property-id-start-tests: Likewise.
17929         * modules/unictype/property-ideographic-tests: Likewise.
17930         * modules/unictype/property-ids-binary-operator-tests: Likewise.
17931         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
17932         * modules/unictype/property-ignorable-control-tests: Likewise.
17933         * modules/unictype/property-iso-control-tests: Likewise.
17934         * modules/unictype/property-join-control-tests: Likewise.
17935         * modules/unictype/property-left-of-pair-tests: Likewise.
17936         * modules/unictype/property-line-separator-tests: Likewise.
17937         * modules/unictype/property-logical-order-exception-tests: Likewise.
17938         * modules/unictype/property-lowercase-tests: Likewise.
17939         * modules/unictype/property-math-tests: Likewise.
17940         * modules/unictype/property-non-break-tests: Likewise.
17941         * modules/unictype/property-not-a-character-tests: Likewise.
17942         * modules/unictype/property-numeric-tests: Likewise.
17943         * modules/unictype/property-other-alphabetic-tests: Likewise.
17944         * modules/unictype/property-other-default-ignorable-code-point-tests:
17945         Likewise.
17946         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
17947         * modules/unictype/property-other-id-continue-tests: Likewise.
17948         * modules/unictype/property-other-id-start-tests: Likewise.
17949         * modules/unictype/property-other-lowercase-tests: Likewise.
17950         * modules/unictype/property-other-math-tests: Likewise.
17951         * modules/unictype/property-other-uppercase-tests: Likewise.
17952         * modules/unictype/property-paired-punctuation-tests: Likewise.
17953         * modules/unictype/property-paragraph-separator-tests: Likewise.
17954         * modules/unictype/property-pattern-syntax-tests: Likewise.
17955         * modules/unictype/property-pattern-white-space-tests: Likewise.
17956         * modules/unictype/property-private-use-tests: Likewise.
17957         * modules/unictype/property-punctuation-tests: Likewise.
17958         * modules/unictype/property-quotation-mark-tests: Likewise.
17959         * modules/unictype/property-radical-tests: Likewise.
17960         * modules/unictype/property-sentence-terminal-tests: Likewise.
17961         * modules/unictype/property-soft-dotted-tests: Likewise.
17962         * modules/unictype/property-space-tests: Likewise.
17963         * modules/unictype/property-terminal-punctuation-tests: Likewise.
17964         * modules/unictype/property-test-tests: Likewise.
17965         * modules/unictype/property-titlecase-tests: Likewise.
17966         * modules/unictype/property-unassigned-code-value-tests: Likewise.
17967         * modules/unictype/property-unified-ideograph-tests: Likewise.
17968         * modules/unictype/property-uppercase-tests: Likewise.
17969         * modules/unictype/property-variation-selector-tests: Likewise.
17970         * modules/unictype/property-white-space-tests: Likewise.
17971         * modules/unictype/property-xid-continue-tests: Likewise.
17972         * modules/unictype/property-xid-start-tests: Likewise.
17973         * modules/unictype/property-zero-width-tests: Likewise.
17974         * modules/unictype/scripts-tests: Likewise.
17975         * modules/unictype/syntax-c-ident-tests: Likewise.
17976         * modules/unictype/syntax-c-whitespace-tests: Likewise.
17977         * modules/unictype/syntax-java-ident-tests: Likewise.
17978         * modules/unictype/syntax-java-whitespace-tests: Likewise.
17979         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
17980         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
17981         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
17982         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
17983         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
17984         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
17985         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
17986         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
17987         * modules/uniname/uniname-tests: Likewise.
17988         * modules/uninorm/canonical-decomposition-tests: Likewise.
17989         * modules/uninorm/compat-decomposition-tests: Likewise.
17990         * modules/uninorm/composition-tests: Likewise.
17991         * modules/uninorm/decomposing-form-tests: Likewise.
17992         * modules/uninorm/decomposition-tests: Likewise.
17993         * modules/uninorm/filter-tests: Likewise.
17994         * modules/uninorm/nfc-tests: Likewise.
17995         * modules/uninorm/nfd-tests: Likewise.
17996         * modules/uninorm/nfkc-tests: Likewise.
17997         * modules/uninorm/nfkd-tests: Likewise.
17998         * modules/uninorm/u8-normcmp-tests: Likewise.
17999         * modules/uninorm/u8-normcoll-tests: Likewise.
18000         * modules/uninorm/u16-normcmp-tests: Likewise.
18001         * modules/uninorm/u16-normcoll-tests: Likewise.
18002         * modules/uninorm/u32-normcmp-tests: Likewise.
18003         * modules/uninorm/u32-normcoll-tests: Likewise.
18004         * modules/unistdio/u8-asnprintf-tests: Likewise.
18005         * modules/unistdio/u8-vasnprintf-tests: Likewise.
18006         * modules/unistdio/u8-vasprintf-tests: Likewise.
18007         * modules/unistdio/u8-vsnprintf-tests: Likewise.
18008         * modules/unistdio/u8-vsprintf-tests: Likewise.
18009         * modules/unistdio/u16-asnprintf-tests: Likewise.
18010         * modules/unistdio/u16-vasnprintf-tests: Likewise.
18011         * modules/unistdio/u16-vasprintf-tests: Likewise.
18012         * modules/unistdio/u16-vsnprintf-tests: Likewise.
18013         * modules/unistdio/u16-vsprintf-tests: Likewise.
18014         * modules/unistdio/u32-asnprintf-tests: Likewise.
18015         * modules/unistdio/u32-vasnprintf-tests: Likewise.
18016         * modules/unistdio/u32-vasprintf-tests: Likewise.
18017         * modules/unistdio/u32-vsnprintf-tests: Likewise.
18018         * modules/unistdio/u32-vsprintf-tests: Likewise.
18019         * modules/unistdio/ulc-asnprintf-tests: Likewise.
18020         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
18021         * modules/unistdio/ulc-vasprintf-tests: Likewise.
18022         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
18023         * modules/unistdio/ulc-vsprintf-tests: Likewise.
18024         * modules/unistr/u8-check-tests: Likewise.
18025         * modules/unistr/u8-chr-tests: Likewise.
18026         * modules/unistr/u8-cmp-tests: Likewise.
18027         * modules/unistr/u8-cmp2-tests: Likewise.
18028         * modules/unistr/u8-cpy-alloc-tests: Likewise.
18029         * modules/unistr/u8-cpy-tests: Likewise.
18030         * modules/unistr/u8-mblen-tests: Likewise.
18031         * modules/unistr/u8-mbsnlen-tests: Likewise.
18032         * modules/unistr/u8-mbtouc-tests: Likewise.
18033         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
18034         * modules/unistr/u8-mbtoucr-tests: Likewise.
18035         * modules/unistr/u8-move-tests: Likewise.
18036         * modules/unistr/u8-next-tests: Likewise.
18037         * modules/unistr/u8-prev-tests: Likewise.
18038         * modules/unistr/u8-set-tests: Likewise.
18039         * modules/unistr/u8-stpcpy-tests: Likewise.
18040         * modules/unistr/u8-stpncpy-tests: Likewise.
18041         * modules/unistr/u8-strcat-tests: Likewise.
18042         * modules/unistr/u8-strcmp-tests: Likewise.
18043         * modules/unistr/u8-strcoll-tests: Likewise.
18044         * modules/unistr/u8-strcpy-tests: Likewise.
18045         * modules/unistr/u8-strdup-tests: Likewise.
18046         * modules/unistr/u8-strlen-tests: Likewise.
18047         * modules/unistr/u8-strmblen-tests: Likewise.
18048         * modules/unistr/u8-strmbtouc-tests: Likewise.
18049         * modules/unistr/u8-strncat-tests: Likewise.
18050         * modules/unistr/u8-strncmp-tests: Likewise.
18051         * modules/unistr/u8-strncpy-tests: Likewise.
18052         * modules/unistr/u8-strnlen-tests: Likewise.
18053         * modules/unistr/u8-to-u16-tests: Likewise.
18054         * modules/unistr/u8-to-u32-tests: Likewise.
18055         * modules/unistr/u8-uctomb-tests: Likewise.
18056         * modules/unistr/u16-check-tests: Likewise.
18057         * modules/unistr/u16-chr-tests: Likewise.
18058         * modules/unistr/u16-cmp-tests: Likewise.
18059         * modules/unistr/u16-cmp2-tests: Likewise.
18060         * modules/unistr/u16-cpy-alloc-tests: Likewise.
18061         * modules/unistr/u16-cpy-tests: Likewise.
18062         * modules/unistr/u16-mblen-tests: Likewise.
18063         * modules/unistr/u16-mbsnlen-tests: Likewise.
18064         * modules/unistr/u16-mbtouc-tests: Likewise.
18065         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
18066         * modules/unistr/u16-mbtoucr-tests: Likewise.
18067         * modules/unistr/u16-move-tests: Likewise.
18068         * modules/unistr/u16-next-tests: Likewise.
18069         * modules/unistr/u16-prev-tests: Likewise.
18070         * modules/unistr/u16-set-tests: Likewise.
18071         * modules/unistr/u16-stpcpy-tests: Likewise.
18072         * modules/unistr/u16-stpncpy-tests: Likewise.
18073         * modules/unistr/u16-strcat-tests: Likewise.
18074         * modules/unistr/u16-strcmp-tests: Likewise.
18075         * modules/unistr/u16-strcoll-tests: Likewise.
18076         * modules/unistr/u16-strcpy-tests: Likewise.
18077         * modules/unistr/u16-strdup-tests: Likewise.
18078         * modules/unistr/u16-strlen-tests: Likewise.
18079         * modules/unistr/u16-strmblen-tests: Likewise.
18080         * modules/unistr/u16-strmbtouc-tests: Likewise.
18081         * modules/unistr/u16-strncat-tests: Likewise.
18082         * modules/unistr/u16-strncmp-tests: Likewise.
18083         * modules/unistr/u16-strncpy-tests: Likewise.
18084         * modules/unistr/u16-strnlen-tests: Likewise.
18085         * modules/unistr/u16-to-u32-tests: Likewise.
18086         * modules/unistr/u16-to-u8-tests: Likewise.
18087         * modules/unistr/u16-uctomb-tests: Likewise.
18088         * modules/unistr/u32-check-tests: Likewise.
18089         * modules/unistr/u32-chr-tests: Likewise.
18090         * modules/unistr/u32-cmp-tests: Likewise.
18091         * modules/unistr/u32-cmp2-tests: Likewise.
18092         * modules/unistr/u32-cpy-alloc-tests: Likewise.
18093         * modules/unistr/u32-cpy-tests: Likewise.
18094         * modules/unistr/u32-mblen-tests: Likewise.
18095         * modules/unistr/u32-mbsnlen-tests: Likewise.
18096         * modules/unistr/u32-mbtouc-tests: Likewise.
18097         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
18098         * modules/unistr/u32-mbtoucr-tests: Likewise.
18099         * modules/unistr/u32-move-tests: Likewise.
18100         * modules/unistr/u32-next-tests: Likewise.
18101         * modules/unistr/u32-prev-tests: Likewise.
18102         * modules/unistr/u32-set-tests: Likewise.
18103         * modules/unistr/u32-stpcpy-tests: Likewise.
18104         * modules/unistr/u32-stpncpy-tests: Likewise.
18105         * modules/unistr/u32-strcat-tests: Likewise.
18106         * modules/unistr/u32-strcmp-tests: Likewise.
18107         * modules/unistr/u32-strcoll-tests: Likewise.
18108         * modules/unistr/u32-strcpy-tests: Likewise.
18109         * modules/unistr/u32-strdup-tests: Likewise.
18110         * modules/unistr/u32-strlen-tests: Likewise.
18111         * modules/unistr/u32-strmblen-tests: Likewise.
18112         * modules/unistr/u32-strmbtouc-tests: Likewise.
18113         * modules/unistr/u32-strncat-tests: Likewise.
18114         * modules/unistr/u32-strncmp-tests: Likewise.
18115         * modules/unistr/u32-strncpy-tests: Likewise.
18116         * modules/unistr/u32-strnlen-tests: Likewise.
18117         * modules/unistr/u32-to-u16-tests: Likewise.
18118         * modules/unistr/u32-to-u8-tests: Likewise.
18119         * modules/unistr/u32-uctomb-tests: Likewise.
18120         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
18121         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
18122         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
18123         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
18124         * modules/uniwidth/u8-strwidth-tests: Likewise.
18125         * modules/uniwidth/u8-width-tests: Likewise.
18126         * modules/uniwidth/u16-strwidth-tests: Likewise.
18127         * modules/uniwidth/u16-width-tests: Likewise.
18128         * modules/uniwidth/u32-strwidth-tests: Likewise.
18129         * modules/uniwidth/u32-width-tests: Likewise.
18130         * modules/uniwidth/width-tests: Likewise.
18131
18132 2010-05-18  Richard Jones  <rjones@redhat.com>
18133
18134         doc: users.txt: list hivex
18135         * users.txt: Add hivex.
18136
18137 2010-05-18  Richard Jones  <rjones@redhat.com>
18138
18139         doc: users.txt: list febootstrap
18140         * users.txt: Add febootstrap.
18141
18142 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
18143
18144         bootstrap: fix an error when gnulib is not used as a git submodule
18145         * build-aux/bootstrap (gnulib_path): If its length is zero then
18146         assign "gnulib" to it.
18147         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
18148
18149 2010-05-16  Bruno Haible  <bruno@clisp.org>
18150
18151         Avoid autoconf warnings about AM_ICONV.
18152         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
18153         2.64.
18154
18155 2010-05-16  Bruno Haible  <bruno@clisp.org>
18156
18157         absolute-header: Make the macro usable in more situations.
18158         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
18159         from gl_ABSOLUTE_HEADER.
18160         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
18161
18162 2010-05-16  James Youngman  <jay@gnu.org>
18163
18164         doc: update users.txt
18165         * users.txt: Add CSSC.
18166
18167 2010-05-16  Jim Meyering  <meyering@redhat.com>
18168
18169         init.sh: fix an error in the previous change; add more comments
18170         * tests/init.sh: Compare exit code in loop against 9, not 2.
18171         Patch by Bruno Haible.
18172         Make the two tests more similar by adding an empty "then" clause.
18173         Add comments.
18174
18175         init.sh: avoid unnecessary shell re-exec
18176         * tests/init.sh: Improve the re-exec-required check to first test the
18177         current shell.  If it passes the test, do not search for a shell that
18178         does pass, and do not re-exec.  This test is particularly contorted to
18179         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
18180         of $(...) evokes a syntax error and causes immediate shell exit with
18181         status 2.  Bruno Haible reported that the re-exec made it impossible
18182         to single-step through any init.sh-using script.
18183
18184 2010-05-16  Bruno Haible  <bruno@clisp.org>
18185
18186         Fix collision between gnulib's and libintl's printf replacements.
18187         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
18188         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
18189         (printf): When using GNU C, map the __printf__ function to rpl_printf
18190         via __asm__. When not using GNU C, define rpl_printf instead of
18191         __printf__.
18192         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
18193         commit.
18194         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
18195         commit.
18196         * m4/asm-underscore.m4: New file.
18197         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
18198         * modules/stdio (Files): Add m4/asm-underscore.m4.
18199         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
18200         Reported by Ben Pfaff.
18201
18202 2010-05-16  Bruno Haible  <bruno@clisp.org>
18203
18204         verify: Avoid skipping the test on openSUSE 11.0.
18205         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
18206
18207 2010-05-13  Bruno Haible  <bruno@clisp.org>
18208
18209         Avoid useless warnings from G++.
18210         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
18211         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
18212         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
18213
18214 2010-05-11  Jim Meyering  <meyering@redhat.com>
18215
18216         maint.mk: tweak preceding change
18217         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
18218         regexps tighter by anchoring at EOL, and make the new group "shy"
18219         for slightly decreased overhead.
18220
18221 2010-05-11  Eric Blake  <eblake@redhat.com>
18222
18223         maint.mk: gnulib doesn't guarantee NSIG
18224         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
18225
18226 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
18227
18228         test-pwrite.c: Remove unused variable declaration.
18229         * tests/test-pwrite.c (main): Remove read_buf declaration.
18230
18231         Remove useless test-pwrite.sh file.
18232         * tests/test-pwrite.sh: Delete file.
18233         * modules/pwrite-tests: Remove references.
18234         Reported by Bruno Haible.
18235
18236 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
18237
18238         init.sh: fix a typo
18239         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
18240
18241 2010-05-10  Jim Meyering  <meyering@redhat.com>
18242
18243         maint.mk: avoid using a temporary file in the always-defined-macros check
18244         * top/maint.mk (.re-defmac): Remove rule.
18245         (gl_trap_): Remove definition.
18246         (sc_prohibit_always-defined_macros): Rewrite not to create and
18247         depend on a temporary file.  Instead, depend on GNU grep's ability
18248         to read a list of regular expressions from stdin when given "-f -".
18249
18250 2010-05-09  Bruno Haible  <bruno@clisp.org>
18251
18252         Update to GNU gettext 0.18, part 1.
18253         * m4/gettext.m4: Update to GNU gettext 0.18.
18254         * m4/intl.m4: Likewise.
18255         * m4/po.m4: Likewise.
18256         * modules/gettext (Files): Add m4/fcntl-o.m4.
18257         (configure.ac): Require gettext infrastructure from version 0.18.
18258
18259 2010-05-09  Jim Meyering  <meyering@redhat.com>
18260
18261         init.sh: enable MALLOC_PERTURB_
18262         * tests/init.sh: Enable glibc's malloc-perturbing option.
18263
18264         maint.mk: improve sc_cross_check_PATH_usage_in_tests
18265         With my recent change in init.sh from the two-line form:
18266             -#   : ${srcdir=.}
18267             -#   . "$srcdir/init.sh"; path_prepend_ .
18268             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
18269         I noticed that using the one-line form would cause this test
18270         to fail with a false-positive, or to stop working altogether,
18271         depending on whether help-version changed or all the tests did.
18272         * top/maint.mk (_hv_regex): Remove this definition.
18273         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
18274         (_hv_regex_strong): Use a stronger regex to check for conformance.
18275         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
18276         Give a separate diagnostic for lack of conforming use.
18277
18278         maint.mk: prohibit definition of symbols defined by gnulib
18279         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
18280         definition of symbols defined by gnulib.
18281
18282 2010-05-09  Bruno Haible  <bruno@clisp.org>
18283
18284         acl: Avoid test failure on Cygwin-hosted mingw.
18285         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
18286
18287 2010-05-09  Bruno Haible  <bruno@clisp.org>
18288
18289         error: Use system's fcntl function.
18290         * lib/error.c (fcntl): Undefine.
18291
18292 2010-05-09  Jim Meyering  <meyering@redhat.com>
18293
18294         verify: adjust formatting to be more consistent
18295         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
18296         argument-list '('s, and after one comma.
18297
18298 2010-05-09  Bruno Haible  <bruno@clisp.org>
18299
18300         error: More reliable output on mingw.
18301         * lib/error.c: Include <windows.h>.
18302         (is_open): New function.
18303         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
18304         defined.
18305
18306 2010-05-09  Bruno Haible  <bruno@clisp.org>
18307
18308         vasnprintf: Fix syntax errors in libintl build on mingw.
18309         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
18310         pad_ourselves and prec_ourselves after use.
18311
18312 2010-05-08  Bruno Haible  <bruno@clisp.org>
18313
18314         * lib/config.charset: Update comments for Cygwin 1.7.
18315         * lib/localcharset.c: Likewise.
18316
18317 2010-05-07  Jim Meyering  <meyering@redhat.com>
18318
18319         init.sh: improve comments
18320         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
18321         . "${srcdir=.}/init.sh"; path_prepend_ .
18322         Add a note about path_prepend_ and the alternative of using
18323         TESTS_ENVIRONMENT.
18324
18325 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
18326
18327         exclude: Unescape hashed patterns in wildcard mode.
18328         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
18329         to the hash list.
18330         * tests/test-exclude8.sh: New test case.
18331         * modules/exclude-tests: Add new test.
18332
18333 2010-05-05  Eric Blake  <eblake@redhat.com>
18334
18335         verify: automate tests
18336         * modules/verify-tests: New module.
18337         * tests/test-verify.sh: New file.
18338         * tests/test-verify.c: Guard each negative test with a unique id.
18339         Also avoid warning about unused left hand of comma expressions.
18340
18341 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
18342
18343         Further improvements to verify.h, suggested by Eric Blake.
18344         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
18345         the GL_* versions, to avoid collision with OpenGL.
18346         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
18347         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
18348         than testing merely whether it's defined.
18349
18350         Modify verify.h to pacify gcc -Wredundant_decls.
18351         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
18352         These use the prefix "GL_" since they're likely to be useful elsewhere.
18353         We may need to break them out into a different .h file.
18354         (__COUNTER__): Define to 0 if the compiler doesn't support it.
18355         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
18356         of verify_function__.
18357
18358 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
18359
18360         Tests for module pwrite.
18361         * modules/pwrite-tests: New file.
18362         * tests/test-pwrite.sh: New file.
18363         * tests/test-pwrite.c: New file.
18364
18365         New module pwrite.
18366         * lib/unistd.in.h (pwrite): New declaration.
18367         * lib/pwrite.c: New file, from glibc with modifications.
18368         * m4/pwrite.m4: New file.
18369         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
18370         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
18371         REPLACE_PWRITE.
18372         * modules/pwrite: New file.
18373         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
18374         REPLACE_PWRITE.
18375         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
18376         * doc/posix-functions/pwrite.texi: Mention the new module.
18377
18378 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
18379
18380         pread: Update documentation.
18381         * doc/posix-functions/pread.texi: Mention the 'pread' module.
18382
18383 2010-05-04  Eric Blake  <eblake@redhat.com>
18384
18385         docs: update cygwin progress
18386         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
18387         this bug.
18388         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
18389         Added in cygwin 1.7.2.
18390         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
18391         Likewise.
18392         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
18393         Likewise.
18394         * doc/glibc-functions/dup3.texi (dup3): Likewise.
18395         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
18396         * doc/glibc-functions/accept4.texi (accept4): Likewise.
18397         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
18398         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
18399         Mention nproc module.
18400         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
18401         bug in cygwin 1.7.5 addition.
18402         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
18403         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
18404         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
18405         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
18406         1.7.5.
18407         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
18408         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
18409         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
18410         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
18411         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
18412         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
18413         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
18414         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
18415         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
18416         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
18417         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
18418         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
18419         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
18420         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
18421         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
18422         Likewise.
18423         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
18424         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
18425         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
18426         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
18427         Likewise.
18428         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
18429         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
18430         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
18431         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
18432         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
18433         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
18434         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
18435         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
18436         Likewise.
18437         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
18438         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
18439         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
18440         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
18441         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
18442         Likewise.
18443         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
18444         Likewise.
18445         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
18446         Likewise.
18447         * doc/glibc-functions/xdrrec_endofrecord.texi
18448         (xdrrec_endofrecord): Likewise.
18449         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
18450         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
18451         Likewise.
18452         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
18453         Likewise.
18454
18455 2010-05-04  Jim Meyering  <meyering@redhat.com>
18456
18457         gendocs.sh: make its "-s FILE" option more useful
18458         * build-aux/gendocs.sh: When honoring the -s FILE option, update
18459         $PACKAGE to reflect the probably-different basename of "FILE".
18460
18461 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
18462
18463         bootstrap: don't ignore download_po_files failure
18464         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
18465         failure.
18466
18467 2010-05-03  Jim Meyering  <meyering@redhat.com>
18468
18469         maint.mk: allow to pass options to gendocs.sh
18470         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
18471         (gendocs_options_): New overridable variable.
18472
18473         gnu-web-doc-update: don't ignore configure or build failure
18474         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
18475
18476         announce-gen: backslash-escape '@'s in --help output
18477         * build-aux/announce-gen: Fix syntax errors.
18478
18479         maint.mk, announce-gen: allow project-specific announcement mail headers
18480         * top/maint.mk (translation_project_): Define default.
18481         (announcement_Cc_, announcement_mail_headers_): Likewise.
18482         (announcement): Invoke announce-gen with new --mail-headers option.
18483         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
18484
18485         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
18486         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
18487         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
18488         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
18489         line in the "err2" output file when running "make check" in verbose
18490         mode (i.e., with set -x enabled).
18491
18492 2010-05-03  Bruno Haible  <bruno@clisp.org>
18493
18494         wctob: Fix for weird platforms.
18495         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
18496         argument value.
18497
18498 2010-05-03  Jim Meyering  <meyering@redhat.com>
18499
18500         maint.mk: prohibit unwarranted use of <strings.h>
18501         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
18502         strings.h in a file that does not also use strcasecmp, strncasecmp,
18503         ffs or ffsll.
18504
18505         maint.mk: remove obsolete comments
18506         * top/maint.mk: Remove stale, commented-out rules.
18507
18508 2010-05-02  Bruno Haible  <bruno@clisp.org>
18509
18510         wcwidth: Declare also when it's aliased.
18511         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
18512         macro.
18513
18514 2010-05-02  Bruno Haible  <bruno@clisp.org>
18515
18516         Fix regression from 2010-04-25.
18517         * gnulib-tool (func_modules_transitive_closure): Check the status of
18518         all modules, not only of the tests that are of the form foo-tests where
18519         foo is a module.
18520
18521 2010-05-02  Bruno Haible  <bruno@clisp.org>
18522
18523         wctob: Work around nasty Cygwin 1.7.2 bug.
18524         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
18525         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
18526
18527 2010-05-01  Bruno Haible  <bruno@clisp.org>
18528
18529         fpurge: Sharper test.
18530         * tests/test-fpurge.c (main): Add one more ftell check.
18531         * modules/fpurge-tests (Depends-on): Add ftell.
18532         Suggested by Eric Blake.
18533
18534 2010-05-01  Bruno Haible  <bruno@clisp.org>
18535
18536         ftello: Another test.
18537         * tests/test-ftello3.c: New file.
18538         * modules/ftello-tests (Files): Add it.
18539         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
18540         MOSTLYCLEANFILES.
18541
18542         ftell: Another test.
18543         * tests/test-ftell3.c: New file.
18544         * modules/ftell-tests (Files): Add it.
18545         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
18546         MOSTLYCLEANFILES.
18547
18548 2010-05-01  Bruno Haible  <bruno@clisp.org>
18549
18550         ftell, ftello: Work around Solaris bug.
18551         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
18552         * lib/ftello.c: Include stdio-impl.h.
18553         (ftello): On Solaris, when _IOWRT is set, compute the result without
18554         looking at _IOREAD.
18555         * modules/ftello (Files): Add lib/stdio-impl.h.
18556         * doc/posix-functions/ftell.texi: Mention Solaris bug.
18557         * doc/posix-functions/ftello.texi: Likewise.
18558         Reported by Eric Blake.
18559
18560 2010-05-01  Bruno Haible  <bruno@clisp.org>
18561
18562         freading: Adapt to special meaning of _IOREAD flag on Solaris.
18563         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
18564         the _IOWRT flag is also set.
18565
18566 2010-05-01  Bruno Haible  <bruno@clisp.org>
18567
18568         Fix doc about a HP-UX stdio bug.
18569         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
18570         * doc/posix-functions/ftello.texi: Likewise.
18571
18572 2010-05-01  Bruno Haible  <bruno@clisp.org>
18573
18574         lseek test: Fix failure on Solaris.
18575         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
18576         output.
18577
18578 2010-04-30  Jim Meyering  <meyering@redhat.com>
18579
18580         bootstrap: don't ignore failure to generate po*/Makevars
18581         * build-aux/bootstrap (with_gettext): Don't ignore failure
18582         to create po/Makevars or runtime-po/Makevars.
18583
18584 2010-04-29  Eric Blake  <eblake@redhat.com>
18585
18586         headers: relax license to LGPLv2+
18587         * modules/fcntl-h (License): Relax license.
18588         * modules/getopt-posix (License): Likewise.
18589         * modules/locale (License): Likewise.
18590         * modules/math (License): Likewise.
18591         * modules/pty (License): Likewise.
18592         * modules/sched (License): Likewise.
18593         * modules/search (License): Likewise.
18594         * modules/spawn (License): Likewise.
18595         * modules/stdarg (License): Likewise.
18596         * modules/sysexits (License): Likewise.
18597
18598 2010-04-29  Jim Meyering  <meyering@redhat.com>
18599
18600         inttypes: relax license to LGPLv2+
18601         * modules/inttypes (License): Relax license.
18602
18603 2010-04-29  Simon Josefsson  <simon@josefsson.org>
18604
18605         * top/maint.mk (indent): Run twice to produce idempotent results.
18606
18607 2010-04-28  Bruno Haible  <bruno@clisp.org>
18608
18609         getdate: Generate getdate.c in the source directory.
18610         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
18611         MOSTLYCLEANFILES.
18612         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
18613
18614 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
18615
18616         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
18617         is not declared as a const *; avoid warnings in that case.
18618
18619 2010-04-28  Eric Blake  <eblake@redhat.com>
18620
18621         canonicalize-lgpl: avoid compiler warning
18622         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
18623         declaration' / 'extraneous semicolon' warning with some compilers.
18624         Reported by Andreas Gruenbacher.
18625
18626 2010-04-28  Jim Meyering  <meyering@redhat.com>
18627
18628         init.sh: ensure a more reliable exit status when exiting via trap
18629         * tests/init.sh (setup_): Don't rely on $? in signal handler.
18630         Inspired by patches from Dmitry V. Levin.
18631         Also trap on signal 3 (SIGQUIT).
18632
18633 2010-04-27  Bruno Haible  <bruno@clisp.org>
18634
18635         Update doc about utimes().
18636         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
18637         'utimens' module.
18638         Reported by Andreas Gruenbacher <agruen@suse.de>.
18639
18640 2010-04-27  Eric Blake  <eblake@redhat.com>
18641
18642         full-read, full-write: relax license
18643         * modules/full-read (License): Drop to LGPLv2+.
18644         * modules/full-write (License): Likewise.
18645         * modules/safe-read (License): Likewise.
18646         * modules/safe-write (License): Likewise.
18647
18648         pthread: mention library for linking
18649         * modules/pthread (Link): Mention $(LIB_PTHREAD).
18650
18651 2010-04-27  Jim Meyering  <meyering@redhat.com>
18652
18653         maint.mk: fix a bug introduced in last change
18654         * top/maint.mk (gl_assured_headers_): Now that all names are on
18655         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
18656         is not anchored to end of word, it should be adequate.
18657
18658         maint.mk: avoid side-effect in latest syntax-check
18659         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
18660         to run commands via $(shell...), and hence to incur cost only when
18661         the new rule is actually run.
18662
18663         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
18664         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
18665         and use that to create a regexp used to detect all #if HAVE_..._H uses.
18666         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
18667         (gl_assured_headers_, az_, AZ_): Define.
18668         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
18669
18670 2010-04-26  Jim Meyering  <jim@meyering.net>
18671             Bruno Haible  <bruno@clisp.org>
18672
18673         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
18674         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
18675         Prompted by an exchange with Gilles Espinasse.
18676
18677 2010-04-26  Jim Meyering  <meyering@redhat.com>
18678
18679         git-version-gen: aesthetic tweak
18680         * build-aux/git-version-gen: Use "$nl" rather than a literal,
18681         so that the command remains on a single line.
18682
18683 2010-04-26  Eric Blake  <eblake@redhat.com>
18684
18685         git-version-gen: allow use on EBCDIC hosts
18686         * build-aux/git-version-gen (dirty): Use literal rather than tying
18687         ourselves to ascii.
18688         Reported by Steve Goetze.
18689
18690 2010-04-25  Bruno Haible  <bruno@clisp.org>
18691
18692         netdb: Add support for GNULIB_POSIXCHECK.
18693         * lib/netdb.in.h: Include warn-on-use.h.
18694         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
18695         functions are used when GNULIB_POSIXCHECK is defined and the
18696         getaddrinfo module is not in use.
18697         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
18698         freeaddrinfo, gai_strerror, getnameinfo are declared.
18699         * modules/netdb (Depends-on): Add warn-on-use.
18700         (Makefile.am): Include warn-on-use.h in netdb.h.
18701
18702 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
18703
18704         build: avoid "make check" failure without .git/ directory
18705         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
18706         there is no .git/ directory.
18707
18708 2010-04-25  Bruno Haible  <bruno@clisp.org>
18709
18710         ptsname: Fix misuse of ttyname_r.
18711         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
18712         of errno.
18713
18714 2010-04-25  Bruno Haible  <bruno@clisp.org>
18715
18716         ttyname_r: Make it work on Solaris 10.
18717         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
18718         if the system function has the POSIX declaration. Test whether the
18719         function fails if the buffer is less than 128 bytes large.
18720         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
18721         system's ttyname_r function. Provide a reasonably large buffer.
18722         * modules/ttyname_r (Depends-on): Add extensions.
18723         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
18724
18725 2010-04-25  Bruno Haible  <bruno@clisp.org>
18726
18727         Use the 'extensions' module for some more functions on Solaris.
18728         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
18729         module.
18730         * doc/posix-functions/ctime_r.texi: Likewise.
18731         * doc/posix-functions/getgrgid_r.texi: Likewise.
18732         * doc/posix-functions/getgrnam_r.texi: Likewise.
18733         * doc/posix-functions/getpwnam_r.texi: Likewise.
18734         * doc/posix-functions/getpwuid_r.texi: Likewise.
18735         * doc/posix-functions/readdir_r.texi: Likewise.
18736         * doc/posix-functions/sigwait.texi: Likewise.
18737         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
18738         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
18739
18740 2010-04-25  Bruno Haible  <bruno@clisp.org>
18741
18742         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
18743         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
18744         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
18745         * lib/ttyname_r.c: Include <limits.h>.
18746         (ttyname_r): Define using the system's ttyname_r function, if it exists
18747         and not on Solaris.
18748         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
18749         set.
18750         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
18751         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
18752         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
18753         Reported by Simon Josefsson.
18754
18755 2010-04-25  Bruno Haible  <bruno@clisp.org>
18756
18757         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
18758         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
18759         * doc/posix-functions/ctime_r.texi: Likewise.
18760         * doc/posix-functions/getgrgid_r.texi: Likewise.
18761         * doc/posix-functions/getgrnam_r.texi: Likewise.
18762         * doc/posix-functions/getlogin_r.texi: Likewise.
18763         * doc/posix-functions/getpwnam_r.texi: Likewise.
18764         * doc/posix-functions/getpwuid_r.texi: Likewise.
18765         * doc/posix-functions/readdir_r.texi: Likewise.
18766         * doc/posix-functions/sigwait.texi: Likewise.
18767         * doc/posix-functions/ttyname_r.texi: Likewise.
18768         Reported by Simon Josefsson.
18769
18770 2010-04-25  Bruno Haible  <bruno@clisp.org>
18771
18772         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
18773         * gnulib-tool (func_usage): Document that --with-*-tests options apply
18774         also to --create-testdir.
18775         (func_acceptable): Don't consider the status of *-tests modules here.
18776         (func_modules_transitive_closure): Consider it here, before including a
18777         test module.
18778         (func_import, func_create_testdir): Set inc_all_direct_tests,
18779         inc_all_indirect_tests.
18780         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
18781         --create-testdir and --create-megatestdir.
18782
18783 2010-04-25  Bruno Haible  <bruno@clisp.org>
18784
18785         gnulib-tool: Add --without-*-tests options.
18786         * gnulib-tool (func_usage): Document the --without-*-tests options.
18787         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
18788         excl_unportable_tests): New variables.
18789         Fail if they are specified with --import or --update.
18790         (func_acceptable): Respect the excl_*_tests variables.
18791         (func_import): Set the excl_*_tests variables to empty.
18792
18793 2010-04-25  Simon Josefsson  <simon@josefsson.org>
18794             Bruno Haible  <bruno@clisp.org>
18795
18796         Work around a MacOS X 10.4 bug with openpty.
18797         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
18798         * tests/test-openpty.c (main): Close the master side explicitly.
18799
18800 2010-04-25  Bruno Haible  <bruno@clisp.org>
18801
18802         strnlen: Fix a C++ test error on MacOS X and Solaris.
18803         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
18804         the function is not declared.
18805         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
18806         Simon Josefsson.
18807
18808 2010-04-24  Bruno Haible  <bruno@clisp.org>
18809
18810         Avoid a gcc warning.
18811         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
18812         of correct type for %08lx directive.
18813         Reported by Eric Blake.
18814
18815 2010-04-24  Bruno Haible  <bruno@clisp.org>
18816
18817         vasnprintf: Correct errno value in case of out-of-memory.
18818         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
18819         or sprintf. Use the errno value from SNPRINTF or sprintf.
18820         Reported by Ian Beckwith <ianb@erislabs.net>.
18821
18822 2010-04-24  Bruno Haible  <bruno@clisp.org>
18823
18824         ansi-c++-opt: Find correct compiler when cross-compiling.
18825         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
18826         AC_CHECK_PROGS.
18827         Reported by Simon Josefsson.
18828
18829 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
18830
18831         vc-list-files: Add support for subversion
18832         * build-aux/vc-list-files: Use "svn list" to generate the list of
18833         files controlled by subversion.
18834
18835 2010-04-23  Jim Meyering  <meyering@redhat.com>
18836
18837         vc-list-files tests: convert to use init.sh
18838         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
18839         path_prepend_.
18840         Use Exit, not exit.
18841         Use skip_ rather than open coding it.
18842         Remove trap set-up and compare definitions.
18843         * tests/test-vc-list-files-git.sh: Likewise.
18844         * modules/vc-list-files-tests (Files): Add tests/init.sh.
18845
18846 2010-04-22  Simon Josefsson  <simon@josefsson.org>
18847
18848         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
18849         backup files.
18850
18851 2010-04-21  Simon Josefsson  <simon@josefsson.org>
18852
18853         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
18854
18855 2010-04-20  Eric Blake  <eblake@redhat.com>
18856
18857         tests: be robust to ignored SIGPIPE
18858         * tests/test-select-in.sh: Consume all output.
18859         * tests/test-lseek.sh: Check correct exit status, while avoiding
18860         EPIPE.
18861
18862 2010-04-20  Simon Josefsson  <simon@josefsson.org>
18863             Bruno Haible  <bruno@clisp.org>
18864
18865         visibility: Don't use -fvisibility if it leads to a warning.
18866         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
18867         yes, don't pretend that visibility works if it leads to a warning.
18868         Reported by Mike Gran <spk121@yahoo.com>.
18869
18870 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
18871
18872         * build-aux/bootstrap: Use "git -h" for testing for supported options
18873         instead of "git --help".  The short-form option only shows a summary,
18874         and doesn't layout the full man page.  Grep for the full option name
18875         in the summary, too.
18876
18877 2010-04-19  Bruno Haible  <bruno@clisp.org>
18878
18879         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
18880         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
18881         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
18882         mention of RELOCATABLE_STRIP.
18883         Reported by Sylvain Beucler <beuc@beuc.net>.
18884
18885 2010-04-19  Bruno Haible  <bruno@clisp.org>
18886
18887         * lib/diffseq.h: Fix typo in comment.
18888         Reported by Eric Blake.
18889
18890 2010-04-19  Bruno Haible  <bruno@clisp.org>
18891
18892         ioctl: Move autoconf macro to a .m4 file.
18893         * m4/ioctl.m4: New file, extracted from modules/ioctl.
18894         * modules/ioctl (Files): Add it.
18895         (configure.ac): Simply invoke gl_FUNC_IOCTL.
18896         Reported by Ian Beckwith <ianb@erislabs.net>.
18897
18898 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
18899             Bruno Haible  <bruno@clisp.org>
18900
18901         diffseq: Accommodate use-case with abstract arrays.
18902         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
18903         is not defined.
18904         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
18905         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
18906
18907 2010-04-18  Bruno Haible  <bruno@clisp.org>
18908
18909         * doc/posix-headers/stdbool.texi: More precise wording.
18910
18911 2010-04-17  Jim Meyering  <meyering@redhat.com>
18912
18913         maint.mk: use gnu-style indentation in an embedded perl script
18914         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
18915         Rename variable: s/two/last_two_bytes/
18916
18917 2010-04-16  Eric Blake  <eblake@redhat.com>
18918
18919         test-stdbool: skip test that fails with Solaris CC
18920         * tests/test-stdbool.c (f): Skip test that causes compilation
18921         error under buggy C++ compiler.
18922         * lib/stdbool.in.h: Document the limitation.
18923         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
18924
18925         setenv: allow compilation with C++
18926         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
18927         register keyword.
18928
18929         stdint: allow test to pass with C++
18930         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
18931
18932         getopt: allow compilation with C++
18933         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
18934         struct.
18935         * lib/getopt.c (_getopt_internal_r): Use correct type.
18936         Reported by Dagobert Michelson, via Joel E. Denny.
18937
18938 2010-04-16  Bruno Haible  <bruno@clisp.org>
18939
18940         Override netdb.h always.
18941         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
18942         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
18943         Reported by Ludovic Courtès <ludo@gnu.org>.
18944
18945 2010-04-15  Bruno Haible  <bruno@clisp.org>
18946
18947         openpty: Fix mistake from 2010-03-21.
18948         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
18949         Reported by Simon Josefsson.
18950
18951 2010-04-15  Eric Blake  <eblake@redhat.com>
18952
18953         test-forkpty: fix expected signature
18954         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
18955         Reported by Simon Josefsson.
18956
18957 2010-04-15  Jim Meyering  <meyering@redhat.com>
18958
18959         maint.mk: texinfo_suffix_re_: correct the default regexp
18960         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
18961
18962         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
18963         make it configurable via texinfo_suffix_re_.
18964
18965 2010-04-14  Eric Blake  <eblake@redhat.com>
18966
18967         strtok_r: relax license to LGPLv2+
18968         * modules/strtok_r (License): Relax license.
18969         Reported by Matthias Bolte.
18970
18971 2010-04-14  Simon Josefsson  <simon@josefsson.org>
18972
18973         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
18974         version 1.4.4 by default instead of requiring the libgcrypt
18975         version used during build.  This makes it possible to use the
18976         application with older but still binary compatible libgcrypt
18977         versions.
18978
18979 2010-04-13  Eric Blake  <eblake@redhat.com>
18980
18981         getopt-gnu: match recent glibc fixes and posix ruling
18982         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
18983         '+' handling, when requesting extensions.
18984         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
18985         'W;' handling.
18986         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
18987         * doc/posix-functions/getopt.texi (getopt): Document this.
18988         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
18989         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
18990         Likewise.
18991
18992         getopt: merge bug fixes from glibc
18993         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
18994         diagnostics.  Honor '+:' correctly.  Reject ';'.
18995
18996         getopt-posix: detect MacOS bug
18997         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
18998         optind when missing a required argument.
18999         * doc/posix-functions/getopt.texi (getopt): Document the bug.
19000         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
19001         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
19002         Likewise.
19003
19004         getopt-posix: avoid spurious failure on Solaris
19005         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
19006         an indicator that setting optind=1 is sufficient for reset.
19007
19008         getopt-posix: avoid spurious failure on FreeBSD
19009         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
19010         in POSIX mode, since the m4 test uses it.
19011
19012         gnulib-tool: silence warning on BSD sh
19013         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
19014
19015 2010-04-13  Jim Meyering  <meyering@redhat.com>
19016
19017         doc: users.txt: GNU patch now uses gnulib
19018         * users.txt: Add patch.
19019
19020 2010-04-12  Jim Meyering  <meyering@redhat.com>
19021
19022         maint.mk: generate more concise timing data for syntax-check rules
19023         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
19024         " done" from each line that reports a syntax-check test duration.
19025
19026 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
19027
19028         git-version-gen: use "git update-index..." rather than "git status"
19029         * build-aux/git-version-gen: Use git update-index --refresh, not
19030         "git status".  With some versions of git, "git status" would fail
19031         to update the index and result in an unwarranted "-dirty" suffix.
19032
19033 2010-04-11  Jim Meyering  <meyering@redhat.com>
19034
19035         openat: correct formatting (no semantic change)
19036         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
19037         Suggested by Bruno Haible.
19038
19039 2010-04-11  Bruno Haible  <bruno@clisp.org>
19040
19041         Stricter declaration checking in testdirs.
19042         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
19043         If for_tests is true, augment AM_CPPFLAGS to define
19044         GNULIB_STRICT_CHECKING.
19045         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
19046         GNULIB_STRICT_CHECKING is defined, verify that the function is
19047         declared.
19048
19049 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
19050             Bruno Haible  <bruno@clisp.org>
19051
19052         libunistring: Improve configure output.
19053         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
19054         Don't say "consider installing GNU libunistring" when checking again
19055         with libiconv.
19056
19057 2010-04-11  Bruno Haible  <bruno@clisp.org>
19058
19059         libunistring: Correct value of $LTLIBUNISTRING.
19060         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
19061         correct the value of $LTLIBUNISTRING.
19062
19063 2010-04-11  Bruno Haible  <bruno@clisp.org>
19064
19065         havelib: Add static libraries to LIBS in the right order.
19066         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
19067         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
19068
19069 2010-04-11  Bruno Haible  <bruno@clisp.org>
19070
19071         libunistring: Detect libunistring also when it depends on libiconv.
19072         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
19073         the second AC_LIB_HAVE_LINKFLAGS invocation.
19074
19075 2010-04-11  James Youngman  <jay@gnu.org>
19076
19077         close-stream: declare local scalars to be "const"
19078         * lib/close-stream.c (close_stream): Make boolean variables const
19079         to document the fact that we set but do not change them.
19080
19081 2010-04-11  Bruno Haible  <bruno@clisp.org>
19082
19083         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
19084
19085 2010-04-11  Jim Meyering  <meyering@redhat.com>
19086
19087         maint.mk: don't include dist-check.mk
19088         * top/maint.mk: Remove bogus include directive.
19089
19090         maint.mk: improve empty-line-at-EOF check
19091         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
19092         solution, rather than tail+Perl-based one.  The latter would read
19093         a few kilobytes from the end of each file, and did not handle empty
19094         files properly.
19095
19096         maint.mk: print the elapsed time for each syntax-check rule
19097         * top/maint.mk (sc_m_rules_): Save start time in a file.
19098         (sc_z_rules_): New rules: remove temp file and print elapsed time.
19099         (local-check): Interpose the .z rules
19100
19101 2010-04-11  Jim Meyering  <meyering@redhat.com>
19102
19103         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
19104         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
19105         empty file with one that ends in an empty line.
19106
19107 2010-04-10  Bruno Haible  <bruno@clisp.org>
19108
19109         mkdir: Make it work on mingw64.
19110         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
19111         * lib/mkdir.c: Update comment.
19112         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
19113
19114 2010-04-10  Bruno Haible  <bruno@clisp.org>
19115
19116         Don't override improved macro from newer autoconf.
19117         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
19118         autoconf >= 2.62.
19119         Reported by Joel E. Denny <jdenny@clemson.edu>.
19120
19121 2010-04-10  Jim Meyering  <meyering@redhat.com>
19122
19123         maint.mk: new syntax-check rule: prohibit empty lines at end of file
19124         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
19125
19126         maint.mk: correct a diagnostic
19127         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
19128         in diagnostic; now use $prohibit.
19129
19130 2010-04-10  Bruno Haible  <address@hidden>
19131
19132         fchownat: Fix a C++ test error on Solaris 8.
19133         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
19134         the function does not exist.
19135
19136 2010-04-10  Bruno Haible  <bruno@clisp.org>
19137
19138         vasnprintf: Add more tests.
19139         * tests/test-vasnprintf-posix.c: Include <errno.h>.
19140         (test_function): Test converting an invalid wide string.
19141
19142         vasnprintf: Correct handling of unconvertible wide string arguments.
19143         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
19144         VASNPRINTF.
19145         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
19146         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
19147         smaller than the expected maximum need for the directive. Set errno to
19148         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
19149         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
19150         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
19151         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
19152         * modules/vasnprintf (Files): Add m4/printf.m4.
19153         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
19154
19155 2010-04-10  Bruno Haible  <bruno@clisp.org>
19156
19157         vasnprintf: Fix crash in %ls directive.
19158         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
19159         string is passed as argument to %ls, with no precision and no width.
19160         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
19161
19162 2010-04-10  Bruno Haible  <bruno@clisp.org>
19163
19164         vasnprintf: Fix multiple test failures on mingw.
19165         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
19166         _snprintf, or snwprintf, not _snwprintf.
19167
19168 2010-04-10  Bruno Haible  <bruno@clisp.org>
19169
19170         write: Fix a C++ test error on mingw.
19171         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
19172
19173 2010-04-10  Bruno Haible  <bruno@clisp.org>
19174
19175         vasnprintf test: Reduce code duplication.
19176         * tests/test-vasnprintf.c (test_function): New function, extracted from
19177         test_vasnprintf.
19178         (test_vasnprintf, test_asnprintf): Invoke it.
19179
19180 2010-04-10  Bruno Haible  <bruno@clisp.org>
19181
19182         strnlen: Fix warning in C++ mode on MacOS X.
19183         * lib/string.in.h (strnlen): Use the modern idiom.
19184         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
19185         defining strnlen as a macro already in <config.h>.
19186         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
19187         REPLACE_STRNLEN.
19188         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
19189         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
19190
19191 2010-04-08  James Youngman  <jay@gnu.org>
19192
19193         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
19194         the example.
19195
19196 2010-04-09  Jim Meyering  <meyering@redhat.com>
19197
19198         maint.mk: print better diagnostic when there is no $(_hv_file)
19199         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
19200         announce that when $(_hv_file) (aka help-version) does not exist.
19201
19202         init.sh: run tr in the "C" locale to avoid multibyte interpretation
19203         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
19204         not try to interpret its random input bytes.  Jarno Rajahalme reported
19205         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
19206         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
19207         (mktempd_): Likewise, just in case.
19208
19209         ftruncate: add two years to projected module removal date: 2012
19210         * m4/ftruncate.m4: Adjust comments.
19211
19212         ftruncate: mark module as obsolete; even MinGW provides it, now
19213         * modules/ftruncate (Status): Obsolete.
19214         (Notice): Say that.
19215         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
19216         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
19217
19218 2010-04-08  Bruno Haible  <bruno@clisp.org>
19219
19220         Fix side effects from tests-related modules.
19221         * modules/dprintf-posix (Comment): New section.
19222         * modules/fprintf-posix (Comment): Likewise.
19223         * modules/obstack-printf-posix (Comment): Likewise.
19224         * modules/printf-posix (Comment): Likewise.
19225         * modules/snprintf-posix (Comment): Likewise.
19226         * modules/sprintf-posix (Comment): Likewise.
19227         * modules/vasnprintf-posix (Comment): Likewise.
19228         * modules/vasprintf-posix (Comment): Likewise.
19229         * modules/vdprintf-posix (Comment): Likewise.
19230         * modules/vfprintf-posix (Comment): Likewise.
19231         * modules/vprintf-posix (Comment): Likewise.
19232         * modules/vsnprintf-posix (Comment): Likewise.
19233         * modules/vsprintf-posix (Comment): Likewise.
19234         * modules/xprintf-posix (Comment): Likewise.
19235         * modules/xvasprintf-posix (Comment): Likewise.
19236         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
19237         * modules/floorf-tests (Depends-on): Likewise.
19238         * modules/round-tests (Depends-on): Likewise.
19239         * modules/roundf-tests (Depends-on): Likewise.
19240         * modules/trunc-tests (Depends-on): Likewise.
19241         * modules/truncf-tests (Depends-on): Likewise.
19242         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
19243         'fprintf-posix' module is not present.
19244         * tests/test-floorf2.c (check): Likewise.
19245         * tests/test-trunc2.c (check): Likewise.
19246         * tests/test-truncf2.c (check): Likewise.
19247         * tests/test-round2.c (equal): Likewise.
19248         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
19249
19250 2010-04-07  Karl Berry  <karl@gnu.org>
19251
19252         * config/srclist.txt,
19253         * config/srclistvars.sh,
19254         * config/srclist-update: doc fixes.
19255
19256 2010-04-07  Jim Meyering  <meyering@redhat.com>
19257
19258         maint.mk: add a PATH crosschecking syntax-check rule
19259         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
19260         Useful if you use a test like the one in help-version (coreutils,
19261         diffutils, grep, gzip) that ensures $(VERSION) matches what is
19262         printed by prog --version.
19263
19264 2010-04-06  Bruno Haible  <bruno@clisp.org>
19265
19266         Fix link error on mingw.
19267         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
19268         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
19269
19270 2010-04-06  Bruno Haible  <bruno@clisp.org>
19271
19272         Assume rmdir exists.
19273         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
19274
19275 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
19276
19277         doc: update users.txt
19278         * users.txt: Add gcal.
19279
19280 2010-04-06  Jim Meyering  <meyering@redhat.com>
19281
19282         init.sh: simply unset TMPDIR rather than risking env -i
19283         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
19284         although it probably works fine on all Unix-based systems, some
19285         systems (Cygwin?) cannot tolerate a totally cleared environment.
19286         Suggestion from Eric Blake.
19287
19288 2010-04-06  Jim Meyering  <meyering@redhat.com>
19289
19290         init.sh: portability fix: use env's POSIX-specified -i option not -u
19291         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
19292         than unportable env -u.  Solaris 5.11's env lacks support for -u.
19293
19294 2010-04-05  Bruno Haible  <bruno@clisp.org>
19295
19296         btowc: Work around Cygwin 1.7.2 bug.
19297         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
19298         does not map NUL to 0.
19299         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
19300
19301 2010-04-05  Bruno Haible  <bruno@clisp.org>
19302
19303         Make the multithread modules work on Cygwin 1.7.2.
19304         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
19305         imported symbols can be declared weak, so that it returns "no" on
19306         Cygwin 1.7.2.
19307
19308 2010-04-05  Bruno Haible  <bruno@clisp.org>
19309
19310         Use the module 'strncat'.
19311         * modules/unistr/u8-strncat (Depends-on): Add strncat.
19312
19313         Tests for module 'strncat'.
19314         * modules/strncat-tests: New file.
19315         * tests/test-strncat.c: New file.
19316
19317         New module 'strncat'.
19318         * lib/string.in.h (strncat): New declaration.
19319         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
19320         * m4/strncat.m4: New file, based on m4/memchr.m4.
19321         * modules/strncat: New file.
19322         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
19323         is declared.
19324         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
19325         REPLACE_STRNCAT.
19326         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
19327         REPLACE_STRNCAT.
19328         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
19329         module.
19330         * tests/test-string-c++.cc: Check signature of strncat.
19331
19332 2010-04-05  Jim Meyering  <meyering@redhat.com>
19333
19334         xstrtoumax-tests: convert to use init.sh
19335         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
19336         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
19337         Use Exit, not exit.
19338         Remove uses of $EXEEXT and "./" to run a program in the current dir.
19339
19340         xstrtoimax-tests: convert to use init.sh
19341         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
19342         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
19343         Use Exit, not exit.
19344         Remove uses of $EXEEXT and "./" to run a program in the current dir.
19345
19346 2010-04-05  Bruno Haible  <bruno@clisp.org>
19347
19348         sys_socket: Avoid #define replacements in C++ mode.
19349         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
19350         warning to the function if possible, rather than #defining the symbol
19351         to a dysfunctional alias.
19352
19353 2010-04-05  Bruno Haible  <bruno@clisp.org>
19354
19355         fseeko: Fix C++ test error on mingw.
19356         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
19357         gl_FUNC_FSEEKO.
19358         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
19359         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
19360         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
19361         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
19362
19363 2010-04-05  Bruno Haible  <bruno@clisp.org>
19364
19365         duplocale: Improve test output.
19366         * tests/test-duplocale.c (main): Print reason for skipped test.
19367
19368 2010-04-05  Bruno Haible  <bruno@clisp.org>
19369
19370         Assume rmdir exists.
19371         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
19372         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
19373
19374 2010-04-05  Bruno Haible  <bruno@clisp.org>
19375
19376         Fix link error on Solaris 8 with cc.
19377         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
19378
19379 2010-04-05  Bruno Haible  <bruno@clisp.org>
19380
19381         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
19382         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
19383
19384 2010-04-05  Bruno Haible  <bruno@clisp.org>
19385
19386         vasprintf: Update documentation.
19387         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
19388
19389 2010-04-05  Bruno Haible  <bruno@clisp.org>
19390
19391         ptsname: Improve test.
19392         * tests/test-ptsname.c (main): Also try the various master names of BSD
19393         systems.
19394
19395 2010-04-05  Bruno Haible  <bruno@clisp.org>
19396
19397         memchr: Avoid a possible C++ test error.
19398         * lib/string.in.h (memchr): Provide declaration if function is missing.
19399         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
19400         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
19401         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
19402         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
19403
19404 2010-04-05  Bruno Haible  <bruno@clisp.org>
19405
19406         strtok_r: Improve idiom.
19407         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
19408         AC_LIBOBJ is used.
19409
19410 2010-04-05  Bruno Haible  <bruno@clisp.org>
19411
19412         strdup: Improve idiom.
19413         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
19414         AC_LIBOBJ is used.
19415         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
19416         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
19417         when AC_LIBOBJ is used.
19418
19419 2010-04-05  Bruno Haible  <bruno@clisp.org>
19420
19421         mbsinit, mbrtowc, wcrtomb: Improve idioms.
19422         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
19423         don't set REPLACE_MBSINIT to 1.
19424         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
19425         don't set REPLACE_MBRTOWC to 1.
19426         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
19427         exist, don't set REPLACE_MBSRTOWCS to 1.
19428         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
19429         exist, don't set REPLACE_MBSNRTOWCS to 1.
19430         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
19431         don't set REPLACE_WCRTOMB to 1.
19432         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
19433         exist, don't set REPLACE_WCSRTOMBS to 1.
19434         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
19435         exist, don't set REPLACE_WCSNRTOMBS to 1.
19436
19437 2010-04-05  Bruno Haible  <bruno@clisp.org>
19438
19439         ldexpl: Improve idiom.
19440         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
19441         make sure to set HAVE_DECL_LDEXPL to 0.
19442
19443 2010-04-05  Jim Meyering  <meyering@redhat.com>
19444
19445         xstrtol-tests: convert to use init.sh
19446         * modules/xstrtol-tests (Files): Add tests/init.sh.
19447         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
19448         Use Exit, not exit.
19449         Remove uses of $EXEEXT and "./" to run a program in the current dir.
19450
19451         atexit-tests: convert to use init.sh
19452         * modules/atexit-tests (Files): Add tests/init.sh.
19453         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
19454         Use Exit, not exit.
19455         Remove uses of $EXEEXT and "./" to run a program in the current dir.
19456
19457         init.sh: fix typo
19458         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
19459
19460         init.sh: make it easier for a test script to write to the tty, ...
19461         when using automake's parallel-tests mode.
19462         * tests/init.sh (stderr_fileno_): Define overridable variable.
19463         (warn_): New function, to use it.
19464         (fail_, skip_, framework_failure_): Use warn_.
19465
19466 2010-04-04  Bruno Haible  <bruno@clisp.org>
19467
19468         btowc: Avoid warning.
19469         * lib/btowc.c: Include <stdlib.h>.
19470         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
19471
19472 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
19473             Bruno Haible  <bruno@clisp.org>
19474
19475         wchar: Port to NetBSD 1.5.
19476         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
19477         * lib/wctype.in.h (WEOF): Likewise.
19478
19479 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
19480             Bruno Haible  <bruno@clisp.org>
19481
19482         Port extended stdio to NetBSD 1.5.
19483         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
19484         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
19485         older.
19486
19487 2010-04-04  Bruno Haible  <bruno@clisp.org>
19488
19489         string: Remove unused substitution.
19490         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
19491         HAVE_DECL_STRERROR.
19492         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
19493
19494 2010-04-04  Bruno Haible  <bruno@clisp.org>
19495
19496         strtod: Avoid a possible C++ test error.
19497         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
19498         set REPLACE_STRTOD.
19499
19500 2010-04-04  Bruno Haible  <bruno@clisp.org>
19501
19502         strerror: Update documentation.
19503         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
19504
19505 2010-04-04  Bruno Haible  <bruno@clisp.org>
19506
19507         stdio: Fix some C++ test errors on Solaris 8 with GCC.
19508         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
19509         _GL_CXXALIAS_SYS_CAST.
19510
19511 2010-04-04  Bruno Haible  <bruno@clisp.org>
19512
19513         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
19514         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
19515         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
19516         REPLACE_FREXPL to 1.
19517         * doc/posix-functions/frexpl.texi: Update documentation.
19518
19519 2010-04-04  Bruno Haible  <bruno@clisp.org>
19520
19521         math: Fix some C++ test errors on Solaris 8 and Cygwin.
19522         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
19523
19524 2010-04-04  Bruno Haible  <bruno@clisp.org>
19525
19526         Implement nanosleep for native Windows.
19527         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
19528
19529 2010-04-04  Bruno Haible  <bruno@clisp.org>
19530
19531         math: Fix some C++ test errors on Solaris 8.
19532         * lib/math.in.h (truncf, trunc): Use simpler idiom.
19533
19534 2010-04-04  Bruno Haible  <bruno@clisp.org>
19535
19536         math: Fix some C++ test errors on Cygwin.
19537         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
19538         truncl): Provide declaration if the system does not have it.
19539         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
19540         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
19541         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
19542         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
19543         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
19544         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
19545         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
19546         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
19547         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
19548         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
19549         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
19550         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
19551         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
19552         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
19553         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
19554         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
19555         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
19556         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
19557         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
19558         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
19559         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
19560         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
19561
19562 2010-04-04  Bruno Haible  <bruno@clisp.org>
19563
19564         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
19565         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
19566         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
19567         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
19568         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
19569         * m4/isinf.m4 (gl_ISINF): Likewise.
19570         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
19571
19572 2010-04-04  Bruno Haible  <bruno@clisp.org>
19573
19574         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
19575         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
19576
19577 2010-04-04  Bruno Haible  <bruno@clisp.org>
19578
19579         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
19580         * modules/tmpfile (configure.ac): Update.
19581
19582         tmpfile: Fix C++ test error on mingw.
19583         * lib/stdio.in.h (tmpfile): New declaration.
19584         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
19585         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
19586         * modules/tmpfile (Depends-on): Add stdio.
19587         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
19588         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
19589         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
19590         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
19591         REPLACE_TMPFILE.
19592         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
19593
19594 2010-04-04  Bruno Haible  <bruno@clisp.org>
19595
19596         ioctl: Fix C++ test error on mingw.
19597         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
19598         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
19599         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
19600
19601 2010-04-03  Bruno Haible  <bruno@clisp.org>
19602
19603         wcwidth: Fix C++ test error on mingw.
19604         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
19605         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
19606         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
19607
19608 2010-04-03  Bruno Haible  <bruno@clisp.org>
19609
19610         nanosleep: Fix C++ test error on mingw.
19611         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
19612         * lib/time.in.h (nanosleep): Use modern idiom.
19613         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
19614         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
19615         REPLACE_NANOSLEEP to 1.
19616         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
19617         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
19618
19619 2010-04-03  Bruno Haible  <bruno@clisp.org>
19620
19621         strptime: Fix C++ test error on mingw.
19622         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
19623         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
19624         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
19625         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
19626         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
19627         not REPLACE_STRPTIME.
19628         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
19629         REPLACE_STRPTIME.
19630
19631 2010-04-03  Bruno Haible  <bruno@clisp.org>
19632
19633         timegm: Fix C++ test error on mingw.
19634         * lib/time.in.h (timegm): Use modern idiom.
19635         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
19636         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
19637         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
19638         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
19639
19640 2010-04-03  Bruno Haible  <bruno@clisp.org>
19641
19642         timegm: Assume declaration if function exists.
19643         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
19644         if it exists. Don't clobber ac_cv_func_timegm.
19645
19646 2010-04-03  Bruno Haible  <bruno@clisp.org>
19647
19648         time_r: Fix C++ test error on mingw.
19649         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
19650         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
19651         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
19652         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
19653         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
19654
19655 2010-04-03  Bruno Haible  <bruno@clisp.org>
19656
19657         time_r: Minor updates.
19658         * modules/time_r (Description): Mention the provided functions.
19659         * lib/time_r.c: Don't include <string.h>.
19660         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
19661         * doc/posix-functions/localtime_r.texi: Likewise.
19662
19663 2010-04-03  Bruno Haible  <bruno@clisp.org>
19664
19665         time: Fix regression introduced on 2010-03-08.
19666         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
19667         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
19668
19669 2010-04-03  Jim Meyering  <meyering@redhat.com>
19670
19671         maint.mk: don't silently disable project-specific syntax-check rules
19672         * top/maint.mk (_prohibit_regexp): Define, to help people realize
19673         that they need to convert their project-specific syntax-check rules
19674         to use the new _sc_search_regexp.
19675
19676 2010-04-03  Bruno Haible  <bruno@clisp.org>
19677
19678         fchdir: Fix regression introduced on 2010-03-08.
19679         * lib/unistd.in.h (fchdir): Fix declaration.
19680         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
19681         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
19682         REPLACE_FCHDIR.
19683         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
19684         REPLACE_FCHDIR.
19685
19686 2010-04-03  Bruno Haible  <bruno@clisp.org>
19687
19688         getpagesize: Fix C++ test error on mingw.
19689         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
19690         system does not declare the function.
19691         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
19692         declared.
19693         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
19694         HAVE_DECL_GETPAGESIZE.
19695         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
19696
19697 2010-04-03  Bruno Haible  <bruno@clisp.org>
19698
19699         stdio: Make C++ tests work on mingw.
19700         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
19701         does not declare the function.
19702
19703 2010-04-03  Bruno Haible  <bruno@clisp.org>
19704
19705         ftello: Fix C++ test error on mingw.
19706         * lib/stdio.in.h (ftello): Use modern idiom.
19707         * lib/ftello.c (ftello): Renamed from rpl_ftello.
19708         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
19709         is missing and that it needs to be replaced.
19710         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
19711         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
19712         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
19713
19714 2010-04-03  Bruno Haible  <bruno@clisp.org>
19715
19716         fseeko: Fix C++ test error on mingw.
19717         * lib/stdio.in.h (fseeko): Use modern idiom.
19718         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
19719         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
19720         is missing and that it needs to be replaced.
19721         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
19722         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
19723         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
19724
19725 2010-04-03  Bruno Haible  <bruno@clisp.org>
19726
19727         mkstemp: Fix C++ test error on mingw.
19728         * lib/stdlib.in.h (mkstemp): Use modern idiom.
19729         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
19730         function is missing and that it needs to be replaced.
19731         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
19732         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
19733
19734 2010-04-03  Bruno Haible  <bruno@clisp.org>
19735
19736         stpncpy: Fix C++ test error on mingw.
19737         * lib/string.in.h (stpncpy): Use modern idiom.
19738         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
19739         function is missing and that it needs to be replaced.
19740         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
19741         REPLACE_STPNCPY.
19742         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
19743
19744 2010-04-03  Bruno Haible  <bruno@clisp.org>
19745
19746         sys_stat: Fix C++ test error on mingw.
19747         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
19748         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
19749
19750 2010-04-03  Bruno Haible  <bruno@clisp.org>
19751
19752         pty: Update doc.
19753         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
19754
19755 2010-04-03  Bruno Haible  <bruno@clisp.org>
19756
19757         unistd: Fix C++ test error on mingw.
19758         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
19759
19760 2010-04-03  Bruno Haible  <bruno@clisp.org>
19761
19762         Update doc regarding mingw.
19763         * doc/glibc-functions/openpty.texi: Update regarding mingw.
19764         * doc/glibc-functions/login_tty.texi: Likewise.
19765         * doc/glibc-functions/forkpty.texi: Likewise.
19766
19767 2010-04-03  Bruno Haible  <bruno@clisp.org>
19768
19769         stdlib: Avoid compilation failure of c-strtold on mingw.
19770         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
19771
19772 2010-04-03  Bruno Haible  <bruno@clisp.org>
19773
19774         locale: Make C++ tests work on Cygwin and mingw.
19775         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
19776         cannot provide the function.
19777         Reported by Simon Josefsson.
19778
19779 2010-04-03  Bruno Haible  <bruno@clisp.org>
19780
19781         localename: Port to MacOS X 10.6.
19782         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
19783         memory layout of the locales in MacOS X 10.6 as well.
19784         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
19785
19786 2010-04-02  Bruno Haible  <bruno@clisp.org>
19787
19788         gnulib-tool: Ensure that long-running tests are executed last.
19789         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
19790         running tests after the one for the other tests.
19791
19792 2010-04-02  Bruno Haible  <bruno@clisp.org>
19793
19794         gnulib-tool: Ensure the tests in the main directory are executed first.
19795         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
19796         start with the current directory.
19797
19798 2010-04-02  Bruno Haible  <bruno@clisp.org>
19799
19800         Tests for module 'havelib', moved here from GNU gettext.
19801         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
19802         modifications.
19803         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
19804         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
19805         with modifications.
19806         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
19807         modifications.
19808         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
19809         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
19810         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
19811         with modifications.
19812         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
19813         with modifications.
19814         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
19815         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
19816         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
19817         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
19818         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
19819         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
19820         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
19821         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
19822         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
19823         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
19824         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
19825         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
19826         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
19827         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
19828         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
19829         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
19830         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
19831         with modifications.
19832         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
19833         with modifications.
19834         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
19835         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
19836         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
19837         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
19838         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
19839         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
19840         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
19841         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
19842         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
19843         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
19844         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
19845         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
19846         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
19847         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
19848         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
19849         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
19850         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
19851         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
19852         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
19853         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
19854         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
19855         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
19856         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
19857         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
19858         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
19859         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
19860         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
19861         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
19862         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
19863         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
19864         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
19865         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
19866         * tests/havelib/rpathx/rpathx.c: New file, from
19867         gettext/autoconf-lib-link.
19868         * tests/havelib/rpathx/Makefile.am: New file, from
19869         gettext/autoconf-lib-link.
19870         * tests/havelib/rpathx/configure.ac: New file, from
19871         gettext/autoconf-lib-link with modifications.
19872         * tests/havelib/rpathy/rpathy.c: New file, from
19873         gettext/autoconf-lib-link.
19874         * tests/havelib/rpathy/Makefile.am: New file, from
19875         gettext/autoconf-lib-link.
19876         * tests/havelib/rpathy/configure.ac: New file, from
19877         gettext/autoconf-lib-link with modifications.
19878         * tests/havelib/rpathz/rpathz.c: New file, from
19879         gettext/autoconf-lib-link.
19880         * tests/havelib/rpathz/Makefile.am: New file, from
19881         gettext/autoconf-lib-link.
19882         * tests/havelib/rpathz/configure.ac: New file, from
19883         gettext/autoconf-lib-link with modifications.
19884         * tests/havelib/rpathlx/usex.c: New file, from
19885         gettext/autoconf-lib-link.
19886         * tests/havelib/rpathlx/Makefile.am: New file, from
19887         gettext/autoconf-lib-link.
19888         * tests/havelib/rpathlx/configure.ac: New file, from
19889         gettext/autoconf-lib-link with modifications.
19890         * tests/havelib/rpathly/usey.c: New file, from
19891         gettext/autoconf-lib-link.
19892         * tests/havelib/rpathly/Makefile.am: New file, from
19893         gettext/autoconf-lib-link.
19894         * tests/havelib/rpathly/configure.ac: New file, from
19895         gettext/autoconf-lib-link with modifications.
19896         * tests/havelib/rpathlz/usez.c: New file, from
19897         gettext/autoconf-lib-link.
19898         * tests/havelib/rpathlz/Makefile.am: New file, from
19899         gettext/autoconf-lib-link.
19900         * tests/havelib/rpathlz/configure.ac: New file, from
19901         gettext/autoconf-lib-link with modifications.
19902         * tests/havelib/rpathlyx/usey.c: New file, from
19903         gettext/autoconf-lib-link.
19904         * tests/havelib/rpathlyx/Makefile.am: New file, from
19905         gettext/autoconf-lib-link.
19906         * tests/havelib/rpathlyx/configure.ac: New file, from
19907         gettext/autoconf-lib-link with modifications.
19908         * tests/havelib/rpathlzyx/usez.c: New file, from
19909         gettext/autoconf-lib-link.
19910         * tests/havelib/rpathlzyx/Makefile.am: New file, from
19911         gettext/autoconf-lib-link.
19912         * tests/havelib/rpathlzyx/configure.ac: New file, from
19913         gettext/autoconf-lib-link with modifications.
19914         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
19915         with modifications.
19916
19917 2010-04-02  Bruno Haible  <bruno@clisp.org>
19918
19919         gnulib-tool: Create distributed built sources also for the tests.
19920         * gnulib-tool (func_create_testdir): Also generate distributed built
19921         sources in the tests directory.
19922
19923 2010-04-02  Bruno Haible  <bruno@clisp.org>
19924
19925         gnulib-tool: Obey user's environment variables.
19926         * gnulib-tool (func_create_testdir): When creating built sources,
19927         respect the environment variables for autoconf, automake, etc. given by
19928         the user.
19929
19930 2010-04-02  Bruno Haible  <bruno@clisp.org>
19931
19932         gnulib-tool: Provide the value of --m4-base to modules.
19933         * gnulib-tool (func_import, func_create_testdir): Emit a definition
19934         of gl_m4_base.
19935
19936 2010-04-02  Eric Blake  <eblake@redhat.com>
19937
19938         maint.mk: fix some fallout
19939         * NEWS: Document the incompatible change, and its effect on cfg.mk.
19940         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
19941
19942 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
19943
19944         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
19945         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
19946         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
19947         (sc_cast_of_x_alloc_return_value): Likewise.
19948         (sc_cast_of_alloca_return_value): Likewise.
19949         (sc_space_tab): Likewise.
19950         (sc_prohibit_atoi_atof): Likewise.
19951         (sc_prohibit_magic_number_exit): Likewise.
19952         (sc_error_exit_success): Likewise.
19953         (sc_file_system): Likewise.
19954         (sc_prohibit_have_config_h): Likewise.
19955         (sc_require_config_h): Likewise.
19956         (sc_prohibit_HAVE_MBRTOWC): Likewise.
19957         (sc_obsolete_symbols): Likewise.
19958         (sc_changelog): Likewise.
19959         (sc_program_name): Likewise.
19960         (sc_the_the): Likewise.
19961         (sc_trailing_blank): Likewise.
19962         (sc_two_space_separator_in_usage): Likewise.
19963         (sc_useless_cpp_parens): Likewise.
19964         (sc_GPL_version): Likewise.
19965         (sc_GFDL_version): Likewise.
19966         (sc_texinfo_acronym): Likewise.
19967         (sc_prohibit_cvs_keyword): Likewise.
19968         (sc_prohibit_stat_st_blocks): Likewise.
19969         (sc_prohibit_S_IS_definition): Likewise.
19970         (sc_redundant_const): Likewise.
19971         (sc_makefile_TAB_only_indentation): Likewise.
19972         (sc_m4_quote_check): Likewise.
19973         (sc_makefile_path_separator_check): Likewise.
19974         (sc_copyright_check): Likewise.
19975         (sc_Wundef_boolean): Likewise.
19976         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
19977
19978         maint.mk: match 0 or more whitespace-before-function-call '('
19979         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
19980         that have zero or two-and-more spaces between the function name
19981         and the open parenthesis.
19982         (sc_error_message_warn_fatal): Likewise.
19983         (sc_error_message_uppercase): Likewise.
19984         (sc_error_message_period): Likewise.
19985
19986 2010-03-31  Eric Blake  <eblake@redhat.com>
19987
19988         maint.mk: check for [ as well as test
19989         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
19990         Based on a libvirt report by Matthias Bolte.
19991
19992         gnumakefile: don't squelch _version output
19993         * top/GNUmakefile (_version): Create one-shot dependency rather
19994         than using $(shell) when version must be regenerated.
19995         (_autoreconf): Run verbosely, by default.
19996
19997         sys_time: avoid compiler warnings
19998         * lib/sys_time.in.h (includes): Ensure gcc pragma is
19999         unconditional, fixing regression from 2010-03-29.
20000         Reported by Simon Josefsson.
20001
20002 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
20003
20004         maint.mk: s/_header_without_use/_sc_header_without_use/
20005         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
20006         (sc_prohibit_assert_without_use): Use the new name.
20007         (sc_prohibit_close_stream_without_use): Likewise.
20008         (sc_prohibit_getopt_without_use): Likewise.
20009         (sc_prohibit_quotearg_without_use): Likewise.
20010         (sc_prohibit_quote_without_use): Likewise.
20011         (sc_prohibit_long_options_without_use): Likewise.
20012         (sc_prohibit_inttostr_without_use): Likewise.
20013         (sc_prohibit_ignore_value_without_use): Likewise.
20014         (sc_prohibit_error_without_use): Likewise.
20015         (sc_prohibit_xalloc_without_use): Likewise.
20016         (sc_prohibit_hash_without_use): Likewise.
20017         (sc_prohibit_hash_pjw_without_use): Likewise.
20018         (sc_prohibit_safe_read_without_use): Likewise.
20019         (sc_prohibit_argmatch_without_use): Likewise.
20020         (sc_prohibit_canonicalize_without_use): Likewise.
20021         (sc_prohibit_root_dev_ino_without_use): Likewise.
20022         (sc_prohibit_openat_without_use): Likewise.
20023         (sc_prohibit_c_ctype_without_use): Likewise.
20024         (sc_prohibit_signal_without_use): Likewise.
20025         (sc_prohibit_intprops_without_use): Likewise.
20026
20027 2010-03-30  Eric Blake  <eblake@redhat.com>
20028
20029         maint: improve module indicators
20030         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
20031         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
20032         columns, and avoid extra macro expansion.
20033
20034         fdopendir: work around FreeBSD bug
20035         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
20036         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
20037         * modules/dirent (Makefile.am): Substitute it.
20038         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
20039         declaration.
20040         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
20041         fix.
20042         Reported by Christian Weisgerber <naddy@mips.inka.de>.
20043
20044 2010-03-29  Bruno Haible  <bruno@clisp.org>
20045
20046         Emit #pragma system_header after the inclusion guard, not before.
20047         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
20048         guard that spans the entire file, not before. This enables an
20049         optimization in GCC's preprocessor.
20050         * lib/ctype.in.h: Likewise.
20051         * lib/dirent.in.h: Likewise.
20052         * lib/errno.in.h: Likewise.
20053         * lib/float.in.h: Likewise.
20054         * lib/getopt.in.h: Likewise.
20055         * lib/iconv.in.h: Likewise.
20056         * lib/langinfo.in.h: Likewise.
20057         * lib/locale.in.h: Likewise.
20058         * lib/math.in.h: Likewise.
20059         * lib/netdb.in.h: Likewise.
20060         * lib/netinet_in.in.h: Likewise.
20061         * lib/pty.in.h: Likewise.
20062         * lib/sched.in.h: Likewise.
20063         * lib/se-selinux.in.h: Likewise.
20064         * lib/search.in.h: Likewise.
20065         * lib/spawn.in.h: Likewise.
20066         * lib/stdarg.in.h: Likewise.
20067         * lib/stdint.in.h: Likewise.
20068         * lib/string.in.h: Likewise.
20069         * lib/strings.in.h: Likewise.
20070         * lib/sys_file.in.h: Likewise.
20071         * lib/sys_ioctl.in.h: Likewise.
20072         * lib/sys_time.in.h: Likewise.
20073         * lib/sys_times.in.h: Likewise.
20074         * lib/sys_utsname.in.h: Likewise.
20075         * lib/sys_wait.in.h: Likewise.
20076         * lib/sysexits.in.h: Likewise.
20077         * lib/wctype.in.h: Likewise.
20078
20079 2010-03-28  James Youngman  <jay@gnu.org>
20080
20081         save-cwd: don't leak a file descriptor when the caller execs.
20082         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
20083         saved file descriptor.
20084         * modules/save-cwd (Depends-on): Depend on cloexec.
20085
20086 2010-03-29  Bruno Haible  <bruno@clisp.org>
20087
20088         Remove vestiges of fts-lgpl module.
20089         * lib/fts_.h: Assume GNULIB_FTS is 1.
20090         * lib/fts.c: Likewise.
20091         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
20092
20093 2010-03-28  Bruno Haible  <bruno@clisp.org>
20094
20095         Fix definition of tests witness macro.
20096         * gnulib-tool (func_import): Fix definition of witness macro.
20097
20098 2010-03-28  Bruno Haible  <bruno@clisp.org>
20099
20100         Fix ioctl's protoype on glibc systems.
20101         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
20102         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
20103         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
20104         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
20105         signature. If not, arrange to replace the ioctl function.
20106         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
20107         REPLACE_IOCTL.
20108         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
20109         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
20110         Reported by Ludovic Courtès <ludo@gnu.org>.
20111
20112 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
20113
20114         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
20115         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
20116         made it so grep -r --include=GLOB* ... did not work.
20117
20118 2010-03-26  Jim Meyering  <meyering@redhat.com>
20119             Eric Blake  <eblake@redhat.com>
20120
20121         maint.mk: prohibit use of test's -o and -a operators
20122         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
20123
20124 2010-03-28  Bruno Haible  <bruno@clisp.org>
20125
20126         Remove unused GNULIB_XYZ macro definitions.
20127         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
20128         invocation.
20129
20130 2010-03-28  Bruno Haible  <bruno@clisp.org>
20131
20132         Mark privileged tests modules.
20133         * modules/idpriv-drop-tests (Status): New section.
20134         * modules/idpriv-droptemp-tests (Status): New section.
20135
20136 2010-03-28  Bruno Haible  <bruno@clisp.org>
20137
20138         Split C++ tests into separate tests modules.
20139         * modules/dirent-c++-tests: New file, extracted from
20140         modules/dirent-tests.
20141         * modules/dirent-tests: Depend on it.
20142         * modules/fcntl-h-c++-tests: New file, extracted from
20143         modules/fcntl-h-tests.
20144         * modules/fcntl-h-tests: Depend on it.
20145         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
20146         * modules/glob-tests: Depend on it.
20147         * modules/iconv-h-c++-tests: New file, extracted from
20148         modules/iconv-h-tests.
20149         * modules/iconv-h-tests: Depend on it.
20150         * modules/langinfo-c++-tests: New file, extracted from
20151         modules/langinfo-tests.
20152         * modules/langinfo-tests: Depend on it.
20153         * modules/locale-c++-tests: New file, extracted from
20154         modules/locale-tests.
20155         * modules/locale-tests: Depend on it.
20156         * modules/math-c++-tests: New file, extracted from modules/math-tests.
20157         * modules/math-tests: Depend on it.
20158         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
20159         * modules/pty-tests: Depend on it.
20160         * modules/search-c++-tests: New file, extracted from
20161         modules/search-tests.
20162         * modules/search-tests: Depend on it.
20163         * modules/signal-c++-tests: New file, extracted from
20164         modules/signal-tests.
20165         * modules/signal-tests: Depend on it.
20166         * modules/spawn-c++-tests: New file, extracted from
20167         modules/spawn-tests.
20168         * modules/spawn-tests: Depend on it.
20169         * modules/stdio-c++-tests: New file, extracted from
20170         modules/stdio-tests.
20171         * modules/stdio-tests: Depend on it.
20172         * modules/stdlib-c++-tests: New file, extracted from
20173         modules/stdlib-tests.
20174         * modules/stdlib-tests: Depend on it.
20175         * modules/string-c++-tests: New file, extracted from
20176         modules/string-tests.
20177         * modules/string-tests: Depend on it.
20178         * modules/sys_ioctl-c++-tests: New file, extracted from
20179         modules/sys_ioctl-tests.
20180         * modules/sys_ioctl-tests: Depend on it.
20181         * modules/sys_select-c++-tests: New file, extracted from
20182         modules/sys_select-tests.
20183         * modules/sys_select-tests: Depend on it.
20184         * modules/sys_socket-c++-tests: New file, extracted from
20185         modules/sys_socket-tests.
20186         * modules/sys_socket-tests: Depend on it.
20187         * modules/sys_stat-c++-tests: New file, extracted from
20188         modules/sys_stat-tests.
20189         * modules/sys_stat-tests: Depend on it.
20190         * modules/sys_time-c++-tests: New file, extracted from
20191         modules/sys_time-tests.
20192         * modules/sys_time-tests: Depend on it.
20193         * modules/time-c++-tests: New file, extracted from modules/time-tests.
20194         * modules/time-tests: Depend on it.
20195         * modules/unistd-c++-tests: New file, extracted from
20196         modules/unistd-tests.
20197         * modules/unistd-tests: Depend on it.
20198         * modules/wchar-c++-tests: New file, extracted from
20199         modules/wchar-tests.
20200         * modules/wchar-tests: Depend on it.
20201         * modules/wctype-c++-tests: New file, extracted from
20202         modules/wctype-tests.
20203         * modules/wctype-tests: Depend on it.
20204         Reported by Simon Josefsson.
20205
20206 2010-03-28  Bruno Haible  <bruno@clisp.org>
20207
20208         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
20209         * gnulib-tool (func_exists_module): New function, extracted from
20210         func_verify_module.
20211         (func_verify_module): Use it.
20212         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
20213         'foo' only if 'foo' exists.
20214         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
20215         module.
20216
20217 2010-03-28  Bruno Haible  <bruno@clisp.org>
20218
20219         gnulib-tool: Add support for special categories of tests.
20220         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
20221         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
20222         (func_usage): Document them.
20223         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
20224         inc_unportable_tests, inc_all_tests): New variables.
20225         (func_acceptable): Consider these variables.
20226         (func_modules_transitive_closure): Make it work when the 'Status' field
20227         consists of multiple words.
20228         (func_import): Store and restore the values of inc_cxx_tests,
20229         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
20230         inc_all_tests in gnulib-comp.m4.
20231         (func_create_testdir): Set inc_all_tests to true.
20232         * doc/gnulib.texi (Extra tests modules): New section.
20233         Suggested by Jim Meyering.
20234
20235 2010-03-28  Bruno Haible  <bruno@clisp.org>
20236
20237         ansi-c++-opt: Allow turning off the C++ build by default.
20238         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
20239         gl_CXX_CHOICE_DEFAULT_NO is defined.
20240         Requested by Eric Blake.
20241
20242 2010-03-28  Bruno Haible  <bruno@clisp.org>
20243
20244         unistd: Avoid #define replacements in C++ mode.
20245         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
20246         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
20247         setsockopt, shutdown, select): In C++, attach a warning to the function
20248         if possible, rather than #defining the symbol to a dysfunctional alias.
20249         Reported by John W. Eaton <jwe@gnu.org>.
20250
20251 2010-03-28  Bruno Haible  <bruno@clisp.org>
20252
20253         Fix link errors on mingw.
20254         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
20255         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
20256         $(LIBSOCKET).
20257         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
20258         $(LIBSOCKET).
20259
20260 2010-03-28  Bruno Haible  <bruno@clisp.org>
20261             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20262
20263         lib-ignore: Determine different options for different compilers.
20264         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
20265         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
20266         Add comments.
20267         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
20268         * NEWS: Mention the change.
20269
20270 2010-03-27  Bruno Haible  <bruno@clisp.org>
20271
20272         Remove unused GNULIB_XYZ macro definitions.
20273         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
20274         * modules/fseek (configure.ac): Likewise.
20275         * modules/ioctl (configure.ac): Likewise.
20276         * modules/open (configure.ac): Likewise.
20277         * modules/stdlib-safer (configure.ac): Likewise.
20278
20279 2010-03-27  Bruno Haible  <bruno@clisp.org>
20280
20281         Add a remark about certain modules.
20282         * modules/malloc (Comment): New section.
20283         * modules/realloc (Comment): Likewise.
20284         * modules/sigpipe (Comment): Likewise.
20285
20286 2010-03-27  Bruno Haible  <bruno@clisp.org>
20287
20288         Resolve conflict between the two kinds of module indicators.
20289         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
20290         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
20291         * modules/canonicalize (configure.ac): Invoke
20292         gl_MODULE_INDICATOR_FOR_TESTS.
20293         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
20294         GNULIB_XYZ.
20295         * tests/test-dirent-c++.cc: Likewise.
20296         * tests/test-dirent-safer.c: Likewise.
20297         * tests/test-dup2.c: Likewise.
20298         * tests/test-fchdir.c: Likewise.
20299         * tests/test-fcntl-h-c++.cc: Likewise.
20300         * tests/test-getopt.c: Likewise.
20301         * tests/test-getopt.h: Likewise.
20302         * tests/test-langinfo-c++.cc: Likewise.
20303         * tests/test-locale-c++.cc: Likewise.
20304         * tests/test-math-c++.cc: Likewise.
20305         * tests/test-pty-c++.cc: Likewise.
20306         * tests/test-search-c++.cc: Likewise.
20307         * tests/test-signal-c++.cc: Likewise.
20308         * tests/test-spawn-c++.cc: Likewise.
20309         * tests/test-stdio-c++.cc: Likewise.
20310         * tests/test-stdlib-c++.cc: Likewise.
20311         * tests/test-string-c++.cc: Likewise.
20312         * tests/test-sys_ioctl-c++.cc: Likewise.
20313         * tests/test-sys_select-c++.cc: Likewise.
20314         * tests/test-sys_socket-c++.cc: Likewise.
20315         * tests/test-sys_stat-c++.cc: Likewise.
20316         * tests/test-sys_time-c++.cc: Likewise.
20317         * tests/test-time-c++.cc: Likewise.
20318         * tests/test-unistd-c++.cc: Likewise.
20319         * tests/test-wchar-c++.cc: Likewise.
20320         * tests/uninorm/test-u8-nfc.c: Likewise.
20321         * tests/uninorm/test-u8-nfd.c: Likewise.
20322         * tests/uninorm/test-u8-nfkc.c: Likewise.
20323         * tests/uninorm/test-u8-nfkd.c: Likewise.
20324         * tests/uninorm/test-u16-nfc.c: Likewise.
20325         * tests/uninorm/test-u16-nfd.c: Likewise.
20326         * tests/uninorm/test-u16-nfkc.c: Likewise.
20327         * tests/uninorm/test-u16-nfkd.c: Likewise.
20328         * tests/uninorm/test-u32-nfc.c: Likewise.
20329         * tests/uninorm/test-u32-nfc-big.c: Likewise.
20330         * tests/uninorm/test-u32-nfd.c: Likewise.
20331         * tests/uninorm/test-u32-nfd-big.c: Likewise.
20332         * tests/uninorm/test-u32-nfkc.c: Likewise.
20333         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
20334         * tests/uninorm/test-u32-nfkd.c: Likewise.
20335         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
20336         * tests/uninorm/test-u32-normalize-big.c: Likewise.
20337
20338 2010-03-27  Bruno Haible  <bruno@clisp.org>
20339
20340         Distinguish two kinds of module indicators.
20341         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
20342         gl_MODULE_INDICATOR.
20343         (gl_MODULE_INDICATOR): New macro.
20344         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
20345         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
20346         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
20347         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
20348         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
20349         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
20350         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
20351         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
20352         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
20353         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
20354         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
20355         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
20356         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
20357         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
20358         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
20359         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
20360         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
20361         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
20362         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
20363         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
20364         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
20365         * modules/cloexec (configure.ac): Likewise.
20366         * modules/getopt-gnu (configure.ac): Likewise.
20367         * modules/uninorm/u8-normalize (configure.ac): Likewise.
20368         * modules/uninorm/u16-normalize (configure.ac): Likewise.
20369         * modules/uninorm/u32-normalize (configure.ac): Likewise.
20370         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
20371
20372 2010-03-27  Bruno Haible  <bruno@clisp.org>
20373
20374         New module description field 'Comment'.
20375         * gnulib-tool: New option --extract-comment.
20376         (func_usage): Document it.
20377         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
20378         (func_get_comment): New function.
20379         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
20380
20381 2010-03-27  Bruno Haible  <bruno@clisp.org>
20382
20383         Addendum to 2010-02-07 commit.
20384         * gnulib-tool (func_usage): Document --extract-applicability option.
20385
20386 2010-03-27  Bruno Haible  <bruno@clisp.org>
20387
20388         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
20389         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
20390         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
20391         rather than link errors.
20392
20393 2010-03-27  Bruno Haible  <bruno@clisp.org>
20394
20395         Avoid side effects from tests-related modules on the compilation of lib.
20396         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
20397         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
20398         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
20399         parameter. Emit into AM_CPPFLAGS a definition of the designated C
20400         macro.
20401         (func_import): Define a witness macro. Assign it a value that depends
20402         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
20403         tests-related modules.
20404         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
20405         Reported by Jim Meyering.
20406
20407 2010-03-27  Bruno Haible  <bruno@clisp.org>
20408
20409         Factorize common .m4 code.
20410         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
20411         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
20412         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
20413         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
20414         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
20415         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
20416         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
20417         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
20418         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
20419         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
20420         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
20421         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
20422         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
20423         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
20424         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
20425         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
20426         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
20427         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
20428         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
20429         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
20430         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
20431         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
20432         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
20433         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
20434         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
20435         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
20436         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
20437         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
20438         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
20439         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
20440         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
20441         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
20442
20443 2010-03-27  Bruno Haible  <bruno@clisp.org>
20444
20445         Fix a compilation error on Cygwin with g++ >= 4.3.
20446         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
20447         if it is undefined or if we alias it to chmod.
20448         (lstat): Don't warn about the use of this function if it is undefined
20449         or if we alias it to stat.
20450         Reported by Simon Josefsson.
20451
20452 2010-03-27  Bruno Haible  <bruno@clisp.org>
20453
20454         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
20455         * modules/getlogin (configure.ac): Update.
20456
20457         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
20458         * modules/getlogin_r (configure.ac): Update.
20459
20460         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
20461         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
20462         * modules/inet_ntop (configure.ac): Update.
20463
20464         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
20465         * modules/inet_pton (configure.ac): Update.
20466
20467         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
20468         * modules/mbslen (configure.ac): Update.
20469
20470         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
20471         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
20472         * modules/forkpty (configure.ac): Update.
20473         * modules/openpty (configure.ac): Update.
20474
20475 2010-03-26  Simon Josefsson  <simon@josefsson.org>
20476
20477         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
20478         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
20479
20480 2010-03-25  Eric Blake  <eblake@redhat.com>
20481
20482         maint: use pragma consistently across replacement headers
20483         * lib/ctype.in.h (system_header): Hoist for consistent placement.
20484         * lib/dirent.in.h (system_header): Likewise.
20485         * lib/errno.in.h (system_header): Likewise.
20486         * lib/float.in.h (system_header): Likewise.
20487         * lib/getopt.in.h (system_header): Likewise.
20488         * lib/iconv.in.h (system_header): Likewise.
20489         * lib/inttypes.in.h (system_header): Likewise.
20490         * lib/langinfo.in.h (system_header): Likewise.
20491         * lib/locale.in.h (system_header): Likewise.
20492         * lib/math.in.h (system_header): Likewise.
20493         * lib/netdb.in.h (system_header): Likewise.
20494         * lib/netinet_in.in.h (system_header): Likewise.
20495         * lib/pty.in.h (system_header): Likewise.
20496         * lib/sched.in.h (system_header): Likewise.
20497         * lib/se-selinux.in.h (system_header): Likewise.
20498         * lib/search.in.h (system_header): Likewise.
20499         * lib/spawn.in.h (system_header): Likewise.
20500         * lib/stdarg.in.h (system_header): Likewise.
20501         * lib/stdint.in.h (system_header): Likewise.
20502         * lib/string.in.h (system_header): Likewise.
20503         * lib/strings.in.h (system_header): Likewise.
20504         * lib/sys_file.in.h (system_header): Likewise.
20505         * lib/sys_ioctl.in.h (system_header): Likewise.
20506         * lib/sys_socket.in.h (system_header): Likewise.
20507         * lib/sys_times.in.h (system_header): Likewise.
20508         * lib/sys_utsname.in.h (system_header): Likewise.
20509         * lib/sys_wait.in.h (system_header): Likewise.
20510         * lib/sysexits.in.h (system_header): Likewise.
20511         * lib/unistd.in.h (system_header): Likewise.
20512         * lib/wctype.in.h (system_header): Likewise.
20513
20514         arpa/inet: fix mingw compilation warning
20515         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
20516         Reported by Matthew Bolte.
20517
20518 2010-03-25  Bruno Haible  <bruno@clisp.org>
20519
20520         Avoid collision between gnulib wrapper and libintl wrapper.
20521         * lib/printf.c (printf): Don't define if a printf wrapper is already
20522         defined in intl/printf.c.
20523         Reported by Michel Boaventura <michel@michelboaventura.com>.
20524
20525 2010-03-25  Bruno Haible  <bruno@clisp.org>
20526
20527         Use ANSI C.
20528         * lib/readutmp.h (getutent): Provide ANSI C prototype.
20529
20530 2010-03-25  Bruno Haible  <bruno@clisp.org>
20531
20532         Minor formatting changes.
20533         * lib/acosl.c: Insert space before function argument list.
20534         * lib/argz.c: Likewise.
20535         * lib/asinl.c: Likewise.
20536         * lib/expl.c: Likewise.
20537         * lib/gen-uni-tables.c: Likewise.
20538         * lib/gettext.h: Likewise.
20539         * lib/glthread/lock.h: Likewise.
20540         * lib/tanl.c: Likewise.
20541         * lib/uniname/uniname.c: Likewise.
20542         * tests/test-idpriv-drop.c: Likewise.
20543         * tests/test-idpriv-droptemp.c: Likewise.
20544         * tests/test-lock.c: Likewise.
20545         * tests/test-tls.c: Likewise.
20546         * lib/argp-help.c: Insert space before function-like macro argument
20547         list.
20548         * lib/memcmp.c: Likewise.
20549         * tests/test-base64.c: Likewise.
20550         * lib/localename.c: Insert space before sizeof's argument list.
20551         * lib/safe-alloc.h: Likewise.
20552         * lib/file-set.h: Insert space before macro argument list.
20553         * tests/test-argp.c: Likewise.
20554         * lib/argp-namefrob.h: Insert space before function parameter list.
20555         * lib/getaddrinfo.c: Likewise.
20556         * lib/netdb.in.h: Likewise.
20557         * lib/parse-duration.h: Likewise.
20558         * lib/parse-duration.c: Likewise.
20559         * lib/poll.c: Likewise.
20560         * lib/select.c: Likewise.
20561         * lib/trim.h: Likewise.
20562         * tests/test-usleep.c: Likewise.
20563         * lib/ldexpl.c: Insert space before function parameter list and before
20564         function argument list.
20565         * lib/logl.c: Likewise.
20566         * lib/sqrtl.c: Likewise.
20567         * lib/trim.c: Likewise.
20568         * lib/cosl.c: Use GNU style indentation. Insert space before function
20569         argument list.
20570         * lib/sinl.c: Likewise.
20571         * lib/tsearch.c: Insert space after 'for'.
20572         Reported by Jim Meyering.
20573
20574 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
20575
20576         * maint.mk (sc_Wundef_boolean): Check for the presence of the
20577         config header before grepping, as it's not present before
20578         autoreconf/configure are run.  Reported by Simon Josefsson.
20579
20580 2010-03-23  Bruno Haible  <bruno@clisp.org>
20581
20582         pt_chown: Make it work with automake < 1.11.
20583         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
20584         Reported by Simon Josefsson.
20585
20586 2010-03-23  Bruno Haible  <bruno@clisp.org>
20587
20588         pt_chown: Don't depend on GPLed modules.
20589         * lib/pt_chown.c: Don't include idpriv.h.
20590         (main): Don't drop privileges.
20591         * modules/pt_chown (Depends-on): Remove idpriv-drop.
20592         Reported by Simon Josefsson.
20593
20594 2010-03-24  Simon Josefsson  <simon@josefsson.org>
20595
20596         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
20597         suggestions from karl@freefriends.org (Karl Berry).
20598
20599 2010-03-22  Eric Blake  <eblake@redhat.com>
20600
20601         gethostname: further tweaks
20602         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
20603         are overriding gethostname.
20604         Suggested by Bruno Haible.
20605
20606 2010-03-21  Bruno Haible  <bruno@clisp.org>
20607
20608         Fix comments.
20609         * lib/forkpty.c (rpl_forkpty): Fix comment.
20610         * lib/openpty.c (rpl_openpty): Likewise.
20611         Reported by Eric Blake.
20612
20613 2010-03-22  Eric Blake  <eblake@redhat.com>
20614
20615         gethostname: fix build on mingw
20616         * lib/unistd.in.h (includes): Work around fact that mingw
20617         <winsock2.h> re-includes <unistd.h>, by avoiding any
20618         redeclarations if we are being included by <winsock2.h>.
20619         Reported by Matthias Bolte.
20620
20621 2010-03-21  Bruno Haible  <bruno@clisp.org>
20622
20623         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
20624         * lib/forkpty.c (forkpty): New replacement function, from glibc with
20625         modifications.
20626         * lib/pty.in.h (forkpty): Update declaration. Add comments.
20627         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
20628         provide the replacement.
20629         * modules/forkpty (Depends-on): Add openpty, login_tty.
20630         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
20631         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
20632         * doc/glibc-functions/forkpty.texi: More supported platforms.
20633         * config/srclist.txt: Add forkpty.c (commented).
20634
20635 2010-03-21  Bruno Haible  <bruno@clisp.org>
20636
20637         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
20638         (Makefile.am): Verify that PTY_LIB is defined.
20639
20640         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
20641
20642 2010-03-21  Bruno Haible  <bruno@clisp.org>
20643
20644         Tests for module 'login_tty'.
20645         * modules/login_tty-tests: New file.
20646         * tests/test-login_tty.c: New file.
20647
20648         New module 'login_tty'.
20649         * lib/login_tty.c: New file.
20650         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
20651         * modules/login_tty: New file.
20652         * doc/glibc-functions/login_tty.texi: Mention the new module.
20653
20654 2010-03-21  Bruno Haible  <bruno@clisp.org>
20655
20656         login_tty: Documentation.
20657         * doc/glibc-functions/login_tty.texi: New file.
20658         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
20659
20660 2010-03-21  Bruno Haible  <bruno@clisp.org>
20661
20662         pty: Consistent macro naming.
20663         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
20664         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
20665         * modules/pty (configure.ac): Update.
20666
20667 2010-03-21  Bruno Haible  <bruno@clisp.org>
20668
20669         Tests for openpty: Make stricter.
20670         * tests/test-openpty.c (main): Add test of canonical processing and
20671         erase.
20672         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
20673
20674         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
20675         * lib/openpty.c (openpty): New replacement function.
20676         * lib/pty.in.h: Include <termios.h>.
20677         (openpty): Update declaration. Add comments.
20678         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
20679         is not declared, arrange to provide the replacement. Check for _getpty
20680         and posix_openpt.
20681         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
20682         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
20683         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
20684         * modules/pty-tests (test_pty_c___LDADD): New variable.
20685         * doc/glibc-functions/openpty.texi: More supported platforms.
20686
20687 2010-03-21  Bruno Haible  <bruno@clisp.org>
20688
20689         setenv: Tweaks.
20690         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
20691         the test program.
20692         * doc/posix-functions/setenv.texi: Update platforms list.
20693
20694 2010-03-21  Bruno Haible  <bruno@clisp.org>
20695
20696         New module 'unlockpt'.
20697         * lib/unlockpt.c: New file, from glibc with modifications.
20698         * m4/unlockpt.m4: New file.
20699         * modules/unlockpt: New file.
20700         * lib/stdlib.in.h (unlockpt): New declaration.
20701         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
20702         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
20703         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
20704         HAVE_UNLOCKPT.
20705         * doc/posix-functions/unlockpt.texi: Mention the new module.
20706         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
20707         * config/srclist.txt: Add unlockpt.c (commented).
20708
20709 2010-03-21  Jim Meyering  <meyering@redhat.com>
20710
20711         maint.mk: prohibit inclusion of "intprops.h" without use
20712         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
20713
20714 2010-03-21  Bruno Haible  <bruno@clisp.org>
20715
20716         New module 'grantpt'.
20717         * lib/grantpt.c: New file, from glibc with modifications.
20718         * m4/grantpt.m4: New file.
20719         * modules/grantpt: New file.
20720         * lib/stdlib.in.h (grantpt): New declaration.
20721         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
20722         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
20723         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
20724         HAVE_GRANTPT.
20725         * doc/posix-functions/grantpt.texi: Mention the new module.
20726         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
20727         * config/srclist.txt: Add grantpt.c (commented).
20728
20729 2010-03-21  Bruno Haible  <bruno@clisp.org>
20730
20731         New module 'pt_chown'.
20732         * lib/pt_chown.c: New file, from glibc with modifications.
20733         * lib/pty-private.h: New file, from glibc with modifications.
20734         * modules/pt_chown: New file.
20735         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
20736
20737 2010-03-21  Bruno Haible  <bruno@clisp.org>
20738
20739         Tests for module 'ptsname'.
20740         * modules/ptsname-tests: New file.
20741         * tests/test-ptsname.c: New file.
20742
20743         New module 'ptsname'.
20744         * lib/ptsname.c: New file, from glibc with modifications.
20745         * m4/ptsname.m4: New file.
20746         * modules/ptsname: New file.
20747         * lib/stdlib.in.h (ptsname): New declaration.
20748         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
20749         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
20750         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
20751         HAVE_PTSNAME.
20752         * doc/posix-functions/ptsname.texi: Mention the new module.
20753         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
20754         * config/srclist.txt: Add ptsname.c (commented).
20755
20756 2010-03-21  Bruno Haible  <bruno@clisp.org>
20757
20758         Tests for module 'ttyname_r'.
20759         * modules/ttyname_r-tests: New file.
20760         * tests/test-ttyname_r.c: New file.
20761
20762         New module 'ttyname_r'.
20763         * lib/ttyname_r.c: New file.
20764         * m4/ttyname_r.m4: New file.
20765         * modules/ttyname_r: New file.
20766         * lib/unistd.in.h (ttyname_r): New declaration.
20767         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
20768         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
20769         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
20770         HAVE_TTYNAME_R.
20771         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
20772         * doc/posix-functions/ttyname_r.texi: Mention the new module.
20773
20774 2010-03-20  Bruno Haible  <bruno@clisp.org>
20775
20776         signal: Undefine macro definitions in C++ mode.
20777         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
20778         sigfillset): Undefine macro definitions from the system header in C++
20779         mode.
20780         Reported by John W. Eaton <jwe@gnu.org>.
20781
20782 2010-03-20  Bruno Haible  <bruno@clisp.org>
20783
20784         Ensure no #include statements inside extern "C" { ... }.
20785         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
20786         contain #include statements.
20787         * lib/time.in.h: Likewise.
20788
20789 2010-03-20  Bruno Haible  <bruno@clisp.org>
20790
20791         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
20792         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
20793         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
20794         Reported by John W. Eaton <jwe@gnu.org>.
20795
20796 2010-03-20  Bruno Haible  <bruno@clisp.org>
20797
20798         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
20799         Reported by Jim Meyering.
20800
20801 2010-03-20  Bruno Haible  <bruno@clisp.org>
20802
20803         pipe: Set errno upon failure.
20804         * lib/pipe.h: Specify that when -1 is returned, errno is set.
20805         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
20806         errno value in error message.
20807
20808 2010-03-20  Bruno Haible  <bruno@clisp.org>
20809             Jim Meyering  <meyering@redhat.com>
20810
20811         lchown: Avoid "unused variable" warning.
20812         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
20813
20814 2010-03-20  Bruno Haible  <bruno@clisp.org>
20815
20816         Work around unlink() bug on MacOS X 10.5.6.
20817         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
20818         attempting to unlink a parent directory.
20819         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
20820         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
20821         activate for the replacement function.
20822         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
20823
20824 2010-03-20  Bruno Haible  <bruno@clisp.org>
20825
20826         Fix link errors on Solaris 8.
20827         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
20828         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
20829
20830 2010-03-19  Jim Meyering  <meyering@redhat.com>
20831
20832         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
20833         The _LIBC implementation of build_range_exp correctly honors the
20834         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
20835         However, the non-_LIBC implementation would ignore that syntax-bit
20836         flag and return REG_ERANGE unconditionally.
20837         This change makes it honor that flag.
20838         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
20839         Make two pointer parameters "const".
20840         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
20841         (parse_bracket_exp): Update caller.
20842
20843         regex.m4: correct the reversed range endpoint ([b-a]) test
20844         * m4/regex.m4: When requiring that [b-a] evoke failure,
20845         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
20846         test pass once again for x86-based systems.
20847
20848 2010-03-19  Bruno Haible  <bruno@clisp.org>
20849
20850         scandir: Fix link error on Solaris 8.
20851         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
20852         macros.
20853
20854 2010-03-19  Bruno Haible  <bruno@clisp.org>
20855
20856         getusershell: Fix documentation.
20857         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
20858         module.
20859         * doc/glibc-functions/setusershell.texi: Likewise.
20860
20861         getusershell: Provide declaration, missing on Solaris 9.
20862         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
20863         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
20864         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
20865         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
20866         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
20867         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
20868         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
20869         HAVE_GETUSERSHELL.
20870         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
20871
20872 2010-03-19  Bruno Haible  <bruno@clisp.org>
20873
20874         wctype: Provide iswblank function.
20875         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
20876         exists and is fine.
20877         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
20878         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
20879         * tests/test-wctype.c (main): Re-enable the iswblank tests.
20880         * doc/posix-functions/iswblank.texi: Update.
20881
20882 2010-03-19  Bruno Haible  <bruno@clisp.org>
20883
20884         Tests of module 'pty' in C++ mode.
20885         * modules/pty-tests: New file.
20886         * tests/test-pty-c++.cc: New file.
20887         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
20888
20889 2010-03-19  Eric Blake  <eblake@redhat.com>
20890
20891         logb: fix documentation
20892         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
20893         1.5 declaration bug.
20894
20895         forkpty, openpty: prefer glibc's const-safe prototype
20896         * lib/forkpty.c (rpl_forkpty): New file.
20897         * lib/openpty.c (rpl_openpty): Likewise.
20898         * modules/forkpty (Files): Distribute it.
20899         * modules/openpty (Files): Likewise.
20900         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
20901         check...
20902         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
20903         replacement for for non-const BSD signature.
20904         * modules/pty (Makefile.am): Substitute witnesses.
20905         * lib/pty.in.h (forkpty, openpty): Declare replacements.
20906         * tests/test-forkpty.c: Update signature check.
20907         * tests/test-openpty.c: Likewise.
20908         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
20909         * doc/glibc-functions/openpty.texi (openpty): Likewise.
20910
20911         forkpty, openpty: split functions into new modules
20912         * modules/pty (Makefile.am): Substitute new witnesses.
20913         (Libraries): Move library detection...
20914         * modules/forkpty: ...into new module.
20915         * modules/openpty: Another new module.
20916         * modules/pty-tests: Rename and split...
20917         * modules/forkpty-tests: ...to this...
20918         * modules/openpty-tests: ...and this.
20919         * tests/test-pty.c: Rename and split...
20920         * tests/test-forkpty.c: ...to this...
20921         * tests/test-openpty.c: ...and this.
20922         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
20923         (gl_PTY): Split library searching...
20924         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
20925         (gl_FORKPTY, gl_OPENPTY): New macros.
20926         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
20927         * NEWS: Mention the split.
20928         * MODULES.html.sh (Misc): Document the modules.
20929         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
20930         * doc/glibc-functions/openpty.texi (openpty): Likewise.
20931
20932         pty: improve replacement header
20933         * lib/pty.in.h: New file.
20934         * modules/pty (Files): Ship it.
20935         (Makefile.am): Always build replacement.
20936         * m4/pty.m4: Rename...
20937         * m4/pty_h.m4: ...to this.
20938         (gl_PTY): Modernize setting of witness macros; update check of
20939         forkpty to take proper advantage of cache.
20940         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
20941
20942         getopt: avoid compiler warning
20943         * lib/getopt.c (attribute_hidden): Remove unused macro.
20944
20945 2010-03-18  Bruno Haible  <bruno@clisp.org>
20946
20947         Fix link errors on Solaris 8.
20948         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
20949         * modules/search-tests (test_search_c___LDADD): Likewise.
20950         * modules/signal-tests (test_signal_c___LDADD): Likewise.
20951         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
20952         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
20953         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
20954         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
20955         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
20956         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
20957
20958 2010-03-18  Bruno Haible  <bruno@clisp.org>
20959
20960         Fix bug introduced on 2010-03-14.
20961         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
20962         (gl_SPAWN_H): Require it.
20963         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
20964         Reported by Simon Josefsson.
20965
20966 2010-03-18  Bruno Haible  <bruno@clisp.org>
20967
20968         Fix typo introduced on 2009-12-31.
20969         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
20970         posix_spawn_file_actions_adddup2.
20971
20972 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
20973         and Eric Blake  <eblake@redhat.com>
20974
20975         test-vc-list-files-git: make more robust
20976         * tests/test-vc-list-files-git.sh: Unset problematic environment
20977         variables.  Chain commands together.
20978
20979 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
20980
20981         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
20982         `AC_CHECK_DECL' invocation.
20983
20984 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
20985
20986         * lib/inttostr.c (inttostr): Make sure the invocation of verify
20987         appears before executable statements. Suggested by Petr Sumbera
20988         <Petr.Sumbera@Sun.COM>.
20989
20990 2010-03-14  Bruno Haible  <bruno@clisp.org>
20991
20992         * tests/test-flock.c (test_exclusive): Comment out a test that causes
20993         portability problems. Instead use a simpler test.
20994         (main): Check that invalid arguments are rejected only on Linux.
20995
20996 2010-03-14  Bruno Haible  <bruno@clisp.org>
20997
20998         Fix bug introduced on 2009-12-31.
20999         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
21000         gl_PREREQ_SYS_H_WINSOCK2 always.
21001         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
21002         SYS_SOCKET_H variable.
21003         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
21004         Update comments.
21005         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
21006         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
21007         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
21008         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
21009         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
21010
21011 2010-03-14  Bruno Haible  <bruno@clisp.org>
21012
21013         Fix values returned by sinl, cosl.
21014         * lib/trigl.h: Add specification comments.
21015         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
21016         that combines the values from the precomputed table with the values of
21017         the Chebyshev polynomials.
21018
21019 2010-03-14  Bruno Haible  <bruno@clisp.org>
21020
21021         Fix compilation error when modules 'posix_spawn[p]' are not used.
21022         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
21023         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
21024
21025 2010-03-14  Bruno Haible  <bruno@clisp.org>
21026
21027         Fix compilation error on mingw when module 'time_r' is not used.
21028         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
21029         is 1.
21030         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
21031         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
21032         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
21033         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
21034
21035 2010-03-14  Bruno Haible  <bruno@clisp.org>
21036
21037         Fix compilation error with Sun C.
21038         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
21039         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
21040         instead of GCC specific ULONG_LONG_MAX.
21041         * lib/xstrtoll.c: Likewise.
21042         * lib/xstrtoull.c: Likewise.
21043
21044 2010-03-13  Bruno Haible  <bruno@clisp.org>
21045
21046         Allow the user to disable C++ code and tests.
21047         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
21048         (gl_PROG_ANSI_CXX): Require it.
21049
21050 2010-03-13  Bruno Haible  <bruno@clisp.org>
21051
21052         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
21053         cases.
21054
21055 2010-03-13  Bruno Haible  <bruno@clisp.org>
21056
21057         Test that gnulib does not break the standard C++ headers.
21058         * tests/test-locale-c++2.cc: New file.
21059         * modules/locale-tests (Files): Add it.
21060         (Makefile.am): Compile it for test-locale-c++.
21061         * tests/test-math-c++2.cc: New file.
21062         * modules/math-tests (Files): Add it.
21063         (Makefile.am): Compile it for test-math-c++.
21064         * tests/test-signal-c++2.cc: New file.
21065         * modules/signal-tests (Files): Add it.
21066         (Makefile.am): Compile it for test-signal-c++.
21067         * tests/test-stdio-c++2.cc: New file.
21068         * modules/stdio-tests (Files): Add it.
21069         (Makefile.am): Compile it for test-stdio-c++.
21070         * tests/test-stdlib-c++2.cc: New file.
21071         * modules/stdlib-tests (Files): Add it.
21072         (Makefile.am): Compile it for test-stdlib-c++.
21073         * tests/test-string-c++2.cc: New file.
21074         * modules/string-tests (Files): Add it.
21075         (Makefile.am): Compile it for test-string-c++.
21076         * tests/test-time-c++2.cc: New file.
21077         * modules/time-tests (Files): Add it.
21078         (Makefile.am): Compile it for test-time-c++.
21079         Reported by John W. Eaton <jwe@gnu.org>.
21080
21081 2010-03-13  Bruno Haible  <bruno@clisp.org>
21082
21083         * gnulib-tool (func_usage): Clarify which options are available for
21084         --create-testdir and --create-megatestdir.
21085
21086 2010-03-13  Bruno Haible  <bruno@clisp.org>
21087
21088         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
21089         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
21090         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
21091         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
21092         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
21093         when appropriate.
21094         Reported by Jim Meyering.
21095
21096 2010-03-12  Simon Josefsson  <simon@josefsson.org>
21097
21098         * gnulib-tool (func_import): Explain origin of code.
21099
21100 2010-03-12  Bruno Haible  <bruno@clisp.org>
21101
21102         Fix problem with automake's definition of CXXLINK.
21103         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
21104         Reported by Simon Josefsson and Ludovic Courtès.
21105
21106 2010-03-12  Bruno Haible  <bruno@clisp.org>
21107
21108         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
21109         stable releases.
21110
21111 2010-03-11  Bruno Haible  <bruno@clisp.org>
21112
21113         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
21114         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
21115         whether the system provides one variant or multiple variants of the
21116         function.
21117         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
21118         C++ compilers.
21119         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
21120         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
21121         Reported by Jim Meyering.
21122
21123 2010-03-09  Simon Josefsson  <simon@josefsson.org>
21124
21125         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
21126
21127 2010-03-08  Bruno Haible  <bruno@clisp.org>
21128
21129         gnulib-tool: Add support for --libtool in --create-testdir.
21130         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
21131         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
21132
21133 2010-03-08  Eric Blake  <eblake@redhat.com>
21134
21135         gnulib-tool.texi: mention possibility of git submodule
21136         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
21137         submodules.
21138         * doc/.gitignore: Ignore another generated file.
21139
21140 2010-03-08  Karl Berry  <karl@gnu.org>
21141
21142         * doc/gnulib-tool.texi (VCS Issues): Mention third option
21143         of committing gnulib files while skipping others.
21144
21145 2010-03-07  Bruno Haible  <bruno@clisp.org>
21146
21147         Tests of module 'wctype' in C++ mode.
21148         * tests/test-wctype-c++.cc: New file.
21149         * modules/wctype-tests (Files): Add it and tests/signature.h.
21150         (Depends-on): Add ansi-c++-opt.
21151         (Makefile.am): Arrange to compile and run test-wctype-c++.
21152
21153         Tests of module 'wchar' in C++ mode.
21154         * tests/test-wchar-c++.cc: New file.
21155         * modules/wchar-tests (Files): Add it and tests/signature.h.
21156         (Depends-on): Add ansi-c++-opt.
21157         (Makefile.am): Arrange to compile and run test-wchar-c++.
21158         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
21159         gl_MODULE_INDICATOR.
21160
21161         Tests of module 'unistd' in C++ mode.
21162         * tests/test-unistd-c++.cc: New file.
21163         * modules/unistd-tests (Files): Add it and tests/signature.h.
21164         (Depends-on): Add ansi-c++-opt.
21165         (Makefile.am): Arrange to compile and run test-unistd-c++.
21166         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
21167         gl_MODULE_INDICATOR.
21168
21169         Tests of module 'time' in C++ mode.
21170         * tests/test-time-c++.cc: New file.
21171         * modules/time-tests (Files): Add it and tests/signature.h.
21172         (Depends-on): Add ansi-c++-opt.
21173         (Makefile.am): Arrange to compile and run test-time-c++.
21174         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
21175
21176         Tests of module 'sys_time' in C++ mode.
21177         * tests/test-sys_time-c++.cc: New file.
21178         * modules/sys_time-tests (Files): Add it and tests/signature.h.
21179         (Depends-on): Add ansi-c++-opt.
21180         (Makefile.am): Arrange to compile and run test-sys_time-c++.
21181         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
21182         gl_MODULE_INDICATOR.
21183
21184         Tests of module 'sys_stat' in C++ mode.
21185         * tests/test-sys_stat-c++.cc: New file.
21186         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
21187         (Depends-on): Add ansi-c++-opt.
21188         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
21189         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
21190         gl_MODULE_INDICATOR.
21191
21192         Tests of module 'sys_socket' in C++ mode.
21193         * tests/test-sys_socket-c++.cc: New file.
21194         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
21195         (Depends-on): Add ansi-c++-opt.
21196         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
21197         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
21198         gl_MODULE_INDICATOR.
21199
21200         Tests of module 'sys_select' in C++ mode.
21201         * tests/test-sys_select-c++.cc: New file.
21202         * modules/sys_select-tests (Files): Add it and tests/signature.h.
21203         (Depends-on): Add ansi-c++-opt.
21204         (Makefile.am): Arrange to compile and run test-sys_select-c++.
21205         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
21206         gl_MODULE_INDICATOR.
21207
21208         Tests of module 'sys_ioctl' in C++ mode.
21209         * tests/test-sys_ioctl-c++.cc: New file.
21210         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
21211         (Depends-on): Add ansi-c++-opt.
21212         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
21213         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
21214         gl_MODULE_INDICATOR.
21215
21216         Tests of module 'string' in C++ mode.
21217         * tests/test-string-c++.cc: New file.
21218         * modules/string-tests (Files): Add it and tests/signature.h.
21219         (Depends-on): Add ansi-c++-opt.
21220         (Makefile.am): Arrange to compile and run test-string-c++.
21221         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
21222         gl_MODULE_INDICATOR.
21223
21224         Tests of module 'stdlib' in C++ mode.
21225         * tests/test-stdlib-c++.cc: New file.
21226         * modules/stdlib-tests (Files): Add it and tests/signature.h.
21227         (Depends-on): Add ansi-c++-opt.
21228         (Makefile.am): Arrange to compile and run test-stdlib-c++.
21229         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
21230         gl_MODULE_INDICATOR.
21231
21232         Tests of module 'stdio' in C++ mode.
21233         * tests/test-stdio-c++.cc: New file.
21234         * modules/stdio-tests (Files): Add it and tests/signature.h.
21235         (Depends-on): Add ansi-c++-opt.
21236         (Makefile.am): Arrange to compile and run test-stdio-c++.
21237         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
21238         gl_MODULE_INDICATOR.
21239
21240         Tests of module 'spawn' in C++ mode.
21241         * tests/test-spawn-c++.cc: New file.
21242         * modules/spawn-tests (Files): Add it and tests/signature.h.
21243         (Depends-on): Add ansi-c++-opt.
21244         (Makefile.am): Arrange to compile and run test-spawn-c++.
21245         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
21246         gl_MODULE_INDICATOR.
21247
21248         Tests of module 'signal' in C++ mode.
21249         * tests/test-signal-c++.cc: New file.
21250         * modules/signal-tests (Files): Add it and tests/signature.h.
21251         (Depends-on): Add ansi-c++-opt.
21252         (Makefile.am): Arrange to compile and run test-signal-c++.
21253         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
21254         gl_MODULE_INDICATOR.
21255
21256         Tests of module 'search' in C++ mode.
21257         * tests/test-search-c++.cc: New file.
21258         * modules/search-tests (Files): Add it and tests/signature.h.
21259         (Depends-on): Add ansi-c++-opt.
21260         (Makefile.am): Arrange to compile and run test-search-c++.
21261         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
21262         gl_MODULE_INDICATOR.
21263
21264         Tests of module 'math' in C++ mode.
21265         * tests/test-math-c++.cc: New file.
21266         * modules/math-tests (Files): Add it and tests/signature.h.
21267         (Depends-on): Add ansi-c++-opt.
21268         (Makefile.am): Arrange to compile and run test-math-c++.
21269         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
21270
21271         Tests of module 'locale' in C++ mode.
21272         * tests/test-locale-c++.cc: New file.
21273         * modules/locale-tests (Files): Add it and tests/signature.h.
21274         (Depends-on): Add ansi-c++-opt.
21275         (Makefile.am): Arrange to compile and run test-locale-c++.
21276         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
21277         gl_MODULE_INDICATOR.
21278
21279         Tests of module 'langinfo' in C++ mode.
21280         * tests/test-langinfo-c++.cc: New file.
21281         * modules/langinfo-tests (Files): Add it and tests/signature.h.
21282         (Depends-on): Add ansi-c++-opt.
21283         (Makefile.am): Arrange to compile and run test-langinfo-c++.
21284         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
21285         gl_MODULE_INDICATOR.
21286
21287         Tests of module 'iconv-h' in C++ mode.
21288         * tests/test-iconv-h-c++.cc: New file.
21289         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
21290         (Depends-on): Add ansi-c++-opt.
21291         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
21292
21293         Tests of module 'glob' in C++ mode.
21294         * tests/test-glob-c++.cc: New file.
21295         * modules/glob-tests (Files): Add it.
21296         (Depends-on): Add ansi-c++-opt.
21297         (Makefile.am): Arrange to compile and run test-glob-c++.
21298
21299         Tests of module 'fcntl-h' in C++ mode.
21300         * tests/test-fcntl-h-c++.cc: New file.
21301         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
21302         (Depends-on): Add ansi-c++-opt.
21303         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
21304         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
21305         gl_MODULE_INDICATOR.
21306
21307         Tests of module 'dirent' in C++ mode.
21308         * tests/test-dirent-c++.cc: New file.
21309         * modules/dirent-tests (Files): Add it and tests/signature.h.
21310         (Depends-on): Add ansi-c++-opt.
21311         (Makefile.am): Arrange to compile and run test-dirent-c++.
21312         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
21313         gl_MODULE_INDICATOR.
21314
21315         New module 'ansi-c++-opt'.
21316         * modules/ansi-c++-opt: New file.
21317         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
21318
21319         Document C++ namespace mode.
21320         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
21321
21322         wctype: Avoid #define replacements in C++ mode.
21323         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
21324         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
21325         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
21326         In C++, define a namespaced alias symbol.
21327         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
21328         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
21329         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
21330         rule.
21331
21332         wchar: Avoid #define replacements in C++ mode.
21333         * lib/wchar.in.h: Include c++defs.h.
21334         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
21335         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
21336         symbol.
21337         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
21338         * modules/wchar (Depends-on): Add c++defs.
21339         (Makefile.am): Update wchar.h rule.
21340
21341         unistd: Avoid #define replacements in C++ mode.
21342         * lib/unistd.in.h: Include c++defs.h.
21343         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
21344         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
21345         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
21346         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
21347         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
21348         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
21349         symbol.
21350         (environ): Update.
21351         * modules/unistd (Depends-on): Add c++defs.
21352         (Makefile.am): Update unistd.h rule.
21353
21354         time: Avoid #define replacements in C++ mode.
21355         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
21356         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
21357         define a namespaced alias symbol.
21358         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
21359         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
21360         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
21361         * modules/time (Depends-on): Add c++defs, warn-on-use.
21362         (Makefile.am): Update time.h rule.
21363         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
21364         * modules/nanosleep (configure.ac): Likewise.
21365         * modules/strptime (configure.ac): Likewise.
21366         * modules/timegm (configure.ac): Likewise.
21367
21368         sys_time: Avoid #define replacements in C++ mode.
21369         * lib/sys_time.in.h: Include c++defs.h.
21370         (gettimeofday): In C++, define a namespaced alias symbol.
21371         * modules/sys_time (Depends-on): Add c++defs.
21372         (Makefile.am): Update sys/time.h rule.
21373
21374         sys_stat: Avoid #define replacements in C++ mode.
21375         * lib/sys_stat.in.h: Include c++defs.h.
21376         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
21377         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
21378         namespaced alias symbol.
21379         In C++, define a namespaced alias symbol.
21380         * modules/sys_stat (Depends-on): Add c++defs.
21381         (Makefile.am): Update sys/stat.h rule.
21382
21383         sys_socket: Avoid #define replacements in C++ mode.
21384         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
21385         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
21386         definitions also when the system has a <sys/socket.h>.
21387         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
21388         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
21389         In C++, define a namespaced alias symbol.
21390         * modules/sys_socket (Depends-on): Add c++defs.
21391         (Makefile.am): Update sys/socket.h rule.
21392
21393         sys_select: Avoid #define replacements in C++ mode.
21394         * lib/sys_select.in.h: Include c++defs.h. Enable the function
21395         definitions also when the system has a <sys/select.h>.
21396         (select): In C++, define a namespaced alias symbol.
21397         * modules/sys_select (Depends-on): Add c++defs.
21398         (Makefile.am): Update sys/select.h rule.
21399
21400         sys_ioctl: Avoid #define replacements in C++ mode.
21401         * lib/sys_ioctl.in.h: Include c++defs.h.
21402         (ioctl): In C++, define a namespaced alias symbol.
21403         * modules/sys_ioctl (Depends-on): Add c++defs.
21404         (Makefile.am): Update sys/ioctl.h rule.
21405
21406         string: Avoid #define replacements in C++ mode.
21407         * lib/string.in.h: Include c++defs.h.
21408         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
21409         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
21410         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
21411         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
21412         strsignal, strverscmp): In C++, define a namespaced alias symbol.
21413         * modules/string (Depends-on): Add c++defs.
21414         (Makefile.am): Update string.h rule.
21415
21416         stdlib: Avoid #define replacements in C++ mode.
21417         * lib/stdlib.in.h: Include c++defs.h.
21418         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
21419         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
21420         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
21421         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
21422         symbol.
21423         * modules/stdlib (Depends-on): Add c++defs.
21424         (Makefile.am): Update stdlib.h rule.
21425
21426         stdio: Avoid #define replacements in C++ mode.
21427         * lib/stdio.in.h: Include c++defs.h.
21428         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
21429         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
21430         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
21431         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
21432         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
21433         namespaced alias symbol.
21434         * modules/stdio (Depends-on): Add c++defs.
21435         (Makefile.am): Update stdio.h rule.
21436
21437         spawn: Avoid #define replacements in C++ mode.
21438         * lib/spawn.in.h: Include c++defs.h.
21439         (posix_spawn, posix_spawnp, posix_spawnattr_init,
21440         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
21441         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
21442         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
21443         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
21444         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
21445         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
21446         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
21447         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
21448         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
21449         In C++, define a namespaced alias symbol.
21450         * modules/spawn (Depends-on): Add c++defs.
21451         (Makefile.am): Update spawn.h rule.
21452
21453         signal: Avoid #define replacements in C++ mode.
21454         * lib/signal.in.h: Include c++defs.h.
21455         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
21456         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
21457         namespaced alias symbol.
21458         * modules/signal (Depends-on): Add c++defs.
21459         (Makefile.am): Update signal.h rule.
21460
21461         search: Avoid #define replacements in C++ mode.
21462         * lib/search.in.h: Include c++defs.h.
21463         (_gl_search_compar_fn, _gl_search_action_fn): New types.
21464         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
21465         symbol.
21466         * modules/search (Depends-on): Add c++defs.
21467         (Makefile.am): Update search.h rule.
21468
21469         math: Avoid #define replacements in C++ mode.
21470         * lib/math.in.h: Include c++defs.h.
21471         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
21472         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
21473         trunc, truncl): In C++, define a namespaced alias symbol.
21474         * modules/math (Depends-on): Add c++defs.
21475         (Makefile.am): Update math.h rule.
21476
21477         locale: Avoid #define replacements in C++ mode.
21478         * lib/locale.in.h: Include c++defs.h.
21479         (duplocale): In C++, define a namespaced alias symbol.
21480         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
21481         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
21482         * modules/locale (Depends-on): Add c++defs.
21483         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
21484
21485         langinfo: Avoid #define replacements in C++ mode.
21486         * lib/langinfo.in.h: Include c++defs.h.
21487         (nl_langinfo): In C++, define a namespaced alias symbol.
21488         * modules/langinfo (Depends-on): Add c++defs.
21489         (Makefile.am): Update langinfo.h rule.
21490
21491         iconv-h: Avoid #define replacements in C++ mode.
21492         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
21493         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
21494         symbol.
21495         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
21496         whenever iconv is present.
21497         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
21498         (Makefile.am): Update iconv.h rule.
21499
21500         glob: Avoid #define replacements in C++ mode.
21501         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
21502         (_gl_glob_errfunc_fn): New type.
21503         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
21504         symbol.
21505         * modules/glob (Depends-on): Add c++defs, warn-on-use.
21506         (Makefile.am): Update glob.h rule.
21507
21508         fcntl-h: Avoid #define replacements in C++ mode.
21509         * lib/fcntl.in.h: Include c++defs.h.
21510         (fcntl, open, openat): In C++, define a namespaced alias symbol.
21511         * modules/fcntl-h (Depends-on): Add c++defs.
21512         (Makefile.am): Update fcntl.h rule.
21513
21514         dirent: Avoid #define replacements in C++ mode.
21515         * lib/dirent.in.h: Include c++defs.h.
21516         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
21517         namespaced alias symbol.
21518         (dirfd): Update declaration.
21519         * modules/dirent (Depends-on): Add c++defs.
21520         (Makefile.am): Update dirent.h rule.
21521
21522         ctype: Make it usable in C++ code.
21523         * lib/ctype.in.h: Include c++defs.h.
21524         (isblank): Declare as extern "C".
21525         * modules/ctype (Depends-on): Add c++defs.
21526         (Makefile.am): Update ctype.h rule.
21527
21528         New module 'c++defs'.
21529         * modules/c++defs: New file.
21530         * build-aux/c++defs.h: New file.
21531         Reported by John W. Eaton <jwe@gnu.org>.
21532
21533 2010-03-07  Bruno Haible  <bruno@clisp.org>
21534
21535         logb: Provide missing declaration for Cygwin.
21536         * lib/math.in.h (logb): New declaration.
21537         * m4/logb.m4: New file.
21538         * modules/logb (Files): Add m4/logb.m4.
21539         (Depends-on): Add math.
21540         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
21541         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
21542         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
21543         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
21544         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
21545
21546 2010-03-07  Bruno Haible  <bruno@clisp.org>
21547
21548         Fix test-cond link error.
21549         * tests/test-cond.c: Include <stdio.h>.
21550
21551 2010-03-07  Bruno Haible  <bruno@clisp.org>
21552
21553         Fix test-dirent-safer link error.
21554         * modules/dirent-safer-tests (Makefile.am): Define
21555         test_dirent_safer_LDADD.
21556
21557 2010-03-07  Bruno Haible  <bruno@clisp.org>
21558
21559         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
21560         among default module list.
21561
21562 2010-03-07  Bruno Haible  <bruno@clisp.org>
21563
21564         Fix link error on platforms with GNU libiconv.
21565         * modules/unistr/u8-strcoll-tests (Makefile): Define
21566         test_u8_strcoll_LDADD.
21567         * modules/unistr/u16-strcoll-tests (Makefile): Define
21568         test_u16_strcoll_LDADD.
21569         * modules/unistr/u32-strcoll-tests (Makefile): Define
21570         test_u32_strcoll_LDADD.
21571
21572 2010-03-07  Bruno Haible  <bruno@clisp.org>
21573
21574         Use POSIX declarations for socket functions.
21575         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
21576         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
21577         rpl_sendto): Change declaration to match POSIX.
21578         * lib/connect.c (rpl_connect): Likewise.
21579         * lib/accept.c (rpl_accept): Likewise.
21580         * lib/bind.c (rpl_bind): Likewise.
21581         * lib/getpeername.c (rpl_getpeername): Likewise.
21582         * lib/getsockname.c (rpl_getsockname): Likewise.
21583         * lib/recv.c (rpl_recv): Likewise.
21584         * lib/send.c (rpl_send): Likewise.
21585         * lib/recvfrom.c (rpl_recvfrom): Likewise.
21586         * lib/sendto.c (rpl_sendto): Likewise.
21587
21588 2010-03-06  Bruno Haible  <bruno@clisp.org>
21589
21590         Clarify access, euidaccess, faccessat.
21591         * doc/posix-functions/faccessat.texi: Mention security problem under
21592         "Other problems", not "Portability problems".
21593         * doc/posix-functions/access.texi: Likewise. Mention a related security
21594         problem.
21595         * doc/glibc-functions/euidaccess.texi: Mention security problems.
21596         * lib/euidaccess.c: Add comments about platforms.
21597         * lib/unistd.in.h (access, euidaccess): Add warnings.
21598
21599 2010-03-07  Bruno Haible  <bruno@clisp.org>
21600
21601         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
21602         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
21603         (POSIX_SPAWN_SETSCHEDULER): Likewise.
21604         (POSIX_SPAWN_USEVFORK): Define in a way that works when
21605         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
21606         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
21607         declare when POSIX_SPAWN_SETSCHEDULER is zero.
21608         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
21609         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
21610         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
21611         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
21612         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
21613         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
21614         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
21615         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
21616         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
21617         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
21618         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
21619         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
21620         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
21621         Likewise.
21622         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
21623         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
21624         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
21625         Likewise.
21626         * tests/test-spawn.c (main): Make it work when
21627         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
21628
21629 2010-03-07  Bruno Haible  <bruno@clisp.org>
21630
21631         Fix incorrect Makefile.am generation in German locale.
21632         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
21633         Execute sed command with character range in C locale.
21634
21635 2010-03-06  Bruno Haible  <bruno@clisp.org>
21636
21637         Tests for module 'iconv-h'.
21638         * modules/iconv-h-tests: New file.
21639         * tests/test-iconv-h.c: New file.
21640
21641         New module 'iconv-h'.
21642         * modules/iconv-h: New file.
21643         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
21644         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
21645         (configure.ac): Remove gl_ICONV_H.
21646         (Makefile.am): Remove rule for iconv.h.
21647
21648 2010-03-06  Bruno Haible  <bruno@clisp.org>
21649
21650         More consistent naming of *.m4 files.
21651         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
21652         * modules/wctype (Files): Update.
21653
21654         More consistent naming of *.m4 files.
21655         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
21656         * modules/wchar (Files): Update.
21657
21658 2010-03-06  Jim Meyering  <meyering@redhat.com>
21659
21660         euidaccess: relax license to LGPLv2+
21661         * modules/euidaccess (License): Relax to LGPLv2+.
21662
21663 2010-03-06  Bruno Haible  <bruno@clisp.org>
21664
21665         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
21666         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
21667         (Makefile.am): Augment lib_SOURCES instead.
21668
21669 2010-03-04  Jim Meyering  <meyering@redhat.com>
21670
21671         utime: remove obsolete module
21672         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
21673         unnecessary for years, and has been marked as obsolete for 10 months.
21674         * modules/utime: Remove file.
21675         * lib/utime.c: Remove file.
21676         * m4/utime.m4: Remove file.
21677         * m4/utimes-null.m4: Remove file.
21678         * doc/posix-functions/utime.texi (utime): Remove reference to
21679         the module.  Move the sole "fixed by gnulib" item into the
21680         "problems not fixed by Gnulib" list.
21681         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
21682
21683 2010-03-05  Simon Josefsson  <simon@josefsson.org>
21684
21685         * modules/exit (License): Relax license to LGPLv2+.
21686         (Status): Mark as obsolete.
21687         * NEWS: Mention deprecated 'exit' module.
21688         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
21689         of now obsolete 'exit'.
21690
21691 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21692
21693         fts-lgpl: remove unused module
21694         * modules/fts-lgpl: Remove.
21695         * MODULES.html.sh (func_all_modules): Adjust.
21696         * check-module (find_included_lib_files): Adjust.
21697         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
21698
21699 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
21700
21701         copy-acl: enhance Solaris ACL error handling
21702         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
21703         * lib/set-mode-acl.c (qset_acl): Likewise.
21704
21705 2010-03-02  Bruno Haible  <bruno@clisp.org>
21706
21707         spawn: Don't override the system defined values on FreeBSD 8.
21708         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
21709         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
21710         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
21711         if HAVE_POSIX_SPAWN is 1.
21712         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
21713
21714 2010-03-01  Bruno Haible  <bruno@clisp.org>
21715
21716         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
21717         regarding Automake.
21718
21719 2010-02-25  Bruno Haible  <bruno@clisp.org>
21720
21721         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
21722         * gnulib-tool: Define 'echo' as a function only before the ksh alias
21723         setting, not afterwards.
21724         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
21725
21726 2010-02-24  Eric Blake  <eblake@redhat.com>
21727
21728         bootstrap, git-version-gen: use timestamp
21729         * build-aux/git-version-gen (scriptversion): Force UTC.
21730         * build-aux/bootstrap (scriptversion): New variable.
21731
21732         bootstrap: allow older git
21733         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
21734         older than 1.6.4.  Requested by the libvirt project.
21735
21736 2010-02-23  Eric Blake  <eblake@redhat.com>
21737
21738         warn-on-use: work with old autoconf
21739         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
21740         AS_VAR semantics of autoconf 2.60.
21741         Reported by Bruno Haible.
21742
21743         bootstrap: improve some comments
21744         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
21745         clarification comments.
21746
21747         gettimeofday: provide correct function
21748         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
21749         when replacement is declared, otherwise provide gettimeofday.
21750         Reported by Michael Goffioul.
21751
21752 2010-02-23  Jim Meyering  <meyering@redhat.com>
21753
21754         lib-ignore: relax license to "unlimited", not LGPLv2+
21755         * modules/lib-ignore (License): Relax to "unlimited".
21756
21757 2010-02-23  Jim Meyering  <meyering@redhat.com>
21758
21759         lib-ignore: relax license to LGPLv2+
21760         * modules/lib-ignore (License): Relax to LGPLv2+.
21761
21762 2010-02-22  Eric Blake  <eblake@redhat.com>
21763
21764         lseek: avoid bash 3.2 broken pipe bug
21765         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
21766         warning from bash 3.2.
21767         Reported by Ben Pfaff, with analysis from Bruno Haible.
21768
21769         bootstrap: support non-FSF copyright holder
21770         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
21771         bootstrap.conf override of COPYRIGHT_HOLDER.
21772         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
21773
21774         bootstrap: interoperate with gettext 0.14.1
21775         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
21776
21777         bootstrap: allow for alternate submodule location
21778         * build-aux/bootstrap (gnulib_path): New variable; use instead of
21779         hardcoding submodule location.
21780         (gnulib_mk): Allow direct use of Makefile.am.
21781
21782         bootstrap: use GNULIB_SRCDIR to reduce disk usage
21783         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
21784         rather than reconfiguring where the submodule points.
21785
21786         gettimeofday: restore support for platforms that lack function
21787         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
21788         replacement if function is missing.
21789         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
21790         * modules/sys_time (Makefile.am): Substitute it.
21791         * lib/sys_time.in.h (gettimeofday): Check it.
21792         Reported by Michael Goffioul.
21793
21794 2010-02-21  Bruno Haible  <bruno@clisp.org>
21795
21796         * lib/stdio.in.h (obstack_printf): Fix typo.
21797
21798 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
21799
21800         vc-list-files: use bzr ls's -R option
21801         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
21802         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
21803
21804 2010-02-21  Jim Meyering  <meyering@redhat.com>
21805
21806         init.sh: fix EXEEXT shims to work also for names like test-prog
21807         * tests/init.sh: Re-exec a better shell, when needed.
21808         If the current shell lacks support for posix $(...), an init.sh-using
21809         test will now try to find a shell that supports that.  If EXEEXT is
21810         nonempty, we also require support for hyphen-in-alias-name and shell
21811         substitutions like ${var#glob}.  Failure to find such a shell results
21812         in a skipped test.
21813
21814 2010-02-21  Bruno Haible  <bruno@clisp.org>
21815
21816         Really work around around "broken pipe" error message from bash 3.2.
21817         * gnulib-tool (func_reset_sigpipe): Remove function.
21818         (echo): In bash 3.2, define to a function that uses printf.
21819         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
21820
21821 2010-02-20  Bruno Haible  <bruno@clisp.org>
21822
21823         Restore support for automake 1.9.6 with autoconf 2.61.
21824         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
21825         Reported by James Youngman <jay@gnu.org>.
21826
21827 2010-02-20  Bruno Haible  <bruno@clisp.org>
21828
21829         Improve *printf warning condition.
21830         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
21831         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
21832         and the function is overridden due to SIGPIPE emulation.
21833
21834 2010-02-20  Bruno Haible  <bruno@clisp.org>
21835
21836         * lib/stdio.in.h: Tweak comments.
21837
21838 2010-02-19  Bruno Haible  <bruno@clisp.org>
21839
21840         Make it easier to find modules. New gnulib-tool option '--find'.
21841         * gnulib-tool: New option --find.
21842         (func_usage): Document it.
21843         (func_sanitize_modulelist): New function, extracted from
21844         func_all_modules.
21845         (func_all_modules): Invoke it.
21846         * doc/gnulib-tool.texi (Which modules?): New node.
21847
21848 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
21849
21850         * lib/sys_select.in.h: Provide select replacement even if
21851         sys/select.h exists on a system, for Interix.
21852
21853 2010-02-18  Jim Meyering  <meyering@redhat.com>
21854
21855         init.sh: don't use $(...) just yet
21856         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
21857         to accommodate e.g., Solaris' /bin/sh.
21858
21859 2010-02-17  Bruno Haible  <bruno@clisp.org>
21860
21861         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
21862         Reported by Ludovic Courtès <ludo@gnu.org>.
21863
21864 2010-02-16  Simon Josefsson  <simon@josefsson.org>
21865
21866         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
21867         linking with -lintl.
21868
21869 2010-02-17  Simon Josefsson  <simon@josefsson.org>
21870
21871         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
21872         if not provided by the system's netdb.h.  Reported by
21873         ludo@gnu.org (Ludovic Courtès).
21874
21875 2010-02-15  Jim Meyering  <meyering@redhat.com>
21876
21877         init.sh: improve portability and efficiency
21878         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
21879         "dummy" in a for loop.
21880         Use '!', not '^' to select the complement of a character set used
21881         in a "case" statement.
21882         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
21883         Suggestions from Eric Blake.
21884
21885         init.sh: automatically accommodate programs with the .exe suffix
21886         Automatically arrange for an invocation of "prog" to execute the
21887         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
21888         may use the simpler "prog", yet still work when built on a system
21889         that requires specifying the added suffix.
21890         Do this by constructing a function named "prog" that invokes
21891         "prog.exe" for each .exe file in selected directories.
21892         * tests/init.sh (find_exe_basenames_): New function.
21893         (create_exe_shim_functions_): New function.
21894         (path_prepend_): Use it.
21895
21896         maint.mk: mark syntax-check sc_*.m rules as .PHONY
21897         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
21898         "make -t syntax-check" doesn't create a ton of sc_*.m files.
21899
21900 2010-02-14  Jim Meyering  <meyering@redhat.com>
21901
21902         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
21903         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
21904         (sc_prohibit_hash_pjw_without_use): New rule.
21905
21906         maint.mk: allow the default upload destination dir to be overridden
21907         * top/maint.mk (upload_dest_dir_): Define with a default that
21908         preserves the status quo.
21909         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
21910         Reported by Peter Simons.
21911
21912         maint.mk: prohibit inclusion of "hash.h" without_use
21913         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
21914
21915 2010-02-10  Jim Meyering  <meyering@redhat.com>
21916
21917         maint.mk: prohibit inclusion of "ignore-value.h" without_use
21918         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
21919
21920 2010-02-09  Eric Blake  <ebb9@byu.net>
21921         and Bruno Haible  <bruno@clisp.org>
21922
21923         obstack-printf-posix: ensure declaration
21924         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
21925         extracted from gl_FUNC_OBSTACK_PRINTF.
21926         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
21927         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
21928         Likewise.
21929         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
21930         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
21931         0.
21932
21933 2010-02-08  Bruno Haible  <bruno@clisp.org>
21934
21935         gnulib-tool: Fix typo in 2010-02-07 commit.
21936         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
21937         Reported by Eric Blake.
21938
21939 2010-02-07  Bruno Haible  <bruno@clisp.org>
21940
21941         gnulib-tool: Fix up caching patches.
21942         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
21943         option --no-cache. Use associative arrays when supported by the shell.
21944         (sed_comments): New variable.
21945         (modcache): Renamed from do_cache.
21946         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
21947         abbreviate unnecessarily.
21948         (have_associative): New variable.
21949         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
21950         way also for ksh and zsh.
21951         (func_init_sed_convert_to_cache_statements): New function, extracted
21952         from func_cache_lookup_module. Add support for associative arrays.
21953         Don't set the c_MODULE_cached variable here. Ignore all lines before
21954         the first field header. Remove only the final newline, not all trailing
21955         newlines. Support empty fields correctly. Limit the use of 'eval' to
21956         assignments.
21957         (func_get_description, func_get_status, func_get_notice,
21958         func_get_applicability, func_get_filelist, func_get_dependencies,
21959         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
21960         func_get_automake_snippet, func_get_include_directive,
21961         func_get_link_directive, func_get_license, func_get_maintainer):
21962         Update documentation. List the unoptimized code first. Add support for
21963         associative arrays. Limit the use of 'eval' to assignments.
21964         (func_get_applicability): Undo stylistic pessimisations.
21965         (func_get_automake_snippet, func_get_include_directive): Reduce code
21966         duplication.
21967         (func_modules_transitive_closure, func_modules_add_dummy,
21968         func_modules_notice, func_modules_to_filelist, func_add_file,
21969         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
21970         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
21971         func_create_testdir, func_create_megatestdir): Update documentation.
21972
21973 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21974
21975         * gnulib-tool (func_cache_lookup_module): Store the module name
21976         belonging to the cache variable; error out if two different
21977         module names map to the same cache variable name.
21978
21979 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21980
21981         gnulib-tool: Make caching optional.
21982         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
21983         Update matching short versions of --no-changelog.
21984         (func_usage): Update.
21985         (sed_extract_cache_prog): Renamed from ...
21986         (sed_extract_prog): ... this; revert to old extraction script.
21987         (func_get_description, func_get_status)
21988         (func_get_notice, func_get_applicability, func_get_filelist)
21989         (func_get_dependencies, func_get_autoconf_early_snippet)
21990         (func_get_autoconf_snippet, func_get_automake_snippet)
21991         (func_get_include_directive, func_get_link_directive)
21992         (func_get_license, func_get_maintainer): If $do_cache is false,
21993         use old, non-caching extraction scripts.
21994         Suggestion by Bruno Haible.
21995
21996 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21997
21998         gnulib-tool: cache module metainformation.
21999         * gnulib-tool (sed_extract_prog): Match newline before each
22000         header, and rewrite header to a shell variable suffix.
22001         (func_cache_var, func_cache_lookup_module): New functions,
22002         to turn a module name into a cache variable prefix, and to
22003         look up and cache module metainformation.
22004         (func_get_description, func_get_status)
22005         (func_get_notice, func_get_applicability, func_get_filelist)
22006         (func_get_dependencies, func_get_autoconf_early_snippet)
22007         (func_get_autoconf_snippet, func_get_automake_snippet)
22008         (func_get_include_directive, func_get_link_directive)
22009         (func_get_license, func_get_maintainer): Use
22010         func_cache_lookup_module.
22011
22012 2010-02-07  Bruno Haible  <bruno@clisp.org>
22013
22014         fnctl: Fix missing dependency.
22015         * modules/fcntl (Depends-on): Add getdtablesize.
22016         Reported by John W. Eaton <jwe@gnu.org>.
22017
22018 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
22019
22020         Argp: fix recognition of short alias options.
22021
22022         * lib/argp-parse.c (convert_options): Fix improper use of
22023         `|' between character values.
22024         * tests/test-argp.c (group1_option): New alias option
22025         --read (-r).
22026         (group1_parser): Special handling for 'r'.
22027         (test15): New test case.
22028         (test_fun): Add test15.
22029         * tests/test-argp-2.sh: Update expected --help and --usage
22030         outputs.
22031
22032 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
22033
22034         * tests/test-argp.c: Fix indentation.
22035
22036 2010-02-04  Eric Blake  <ebb9@byu.net>
22037
22038         gettimeofday: expose type of second argument
22039         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
22040         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
22041         * tests/test-gettimeofday.c: Use it to silence warning.
22042         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
22043         the issue.
22044
22045 2010-02-03  Jim Meyering  <meyering@redhat.com>
22046
22047         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
22048         * lib/regcomp.c (TYPE_SIGNED): Define.
22049         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
22050
22051         regcomp.c: avoid a new -Wshadow warning
22052         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
22053
22054 2010-02-01  Jim Meyering  <meyering@redhat.com>
22055
22056         removing useless parentheses in cpp #define directives
22057         For motivation, see commit c0221df4, "define STREQ(a,b)
22058         consistently, removing useless parentheses"
22059         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
22060         * lib/mountlist.c (MNT_IGNORE): Likewise.
22061         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
22062
22063 2010-02-01  Eric Blake  <ebb9@byu.net>
22064
22065         sys_time: use link-warning
22066         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
22067         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
22068         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
22069         * modules/sys_time (Depends-on): Add warn-on-use.
22070         (Makefile.am): Always build replacement.
22071         (configure.ac): Update substitutions.
22072         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
22073         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
22074         bother with SYS_TIME_H.
22075         * modules/gettimeofday (configure.ac): Declare indicator.
22076         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
22077         in use.
22078
22079         closein-tests: silence compiler warning
22080         * tests/test-closein.c (main): Ignore fread result.
22081         * modules/closein-tests (Depends-on): Add ignore-value.
22082
22083         tests: silence warning about system return
22084         * tests/test-areadlink-with-size.c (main): Ignore system result.
22085         * tests/test-areadlink.c (main): Likewise.
22086         * tests/test-areadlinkat-with-size.c (main): Likewise.
22087         * tests/test-areadlinkat.c (main): Likewise.
22088         * tests/test-canonicalize-lgpl.c (main): Likewise.
22089         * tests/test-canonicalize.c (main): Likewise.
22090         * tests/test-chown.c (main): Likewise.
22091         * tests/test-fchownat.c (main): Likewise.
22092         * tests/test-fdutimensat.c (main): Likewise.
22093         * tests/test-fstatat.c (main): Likewise.
22094         * tests/test-futimens.c (main): Likewise.
22095         * tests/test-lchown.c (main): Likewise.
22096         * tests/test-link.c (main): Likewise.
22097         * tests/test-linkat.c (main): Likewise.
22098         * tests/test-lstat.c (main): Likewise.
22099         * tests/test-mkdir.c (main): Likewise.
22100         * tests/test-mkdirat.c (main): Likewise.
22101         * tests/test-mkfifo.c (main): Likewise.
22102         * tests/test-mkfifoat.c (main): Likewise.
22103         * tests/test-mknod.c (main): Likewise.
22104         * tests/test-readlink.c (main): Likewise.
22105         * tests/test-remove.c (main): Likewise.
22106         * tests/test-rename.c (main): Likewise.
22107         * tests/test-renameat.c (main): Likewise.
22108         * tests/test-rmdir.c (main): Likewise.
22109         * tests/test-symlink.c (main): Likewise.
22110         * tests/test-symlinkat.c (main): Likewise.
22111         * tests/test-unlink.c (main): Likewise.
22112         * tests/test-unlinkat.c (main): Likewise.
22113         * tests/test-utimens.c (main): Likewise.
22114         * tests/test-utimensat.c (main): Likewise.
22115         * modules/areadlink-tests (Depends-on): Add ignore-value.
22116         * modules/areadlink-with-size-tests (Depends-on): Likewise.
22117         * modules/areadlinkat-tests (Depends-on): Likewise.
22118         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
22119         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
22120         * modules/canonicalize-tests (Depends-on): Likewise.
22121         * modules/chown-tests (Depends-on): Likewise.
22122         * modules/fdutimensat-tests (Depends-on): Likewise.
22123         * modules/futimens-tests (Depends-on): Likewise.
22124         * modules/lchown-tests (Depends-on): Likewise.
22125         * modules/link-tests (Depends-on): Likewise.
22126         * modules/linkat-tests (Depends-on): Likewise.
22127         * modules/lstat-tests (Depends-on): Likewise.
22128         * modules/mkdir-tests (Depends-on): Likewise.
22129         * modules/mkfifo-tests (Depends-on): Likewise.
22130         * modules/mkfifoat-tests (Depends-on): Likewise.
22131         * modules/mknod-tests (Depends-on): Likewise.
22132         * modules/openat-tests (Depends-on): Likewise.
22133         * modules/readlink-tests (Depends-on): Likewise.
22134         * modules/remove-tests (Depends-on): Likewise.
22135         * modules/rename-tests (Depends-on): Likewise.
22136         * modules/renameat-tests (Depends-on): Likewise.
22137         * modules/rmdir-tests (Depends-on): Likewise.
22138         * modules/symlink-tests (Depends-on): Likewise.
22139         * modules/symlinkat-tests (Depends-on): Likewise.
22140         * modules/unlink-tests (Depends-on): Likewise.
22141         * modules/utimens-tests (Depends-on): Likewise.
22142         * modules/utimensat-tests (Depends-on): Likewise.
22143
22144 2010-01-31  Bruno Haible  <bruno@clisp.org>
22145
22146         Perform the same test for many <math.h> functions.
22147         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
22148         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
22149         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
22150         of gl_MATHFUNC.
22151         * modules/acos (configure.ac): Likewise.
22152         * modules/asin (configure.ac): Likewise.
22153         * modules/atan (configure.ac): Likewise.
22154         * modules/atan2 (configure.ac): Likewise.
22155         * modules/cbrt (configure.ac): Likewise.
22156         * modules/copysign (configure.ac): Likewise.
22157         * modules/cos (configure.ac): Likewise.
22158         * modules/cosh (configure.ac): Likewise.
22159         * modules/erf (configure.ac): Likewise.
22160         * modules/erfc (configure.ac): Likewise.
22161         * modules/exp (configure.ac): Likewise.
22162         * modules/fmod (configure.ac): Likewise.
22163         * modules/hypot (configure.ac): Likewise.
22164         * modules/j0 (configure.ac): Likewise.
22165         * modules/j1 (configure.ac): Likewise.
22166         * modules/jn (configure.ac): Likewise.
22167         * modules/lgamma (configure.ac): Likewise.
22168         * modules/log (configure.ac): Likewise.
22169         * modules/log10 (configure.ac): Likewise.
22170         * modules/log1p (configure.ac): Likewise.
22171         * modules/pow (configure.ac): Likewise.
22172         * modules/remainder (configure.ac): Likewise.
22173         * modules/sin (configure.ac): Likewise.
22174         * modules/sinh (configure.ac): Likewise.
22175         * modules/tan (configure.ac): Likewise.
22176         * modules/tanh (configure.ac): Likewise.
22177         * modules/y0 (configure.ac): Likewise.
22178         * modules/y1 (configure.ac): Likewise.
22179         * modules/yn (configure.ac): Likewise.
22180         Suggested by Paolo Bonzini.
22181
22182 2010-01-31  Bruno Haible  <bruno@clisp.org>
22183
22184         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
22185
22186 2010-01-31  Bruno Haible  <bruno@clisp.org>
22187
22188         Work around getdelim() bug on FreeBSD 8.0.
22189         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
22190         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
22191         not work.
22192         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
22193         is 1.
22194         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
22195         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
22196         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
22197         a non-zero size.
22198         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
22199
22200 2010-01-31  Bruno Haible  <bruno@clisp.org>
22201
22202         Work around getline() bug on FreeBSD 8.0.
22203         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
22204         and a non-zero size.
22205         * tests/test-getline.c (main): Likewise.
22206         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
22207         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
22208
22209 2010-01-28  Eric Blake  <ebb9@byu.net>
22210
22211         regex: fix build failure
22212         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
22213         platforms.
22214
22215 2010-01-28  Jim Meyering  <meyering@redhat.com>
22216
22217         regex: do not ignore memory allocation failure
22218         * lib/regex_internal.c (create_cd_newstate): Detect
22219         re_node_set_init_copy failure.   Extracted from glibc commit
22220         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
22221
22222         regex: sync more white-space changes from libc
22223         * lib/regex_internal.c: White-space only changes.
22224         * lib/regexec.c: Likewise.
22225
22226         regex: add many uses of __attribute_warn_unused_result__
22227         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
22228         * lib/regexec.c: Likewise.
22229         Extracted from a messy glibc commit.
22230
22231         regcomp.c: spelling and merge-artifact from glibc
22232         * lib/regcomp.c: Merge remainder of glibc's
22233         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
22234
22235         regcomp.c: sync white-space changes from glibc
22236         * lib/regcomp.c: Merge to accommodate white space
22237         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
22238
22239         regcomp.c: do not ignore internal return values
22240         * lib/regcomp.c: Do not ignore internal return values.
22241         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
22242         but without its white-space changes and spelling fixes.
22243
22244         regex_internal.h: define __attribute_warn_unused_result__
22245         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
22246
22247         maint: add a syntax-check rule to check for vulnerable Makefile.in
22248         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
22249
22250 2010-01-27  Jim Meyering  <meyering@redhat.com>
22251
22252         ncftpput-ftp: clean up spaces
22253         * build-aux/ncftpput-ftp: Make Copyright line consistent.
22254         Remove trailing blanks.
22255
22256 2010-01-27  Simon Josefsson  <simon@josefsson.org>
22257
22258         * build-aux/git-version-gen: Fix copyright statement.
22259         * build-aux/gnupload: Likewise.
22260         * tests/test-arcfour.c: Likewise.
22261         * tests/test-arctwo.c: Likewise.
22262         * tests/test-count-one-bits.c: Likewise.
22263         * tests/test-crc.c: Likewise.
22264         * tests/test-des.c: Likewise.
22265         * tests/test-gc-arcfour.c: Likewise.
22266         * tests/test-gc-arctwo.c: Likewise.
22267         * tests/test-gc-des.c: Likewise.
22268         * tests/test-gc-hmac-md5.c: Likewise.
22269         * tests/test-gc-hmac-sha1.c: Likewise.
22270         * tests/test-gc-md2.c: Likewise.
22271         * tests/test-gc-md4.c: Likewise.
22272         * tests/test-gc-md5.c: Likewise.
22273         * tests/test-gc-pbkdf2-sha1.c: Likewise.
22274         * tests/test-gc-rijndael.c: Likewise.
22275         * tests/test-gc-sha1.c: Likewise.
22276         * tests/test-gc.c: Likewise.
22277         * tests/test-gethostname.c: Likewise.
22278         * tests/test-gettimeofday.c: Likewise.
22279         * tests/test-hash.c: Likewise.
22280         * tests/test-hmac-md5.c: Likewise.
22281         * tests/test-hmac-sha1.c: Likewise.
22282         * tests/test-md2.c: Likewise.
22283         * tests/test-md4.c: Likewise.
22284         * tests/test-md5.c: Likewise.
22285         * tests/test-memchr.c: Likewise.
22286         * tests/test-memchr2.c: Likewise.
22287         * tests/test-memcmp.c: Likewise.
22288         * tests/test-memmem.c: Likewise.
22289         * tests/test-memrchr.c: Likewise.
22290         * tests/test-rawmemchr.c: Likewise.
22291         * tests/test-read-file.c: Likewise.
22292         * tests/test-rijndael.c: Likewise.
22293         * tests/test-sockets.c: Likewise.
22294         * tests/test-strchrnul.c: Likewise.
22295         * tests/test-strstr.c: Likewise.
22296         * tests/test-strtod.c: Likewise.
22297         * build-aux/ncftpput-ftp: Likewise.
22298
22299 2010-01-26  Eric Blake  <ebb9@byu.net>
22300
22301         ignore-value: update recommended header name
22302         * modules/ignore-value (Include): Only use <> for headers that
22303         exist in glibc.
22304
22305 2010-01-26  Jim Meyering  <meyering@redhat.com>
22306
22307         test-userspec.c: avoid compiler warnings
22308         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
22309         and "initialization discards qualifiers..." warnings.
22310         Put the first "uid" in its own scope, and make char* members "const".
22311
22312 2010-01-25  Bruno Haible  <bruno@clisp.org>
22313
22314         gnulib-tool: Make warning diagnostics consistent.
22315         * gnulib-tool (func_warning): New function.
22316         Use it everywhere where gnulib-tool produces output to stderr and it is
22317         not a fatal error.
22318
22319 2010-01-25  Bruno Haible  <bruno@clisp.org>
22320
22321         Fix test dependencies.
22322         * modules/xstrtol-tests (Depends-on): Add inttypes.
22323         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
22324
22325 2010-01-25 Pádraig Brady <P@draigBrady.com>
22326
22327         syntax-check: detect incorrect boolean macro values in config.h
22328         * modules/maintainer-makefile (configure.ac): Parameterize the location
22329         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
22330         The logic is from Eric Blake and the location indicated by Jim Meyering.
22331         Note the more natural CONFIG_HEADER name is prohibited by automake
22332         for backwards compatibility reasons.
22333         * top/maint.mk (sc_Wundef_boolean): New rule.
22334
22335 2010-01-25  Jim Meyering  <meyering@redhat.com>
22336
22337         bootstrap: detect MacOS 10.6's shasum, too
22338         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
22339         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
22340
22341 2010-01-23  Jim Meyering  <meyering@redhat.com>
22342
22343         xstrtoll: new module
22344         * modules/xstrtoll: New file.
22345         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
22346         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
22347         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
22348         ./configure fails if you use this module and lack "long long".
22349         * modules/xstrtoll-tests: New module.
22350         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
22351         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
22352         new init.sh-based test framework.
22353
22354 2010-01-24  Bruno Haible  <bruno@clisp.org>
22355
22356         Tests for module 'yn'.
22357         * modules/yn-tests: New file.
22358         * tests/test-yn.c: New file.
22359
22360         Tests for module 'y1'.
22361         * modules/y1-tests: New file.
22362         * tests/test-y1.c: New file.
22363
22364         Tests for module 'y0'.
22365         * modules/y0-tests: New file.
22366         * tests/test-y0.c: New file.
22367
22368         Tests for module 'tanh'.
22369         * modules/tanh-tests: New file.
22370         * tests/test-tanh.c: New file.
22371
22372         Tests for module 'tan'.
22373         * modules/tan-tests: New file.
22374         * tests/test-tan.c: New file.
22375
22376         Tests for module 'sqrt'.
22377         * modules/sqrt-tests: New file.
22378         * tests/test-sqrt.c: New file.
22379
22380         Tests for module 'sinh'.
22381         * modules/sinh-tests: New file.
22382         * tests/test-sinh.c: New file.
22383
22384         Tests for module 'sin'.
22385         * modules/sin-tests: New file.
22386         * tests/test-sin.c: New file.
22387
22388         Tests for module 'rint'.
22389         * modules/rint-tests: New file.
22390         * tests/test-rint.c: New file.
22391
22392         Tests for module 'remainder'.
22393         * modules/remainder-tests: New file.
22394         * tests/test-remainder.c: New file.
22395
22396         Tests for module 'pow'.
22397         * modules/pow-tests: New file.
22398         * tests/test-pow.c: New file.
22399
22400         Tests for module 'nextafter'.
22401         * modules/nextafter-tests: New file.
22402         * tests/test-nextafter.c: New file.
22403
22404         Tests for module 'modf'.
22405         * modules/modf-tests: New file.
22406         * tests/test-modf.c: New file.
22407
22408         Tests for module 'logb'.
22409         * modules/logb-tests: New file.
22410         * tests/test-logb.c: New file.
22411
22412         Tests for module 'log1p'.
22413         * modules/log1p-tests: New file.
22414         * tests/test-log1p.c: New file.
22415
22416         Tests for module 'log10'.
22417         * modules/log10-tests: New file.
22418         * tests/test-log10.c: New file.
22419
22420         Tests for module 'log'.
22421         * modules/log-tests: New file.
22422         * tests/test-log.c: New file.
22423
22424         Tests for module 'lgamma'.
22425         * modules/lgamma-tests: New file.
22426         * tests/test-lgamma.c: New file.
22427
22428         Tests for module 'ldexp'.
22429         * modules/ldexp-tests: New file.
22430         * tests/test-ldexp.c: New file.
22431
22432         Tests for module 'jn'.
22433         * modules/jn-tests: New file.
22434         * tests/test-jn.c: New file.
22435
22436         Tests for module 'j1'.
22437         * modules/j1-tests: New file.
22438         * tests/test-j1.c: New file.
22439
22440         Tests for module 'j0'.
22441         * modules/j0-tests: New file.
22442         * tests/test-j0.c: New file.
22443
22444         Tests for module 'hypot'.
22445         * modules/hypot-tests: New file.
22446         * tests/test-hypot.c: New file.
22447
22448         Tests for module 'fmod'.
22449         * modules/fmod-tests: New file.
22450         * tests/test-fmod.c: New file.
22451
22452         Tests for module 'fabs'.
22453         * modules/fabs-tests: New file.
22454         * tests/test-fabs.c: New file.
22455
22456         Tests for module 'exp'.
22457         * modules/exp-tests: New file.
22458         * tests/test-exp.c: New file.
22459
22460         Tests for module 'erfc'.
22461         * modules/erfc-tests: New file.
22462         * tests/test-erfc.c: New file.
22463
22464         Tests for module 'erf'.
22465         * modules/erf-tests: New file.
22466         * tests/test-erf.c: New file.
22467
22468         Tests for module 'cosh'.
22469         * modules/cosh-tests: New file.
22470         * tests/test-cosh.c: New file.
22471
22472         Tests for module 'cos'.
22473         * modules/cos-tests: New file.
22474         * tests/test-cos.c: New file.
22475
22476         Tests for module 'copysign'.
22477         * modules/copysign-tests: New file.
22478         * tests/test-copysign.c: New file.
22479
22480         Tests for module 'cbrt'.
22481         * modules/cbrt-tests: New file.
22482         * tests/test-cbrt.c: New file.
22483
22484         Tests for module 'atan2'.
22485         * modules/atan2-tests: New file.
22486         * tests/test-atan2.c: New file.
22487
22488         Tests for module 'atan'.
22489         * modules/atan-tests: New file.
22490         * tests/test-atan.c: New file.
22491
22492         Tests for module 'asin'.
22493         * modules/asin-tests: New file.
22494         * tests/test-asin.c: New file.
22495
22496         Tests for module 'acos'.
22497         * modules/acos-tests: New file.
22498         * tests/test-acos.c: New file.
22499
22500 2010-01-24  Bruno Haible  <bruno@clisp.org>
22501
22502         Fix tests for common <math.h> functions.
22503         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
22504         code snippet that references the function pointer, rather than merely
22505         calling the function. Substitute the FUNC_LIBM variable.
22506         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
22507         * modules/acos (configure.ac): Likewise.
22508         * modules/asin (configure.ac): Likewise.
22509         * modules/atan (configure.ac): Likewise.
22510         * modules/atan2 (configure.ac): Likewise.
22511         * modules/cbrt (configure.ac): Likewise.
22512         * modules/copysign (configure.ac): Likewise.
22513         * modules/cos (configure.ac): Likewise.
22514         * modules/cosh (configure.ac): Likewise.
22515         * modules/erf (configure.ac): Likewise.
22516         * modules/erfc (configure.ac): Likewise.
22517         * modules/exp (configure.ac): Likewise.
22518         * modules/fabs (configure.ac): Likewise.
22519         * modules/fmod (configure.ac): Likewise.
22520         * modules/hypot (configure.ac): Likewise.
22521         * modules/j0 (configure.ac): Likewise.
22522         * modules/j1 (configure.ac): Likewise.
22523         * modules/jn (configure.ac): Likewise.
22524         * modules/ldexp (configure.ac): Likewise.
22525         * modules/lgamma (configure.ac): Likewise.
22526         * modules/log (configure.ac): Likewise.
22527         * modules/log10 (configure.ac): Likewise.
22528         * modules/log1p (configure.ac): Likewise.
22529         * modules/logb (configure.ac): Likewise.
22530         * modules/modf (configure.ac): Likewise.
22531         * modules/nextafter (configure.ac): Likewise.
22532         * modules/pow (configure.ac): Likewise.
22533         * modules/remainder (configure.ac): Likewise.
22534         * modules/rint (configure.ac): Likewise.
22535         * modules/sin (configure.ac): Likewise.
22536         * modules/sinh (configure.ac): Likewise.
22537         * modules/tan (configure.ac): Likewise.
22538         * modules/tanh (configure.ac): Likewise.
22539         * modules/y0 (configure.ac): Likewise.
22540         * modules/y1 (configure.ac): Likewise.
22541         * modules/yn (configure.ac): Likewise.
22542
22543 2010-01-24  Bruno Haible  <bruno@clisp.org>
22544
22545         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
22546         * tests/test-acosl.c (x): New variable.
22547         (main): Store argument in x and fetch it from x.
22548         * tests/test-asinl.c (x): New variable.
22549         (main): Store argument in x and fetch it from x.
22550         * tests/test-atanl.c (x): New variable.
22551         (main): Store argument in x and fetch it from x.
22552         * tests/test-cosl.c (x): New variable.
22553         (main): Store argument in x and fetch it from x.
22554         * tests/test-expl.c (x): New variable.
22555         (main): Store argument in x and fetch it from x.
22556         * tests/test-logl.c (x): New variable.
22557         (main): Store argument in x and fetch it from x.
22558         * tests/test-sinl.c (x): New variable.
22559         (main): Store argument in x and fetch it from x.
22560         * tests/test-sqrtl.c (x): New variable.
22561         (main): Store argument in x and fetch it from x.
22562         * tests/test-tanl.c (x): New variable.
22563         (main): Store argument in x and fetch it from x.
22564
22565 2010-01-24  Bruno Haible  <bruno@clisp.org>
22566
22567         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
22568         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
22569         assignments to the initial TESTS_ENVIRONMENT.
22570         * doc/gnulib.texi (Unit test modules): Document it.
22571         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
22572         TESTS_ENVIRONMENT.
22573         * modules/btowc-tests (Makefile.am): Likewise.
22574         * modules/c-stack-tests (Makefile.am): Likewise.
22575         * modules/c-strcase-tests (Makefile.am): Likewise.
22576         * modules/copy-file-tests (Makefile.am): Likewise.
22577         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
22578         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
22579         * modules/mbrtowc-tests (Makefile.am): Likewise.
22580         * modules/mbscasecmp-tests (Makefile.am): Likewise.
22581         * modules/mbscasestr-tests (Makefile.am): Likewise.
22582         * modules/mbschr-tests (Makefile.am): Likewise.
22583         * modules/mbscspn-tests (Makefile.am): Likewise.
22584         * modules/mbsinit-tests (Makefile.am): Likewise.
22585         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
22586         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
22587         * modules/mbspbrk-tests (Makefile.am): Likewise.
22588         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
22589         * modules/mbsrchr-tests (Makefile.am): Likewise.
22590         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
22591         * modules/mbsspn-tests (Makefile.am): Likewise.
22592         * modules/mbsstr-tests (Makefile.am): Likewise.
22593         * modules/nl_langinfo-tests (Makefile.am): Likewise.
22594         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
22595         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
22596         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
22597         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
22598         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
22599         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
22600         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
22601         * modules/wcrtomb-tests (Makefile.am): Likewise.
22602         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
22603         * modules/wcsrtombs-tests (Makefile.am): Likewise.
22604         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
22605         assignments from TESTS_ENVIRONMENT.
22606         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
22607         augmentation.
22608         * modules/argp-version-etc-tests (Makefile.am): Likewise.
22609         * modules/atexit-tests (Makefile.am): Likewise.
22610         * modules/binary-io-tests (Makefile.am): Likewise.
22611         * modules/closein-tests (Makefile.am): Likewise.
22612         * modules/dprintf-posix-tests (Makefile.am): Likewise.
22613         * modules/exclude-tests (Makefile.am): Likewise.
22614         * modules/fflush-tests (Makefile.am): Likewise.
22615         * modules/fpending-tests (Makefile.am): Likewise.
22616         * modules/fprintf-posix-tests (Makefile.am): Likewise.
22617         * modules/freadahead-tests (Makefile.am): Likewise.
22618         * modules/freadptr-tests (Makefile.am): Likewise.
22619         * modules/freadseek-tests (Makefile.am): Likewise.
22620         * modules/fseek-tests (Makefile.am): Likewise.
22621         * modules/fseeko-tests (Makefile.am): Likewise.
22622         * modules/ftell-tests (Makefile.am): Likewise.
22623         * modules/ftello-tests (Makefile.am): Likewise.
22624         * modules/idpriv-drop-tests (Makefile.am): Likewise.
22625         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
22626         * modules/lseek-tests (Makefile.am): Likewise.
22627         * modules/parse-duration-tests (Makefile.am): Likewise.
22628         * modules/perror-tests (Makefile.am): Likewise.
22629         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
22630         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
22631         * modules/pipe-tests (Makefile.am): Likewise.
22632         * modules/pread-tests (Makefile.am): Likewise.
22633         * modules/printf-posix-tests (Makefile.am): Likewise.
22634         * modules/select-tests (Makefile.am): Likewise.
22635         * modules/sigpipe-tests (Makefile.am): Likewise.
22636         * modules/tsearch-tests (Makefile.am): Likewise.
22637         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
22638         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
22639         * modules/uniname/uniname-tests (Makefile.am): Likewise.
22640         * modules/uniwidth/width-tests (Makefile.am): Likewise.
22641         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
22642         * modules/version-etc-tests (Makefile.am): Likewise.
22643         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
22644         * modules/vprintf-posix-tests (Makefile.am): Likewise.
22645         * modules/xalloc-die-tests (Makefile.am): Likewise.
22646         * modules/xprintf-posix-tests (Makefile.am): Likewise.
22647         * modules/xstrtoimax-tests (Makefile.am): Likewise.
22648         * modules/xstrtol-tests (Makefile.am): Likewise.
22649         * modules/xstrtoumax-tests (Makefile.am): Likewise.
22650         * modules/yesno-tests (Makefile.am): Likewise.
22651         Suggested by Jim Meyering.
22652
22653 2010-01-24  Bruno Haible  <bruno@clisp.org>
22654
22655         More documentation.
22656         * doc/gnulib.texi (Writing modules): New chapter.
22657         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
22658         the new chapter.
22659
22660 2010-01-24  Jim Meyering  <meyering@redhat.com>
22661
22662         maint.mk: do not prepend "./" after filtering
22663         * top/maint.mk (_prepend_srcdir_prefix): New variable
22664         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
22665         "./" when $(srcdir) is ".".
22666
22667         define STREQ(a,b) consistently, removing useless parentheses
22668         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
22669         since the only risk is that "a" or "b" contains an unparenthesized
22670         comma, but if either did that, STREQ would have 3 or more arguments.
22671         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
22672         * lib/fts.c (STREQ): Remove unnecessary parentheses.
22673         * lib/hash-triple.c (STREQ): Likewise.
22674         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
22675         * lib/getugroups.c (STREQ): Likewise.
22676
22677 2010-01-23  Jim Meyering  <meyering@redhat.com>
22678
22679         maint.mk: fix syntax-check in a non-srcdir build directory
22680         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
22681         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
22682
22683 2010-01-22  Jim Meyering  <meyering@redhat.com>
22684
22685         userspec: add unit tests
22686         * tests/test-userspec.c: New file.
22687         * modules/userspec-tests: Likewise.
22688
22689 2010-01-21  Jim Meyering  <meyering@redhat.com>
22690
22691         maint.mk: handle source file names containing "." robustly
22692         * top/maint.mk (_dot_escaped_srcdir): Define.
22693         (VC_LIST): Use it in LHS of sed substitution.
22694
22695 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
22696
22697         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
22698         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
22699         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
22700         from a non-srcdir build.
22701
22702 2010-01-20  Eric Blake  <ebb9@byu.net>
22703
22704         warn-on-use: use instead of link-warning
22705         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
22706         * modules/unistd (Depends-on, Makefile.am): Likewise.
22707         * modules/arpa_inet (Depends-on): Replace link-warning with
22708         warn-on-use.
22709         (Makefile.am): Update rules accordingly.
22710         * modules/ctype (Depends-on, Makefile.am): Likewise.
22711         * modules/dirent (Depends-on, Makefile.am): Likewise.
22712         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
22713         * modules/inttypes (Depends-on, Makefile.am): Likewise.
22714         * modules/langinfo (Depends-on, Makefile.am): Likewise.
22715         * modules/locale (Depends-on, Makefile.am): Likewise.
22716         * modules/math (Depends-on, Makefile.am): Likewise.
22717         * modules/search (Depends-on, Makefile.am): Likewise.
22718         * modules/signal (Depends-on, Makefile.am): Likewise.
22719         * modules/spawn (Depends-on, Makefile.am): Likewise.
22720         * modules/stdlib (Depends-on, Makefile.am): Likewise.
22721         * modules/string (Depends-on, Makefile.am): Likewise.
22722         * modules/strings (Depends-on, Makefile.am): Likewise.
22723         * modules/sys_file (Depends-on, Makefile.am): Likewise.
22724         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
22725         * modules/sys_select (Depends-on, Makefile.am): Likewise.
22726         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
22727         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
22728         * modules/sys_times (Depends-on, Makefile.am): Likewise.
22729         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
22730         * modules/wchar (Depends-on, Makefile.am): Likewise.
22731         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
22732         should be poisoned.
22733         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
22734         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
22735         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
22736         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
22737         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
22738         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
22739         * m4/math_h.m4 (gl_MATH_H): Likewise.
22740         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
22741         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
22742         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
22743         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
22744         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
22745         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
22746         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
22747         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
22748         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
22749         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
22750         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
22751         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
22752         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
22753         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
22754         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
22755         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
22756         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
22757         GL_LINK_WARNING.
22758         * lib/ctype.in.h: Likewise.
22759         * lib/dirent.in.h: Likewise.
22760         * lib/fcntl.in.h: Likewise.
22761         * lib/inttypes.in.h: Likewise.
22762         * lib/langinfo.in.h: Likewise.
22763         * lib/locale.in.h: Likewise.
22764         * lib/math.in.h: Likewise.
22765         * lib/search.in.h: Likewise.
22766         * lib/signal.in.h: Likewise.
22767         * lib/spawn.in.h: Likewise.
22768         * lib/stdio.in.h: Likewise.
22769         * lib/stdlib.in.h: Likewise.
22770         * lib/string.in.h: Likewise.
22771         * lib/strings.in.h: Likewise.
22772         * lib/sys_file.in.h: Likewise.
22773         * lib/sys_ioctl.in.h: Likewise.
22774         * lib/sys_select.in.h: Likewise.
22775         * lib/sys_socket.in.h: Likewise.
22776         * lib/sys_stat.in.h: Likewise.
22777         * lib/sys_times.in.h: Likewise.
22778         * lib/sys_utsname.in.h: Likewise.
22779         * lib/unistd.in.h: Likewise.
22780         * lib/wchar.in.h: Likewise.
22781
22782 2010-01-20  Bruno Haible  <bruno@clisp.org>
22783
22784         Avoid duplicate -lm.
22785         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
22786         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
22787         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
22788         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
22789         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
22790         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
22791         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
22792         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
22793         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
22794         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
22795         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
22796         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
22797         Reported by Paolo Bonzini.
22798
22799 2010-01-19  Bruno Haible  <bruno@clisp.org>
22800
22801         langinfo, nl_langinfo: Relicense under LGPLv2+.
22802         * modules/langinfo (License): Change to LGPLv2+.
22803         * modules/nl_langinfo (License): Likewise.
22804         Patch by David Lutterkort <lutter@redhat.com>.
22805
22806 2010-01-19  Bruno Haible  <bruno@clisp.org>
22807
22808         Avoid compilation error with cc on OSF/1 5.1.
22809         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
22810         statement, not before.
22811         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
22812
22813 2010-01-18  Bruno Haible  <bruno@clisp.org>
22814
22815         Avoid a link error due to the __printf__ symbol.
22816         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
22817         and 2.6.x.
22818         (__format__, __printf__): Remove definitions.
22819         * lib/argp-fmtstream.h: Likewise.
22820         * lib/argp.h: Likewise.
22821         * lib/error.h: Likewise.
22822         * lib/vasnprintf.h: Likewise.
22823         * lib/xprintf.h: Likewise.
22824         * lib/xvasprintf.h: Likewise.
22825         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
22826
22827 2010-01-18  Bruno Haible  <bruno@clisp.org>
22828
22829         Tests for module 'tanl'.
22830         * modules/tanl-tests: New file.
22831         * tests/test-tanl.c: New file.
22832
22833         Tests for module 'sqrtl'.
22834         * modules/sqrtl-tests: New file.
22835         * tests/test-sqrtl.c: New file.
22836
22837         Tests for module 'sinl'.
22838         * modules/sinl-tests: New file.
22839         * tests/test-sinl.c: New file.
22840
22841         Tests for module 'logl'.
22842         * modules/logl-tests: New file.
22843         * tests/test-logl.c: New file.
22844
22845         Tests for module 'expl'.
22846         * modules/expl-tests: New file.
22847         * tests/test-expl.c: New file.
22848
22849         Tests for module 'cosl'.
22850         * modules/cosl-tests: New file.
22851         * tests/test-cosl.c: New file.
22852
22853         Tests for module 'atanl'.
22854         * modules/atanl-tests: New file.
22855         * tests/test-atanl.c: New file.
22856
22857         Tests for module 'asinl'.
22858         * modules/asinl-tests: New file.
22859         * tests/test-asinl.c: New file.
22860
22861         Tests for module 'acosl'.
22862         * modules/acosl-tests: New file.
22863         * tests/test-acosl.c: New file.
22864
22865         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
22866         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
22867         tanl): Use the standard gnulib idiom.
22868         * lib/cosl.c: Don't include trigl.c and sincosl.c.
22869         * lib/sinl.c: Likewise.
22870         * lib/tanl.c: Don't include trigl.c.
22871         (kernel_tanl): Make static.
22872         * lib/sincosl.c: Include trigl.h first.
22873         * lib/trigl.c: Likewise.
22874         * m4/acosl.m4: New file.
22875         * m4/asinl.m4: New file.
22876         * m4/atanl.m4: New file.
22877         * m4/cosl.m4: New file.
22878         * m4/expl.m4: New file.
22879         * m4/logl.m4: New file.
22880         * m4/sinl.m4: New file.
22881         * m4/sqrtl.m4: New file.
22882         * m4/tanl.m4: New file.
22883         * m4/mathl.m4: Remove file.
22884         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
22885         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
22886         Don't initialize GNULIB_MATHL.
22887         * modules/acosl: New file.
22888         * modules/asinl: New file.
22889         * modules/atanl: New file.
22890         * modules/cosl: New file.
22891         * modules/expl: New file.
22892         * modules/logl: New file.
22893         * modules/sinl: New file.
22894         * modules/sqrtl: New file.
22895         * modules/tanl: New file.
22896         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
22897         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
22898         substitute GNULIB_MATHL.
22899         * modules/mathl: Rewritten.
22900         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
22901         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
22902         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
22903         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
22904         * doc/posix-functions/expl.texi: Mention the 'expl' module.
22905         * doc/posix-functions/logl.texi: Mention the 'logl' module.
22906         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
22907         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
22908         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
22909
22910 2010-01-18  Bruno Haible  <bruno@clisp.org>
22911
22912         sqrt: Make gl_FUNC_SQRT requirable.
22913         * m4/sqrt.m4: New file.
22914         * modules/sqrt (Files): Add it.
22915         (configure.ac): Invoke gl_FUNC_SQRT.
22916
22917 2010-01-18  Bruno Haible  <bruno@clisp.org>
22918
22919         New modules for common <math.h> functions.
22920         * m4/mathfunc.m4: New file.
22921         * modules/acos: New file.
22922         * modules/asin: New file.
22923         * modules/atan: New file.
22924         * modules/atan2: New file.
22925         * modules/cbrt: New file.
22926         * modules/copysign: New file.
22927         * modules/cos: New file.
22928         * modules/cosh: New file.
22929         * modules/erf: New file.
22930         * modules/erfc: New file.
22931         * modules/exp: New file.
22932         * modules/fabs: New file.
22933         * modules/fmod: New file.
22934         * modules/hypot: New file.
22935         * modules/j0: New file.
22936         * modules/j1: New file.
22937         * modules/jn: New file.
22938         * modules/ldexp: New file.
22939         * modules/lgamma: New file.
22940         * modules/log: New file.
22941         * modules/log10: New file.
22942         * modules/log1p: New file.
22943         * modules/logb: New file.
22944         * modules/modf: New file.
22945         * modules/nextafter: New file.
22946         * modules/pow: New file.
22947         * modules/remainder: New file.
22948         * modules/rint: New file.
22949         * modules/sin: New file.
22950         * modules/sinh: New file.
22951         * modules/sqrt: New file.
22952         * modules/tan: New file.
22953         * modules/tanh: New file.
22954         * modules/y0: New file.
22955         * modules/y1: New file.
22956         * modules/yn: New file.
22957         * doc/posix-functions/acos.texi: Mention the 'acos' module.
22958         * doc/posix-functions/asin.texi: Mention the 'asin' module.
22959         * doc/posix-functions/atan.texi: Mention the 'atan' module.
22960         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
22961         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
22962         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
22963         * doc/posix-functions/cos.texi: Mention the 'cos' module.
22964         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
22965         * doc/posix-functions/erf.texi: Mention the 'erf' module.
22966         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
22967         * doc/posix-functions/exp.texi: Mention the 'exp' module.
22968         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
22969         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
22970         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
22971         * doc/posix-functions/j0.texi: Mention the 'j0' module.
22972         * doc/posix-functions/j1.texi: Mention the 'j1' module.
22973         * doc/posix-functions/jn.texi: Mention the 'jn' module.
22974         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
22975         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
22976         * doc/posix-functions/log.texi: Mention the 'log' module.
22977         * doc/posix-functions/log10.texi: Mention the 'log10' module.
22978         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
22979         * doc/posix-functions/logb.texi: Mention the 'logb' module.
22980         * doc/posix-functions/modf.texi: Mention the 'modf' module.
22981         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
22982         * doc/posix-functions/pow.texi: Mention the 'pow' module.
22983         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
22984         * doc/posix-functions/rint.texi: Mention the 'rint' module.
22985         * doc/posix-functions/sin.texi: Mention the 'sin' module.
22986         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
22987         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
22988         * doc/posix-functions/tan.texi: Mention the 'tan' module.
22989         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
22990         * doc/posix-functions/y0.texi: Mention the 'y0' module.
22991         * doc/posix-functions/y1.texi: Mention the 'y1' module.
22992         * doc/posix-functions/yn.texi: Mention the 'yn' module.
22993
22994 2010-01-18  Jim Meyering  <meyering@redhat.com>
22995
22996         ignore-value: relax license to LGPLv2+
22997         * modules/ignore-value (License): Relax to LGPLv2+.
22998
22999         getdate: don't leak when TZ contains two or more '"'s
23000         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
23001         double quote in TZ after the first one.
23002
23003         readtokens: do not leak internal token_lengths buffer
23004         * lib/readtokens.c (readtokens): Free the local, lengths,
23005         when the supplied "token_lengths" parameter is NULL.
23006
23007 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23008
23009         Fix a couple of missing LIBTHREAD link failures on AIX.
23010         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
23011         $(LIBTHREAD).
23012         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
23013
23014         Link test-poll against INET_PTON_LIB.
23015         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
23016         for inet_pton on Solaris 10.
23017
23018 2010-01-17  Bruno Haible  <bruno@clisp.org>
23019
23020         unistdio/*-sprintf: Fix typo in module description.
23021         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
23022         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
23023         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
23024         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
23025         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
23026         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
23027         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
23028         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
23029
23030 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23031
23032         gnulib-tool: fix filelist for AIX, HP-UX ksh.
23033         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
23034         variables in shell case patterns, for AIX and HP-UX ksh.
23035
23036         Split large sed scripts, for HP-UX sed.
23037         * modules/stdio: Split sed scripts around 50 sed commands,
23038         to avoid HP-UX limit of 99 commands, in the near future.
23039         * modules/string: Likewise.
23040         * modules/unistd: Likewise.
23041
23042         gnulib-tool: avoid writing in the current directory.
23043         * gnulib-tool (func_emit_lib_Makefile_am)
23044         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
23045         not in the current directory, so concurrent gnulib-tool
23046         instances do not interfere.
23047
23048 2010-01-16  Jim Meyering  <meyering@redhat.com>
23049
23050         doc: update users.txt
23051         * users.txt: Add grep.
23052         (diffutils, gzip): Update URLs.
23053
23054 2010-01-12  Bruno Haible  <bruno@clisp.org>
23055
23056         posix_spawn: Avoid test failure on Cygwin.
23057         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
23058         characters.
23059         Reported by Simon Josefsson.
23060
23061 2010-01-12  Bruno Haible  <bruno@clisp.org>
23062
23063         * tests/test-cond.c (main): When skipping the test, show the reason.
23064
23065 2010-01-12  Simon Josefsson  <simon@josefsson.org>
23066
23067         * lib/striconv.c (str_cd_iconv): Avoid if before free.
23068
23069 2010-01-12  Simon Josefsson  <simon@josefsson.org>
23070
23071         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
23072         VC_LIST_ALWAYS_EXCLUDE_REGEX.
23073
23074 2010-01-12  Eric Blake  <ebb9@byu.net>
23075
23076         build: guarantee AS_VAR_IF
23077         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
23078         (gl_AS_VAR_IF): Move...
23079         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
23080         Reported by Simon Josefsson.
23081
23082 2010-01-12  Simon Josefsson  <simon@josefsson.org>
23083
23084         * lib/stdio.in.h: Fix typo.
23085
23086 2010-01-12  Simon Josefsson  <simon@josefsson.org>
23087
23088         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
23089         libgpg-error.
23090
23091 2010-01-12  Simon Josefsson  <simon@josefsson.org>
23092
23093         * tests/test-xalloc-die.sh: Use $EXEEXT.
23094
23095 2010-01-12  Simon Josefsson  <simon@josefsson.org>
23096             Bruno Haible  <bruno@clisp.org>
23097
23098         getlogin, getlogin_r: Avoid test failure.
23099         * tests/test-getlogin.c: Include <stdio.h>.
23100         (main): Skip the test when the function fails because stdin is not a
23101         tty.
23102         * tests/test-getlogin_r.c: Include <stdio.h>.
23103         (main): Skip the test when the function fails because stdin is not a
23104         tty.
23105
23106 2010-01-11  Eric Blake  <ebb9@byu.net>
23107
23108         tests: avoid more large file warnings
23109         * tests/test-fflush.c: Avoid warning about ftell use.
23110         * tests/test-fseek.c: Avoid warning about fseek use.
23111
23112 2010-01-10  Bruno Haible  <bruno@clisp.org>
23113
23114         nproc: Work better on Linux when /proc and /sys are not mounted.
23115         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
23116         as lower bound when, on glibc/Linux systems,
23117         sysconf (_SC_NPROCESSORS_CONF) returns 1.
23118         Suggested by Pádraig Brady <P@draigbrady.com>.
23119         Reported by Dmitry V. Levin <ldv@altlinux.org>.
23120
23121         nproc: Refactor.
23122         * lib/nproc.c (num_processors_via_affinity_mask): New function,
23123         extracted from num_processors.
23124         (num_processors): Call it.
23125
23126 2010-01-11  Jim Meyering  <meyering@redhat.com>
23127
23128         utimecmp: avoid new warning from upcoming gcc-4.5.0
23129         * lib/utimecmp.c (BILLION): Define using #define rather than an
23130         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
23131
23132 2010-01-11  Eric Blake  <ebb9@byu.net>
23133
23134         math: add portability warnings for classification macros
23135         * modules/math (Depends-on): Add warn-on-use.
23136         (Makefile.am): Provide new substitutions.
23137         * m4/math_h.m4 (gl_MATH_H): Require inline.
23138         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
23139         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
23140         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
23141         implement warnings.
23142
23143         unistd: warn on use of environ without module
23144         * modules/unistd (Depends-on): Add warn-on-use.
23145         (Makefile.am): Provide new substitutions.
23146         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
23147         * lib/unistd.in.h (environ): Wrap with a warning helper function.
23148
23149         stdio: warn on suspicious uses
23150         * modules/stdio (Depends-on): Add warn-on-use.
23151         (Makefile.am): Provide new substitutions.
23152         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
23153         fseeko.
23154         * lib/stdio.in.h (gets): Always warn on use.
23155         (fseek, ftell): Adjust when warnings are issued, and honor
23156         _GL_NO_LARGE_FILES as a way to silence the warning.
23157         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
23158         any warning about large file offsets.
23159         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
23160         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
23161         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
23162         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
23163         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
23164         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
23165         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
23166         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
23167
23168         warn-on-use: new module
23169         * modules/warn-on-use: New file.
23170         * build-aux/warn-on-use.h: Likewise.
23171         * m4/warn-on-use.m4: Likewise.
23172         * MODULES.html.sh (Support for building): Mention it.
23173
23174 2010-01-10  Bruno Haible  <bruno@clisp.org>
23175
23176         Tests for module 'unistr/u32-strdup'.
23177         * modules/unistr/u32-strdup-tests: New file.
23178         * tests/unistr/test-u32-strdup.c: New file.
23179
23180         Tests for module 'unistr/u16-strdup'.
23181         * modules/unistr/u16-strdup-tests: New file.
23182         * tests/unistr/test-u16-strdup.c: New file.
23183
23184         Tests for module 'unistr/u8-strdup'.
23185         * modules/unistr/u8-strdup-tests: New file.
23186         * tests/unistr/test-u8-strdup.c: New file.
23187         * tests/unistr/test-strdup.h: New file.
23188
23189         Tests for module 'unistr/u32-strncmp'.
23190         * modules/unistr/u32-strncmp-tests: New file.
23191         * tests/unistr/test-u32-strncmp.c: New file.
23192
23193         Tests for module 'unistr/u16-strncmp'.
23194         * modules/unistr/u16-strncmp-tests: New file.
23195         * tests/unistr/test-u16-strncmp.c: New file.
23196
23197         Tests for module 'unistr/u8-strncmp'.
23198         * modules/unistr/u8-strncmp-tests: New file.
23199         * tests/unistr/test-u8-strncmp.c: New file.
23200         * tests/unistr/test-strncmp.h: New file.
23201
23202         Tests for module 'unistr/u32-strcoll'.
23203         * modules/unistr/u32-strcoll-tests: New file.
23204         * tests/unistr/test-u32-strcoll.c: New file.
23205
23206         Tests for module 'unistr/u16-strcoll'.
23207         * modules/unistr/u16-strcoll-tests: New file.
23208         * tests/unistr/test-u16-strcoll.c: New file.
23209
23210         Tests for module 'unistr/u8-strcoll'.
23211         * modules/unistr/u8-strcoll-tests: New file.
23212         * tests/unistr/test-u8-strcoll.c: New file.
23213
23214         Tests for module 'unistr/u32-strcmp'.
23215         * modules/unistr/u32-strcmp-tests: New file.
23216         * tests/unistr/test-u32-strcmp.c: New file.
23217         * tests/unistr/test-u32-strcmp.h: New file.
23218
23219         Tests for module 'unistr/u16-strcmp'.
23220         * modules/unistr/u16-strcmp-tests: New file.
23221         * tests/unistr/test-u16-strcmp.c: New file.
23222         * tests/unistr/test-u16-strcmp.h: New file.
23223
23224         Tests for module 'unistr/u8-strcmp'.
23225         * modules/unistr/u8-strcmp-tests: New file.
23226         * tests/unistr/test-u8-strcmp.c: New file.
23227         * tests/unistr/test-u8-strcmp.h: New file.
23228         * tests/unistr/test-strcmp.h: New file.
23229
23230         Tests for module 'unistr/u32-strncat'.
23231         * modules/unistr/u32-strncat-tests: New file.
23232         * tests/unistr/test-u32-strncat.c: New file.
23233
23234         Tests for module 'unistr/u16-strncat'.
23235         * modules/unistr/u16-strncat-tests: New file.
23236         * tests/unistr/test-u16-strncat.c: New file.
23237
23238         Tests for module 'unistr/u8-strncat'.
23239         * modules/unistr/u8-strncat-tests: New file.
23240         * tests/unistr/test-u8-strncat.c: New file.
23241         * tests/unistr/test-strncat.h: New file.
23242
23243         Tests for module 'unistr/u32-strcat'.
23244         * modules/unistr/u32-strcat-tests: New file.
23245         * tests/unistr/test-u32-strcat.c: New file.
23246
23247         Tests for module 'unistr/u16-strcat'.
23248         * modules/unistr/u16-strcat-tests: New file.
23249         * tests/unistr/test-u16-strcat.c: New file.
23250
23251         Tests for module 'unistr/u8-strcat'.
23252         * modules/unistr/u8-strcat-tests: New file.
23253         * tests/unistr/test-u8-strcat.c: New file.
23254         * tests/unistr/test-strcat.h: New file.
23255
23256         Tests for module 'unistr/u32-stpncpy'.
23257         * modules/unistr/u32-stpncpy-tests: New file.
23258         * tests/unistr/test-u32-stpncpy.c: New file.
23259
23260         Tests for module 'unistr/u16-stpncpy'.
23261         * modules/unistr/u16-stpncpy-tests: New file.
23262         * tests/unistr/test-u16-stpncpy.c: New file.
23263
23264         Tests for module 'unistr/u8-stpncpy'.
23265         * modules/unistr/u8-stpncpy-tests: New file.
23266         * tests/unistr/test-u8-stpncpy.c: New file.
23267         * tests/unistr/test-stpncpy.h: New file.
23268
23269         Tests for module 'unistr/u32-strncpy'.
23270         * modules/unistr/u32-strncpy-tests: New file.
23271         * tests/unistr/test-u32-strncpy.c: New file.
23272
23273         Tests for module 'unistr/u16-strncpy'.
23274         * modules/unistr/u16-strncpy-tests: New file.
23275         * tests/unistr/test-u16-strncpy.c: New file.
23276
23277         Tests for module 'unistr/u8-strncpy'.
23278         * modules/unistr/u8-strncpy-tests: New file.
23279         * tests/unistr/test-u8-strncpy.c: New file.
23280         * tests/unistr/test-strncpy.h: New file.
23281
23282         Tests for module 'unistr/u32-stpcpy'.
23283         * modules/unistr/u32-stpcpy-tests: New file.
23284         * tests/unistr/test-u32-stpcpy.c: New file.
23285
23286         Tests for module 'unistr/u16-stpcpy'.
23287         * modules/unistr/u16-stpcpy-tests: New file.
23288         * tests/unistr/test-u16-stpcpy.c: New file.
23289
23290         Tests for module 'unistr/u8-stpcpy'.
23291         * modules/unistr/u8-stpcpy-tests: New file.
23292         * tests/unistr/test-u8-stpcpy.c: New file.
23293         * tests/unistr/test-stpcpy.h: New file.
23294
23295         Tests for module 'unistr/u32-strcpy'.
23296         * modules/unistr/u32-strcpy-tests: New file.
23297         * tests/unistr/test-u32-strcpy.c: New file.
23298
23299         Tests for module 'unistr/u16-strcpy'.
23300         * modules/unistr/u16-strcpy-tests: New file.
23301         * tests/unistr/test-u16-strcpy.c: New file.
23302
23303         Tests for module 'unistr/u8-strcpy'.
23304         * modules/unistr/u8-strcpy-tests: New file.
23305         * tests/unistr/test-u8-strcpy.c: New file.
23306         * tests/unistr/test-strcpy.h: New file.
23307
23308         Tests for module 'unistr/u32-strnlen'.
23309         * modules/unistr/u32-strnlen-tests: New file.
23310         * tests/unistr/test-u32-strnlen.c: New file.
23311
23312         Tests for module 'unistr/u16-strnlen'.
23313         * modules/unistr/u16-strnlen-tests: New file.
23314         * tests/unistr/test-u16-strnlen.c: New file.
23315
23316         Tests for module 'unistr/u8-strnlen'.
23317         * modules/unistr/u8-strnlen-tests: New file.
23318         * tests/unistr/test-u8-strnlen.c: New file.
23319         * tests/unistr/test-strnlen.h: New file.
23320
23321         Tests for module 'unistr/u32-strlen'.
23322         * modules/unistr/u32-strlen-tests: New file.
23323         * tests/unistr/test-u32-strlen.c: New file.
23324
23325         Tests for module 'unistr/u16-strlen'.
23326         * modules/unistr/u16-strlen-tests: New file.
23327         * tests/unistr/test-u16-strlen.c: New file.
23328
23329         Tests for module 'unistr/u8-strlen'.
23330         * modules/unistr/u8-strlen-tests: New file.
23331         * tests/unistr/test-u8-strlen.c: New file.
23332
23333         Tests for module 'unistr/u32-prev'.
23334         * modules/unistr/u32-prev-tests: New file.
23335         * tests/unistr/test-u32-prev.c: New file.
23336
23337         Tests for module 'unistr/u16-prev'.
23338         * modules/unistr/u16-prev-tests: New file.
23339         * tests/unistr/test-u16-prev.c: New file.
23340
23341         Tests for module 'unistr/u8-prev'.
23342         * modules/unistr/u8-prev-tests: New file.
23343         * tests/unistr/test-u8-prev.c: New file.
23344
23345         Tests for module 'unistr/u32-next'.
23346         * modules/unistr/u32-next-tests: New file.
23347         * tests/unistr/test-u32-next.c: New file.
23348
23349         Tests for module 'unistr/u16-next'.
23350         * modules/unistr/u16-next-tests: New file.
23351         * tests/unistr/test-u16-next.c: New file.
23352
23353         Tests for module 'unistr/u8-next'.
23354         * modules/unistr/u8-next-tests: New file.
23355         * tests/unistr/test-u8-next.c: New file.
23356
23357         Tests for module 'unistr/u32-strmbtouc'.
23358         * modules/unistr/u32-strmbtouc-tests: New file.
23359         * tests/unistr/test-u32-strmbtouc.c: New file.
23360
23361         Tests for module 'unistr/u16-strmbtouc'.
23362         * modules/unistr/u16-strmbtouc-tests: New file.
23363         * tests/unistr/test-u16-strmbtouc.c: New file.
23364
23365         Tests for module 'unistr/u8-strmbtouc'.
23366         * modules/unistr/u8-strmbtouc-tests: New file.
23367         * tests/unistr/test-u8-strmbtouc.c: New file.
23368
23369         Tests for module 'unistr/u32-strmblen'.
23370         * modules/unistr/u32-strmblen-tests: New file.
23371         * tests/unistr/test-u32-strmblen.c: New file.
23372
23373         Tests for module 'unistr/u16-strmblen'.
23374         * modules/unistr/u16-strmblen-tests: New file.
23375         * tests/unistr/test-u16-strmblen.c: New file.
23376
23377         Tests for module 'unistr/u8-strmblen'.
23378         * modules/unistr/u8-strmblen-tests: New file.
23379         * tests/unistr/test-u8-strmblen.c: New file.
23380
23381         Tests for module 'unistr/u32-cpy-alloc'.
23382         * modules/unistr/u32-cpy-alloc-tests: New file.
23383         * tests/unistr/test-u32-cpy-alloc.c: New file.
23384
23385         Tests for module 'unistr/u16-cpy-alloc'.
23386         * modules/unistr/u16-cpy-alloc-tests: New file.
23387         * tests/unistr/test-u16-cpy-alloc.c: New file.
23388
23389         Tests for module 'unistr/u8-cpy-alloc'.
23390         * modules/unistr/u8-cpy-alloc-tests: New file.
23391         * tests/unistr/test-u8-cpy-alloc.c: New file.
23392         * tests/unistr/test-cpy-alloc.h: New file.
23393
23394         Tests for module 'unistr/u32-mbsnlen'.
23395         * modules/unistr/u32-mbsnlen-tests: New file.
23396         * tests/unistr/test-u32-mbsnlen.c: New file.
23397
23398         Tests for module 'unistr/u16-mbsnlen'.
23399         * modules/unistr/u16-mbsnlen-tests: New file.
23400         * tests/unistr/test-u16-mbsnlen.c: New file.
23401
23402         Tests for module 'unistr/u8-mbsnlen'.
23403         * modules/unistr/u8-mbsnlen-tests: New file.
23404         * tests/unistr/test-u8-mbsnlen.c: New file.
23405
23406         Tests for module 'unistr/u32-chr'.
23407         * modules/unistr/u32-chr-tests: New file.
23408         * tests/unistr/test-u32-chr.c: New file.
23409
23410         Tests for module 'unistr/u16-chr'.
23411         * modules/unistr/u16-chr-tests: New file.
23412         * tests/unistr/test-u16-chr.c: New file.
23413
23414         Tests for module 'unistr/u8-chr'.
23415         * modules/unistr/u8-chr-tests: New file.
23416         * tests/unistr/test-u8-chr.c: New file.
23417         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
23418
23419         Tests for module 'unistr/u32-cmp2'.
23420         * modules/unistr/u32-cmp2-tests: New file.
23421         * tests/unistr/test-u32-cmp2.c: New file.
23422
23423         Tests for module 'unistr/u16-cmp2'.
23424         * modules/unistr/u16-cmp2-tests: New file.
23425         * tests/unistr/test-u16-cmp2.c: New file.
23426
23427         Tests for module 'unistr/u8-cmp2'.
23428         * modules/unistr/u8-cmp2-tests: New file.
23429         * tests/unistr/test-u8-cmp2.c: New file.
23430         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
23431
23432         Tests for module 'unistr/u32-cmp'.
23433         * modules/unistr/u32-cmp-tests: New file.
23434         * tests/unistr/test-u32-cmp.c: New file.
23435
23436         Tests for module 'unistr/u16-cmp'.
23437         * modules/unistr/u16-cmp-tests: New file.
23438         * tests/unistr/test-u16-cmp.c: New file.
23439
23440         Tests for module 'unistr/u8-cmp'.
23441         * modules/unistr/u8-cmp-tests: New file.
23442         * tests/unistr/test-u8-cmp.c: New file.
23443         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
23444
23445         Tests for module 'unistr/u32-set'.
23446         * modules/unistr/u32-set-tests: New file.
23447         * tests/unistr/test-u32-set.c: New file.
23448
23449         Tests for module 'unistr/u16-set'.
23450         * modules/unistr/u16-set-tests: New file.
23451         * tests/unistr/test-u16-set.c: New file.
23452
23453         Tests for module 'unistr/u8-set'.
23454         * modules/unistr/u8-set-tests: New file.
23455         * tests/unistr/test-u8-set.c: New file.
23456         * tests/unistr/test-set.h: New file.
23457
23458         Tests for module 'unistr/u32-move'.
23459         * modules/unistr/u32-move-tests: New file.
23460         * tests/unistr/test-u32-move.c: New file.
23461
23462         Tests for module 'unistr/u16-move'.
23463         * modules/unistr/u16-move-tests: New file.
23464         * tests/unistr/test-u16-move.c: New file.
23465
23466         Tests for module 'unistr/u8-move'.
23467         * modules/unistr/u8-move-tests: New file.
23468         * tests/unistr/test-u8-move.c: New file.
23469         * tests/unistr/test-move.h: New file.
23470
23471         Tests for module 'unistr/u32-cpy'.
23472         * modules/unistr/u32-cpy-tests: New file.
23473         * tests/unistr/test-u32-cpy.c: New file.
23474
23475         Tests for module 'unistr/u16-cpy'.
23476         * modules/unistr/u16-cpy-tests: New file.
23477         * tests/unistr/test-u16-cpy.c: New file.
23478
23479         Tests for module 'unistr/u8-cpy'.
23480         * modules/unistr/u8-cpy-tests: New file.
23481         * tests/unistr/test-u8-cpy.c: New file.
23482         * tests/unistr/test-cpy.h: New file.
23483
23484 2010-01-09  Bruno Haible  <bruno@clisp.org>
23485
23486         Tests for module 'unistr/u32-uctomb'.
23487         * modules/unistr/u32-uctomb-tests: New file.
23488         * tests/unistr/test-u32-uctomb.c: New file.
23489
23490         Tests for module 'unistr/u16-uctomb'.
23491         * modules/unistr/u16-uctomb-tests: New file.
23492         * tests/unistr/test-u16-uctomb.c: New file.
23493
23494         Tests for module 'unistr/u8-uctomb'.
23495         * modules/unistr/u8-uctomb-tests: New file.
23496         * tests/unistr/test-u8-uctomb.c: New file.
23497
23498         Tests for module 'unistr/u32-mbtoucr'.
23499         * modules/unistr/u32-mbtoucr-tests: New file.
23500         * tests/unistr/test-u32-mbtoucr.c: New file.
23501
23502         Tests for module 'unistr/u16-mbtoucr'.
23503         * modules/unistr/u16-mbtoucr-tests: New file.
23504         * tests/unistr/test-u16-mbtoucr.c: New file.
23505
23506         Tests for module 'unistr/u8-mbtoucr'.
23507         * modules/unistr/u8-mbtoucr-tests: New file.
23508         * tests/unistr/test-u8-mbtoucr.c: New file.
23509
23510         Tests for module 'unistr/u32-mbtouc'.
23511         * modules/unistr/u32-mbtouc-tests: New file.
23512         * tests/unistr/test-u32-mbtouc.c: New file.
23513
23514         Tests for module 'unistr/u16-mbtouc'.
23515         * modules/unistr/u16-mbtouc-tests: New file.
23516         * tests/unistr/test-u16-mbtouc.c: New file.
23517
23518         Tests for module 'unistr/u8-mbtouc'.
23519         * modules/unistr/u8-mbtouc-tests: New file.
23520         * tests/unistr/test-u8-mbtouc.c: New file.
23521
23522         Tests for module 'unistr/u32-mbtouc-unsafe'.
23523         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
23524         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
23525         * tests/unistr/test-u32-mbtouc.h: New file.
23526
23527         Tests for module 'unistr/u16-mbtouc-unsafe'.
23528         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
23529         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
23530         * tests/unistr/test-u16-mbtouc.h: New file.
23531
23532         Tests for module 'unistr/u8-mbtouc-unsafe'.
23533         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
23534         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
23535         * tests/unistr/test-u8-mbtouc.h: New file.
23536
23537         Tests for module 'unistr/u32-mblen'.
23538         * modules/unistr/u32-mblen-tests: New file.
23539         * tests/unistr/test-u32-mblen.c: New file.
23540
23541         Tests for module 'unistr/u16-mblen'.
23542         * modules/unistr/u16-mblen-tests: New file.
23543         * tests/unistr/test-u16-mblen.c: New file.
23544
23545         Tests for module 'unistr/u8-mblen'.
23546         * modules/unistr/u8-mblen-tests: New file.
23547         * tests/unistr/test-u8-mblen.c: New file.
23548
23549         Tests for module 'unistr/u32-to-u16'.
23550         * modules/unistr/u32-to-u16-tests: New file.
23551         * tests/unistr/test-u32-to-u16.c: New file.
23552
23553         Tests for module 'unistr/u32-to-u8'.
23554         * modules/unistr/u32-to-u8-tests: New file.
23555         * tests/unistr/test-u32-to-u8.c: New file.
23556
23557         Tests for module 'unistr/u16-to-u32'.
23558         * modules/unistr/u16-to-u32-tests: New file.
23559         * tests/unistr/test-u16-to-u32.c: New file.
23560
23561         Tests for module 'unistr/u16-to-u8'.
23562         * modules/unistr/u16-to-u8-tests: New file.
23563         * tests/unistr/test-u16-to-u8.c: New file.
23564
23565         Tests for module 'unistr/u8-to-u32'.
23566         * modules/unistr/u8-to-u32-tests: New file.
23567         * tests/unistr/test-u8-to-u32.c: New file.
23568
23569         Tests for module 'unistr/u8-to-u16'.
23570         * modules/unistr/u8-to-u16-tests: New file.
23571         * tests/unistr/test-u8-to-u16.c: New file.
23572
23573         Tests for module 'unistr/u32-check'.
23574         * modules/unistr/u32-check-tests: New file.
23575         * tests/unistr/test-u32-check.c: New file.
23576
23577         Tests for module 'unistr/u16-check'.
23578         * modules/unistr/u16-check-tests: New file.
23579         * tests/unistr/test-u16-check.c: New file.
23580
23581         Tests for module 'unistr/u8-check'.
23582         * modules/unistr/u8-check-tests: New file.
23583         * tests/unistr/test-u8-check.c: New file.
23584
23585         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
23586         (category_equals): New function.
23587         (main): Add more tests.
23588         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
23589
23590         * tests/unictype/test-bidi_byname.c (main): Add more tests.
23591
23592 2010-01-10  Bruno Haible  <bruno@clisp.org>
23593
23594         unistr/u*-strcoll: Try harder to distinguish different strings.
23595         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
23596         compare s1 and s2 to see if they are different.
23597
23598 2010-01-10  Bruno Haible  <bruno@clisp.org>
23599
23600         unistr/u*-stpncpy: Fix the return value.
23601         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
23602         description of the return value consistent with stpncpy in glibc.
23603         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
23604         written non-NUL unit.
23605
23606 2010-01-10  Bruno Haible  <bruno@clisp.org>
23607
23608         unistr/u*-next: Add missing dependencies.
23609         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
23610         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
23611         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
23612
23613 2010-01-10  Bruno Haible  <bruno@clisp.org>
23614
23615         unistr/u8-mbsnlen: Fix return value for incomplete character.
23616         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
23617         u8_mblen.
23618         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
23619         Remove unistr/u8-mblen.
23620         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
23621         u16_mblen.
23622         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
23623         Remove unistr/u16-mblen.
23624
23625 2010-01-10  Bruno Haible  <bruno@clisp.org>
23626
23627         wchar: Fix compilation error when <wchar.h> is used from coreutils.
23628         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
23629         Reported by Brian Gough <bjg@gnu.org> and
23630         Chris Clayton <chris2553@googlemail.com> via
23631         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
23632
23633 2010-01-09  Bruno Haible  <bruno@clisp.org>
23634
23635         unistr/u16-to-u32: Reject invalid input.
23636         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
23637         u16_mbtouc.
23638         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
23639         Remove unistr/u16-mbtouc.
23640
23641         unistr/u16-to-u8: Reject invalid input.
23642         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
23643         u16_mbtouc.
23644         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
23645         Remove unistr/u16-mbtouc.
23646
23647         unistr/u8-to-u32: Reject invalid input.
23648         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
23649         u8_mbtouc.
23650         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
23651         Remove unistr/u8-mbtouc.
23652
23653         unistr/u8-to-u16: Reject invalid input.
23654         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
23655         u8_mbtouc.
23656         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
23657         Remove unistr/u8-mbtouc.
23658
23659 2010-01-09  Bruno Haible  <bruno@clisp.org>
23660
23661         Tests for module 'getlogin'.
23662         * modules/getlogin-tests: New file.
23663         * tests/test-getlogin.c: New file.
23664
23665         New module 'getlogin'.
23666         * lib/unistd.in.h (getlogin): New declaration.
23667         * lib/getlogin.c: New file.
23668         * m4/getlogin.m4: New file.
23669         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
23670         HAVE_GETLOGIN.
23671         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
23672         HAVE_GETLOGIN.
23673         * modules/getlogin: New file.
23674         * doc/posix-functions/getlogin.texi: Mention the new module.
23675         Reported by John W. Eaton <jwe@gnu.org>.
23676
23677 2010-01-09  Bruno Haible  <bruno@clisp.org>
23678
23679         getlogin_r: Support for native Windows.
23680         * lib/getlogin_r.c: Include <windows.h>
23681         (getlogin_r): Implement for native Windows.
23682         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
23683         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
23684         via John W. Eaton <jwe@gnu.org>.
23685
23686 2010-01-09  Bruno Haible  <bruno@clisp.org>
23687
23688         getlogin_r: Small fixes.
23689         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
23690         succeeds.
23691         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
23692         before testing whether getlogin_r is declared. No need to set
23693         HAVE_DECL_GETLOGIN_R to 1.
23694         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
23695
23696 2010-01-09  Bruno Haible  <bruno@clisp.org>
23697
23698         * lib/unistd.in.h (getlogin_r): Add comment.
23699
23700 2010-01-09  Bruno Haible  <bruno@clisp.org>
23701
23702         Tests for module 'getlogin_r'.
23703         * modules/getlogin_r-tests: New file.
23704         * tests/test-getlogin_r.c: New file.
23705
23706 2010-01-09  Jim Meyering  <meyering@redhat.com>
23707
23708         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
23709         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
23710         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
23711
23712 2010-01-08  Simon Josefsson  <simon@josefsson.org>
23713
23714         * lib/dup2.c (rpl_dup2): Improve comment.
23715
23716 2010-01-08  Eric Blake  <ebb9@byu.net>
23717
23718         maint.mk: allow packages to add makefile @@ exceptions
23719         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
23720         (sc_makefile_check): Rename...
23721         (sc_makefile_at_at_check): ...to this, and use hook.
23722
23723         dup2: work around mingw bug
23724         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
23725         Reported by Simon Josefsson.
23726
23727 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
23728
23729         glob: Fix C++ compilation.
23730         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
23731         C++.
23732
23733 2010-01-07  Bruno Haible  <bruno@clisp.org>
23734
23735         Fix indentation of wctype.in.h, broken since 2007-01-06.
23736         * lib/wctype.in.h: Fix indentation of preprocessor directives.
23737
23738 2010-01-07  Bruno Haible  <bruno@clisp.org>
23739
23740         mbslen: Avoid collision with system function.
23741         * lib/string.in.h [MirBSD]: Include <wchar.h>.
23742         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
23743         * m4/mbslen.m4: New file.
23744         * modules/mbslen (Files): Add it.
23745         (configure.ac): Invoke gl_MBSLEN.
23746         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
23747         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
23748         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
23749         via Ian Beckwith <ianb@erislabs.net>.
23750
23751 2010-01-07  Bruno Haible  <bruno@clisp.org>
23752
23753         dirent: Document the last fix.
23754         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
23755
23756 2010-01-07  Bruno Haible  <bruno@clisp.org>
23757
23758         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
23759         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
23760         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
23761         va_list are defined.
23762         * doc/posix-headers/stdio.texi: Document the bug of missing types.
23763         Reported by Eric Blake.
23764
23765 2010-01-07  Bruno Haible  <bruno@clisp.org>
23766
23767         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
23768         * modules/xlist (Depends-on): Add 'list',
23769         * modules/xoset (Depends-on): Add 'oset'.
23770         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
23771
23772 2010-01-07  Bruno Haible  <bruno@clisp.org>
23773
23774         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
23775         * doc/posix-functions/strncasecmp.texi: Likewise.
23776
23777 2010-01-07  Bruno Haible  <bruno@clisp.org>
23778
23779         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
23780
23781 2010-01-07  John W. Eaton  <jwe@octave.org>
23782
23783         wctype: allow C++ use
23784         * lib/wctype.in.h: Add extern "C" block for C++.
23785
23786 2010-01-06  Eric Blake  <ebb9@byu.net>
23787
23788         maint.mk: detect incorrect GFDL usage
23789         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
23790
23791 2010-01-06  Jim Meyering  <meyering@redhat.com>
23792         and Eric Blake  <ebb9@byu.net>
23793
23794         maint.mk: ignore multi-line copyright in NEWS
23795         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
23796
23797 2010-01-06  Eric Blake  <ebb9@byu.net>
23798
23799         select: add missing dependency
23800         * modules/select-tests (Depends-on): Move sockets dependency...
23801         * modules/select (Depends-on): ...here.
23802         Reported by Ian Beckwith.
23803
23804         doc: regenerate INSTALL
23805         * doc/INSTALL: Reflect recent autoconf update.
23806         * doc/INSTALL.ISO: Likewise.
23807         * doc/INSTALL.UTF-8: Likewise.
23808
23809         pread: fix compilation on glibc
23810         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
23811         Reported by Ralf Wildenhues.
23812
23813         dirent: fix test failure
23814         * lib/dirent.in.h (includes): Guarantee ino_t.
23815         Reported by Ralf Wildenhues.
23816
23817 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
23818
23819         linkat, renameat: avoid bad free
23820         * lib/at-func2.c (at_func2): Fix typo.
23821         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
23822
23823 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23824
23825         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
23826         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
23827         to avoid failure of symlink test later.
23828
23829 2010-01-06  Eric Blake  <ebb9@byu.net>
23830
23831         stdio, unistd: guarantee ssize_t
23832         * lib/unistd.in.h (includes): Ensure that types required by POSIX
23833         2008 are exposed when needed.
23834         * lib/stdio.in.h (includes): Likewise.
23835         Reported by Ralf Wildenhues.
23836
23837 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
23838
23839         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
23840         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
23841         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
23842
23843 2010-01-06  Jim Meyering  <meyering@redhat.com>
23844
23845         readtokens: this module *does* require xalloc.h
23846         It uses only functions that were omitted by the old syntax-check rule.
23847         * lib/readtokens.c: Include "xalloc.h" once again.
23848         * modules/readtokens (Depends-on): Add xalloc.
23849         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
23850
23851 2010-01-05  Eric Blake  <ebb9@byu.net>
23852
23853         maint: support 'make announcement' from a VPATH build
23854         * top/maint.mk (announcement): Look for correct NEWS file.
23855
23856 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
23857
23858         utimens (fdutimens): ignore a negative FD, per contract
23859         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
23860         when we have a valid file descriptor.  Otherwise, using a brand
23861         new glibc (with just-patched futimens that now fails with EBADF)
23862         would cause this function to fail with ENOSYS.
23863         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
23864         See also http://bugzilla.redhat.com/552320.
23865
23866 2010-01-05  Eric Blake  <ebb9@byu.net>
23867
23868         strcase: document what it provides
23869         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
23870         gnulib module.
23871         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
23872         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
23873
23874 2010-01-05  Jim Meyering  <meyering@redhat.com>
23875
23876         maint: remove useless inclusions of "xalloc.h"
23877         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
23878         * lib/readtokens.c: Likewise.
23879         * lib/same.c: Likewise.
23880         * modules/getloadavg (Depends-on): Remove xalloc.
23881         * modules/readtokens: Likewise.
23882         * modules/same: Likewise.
23883
23884         maint.mk: include 4 more function names in alloca.h-checking regexp
23885         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
23886         regexp.  Before, we would give a false-positive (saying alloca.h
23887         is included unnecessarily) when the only uses involved omitted symbols.
23888
23889         xalloc.h: use consistent formatting
23890         * lib/xalloc.h: Move declarations to start in the first column.
23891
23892 2010-01-05  Eric Blake  <ebb9@byu.net>
23893
23894         mkdir: avoid xalloc
23895         * lib/mkdir.c (includes): Drop unused header.
23896         Reported by John W. Eaton.
23897
23898 2010-01-04  Jim Meyering  <meyering@redhat.com>
23899
23900         nl_langinfo: avoid configure-time syntax error
23901         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
23902         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
23903         the empty string.  Don't let that provoke a shell syntax error.
23904
23905         regcomp, regexec, fnmatch: avoid array bounds read error
23906         * lib/regcomp.c (build_equiv_class): From glibc:
23907         Use only the low 24 bits of a findidx return value as an index
23908         into the weights array.  Patch by Ulrich Drepper:
23909         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
23910         * lib/regexec.c (check_node_accept_bytes): Likewise.
23911         * lib/fnmatch_loop.c (FCT): Likewise.
23912
23913         regcomp: skip collseq lookup when there are no rules
23914         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
23915         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
23916
23917         regcomp: recognize ill-formed { } expressions
23918         * lib/regcomp.c (parse_dup_op): From glibc:
23919         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
23920
23921         regcomp: fix typo in comment
23922         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
23923         s/satisfy/satisfies/.
23924
23925         regcomp: sync from glibc: remove dead store
23926         * lib/regcomp.c (duplicate_node_closure): Remove useless
23927         search_duplicated_node call and dead store.
23928
23929         regcomp: sync from glibc; always use nl_langinfo
23930         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
23931         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
23932         * modules/regex (Depends-on): Add nl_langinfo.
23933
23934 2010-01-04  Eric Blake  <ebb9@byu.net>
23935
23936         fdopendir: fix configure test
23937         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
23938
23939 2010-01-01  Bruno Haible  <bruno@clisp.org>
23940
23941         wchar: Remove unused configure check.
23942         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
23943
23944 2010-01-01  Eric Blake  <ebb9@byu.net>
23945
23946         headers: make check of system header explicit
23947         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
23948         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
23949         ourselves.
23950         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
23951         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
23952         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
23953         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
23954         internals.
23955         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
23956         missing.
23957         Suggested by Bruno Haible.
23958
23959 2010-01-01  Jim Meyering  <meyering@redhat.com>
23960
23961         ChangeLog: tweak to eliminate unnecessary copyright line
23962         * ChangeLog: Remove a copyright line that was mistakenly updated
23963         by today's update-copyright run.  Reported by Eric Blake.
23964
23965         test-update-copyright: don't let envvar setting cause test failure
23966         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
23967
23968 2010-01-01  Bruno Haible  <bruno@clisp.org>
23969
23970         localename: Avoid gcc warning.
23971         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
23972         function if it is not used.
23973
23974 2010-01-01  Jim Meyering  <meyering@redhat.com>
23975
23976         update nearly all FSF copyright year lists to include 2010
23977         Use the same procedure as for 2009, outlined in
23978         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
23979
23980         version-etc: set COPYRIGHT_YEAR to 2010
23981         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
23982
23983 2009-12-31  Eric Blake  <ebb9@byu.net>
23984
23985         doc: correct availability of cygwin 1.5.x getopt
23986         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
23987         variables.
23988         * doc/posix-functions/opterr.texi (opterr): Likewise.
23989         * doc/posix-functions/optind.texi (optind): Likewise.
23990         * doc/posix-functions/optopt.texi (optopt): Likewise.
23991         * doc/posix-functions/tzname.texi (tzname): Likewise.
23992
23993         openat: update maintainer
23994         * modules/openat (Maintainer): Add myself.
23995
23996         utimens: avoid shadowing warning
23997         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
23998         buffers into one, to avoid shadowing, as well as avoiding a
23999         redundant stat.
24000         Reported by Jim Meyering.
24001
24002         test-dup2: avoid compiler warning
24003         * tests/test-dup2.c (is_inheritable): Only define if used.
24004
24005 2010-01-01  Bruno Haible  <bruno@clisp.org>
24006
24007         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
24008         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
24009         defined, use wctomb instead of wcrtomb.
24010
24011 2010-01-01  Bruno Haible  <bruno@clisp.org>
24012
24013         iconv: Reject native Solaris iconv.
24014         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
24015         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
24016
24017 2009-12-31  Bruno Haible  <bruno@clisp.org>
24018
24019         * tests/test-signal.c (main): Remove test of 'SIG'.
24020
24021 2009-12-31  Bruno Haible  <bruno@clisp.org>
24022
24023         spawn: Fix incomplete fix.
24024         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
24025         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
24026         warnings for GNULIB_POSIXCHECK again.
24027         Reported by Eric Blake.
24028
24029 2009-12-31  Bruno Haible  <bruno@clisp.org>
24030
24031         Avoid namespace pollution on glibc systems.
24032         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
24033         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
24034         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
24035         glibc systems.
24036
24037 2009-12-31  Bruno Haible  <bruno@clisp.org>
24038
24039         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
24040         (gl_REPLACE_WCHAR_H): Turn into a no-op.
24041         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
24042         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
24043         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
24044         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
24045         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
24046
24047 2009-12-31  Bruno Haible  <bruno@clisp.org>
24048
24049         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
24050         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
24051         afterwards.
24052
24053 2009-12-31  Bruno Haible  <bruno@clisp.org>
24054
24055         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
24056         SYS_UTSNAME_H.
24057
24058 2009-12-31  Bruno Haible  <bruno@clisp.org>
24059
24060         spawn: Fix misapplied patch.
24061         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
24062         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
24063         warnings for GNULIB_POSIXCHECK.
24064
24065 2009-12-31  Bruno Haible  <bruno@clisp.org>
24066
24067         times: Update after sys_times changed.
24068         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
24069         * modules/times (Files): Add it.
24070         (configure.ac): Invoke gl_FUNC_TIMES.
24071
24072 2009-12-31  Bruno Haible  <bruno@clisp.org>
24073
24074         Use AC_C_INLINE where necessary.
24075         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
24076         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
24077         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
24078         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
24079         * m4/mbfile.m4 (gl_MBFILE): Likewise.
24080         * m4/mbiter.m4 (gl_MBITER): Likewise.
24081         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
24082         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
24083         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
24084         * modules/u64 (configure.ac): Likewise.
24085
24086 2009-12-31  Bruno Haible  <bruno@clisp.org>
24087
24088         Use AC_C_INLINE instead of module 'inline' where possible.
24089         * modules/inline (Description): Clarify purpose.
24090         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
24091         * modules/count-one-bits (Depends-on): Remove inline.
24092         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
24093         * modules/openat (Depends-on): Remove inline.
24094         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
24095         instead of depending on module 'inline'.
24096         * modules/filevercmp (Depends-on, configure.ac): Likewise.
24097         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
24098         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
24099         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
24100         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
24101         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
24102         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
24103         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
24104         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
24105         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
24106         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
24107         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
24108         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
24109         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
24110         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
24111         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
24112         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
24113         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
24114         Likewise.
24115         * modules/unictype/property-ascii-hex-digit (Depends-on,
24116         configure.ac): Likewise.
24117         * modules/unictype/property-bidi-arabic-digit (Depends-on,
24118         configure.ac): Likewise.
24119         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
24120         configure.ac): Likewise.
24121         * modules/unictype/property-bidi-block-separator (Depends-on,
24122         configure.ac): Likewise.
24123         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
24124         configure.ac): Likewise.
24125         * modules/unictype/property-bidi-common-separator (Depends-on,
24126         configure.ac): Likewise.
24127         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
24128         Likewise.
24129         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
24130         configure.ac): Likewise.
24131         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
24132         configure.ac): Likewise.
24133         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
24134         configure.ac): Likewise.
24135         * modules/unictype/property-bidi-european-digit (Depends-on,
24136         configure.ac): Likewise.
24137         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
24138         configure.ac): Likewise.
24139         * modules/unictype/property-bidi-left-to-right (Depends-on,
24140         configure.ac): Likewise.
24141         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
24142         configure.ac): Likewise.
24143         * modules/unictype/property-bidi-other-neutral (Depends-on,
24144         configure.ac): Likewise.
24145         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
24146         Likewise.
24147         * modules/unictype/property-bidi-segment-separator (Depends-on,
24148         configure.ac): Likewise.
24149         * modules/unictype/property-bidi-whitespace (Depends-on,
24150         configure.ac): Likewise.
24151         * modules/unictype/property-combining (Depends-on, configure.ac):
24152         Likewise.
24153         * modules/unictype/property-composite (Depends-on, configure.ac):
24154         Likewise.
24155         * modules/unictype/property-currency-symbol (Depends-on,
24156         configure.ac): Likewise.
24157         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
24158         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
24159         Likewise.
24160         * modules/unictype/property-default-ignorable-code-point (Depends-on,
24161         configure.ac): Likewise.
24162         * modules/unictype/property-deprecated (Depends-on, configure.ac):
24163         Likewise.
24164         * modules/unictype/property-diacritic (Depends-on, configure.ac):
24165         Likewise.
24166         * modules/unictype/property-extender (Depends-on, configure.ac):
24167         Likewise.
24168         * modules/unictype/property-format-control (Depends-on, configure.ac):
24169         Likewise.
24170         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
24171         Likewise.
24172         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
24173         Likewise.
24174         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
24175         Likewise.
24176         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
24177         Likewise.
24178         * modules/unictype/property-hyphen (Depends-on, configure.ac):
24179         Likewise.
24180         * modules/unictype/property-id-continue (Depends-on, configure.ac):
24181         Likewise.
24182         * modules/unictype/property-id-start (Depends-on, configure.ac):
24183         Likewise.
24184         * modules/unictype/property-ideographic (Depends-on, configure.ac):
24185         Likewise.
24186         * modules/unictype/property-ids-binary-operator (Depends-on,
24187         configure.ac): Likewise.
24188         * modules/unictype/property-ids-trinary-operator (Depends-on,
24189         configure.ac): Likewise.
24190         * modules/unictype/property-ignorable-control (Depends-on,
24191         configure.ac): Likewise.
24192         * modules/unictype/property-iso-control (Depends-on, configure.ac):
24193         Likewise.
24194         * modules/unictype/property-join-control (Depends-on, configure.ac):
24195         Likewise.
24196         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
24197         Likewise.
24198         * modules/unictype/property-line-separator (Depends-on, configure.ac):
24199         Likewise.
24200         * modules/unictype/property-logical-order-exception (Depends-on,
24201         configure.ac): Likewise.
24202         * modules/unictype/property-lowercase (Depends-on, configure.ac):
24203         Likewise.
24204         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
24205         * modules/unictype/property-non-break (Depends-on, configure.ac):
24206         Likewise.
24207         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
24208         Likewise.
24209         * modules/unictype/property-numeric (Depends-on, configure.ac):
24210         Likewise.
24211         * modules/unictype/property-other-alphabetic (Depends-on,
24212         configure.ac): Likewise.
24213         * modules/unictype/property-other-default-ignorable-code-point
24214         (Depends-on, configure.ac): Likewise.
24215         * modules/unictype/property-other-grapheme-extend (Depends-on,
24216         configure.ac): Likewise.
24217         * modules/unictype/property-other-id-continue (Depends-on,
24218         configure.ac): Likewise.
24219         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
24220         Likewise.
24221         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
24222         Likewise.
24223         * modules/unictype/property-other-math (Depends-on, configure.ac):
24224         Likewise.
24225         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
24226         Likewise.
24227         * modules/unictype/property-paired-punctuation (Depends-on,
24228         configure.ac): Likewise.
24229         * modules/unictype/property-paragraph-separator (Depends-on,
24230         configure.ac): Likewise.
24231         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
24232         Likewise.
24233         * modules/unictype/property-pattern-white-space (Depends-on,
24234         configure.ac): Likewise.
24235         * modules/unictype/property-private-use (Depends-on, configure.ac):
24236         Likewise.
24237         * modules/unictype/property-punctuation (Depends-on, configure.ac):
24238         Likewise.
24239         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
24240         Likewise.
24241         * modules/unictype/property-radical (Depends-on, configure.ac):
24242         Likewise.
24243         * modules/unictype/property-sentence-terminal (Depends-on,
24244         configure.ac): Likewise.
24245         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
24246         Likewise.
24247         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
24248         * modules/unictype/property-terminal-punctuation (Depends-on,
24249         configure.ac): Likewise.
24250         * modules/unictype/property-titlecase (Depends-on, configure.ac):
24251         Likewise.
24252         * modules/unictype/property-unassigned-code-value (Depends-on,
24253         configure.ac): Likewise.
24254         * modules/unictype/property-unified-ideograph (Depends-on,
24255         configure.ac): Likewise.
24256         * modules/unictype/property-uppercase (Depends-on, configure.ac):
24257         Likewise.
24258         * modules/unictype/property-variation-selector (Depends-on,
24259         configure.ac): Likewise.
24260         * modules/unictype/property-white-space (Depends-on, configure.ac):
24261         Likewise.
24262         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
24263         Likewise.
24264         * modules/unictype/property-xid-start (Depends-on, configure.ac):
24265         Likewise.
24266         * modules/unictype/property-zero-width (Depends-on, configure.ac):
24267         Likewise.
24268         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
24269         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
24270         Likewise.
24271
24272 2009-12-31  Bruno Haible  <bruno@clisp.org>
24273
24274         Remove unnecessary AC_C_INLINE invocation.
24275         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
24276         since 2009-08-21.
24277
24278 2009-12-31  Jim Meyering  <meyering@redhat.com>
24279
24280         maint.mk: don't require explicit gpg_key_ID in cfg.mk
24281         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
24282         With this change, we can all remove the gpg_key_ID = ... definition
24283         from our respective cfg.mk files.
24284
24285         maint.mk: create announcement template in ~/, not in /tmp
24286         * top/maint.mk (emit_upload_commands): Adjust.
24287         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
24288         Remove temporary file, .ci-msg.
24289
24290 2009-12-31  Eric Blake  <ebb9@byu.net>
24291
24292         link-warning: always build headers with link warnings
24293         * modules/arpa_inet (Makefile.am): Always build replacement
24294         header.
24295         * modules/ctype (Makefile.am): Likewise.
24296         * modules/dirent (Makefile.am): Likewise.
24297         * modules/inttypes (Makefile.am): Likewise.
24298         * modules/langinfo (Makefile.am): Likewise.
24299         * modules/locale (Makefile.am): Likewise.
24300         * modules/spawn (Makefile.am): Likewise.
24301         * modules/sys_file (Makefile.am): Likewise.
24302         * modules/sys_ioctl (Makefile.am): Likewise.
24303         * modules/sys_select (Makefile.am): Likewise.
24304         * modules/sys_socket (Makefile.am): Likewise.
24305         * modules/sys_times (Makefile.am): Likewise.
24306         * modules/sys_utsname (Makefile.am): Likewise.
24307         * modules/sys_wait (Makefile.am): Likewise.
24308         * modules/wchar (Makefile.am): Likewise.
24309         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
24310         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
24311         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
24312         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
24313         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
24314         Likewise.
24315         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
24316         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
24317         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
24318         Likewise.
24319         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
24320         Likewise.
24321         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
24322         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
24323         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
24324         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
24325         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
24326         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
24327         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
24328         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
24329         (gl_WCHAR_H_DEFAULTS): Likewise.
24330
24331 2009-12-31  Eric Blake  <ebb9@byu.net>
24332
24333         signal, spawn: use link warnings
24334         * lib/signal.in.h (sigset_t): Make unconditional.
24335         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
24336         (sigpending, sigprocmask, sigaction): Add link warnings.
24337         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
24338         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
24339         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
24340         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
24341         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
24342         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
24343         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
24344         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
24345         (posix_spawn_file_actions_destroy)
24346         (posix_spawn_file_actions_addopen)
24347         (posix_spawn_file_actions_addclose)
24348         (posix_spawn_file_actions_adddup2): Likewise.
24349         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
24350         * tests/test-signal.c (main): Enhance test.
24351
24352         spawn: improve wrapper support
24353         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
24354         (gl_SPAWN_H_DEFAULTS): New defaults.
24355         * modules/spawn (Makefile.am): Substitute them.
24356         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
24357         Only declare if missing or broken.
24358
24359         sys_times, sys_utsname: use include_next
24360         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
24361         header.
24362         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
24363         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
24364         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
24365         * modules/sys_times (Depends-on): Add include_next.
24366         (Makefile.am): Substitute additional values.
24367         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
24368         * lib/sys_times.in.h (includes): Include native header, if
24369         available.
24370         * lib/sys_utsname.in.h (includes): Likewise.
24371         * tests/test-sys_times.c (main): Enhance test.
24372
24373         fdutimensat: revert prior patch
24374         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
24375         utimens.h.
24376         Reported by Bruno Haible.
24377
24378 2009-12-30  Eric Blake  <ebb9@byu.net>
24379
24380         sys_wait: drop link-warning dependency
24381         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
24382         link-warning efforts.
24383         * lib/sys_wait.in.h: Likewise.
24384
24385         fdutimensat: remove bogus dependency
24386         * modules/fdutimensat (Depends-on): Drop inline.
24387
24388         unistd: fix typo
24389         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
24390
24391 2009-12-30  Bruno Haible  <bruno@clisp.org>
24392
24393         Fix compilation error with Solaris cc.
24394         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
24395         * lib/unicase/u16-is-invariant.c: Likewise.
24396         * lib/unicase/u32-is-invariant.c: Likewise.
24397         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
24398
24399 2009-12-30  Bruno Haible  <bruno@clisp.org>
24400
24401         Fix test crash.
24402         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
24403         locales.
24404         Reported by Simon Josefsson <simon@josefsson.org>.
24405
24406 2009-12-30  Bruno Haible  <bruno@clisp.org>
24407
24408         Fix compilation error on most platforms.
24409         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
24410         Reported by Simon Josefsson <simon@josefsson.org>
24411         and Nelson H. F. Beebe <beebe@math.utah.edu>.
24412
24413 2009-12-30  Eric Blake  <ebb9@byu.net>
24414
24415         futimens, utimensat: work around ntfs-3g bug
24416         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
24417         a ctime bug is present, and expand workaround to cover ntfs-3g.
24418         * lib/utimens.c (fdutimens, lutimens): Likewise.
24419         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
24420         (validate_timespec): Adjust return value.
24421         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
24422         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
24423         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
24424
24425 2009-12-29  Eric Blake  <ebb9@byu.net>
24426
24427         link-warning: make usage consistent
24428         * modules/ctype (Depends-on): Add link-warning.
24429         (Makefile.am): Update rules accordingly.
24430         * modules/langinfo (Depends-on, Makefile.am): Likewise.
24431         * modules/locale (Depends-on, Makefile.am): Likewise.
24432         * modules/sys_file (Makefile.am): Likewise.
24433         * modules/getopt-posix (Makefile.am): Delete unused link warning
24434         efforts.
24435         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
24436         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
24437         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
24438         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
24439
24440         stdio: remove unused variables
24441         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
24442         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
24443         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
24444
24445         tests: test more substitute headers
24446         * modules/ctype-tests: New file.
24447         * modules/dirent-tests: Likewise.
24448         * modules/spawn-tests: Likewise.
24449         * modules/sys_file-tests: Likewise.
24450         * modules/sys_ioctl-tests: Likewise.
24451         * modules/sys_wait-tests: Likewise.
24452         * tests/test-ctype.c: Likewise.
24453         * tests/test-dirent.c: Likewise.
24454         * tests/test-spawn.c: Likewise.
24455         * tests/test-sys_file.c: Likewise.
24456         * tests/test-sys_ioctl.c: Likewise.
24457         * tests/test-sys_wait.c: Likewise.
24458         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
24459         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
24460         whether or not flock is in use.
24461
24462         tests: remove License section from module
24463         * modules/arpa_inet-tests: Remove unneeded section.
24464         * modules/byteswap-tests: Likewise.
24465         * modules/ceilf-tests: Likewise.
24466         * modules/ceill-tests: Likewise.
24467         * modules/crypto/des-tests: Likewise.
24468         * modules/crypto/gc-arcfour-tests: Likewise.
24469         * modules/crypto/gc-arctwo-tests: Likewise.
24470         * modules/crypto/gc-des-tests: Likewise.
24471         * modules/crypto/gc-hmac-md5-tests: Likewise.
24472         * modules/crypto/gc-hmac-sha1-tests: Likewise.
24473         * modules/crypto/gc-md2-tests: Likewise.
24474         * modules/crypto/gc-md4-tests: Likewise.
24475         * modules/crypto/gc-md5-tests: Likewise.
24476         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
24477         * modules/crypto/gc-rijndael-tests: Likewise.
24478         * modules/crypto/gc-sha1-tests: Likewise.
24479         * modules/crypto/gc-tests: Likewise.
24480         * modules/crypto/md2-tests: Likewise.
24481         * modules/crypto/md4-tests: Likewise.
24482         * modules/fcntl-h-tests: Likewise.
24483         * modules/floorf-tests: Likewise.
24484         * modules/floorl-tests: Likewise.
24485         * modules/frexp-nolibm-tests: Likewise.
24486         * modules/frexp-tests: Likewise.
24487         * modules/frexpl-nolibm-tests: Likewise.
24488         * modules/frexpl-tests: Likewise.
24489         * modules/getaddrinfo-tests: Likewise.
24490         * modules/inttypes-tests: Likewise.
24491         * modules/isfinite-tests: Likewise.
24492         * modules/isinf-tests: Likewise.
24493         * modules/ldexpl-tests: Likewise.
24494         * modules/locale-tests: Likewise.
24495         * modules/math-tests: Likewise.
24496         * modules/netdb-tests: Likewise.
24497         * modules/netinet_in-tests: Likewise.
24498         * modules/printf-frexp-tests: Likewise.
24499         * modules/printf-frexpl-tests: Likewise.
24500         * modules/priv-set-tests: Likewise.
24501         * modules/random_r-tests: Likewise.
24502         * modules/round-tests: Likewise.
24503         * modules/roundf-tests: Likewise.
24504         * modules/roundl-tests: Likewise.
24505         * modules/search-tests: Likewise.
24506         * modules/select-tests: Likewise.
24507         * modules/signal-tests: Likewise.
24508         * modules/stdbool-tests: Likewise.
24509         * modules/stddef-tests: Likewise.
24510         * modules/stdint-tests: Likewise.
24511         * modules/stdio-tests: Likewise.
24512         * modules/stdlib-tests: Likewise.
24513         * modules/string-tests: Likewise.
24514         * modules/strings-tests: Likewise.
24515         * modules/sys_select-tests: Likewise.
24516         * modules/sys_socket-tests: Likewise.
24517         * modules/sys_stat-tests: Likewise.
24518         * modules/sys_time-tests: Likewise.
24519         * modules/sys_utsname-tests: Likewise.
24520         * modules/sysexits-tests: Likewise.
24521         * modules/time-tests: Likewise.
24522         * modules/trunc-tests: Likewise.
24523         * modules/truncf-tests: Likewise.
24524         * modules/truncl-tests: Likewise.
24525         * modules/tsearch-tests: Likewise.
24526         * modules/unistd-tests: Likewise.
24527         * modules/wchar-tests: Likewise.
24528         * modules/wctype-tests: Likewise.
24529
24530         tests: fix license on several tests
24531         * tests/test-des.c: Update to GPLv3+.
24532         * tests/test-flock.c: Likewise.
24533         * tests/test-fsync.c: Likewise.
24534         * tests/test-futimens.h: Likewise.
24535         * tests/test-gc-arcfour.c: Likewise.
24536         * tests/test-gc-arctwo.c: Likewise.
24537         * tests/test-gc-des.c: Likewise.
24538         * tests/test-gc-hmac-md5.c: Likewise.
24539         * tests/test-gc-hmac-sha1.c: Likewise.
24540         * tests/test-gc-md2.c: Likewise.
24541         * tests/test-gc-md4.c: Likewise.
24542         * tests/test-gc-md5.c: Likewise.
24543         * tests/test-gc-pbkdf2-sha1.c: Likewise.
24544         * tests/test-gc-rijndael.c: Likewise.
24545         * tests/test-gc-sha1.c: Likewise.
24546         * tests/test-gc.c: Likewise.
24547         * tests/test-getcwd.c: Likewise.
24548         * tests/test-link.c: Likewise.
24549         * tests/test-link.h: Likewise.
24550         * tests/test-lutimens.h: Likewise.
24551         * tests/test-md2.c: Likewise.
24552         * tests/test-md4.c: Likewise.
24553         * tests/test-mkdir.h: Likewise.
24554         * tests/test-rename.c: Likewise.
24555         * tests/test-rename.h: Likewise.
24556         * tests/test-safe-alloc.c: Likewise.
24557         * tests/test-utimens-common.h: Likewise.
24558         * tests/test-utimens.h: Likewise.
24559
24560         maint: sync license texts
24561         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
24562         * doc/gpl-3.0.texi: Revert copyright year update.
24563         * doc/lgpl-3.0.texi: Likewise.
24564
24565 2009-12-29  Jim Meyering  <meyering@redhat.com>
24566
24567         update nearly all FSF copyright year lists to include 2009
24568         The files named by the following are exempted:
24569             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
24570               test -f "$dst" && { echo "$dst"; continue; }
24571               test -d "$dst" || continue
24572               echo "$dst"/$(basename "$src")
24573             done > exempt
24574             git ls-files tests/unictype >> exempt
24575         In the remaining files, convert to all-interval notation if
24576         - there is already at least one year interval like 2000-2003
24577         - the file is maintained by me
24578         - the file is in lib/uni*/, where that style already prevails
24579         Otherwise, use update-copyright's default.
24580
24581 2009-12-29  Simon Josefsson  <simon@josefsson.org>
24582         and Eric Blake  <ebb9@byu.net>
24583
24584         tests: don't require debug system() to pass
24585         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
24586         * tests/test-rmdir.h (test_rmdir_func): Likewise.
24587         * tests/test-unlink.h (test_unlink_func): Likewise.
24588         * tests/test-fstatat.c (main): ...into callers.
24589         * tests/test-lstat.c (main): Likewise.
24590         * tests/test-rmdir.c (main): Likewise.
24591         * tests/test-unlink.c (main): Likewise.
24592         * tests/test-unlinkat.c (main): Likewise.
24593         * tests/test-areadlink-with-size.c (main): Don't require a
24594         debug-only system call to pass, aiding cross-testing to mingw.
24595         * tests/test-areadlink.c (main): Likewise.
24596         * tests/test-areadlinkat-with-size.c (main): Likewise.
24597         * tests/test-areadlinkat.c (main): Likewise.
24598         * tests/test-canonicalize-lgpl.c (main): Likewise.
24599         * tests/test-canonicalize.c (main): Likewise.
24600         * tests/test-chown.c (main): Likewise.
24601         * tests/test-fchownat.c (main): Likewise.
24602         * tests/test-lchown.c (main): Likewise.
24603         * tests/test-fdutimensat.c (main): Likewise.
24604         * tests/test-futimens.c (main): Likewise.
24605         * tests/test-link.c (main): Likewise.
24606         * tests/test-linkat.c (main): Likewise.
24607         * tests/test-mkdir.c (main): Likewise.
24608         * tests/test-mkdirat.c (main): Likewise.
24609         * tests/test-mkfifo.c (main): Likewise.
24610         * tests/test-mkfifoat.c (main): Likewise.
24611         * tests/test-mknod.c (main): Likewise.
24612         * tests/test-readlink.c (main): Likewise.
24613         * tests/test-remove.c (main): Likewise.
24614         * tests/test-rename.c (main): Likewise.
24615         * tests/test-renameat.c (main): Likewise.
24616         * tests/test-symlink.c (main): Likewise.
24617         * tests/test-symlinkat.c (main): Likewise.
24618         * tests/test-utimens.c (main): Likewise.
24619         * tests/test-utimensat.c (main): Likewise.
24620
24621 2009-12-29  Simon Josefsson  <simon@josefsson.org>
24622
24623         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
24624         on $(UNUSED_PARAMETER_H) to avoid build failure.
24625
24626 2009-12-28  Jim Meyering  <meyering@redhat.com>
24627
24628         update-copyright: you may specify a max. line length other than 72
24629         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
24630
24631         maint: use consistent FSF copyright line syntax
24632         * lib/posixtm.c: Add missing comma in FSF copyright line.
24633         * lib/posixtm.h: Likewise.
24634         * lib/getugroups.c: Add missing ", Inc.".
24635
24636         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
24637         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
24638         FSF copyright line.  Remove trailing blanks.
24639
24640 2009-12-28  Eric Blake  <ebb9@byu.net>
24641
24642         test-dup2: reduce dependencies
24643         * modules/cloexec (Configure.ac): Set witness.
24644         * modules/dup2-tests (Depends-on): Drop cloexec.
24645         * tests/test-dup2.c (main): Skip portion of test if cloexec module
24646         not present.
24647         Suggested by Bruno Haible.
24648
24649 2009-12-26  Bruno Haible  <bruno@clisp.org>
24650
24651         Remove an unneeded dependency.
24652         * modules/fseterr (Depends-on): Remove dup2.
24653
24654 2009-12-26  Eric Blake  <ebb9@byu.net>
24655
24656         tests: use macros.h in more places
24657         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
24658         (ASSERT_STREAM): Provide default of stderr.
24659         * tests/test-dirent-safer.c: Include macros.h, using alternate
24660         stream for assertions.
24661         * tests/test-dup-safer.c: Likewise.
24662         * tests/test-freopen-safer.c: Likewise.
24663         * tests/test-getopt.c: Likewise.
24664         * tests/test-openat-safer.c: Likewise.
24665         * tests/test-pipe.c: Likewise.
24666         * tests/test-popen-safer.c: Likewise.
24667         * modules/dirent-safer-tests (Files): Include macros.h.
24668         * modules/unistd-safer-tests (Files): Likewise.
24669         * modules/freopen-safer-tests (Files): Likewise.
24670         * modules/getopt-posix-tests (Files): Likewise.
24671         * modules/openat-safer-tests (Files): Likewise.
24672         * modules/pipe-tests (Files): Likewise.
24673
24674 2009-12-26  Bruno Haible  <bruno@clisp.org>
24675
24676         javacomp: Portability fix.
24677         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
24678         that it also works on Solaris.
24679
24680 2009-12-26  Bruno Haible  <bruno@clisp.org>
24681
24682         localename: Fix storage allocation of gl_locale_name_thread's result.
24683         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
24684         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
24685         all platforms that have 'uselocale'.
24686         (gl_locale_name_thread_unsafe): New function, extracted from
24687         gl_locale_name_thread.
24688         (gl_locale_name_thread): Call struniq on all platforms that have
24689         'uselocale'.
24690         * tests/test-localename.c (test_locale_name_thread): Check that the
24691         resulting strings are permanently allocated.
24692         * modules/localename-tests (Depends-on): Add strdup.
24693
24694 2009-12-26  Bruno Haible  <bruno@clisp.org>
24695
24696         * tests/test-localename.c (categories): Fill in the strings.
24697
24698 2009-12-26  Jim Meyering  <meyering@redhat.com>
24699
24700         isdir: complete the removal of m4/isdir.m4
24701         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
24702
24703         isdir: clean up, since at least grep still uses it
24704         * lib/isdir.c: Include "isdir.h".
24705         (S_ISDIR): Remove now-unneeded definition.
24706         * modules/isdir (Files): Add lib/isdir.h.
24707         * lib/isdir.h: New file, with declaration.
24708         * m4/isdir.m4: Remove file -- unneeded.
24709
24710 2009-12-25  Bruno Haible  <bruno@clisp.org>
24711
24712         selinux-h: Make generated .h files standalone.
24713         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
24714         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
24715         * lib/se-selinux.in.h: Likewise.
24716         * modules/selinux-h (Depends-on): Add unused-parameter.
24717         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
24718         selinux/selinux.h and selinux/context.h.
24719         Suggested by Eric Blake.
24720
24721 2009-12-25  Bruno Haible  <bruno@clisp.org>
24722
24723         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
24724         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
24725         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
24726         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
24727         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
24728
24729 2009-12-24  Bruno Haible  <bruno@clisp.org>
24730
24731         openat: Fix warning.
24732         * lib/openat-proc.c: Include <unistd.h>.
24733
24734 2009-12-24  Bruno Haible  <bruno@clisp.org>
24735
24736         New module 'unused-parameter'.
24737         * build-aux/unused-parameter.h: New file, extracted from earlier
24738         gnulib-common.m4.
24739         * modules/unused-parameter: New file.
24740         * lib/unistr.h: Include unused-parameter.h.
24741         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
24742         _GL_UNUSED.
24743         * modules/unistr/base (Depends-on): Add unused-parameter.
24744
24745 2009-12-24  Bruno Haible  <bruno@clisp.org>
24746
24747         Add missing dependencies to 'extensions' module.
24748         * m4/extensions.m4: Add comment.
24749         * modules/accept4 (Depends-on): Add extensions.
24750         * modules/dup3 (Depends-on): Likewise.
24751         * modules/fcntl (Depends-on): Likewise.
24752         * modules/futimens (Depends-on): Likewise.
24753         * modules/mknod (Depends-on): Likewise.
24754         * modules/pipe2 (Depends-on): Likewise.
24755         * modules/stat-time (Depends-on): Likewise.
24756         * modules/strcasestr-simple (Depends-on): Likewise.
24757         * modules/strsignal (Depends-on): Likewise.
24758         * modules/utimensat (Depends-on): Likewise.
24759         * modules/localcharset (Depends-on): Likewise. Needed because of
24760         gl_FCNTL_O_FLAGS.
24761         * modules/wcrtomb (Depends-on): Likewise. Needed because of
24762         AC_TYPE_MBSTATE_T.
24763         * modules/wcsnrtombs (Depends-on): Likewise.
24764         * modules/wcsrtombs (Depends-on): Likewise.
24765
24766 2009-12-24  Bruno Haible  <bruno@clisp.org>
24767
24768         binary-io: Avoid gcc warning due to SET_BINARY.
24769         * lib/binary-io.h (SET_BINARY): Cast the result to void.
24770         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
24771
24772 2009-12-24  Bruno Haible  <bruno@clisp.org>
24773
24774         Avoid future namespace pollution on glibc systems.
24775         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
24776         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
24777         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
24778         glibc systems.
24779
24780 2009-12-24  Bruno Haible  <bruno@clisp.org>
24781
24782         Refactor common macros used in tests.
24783         * tests/macros.h: New file.
24784         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
24785         and/or <stdlib.h>, if appropriate.
24786         (ASSERT, SIZEOF): Remove macros.
24787         * tests/test-areadlink-with-size.c: Likewise.
24788         * tests/test-areadlinkat.c: Likewise.
24789         * tests/test-areadlinkat-with-size.c: Likewise.
24790         * tests/test-argmatch.c: Likewise.
24791         * tests/test-argv-iter.c: Likewise.
24792         * tests/test-array-mergesort.c: Likewise.
24793         * tests/test-array_list.c: Likewise.
24794         * tests/test-array_oset.c: Likewise.
24795         * tests/test-avltree_list.c: Likewise.
24796         * tests/test-avltree_oset.c: Likewise.
24797         * tests/test-avltreehash_list.c: Likewise.
24798         * tests/test-base64.c: Likewise.
24799         * tests/test-binary-io.c: Likewise.
24800         * tests/test-bitrotate.c: Likewise.
24801         * tests/test-btowc.c: Likewise.
24802         * tests/test-byteswap.c: Likewise.
24803         * tests/test-c-ctype.c: Likewise.
24804         * tests/test-c-stack.c: Likewise.
24805         * tests/test-c-strcasecmp.c: Likewise.
24806         * tests/test-c-strcasestr.c: Likewise.
24807         * tests/test-c-strncasecmp.c: Likewise.
24808         * tests/test-c-strstr.c: Likewise.
24809         * tests/test-canonicalize-lgpl.c: Likewise.
24810         * tests/test-canonicalize.c: Likewise.
24811         * tests/test-carray_list.c: Likewise.
24812         * tests/test-ceilf1.c: Likewise.
24813         * tests/test-ceilf2.c: Likewise.
24814         * tests/test-ceill.c: Likewise.
24815         * tests/test-chown.c: Likewise.
24816         * tests/test-cloexec.c: Likewise.
24817         * tests/test-copy-acl.c: Likewise.
24818         * tests/test-copy-file.c: Likewise.
24819         * tests/test-count-one-bits.c: Likewise.
24820         * tests/test-dprintf-posix.c: Likewise.
24821         * tests/test-dup2.c: Likewise.
24822         * tests/test-dup3.c: Likewise.
24823         * tests/test-duplocale.c: Likewise.
24824         * tests/test-fbufmode.c: Likewise.
24825         * tests/test-fchdir.c: Likewise.
24826         * tests/test-fchownat.c: Likewise.
24827         * tests/test-fcntl-safer.c: Likewise.
24828         * tests/test-fcntl.c: Likewise.
24829         * tests/test-fdopendir.c: Likewise.
24830         * tests/test-fdutimensat.c: Likewise.
24831         * tests/test-fflush2.c: Likewise.
24832         * tests/test-file-has-acl.c: Likewise.
24833         * tests/test-filevercmp.c: Likewise.
24834         * tests/test-flock.c: Likewise.
24835         * tests/test-floorf1.c: Likewise.
24836         * tests/test-floorf2.c: Likewise.
24837         * tests/test-floorl.c: Likewise.
24838         * tests/test-fnmatch.c: Likewise.
24839         * tests/test-fopen.h: Likewise.
24840         * tests/test-fpending.c: Likewise.
24841         * tests/test-fprintf-posix.c: Likewise.
24842         * tests/test-fpurge.c: Likewise.
24843         * tests/test-freadable.c: Likewise.
24844         * tests/test-freadahead.c: Likewise.
24845         * tests/test-freading.c: Likewise.
24846         * tests/test-freadptr.c: Likewise.
24847         * tests/test-freadptr2.c: Likewise.
24848         * tests/test-freadseek.c: Likewise.
24849         * tests/test-freopen.c: Likewise.
24850         * tests/test-frexp.c: Likewise.
24851         * tests/test-frexpl.c: Likewise.
24852         * tests/test-fseek.c: Likewise.
24853         * tests/test-fseeko.c: Likewise.
24854         * tests/test-fstatat.c: Likewise.
24855         * tests/test-fstrcmp.c: Likewise.
24856         * tests/test-fsync.c: Likewise.
24857         * tests/test-ftell.c: Likewise.
24858         * tests/test-ftello.c: Likewise.
24859         * tests/test-func.c: Likewise.
24860         * tests/test-futimens.c: Likewise.
24861         * tests/test-fwritable.c: Likewise.
24862         * tests/test-fwriting.c: Likewise.
24863         * tests/test-getcwd.c: Likewise.
24864         * tests/test-getdate.c: Likewise.
24865         * tests/test-getdelim.c: Likewise.
24866         * tests/test-getdtablesize.c: Likewise.
24867         * tests/test-getgroups.c: Likewise.
24868         * tests/test-getline.c: Likewise.
24869         * tests/test-getndelim2.c: Likewise.
24870         * tests/test-glob.c: Likewise.
24871         * tests/test-hash.c: Likewise.
24872         * tests/test-i-ring.c: Likewise.
24873         * tests/test-iconv-utf.c: Likewise.
24874         * tests/test-iconv.c: Likewise.
24875         * tests/test-idpriv-drop.c: Likewise.
24876         * tests/test-idpriv-droptemp.c: Likewise.
24877         * tests/test-inet_ntop.c: Likewise.
24878         * tests/test-inet_pton.c: Likewise.
24879         * tests/test-isblank.c: Likewise.
24880         * tests/test-isfinite.c: Likewise.
24881         * tests/test-isinf.c: Likewise.
24882         * tests/test-isnan.c: Likewise.
24883         * tests/test-isnand.h: Likewise.
24884         * tests/test-isnanf.h: Likewise.
24885         * tests/test-isnanl.h: Likewise.
24886         * tests/test-lchown.c: Likewise.
24887         * tests/test-ldexpl.c: Likewise.
24888         * tests/test-link.c: Likewise.
24889         * tests/test-linkat.c: Likewise.
24890         * tests/test-linked_list.c: Likewise.
24891         * tests/test-linkedhash_list.c: Likewise.
24892         * tests/test-localename.c: Likewise.
24893         * tests/test-lseek.c: Likewise.
24894         * tests/test-lstat.c: Likewise.
24895         * tests/test-mbmemcasecmp.c: Likewise.
24896         * tests/test-mbmemcasecoll.c: Likewise.
24897         * tests/test-mbrtowc.c: Likewise.
24898         * tests/test-mbscasecmp.c: Likewise.
24899         * tests/test-mbscasestr1.c: Likewise.
24900         * tests/test-mbscasestr2.c: Likewise.
24901         * tests/test-mbscasestr3.c: Likewise.
24902         * tests/test-mbscasestr4.c: Likewise.
24903         * tests/test-mbschr.c: Likewise.
24904         * tests/test-mbscspn.c: Likewise.
24905         * tests/test-mbsinit.c: Likewise.
24906         * tests/test-mbsncasecmp.c: Likewise.
24907         * tests/test-mbsnrtowcs.c: Likewise.
24908         * tests/test-mbspbrk.c: Likewise.
24909         * tests/test-mbspcasecmp.c: Likewise.
24910         * tests/test-mbsrchr.c: Likewise.
24911         * tests/test-mbsrtowcs.c: Likewise.
24912         * tests/test-mbsspn.c: Likewise.
24913         * tests/test-mbsstr1.c: Likewise.
24914         * tests/test-mbsstr2.c: Likewise.
24915         * tests/test-mbsstr3.c: Likewise.
24916         * tests/test-memchr.c: Likewise.
24917         * tests/test-memchr2.c: Likewise.
24918         * tests/test-memcmp.c: Likewise.
24919         * tests/test-memmem.c: Likewise.
24920         * tests/test-memrchr.c: Likewise.
24921         * tests/test-mkdir.c: Likewise.
24922         * tests/test-mkdirat.c: Likewise.
24923         * tests/test-mkfifo.c: Likewise.
24924         * tests/test-mkfifoat.c: Likewise.
24925         * tests/test-mknod.c: Likewise.
24926         * tests/test-nanosleep.c: Likewise.
24927         * tests/test-nl_langinfo.c: Likewise.
24928         * tests/test-obstack-printf.c: Likewise.
24929         * tests/test-open.c: Likewise.
24930         * tests/test-openat.c: Likewise.
24931         * tests/test-pipe-filter-gi1.c: Likewise.
24932         * tests/test-pipe-filter-gi2-main.c: Likewise.
24933         * tests/test-pipe-filter-ii1.c: Likewise.
24934         * tests/test-pipe-filter-ii2-main.c: Likewise.
24935         * tests/test-pipe2.c: Likewise.
24936         * tests/test-popen.h: Likewise.
24937         * tests/test-posixtm.c: Likewise.
24938         * tests/test-pread.c: Likewise.
24939         * tests/test-printf-frexp.c: Likewise.
24940         * tests/test-printf-frexpl.c: Likewise.
24941         * tests/test-printf-posix.c: Likewise.
24942         * tests/test-priv-set.c: Likewise.
24943         * tests/test-quotearg.c: Likewise.
24944         * tests/test-random_r.c: Likewise.
24945         * tests/test-rawmemchr.c: Likewise.
24946         * tests/test-rbtree_list.c: Likewise.
24947         * tests/test-rbtree_oset.c: Likewise.
24948         * tests/test-rbtreehash_list.c: Likewise.
24949         * tests/test-readlink.c: Likewise.
24950         * tests/test-remove.c: Likewise.
24951         * tests/test-rename.c: Likewise.
24952         * tests/test-renameat.c: Likewise.
24953         * tests/test-rmdir.c: Likewise.
24954         * tests/test-round1.c: Likewise.
24955         * tests/test-roundf1.c: Likewise.
24956         * tests/test-roundl.c: Likewise.
24957         * tests/test-safe-alloc.c: Likewise.
24958         * tests/test-sameacls.c: Likewise.
24959         * tests/test-set-mode-acl.c: Likewise.
24960         * tests/test-setenv.c: Likewise.
24961         * tests/test-sigaction.c: Likewise.
24962         * tests/test-signbit.c: Likewise.
24963         * tests/test-sleep.c: Likewise.
24964         * tests/test-snprintf-posix.c: Likewise.
24965         * tests/test-snprintf.c: Likewise.
24966         * tests/test-sprintf-posix.c: Likewise.
24967         * tests/test-stat-time.c: Likewise.
24968         * tests/test-stat.c: Likewise.
24969         * tests/test-strcasestr.c: Likewise.
24970         * tests/test-strchrnul.c: Likewise.
24971         * tests/test-strerror.c: Likewise.
24972         * tests/test-striconv.c: Likewise.
24973         * tests/test-striconveh.c: Likewise.
24974         * tests/test-striconveha.c: Likewise.
24975         * tests/test-strsignal.c: Likewise.
24976         * tests/test-strstr.c: Likewise.
24977         * tests/test-strtod.c: Likewise.
24978         * tests/test-strverscmp.c: Likewise.
24979         * tests/test-symlink.c: Likewise.
24980         * tests/test-symlinkat.c: Likewise.
24981         * tests/test-trunc1.c: Likewise.
24982         * tests/test-trunc2.c: Likewise.
24983         * tests/test-truncf1.c: Likewise.
24984         * tests/test-truncf2.c: Likewise.
24985         * tests/test-truncl.c: Likewise.
24986         * tests/test-uname.c: Likewise.
24987         * tests/test-unlink.c: Likewise.
24988         * tests/test-unlinkat.c: Likewise.
24989         * tests/test-unsetenv.c: Likewise.
24990         * tests/test-usleep.c: Likewise.
24991         * tests/test-utimens.c: Likewise.
24992         * tests/test-utimensat.c: Likewise.
24993         * tests/test-vasnprintf-posix.c: Likewise.
24994         * tests/test-vasnprintf-posix2.c: Likewise.
24995         * tests/test-vasnprintf.c: Likewise.
24996         * tests/test-vasprintf-posix.c: Likewise.
24997         * tests/test-vasprintf.c: Likewise.
24998         * tests/test-vdprintf-posix.c: Likewise.
24999         * tests/test-vfprintf-posix.c: Likewise.
25000         * tests/test-vprintf-posix.c: Likewise.
25001         * tests/test-vsnprintf-posix.c: Likewise.
25002         * tests/test-vsnprintf.c: Likewise.
25003         * tests/test-vsprintf-posix.c: Likewise.
25004         * tests/test-wcrtomb.c: Likewise.
25005         * tests/test-wcsnrtombs.c: Likewise.
25006         * tests/test-wcsrtombs.c: Likewise.
25007         * tests/test-wctype.c: Likewise.
25008         * tests/test-wcwidth.c: Likewise.
25009         * tests/test-xfprintf-posix.c: Likewise.
25010         * tests/test-xmemdup0.c: Likewise.
25011         * tests/test-xprintf-posix.c: Likewise.
25012         * tests/test-xvasprintf.c: Likewise.
25013         * tests/unicase/test-locale-language.c: Likewise.
25014         * tests/unicase/test-mapping-part1.h: Likewise.
25015         * tests/unicase/test-predicate-part1.h: Likewise.
25016         * tests/unicase/test-u8-casecmp.c: Likewise.
25017         * tests/unicase/test-u8-casecoll.c: Likewise.
25018         * tests/unicase/test-u8-casefold.c: Likewise.
25019         * tests/unicase/test-u8-is-cased.c: Likewise.
25020         * tests/unicase/test-u8-is-casefolded.c: Likewise.
25021         * tests/unicase/test-u8-is-lowercase.c: Likewise.
25022         * tests/unicase/test-u8-is-titlecase.c: Likewise.
25023         * tests/unicase/test-u8-is-uppercase.c: Likewise.
25024         * tests/unicase/test-u8-tolower.c: Likewise.
25025         * tests/unicase/test-u8-totitle.c: Likewise.
25026         * tests/unicase/test-u8-toupper.c: Likewise.
25027         * tests/unicase/test-u16-casecmp.c: Likewise.
25028         * tests/unicase/test-u16-casecoll.c: Likewise.
25029         * tests/unicase/test-u16-casefold.c: Likewise.
25030         * tests/unicase/test-u16-is-cased.c: Likewise.
25031         * tests/unicase/test-u16-is-casefolded.c: Likewise.
25032         * tests/unicase/test-u16-is-lowercase.c: Likewise.
25033         * tests/unicase/test-u16-is-titlecase.c: Likewise.
25034         * tests/unicase/test-u16-is-uppercase.c: Likewise.
25035         * tests/unicase/test-u16-tolower.c: Likewise.
25036         * tests/unicase/test-u16-totitle.c: Likewise.
25037         * tests/unicase/test-u16-toupper.c: Likewise.
25038         * tests/unicase/test-u32-casecmp.c: Likewise.
25039         * tests/unicase/test-u32-casecoll.c: Likewise.
25040         * tests/unicase/test-u32-casefold.c: Likewise.
25041         * tests/unicase/test-u32-is-cased.c: Likewise.
25042         * tests/unicase/test-u32-is-casefolded.c: Likewise.
25043         * tests/unicase/test-u32-is-lowercase.c: Likewise.
25044         * tests/unicase/test-u32-is-titlecase.c: Likewise.
25045         * tests/unicase/test-u32-is-uppercase.c: Likewise.
25046         * tests/unicase/test-u32-tolower.c: Likewise.
25047         * tests/unicase/test-u32-totitle.c: Likewise.
25048         * tests/unicase/test-u32-toupper.c: Likewise.
25049         * tests/unicase/test-ulc-casecmp.c: Likewise.
25050         * tests/unicase/test-ulc-casecoll.c: Likewise.
25051         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
25052         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
25053         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
25054         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
25055         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
25056         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
25057         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
25058         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
25059         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
25060         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
25061         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
25062         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
25063         * tests/unictype/test-bidi_byname.c: Likewise.
25064         * tests/unictype/test-bidi_name.c: Likewise.
25065         * tests/unictype/test-bidi_of.c: Likewise.
25066         * tests/unictype/test-bidi_test.c: Likewise.
25067         * tests/unictype/test-block_list.c: Likewise.
25068         * tests/unictype/test-block_of.c: Likewise.
25069         * tests/unictype/test-block_test.c: Likewise.
25070         * tests/unictype/test-categ_and.c: Likewise.
25071         * tests/unictype/test-categ_and_not.c: Likewise.
25072         * tests/unictype/test-categ_byname.c: Likewise.
25073         * tests/unictype/test-categ_name.c: Likewise.
25074         * tests/unictype/test-categ_none.c: Likewise.
25075         * tests/unictype/test-categ_of.c: Likewise.
25076         * tests/unictype/test-categ_or.c: Likewise.
25077         * tests/unictype/test-categ_test_withtable.c: Likewise.
25078         * tests/unictype/test-combining.c: Likewise.
25079         * tests/unictype/test-decdigit.c: Likewise.
25080         * tests/unictype/test-digit.c: Likewise.
25081         * tests/unictype/test-mirror.c: Likewise.
25082         * tests/unictype/test-numeric.c: Likewise.
25083         * tests/unictype/test-pr_byname.c: Likewise.
25084         * tests/unictype/test-pr_test.c: Likewise.
25085         * tests/unictype/test-predicate-part1.h: Likewise.
25086         * tests/unictype/test-scripts.c: Likewise.
25087         * tests/unictype/test-sy_c_ident.c: Likewise.
25088         * tests/unictype/test-sy_java_ident.c: Likewise.
25089         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
25090         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
25091         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
25092         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
25093         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
25094         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
25095         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
25096         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
25097         * tests/uninorm/test-canonical-decomposition.c: Likewise.
25098         * tests/uninorm/test-compat-decomposition.c: Likewise.
25099         * tests/uninorm/test-composition.c: Likewise.
25100         * tests/uninorm/test-decomposing-form.c: Likewise.
25101         * tests/uninorm/test-decomposition.c: Likewise.
25102         * tests/uninorm/test-u8-nfc.c: Likewise.
25103         * tests/uninorm/test-u8-nfd.c: Likewise.
25104         * tests/uninorm/test-u8-nfkc.c: Likewise.
25105         * tests/uninorm/test-u8-nfkd.c: Likewise.
25106         * tests/uninorm/test-u8-normcmp.c: Likewise.
25107         * tests/uninorm/test-u8-normcoll.c: Likewise.
25108         * tests/uninorm/test-u16-nfc.c: Likewise.
25109         * tests/uninorm/test-u16-nfd.c: Likewise.
25110         * tests/uninorm/test-u16-nfkc.c: Likewise.
25111         * tests/uninorm/test-u16-nfkd.c: Likewise.
25112         * tests/uninorm/test-u16-normcmp.c: Likewise.
25113         * tests/uninorm/test-u16-normcoll.c: Likewise.
25114         * tests/uninorm/test-u32-nfc.c: Likewise.
25115         * tests/uninorm/test-u32-nfd.c: Likewise.
25116         * tests/uninorm/test-u32-nfkc.c: Likewise.
25117         * tests/uninorm/test-u32-nfkd.c: Likewise.
25118         * tests/uninorm/test-u32-normalize-big.c: Likewise.
25119         * tests/uninorm/test-u32-normcmp.c: Likewise.
25120         * tests/uninorm/test-u32-normcoll.c: Likewise.
25121         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
25122         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
25123         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
25124         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
25125         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
25126         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
25127         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
25128         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
25129         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
25130         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
25131         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
25132         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
25133         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
25134         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
25135         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
25136         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
25137         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
25138         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
25139         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
25140         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
25141         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
25142         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
25143         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
25144         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
25145         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
25146         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
25147         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
25148         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
25149         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
25150         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
25151         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
25152         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
25153         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
25154         * tests/uniwidth/test-u8-strwidth.c: Likewise.
25155         * tests/uniwidth/test-u8-width.c: Likewise.
25156         * tests/uniwidth/test-u16-strwidth.c: Likewise.
25157         * tests/uniwidth/test-u16-width.c: Likewise.
25158         * tests/uniwidth/test-u32-strwidth.c: Likewise.
25159         * tests/uniwidth/test-u32-width.c: Likewise.
25160         * tests/uniwidth/test-uc_width.c: Likewise.
25161         * tests/uniwidth/test-uc_width2.c: Likewise.
25162         * modules/acl-tests (Files): Add tests/macros.h.
25163         * modules/areadlink-tests (Files): Likewise.
25164         * modules/areadlink-with-size-tests (Files): Likewise.
25165         * modules/areadlinkat-tests (Files): Likewise.
25166         * modules/areadlinkat-with-size-tests (Files): Likewise.
25167         * modules/argmatch-tests (Files): Likewise.
25168         * modules/argv-iter-tests (Files): Likewise.
25169         * modules/array-list-tests (Files): Likewise.
25170         * modules/array-mergesort-tests (Files): Likewise.
25171         * modules/array-oset-tests (Files): Likewise.
25172         * modules/avltree-list-tests (Files): Likewise.
25173         * modules/avltree-oset-tests (Files): Likewise.
25174         * modules/avltreehash-list-tests (Files): Likewise.
25175         * modules/base64-tests (Files): Likewise.
25176         * modules/binary-io-tests (Files): Likewise.
25177         * modules/bitrotate-tests (Files): Likewise.
25178         * modules/btowc-tests (Files): Likewise.
25179         * modules/byteswap-tests (Files): Likewise.
25180         * modules/c-ctype-tests (Files): Likewise.
25181         * modules/c-stack-tests (Files): Likewise.
25182         * modules/c-strcase-tests (Files): Likewise.
25183         * modules/c-strcasestr-tests (Files): Likewise.
25184         * modules/c-strstr-tests (Files): Likewise.
25185         * modules/canonicalize-lgpl-tests (Files): Likewise.
25186         * modules/canonicalize-tests (Files): Likewise.
25187         * modules/carray-list-tests (Files): Likewise.
25188         * modules/ceilf-tests (Files): Likewise.
25189         * modules/ceill-tests (Files): Likewise.
25190         * modules/chown-tests (Files): Likewise.
25191         * modules/cloexec-tests (Files): Likewise.
25192         * modules/copy-file-tests (Files): Likewise.
25193         * modules/count-one-bits-tests (Files): Likewise.
25194         * modules/dprintf-posix-tests (Files): Likewise.
25195         * modules/dup2-tests (Files): Likewise.
25196         * modules/dup3-tests (Files): Likewise.
25197         * modules/duplocale-tests (Files): Likewise.
25198         * modules/fbufmode-tests (Files): Likewise.
25199         * modules/fchdir-tests (Files): Likewise.
25200         * modules/fcntl-safer-tests (Files): Likewise.
25201         * modules/fcntl-tests (Files): Likewise.
25202         * modules/fdopendir-tests (Files): Likewise.
25203         * modules/fdutimensat-tests (Files): Likewise.
25204         * modules/fflush-tests (Files): Likewise.
25205         * modules/filevercmp-tests (Files): Likewise.
25206         * modules/flock-tests (Files): Likewise.
25207         * modules/floorf-tests (Files): Likewise.
25208         * modules/floorl-tests (Files): Likewise.
25209         * modules/fnmatch-tests (Files): Likewise.
25210         * modules/fopen-safer-tests (Files): Likewise.
25211         * modules/fopen-tests (Files): Likewise.
25212         * modules/fpending-tests (Files): Likewise.
25213         * modules/fprintf-posix-tests (Files): Likewise.
25214         * modules/fpurge-tests (Files): Likewise.
25215         * modules/freadable-tests (Files): Likewise.
25216         * modules/freadahead-tests (Files): Likewise.
25217         * modules/freading-tests (Files): Likewise.
25218         * modules/freadptr-tests (Files): Likewise.
25219         * modules/freadseek-tests (Files): Likewise.
25220         * modules/freopen-tests (Files): Likewise.
25221         * modules/frexp-nolibm-tests (Files): Likewise.
25222         * modules/frexp-tests (Files): Likewise.
25223         * modules/frexpl-nolibm-tests (Files): Likewise.
25224         * modules/frexpl-tests (Files): Likewise.
25225         * modules/fseek-tests (Files): Likewise.
25226         * modules/fseeko-tests (Files): Likewise.
25227         * modules/fstrcmp-tests (Files): Likewise.
25228         * modules/fsync-tests (Files): Likewise.
25229         * modules/ftell-tests (Files): Likewise.
25230         * modules/ftello-tests (Files): Likewise.
25231         * modules/func-tests (Files): Likewise.
25232         * modules/futimens-tests (Files): Likewise.
25233         * modules/fwritable-tests (Files): Likewise.
25234         * modules/fwriting-tests (Files): Likewise.
25235         * modules/getcwd-tests (Files): Likewise.
25236         * modules/getdate-tests (Files): Likewise.
25237         * modules/getdelim-tests (Files): Likewise.
25238         * modules/getdtablesize-tests (Files): Likewise.
25239         * modules/getgroups-tests (Files): Likewise.
25240         * modules/getline-tests (Files): Likewise.
25241         * modules/getndelim2-tests (Files): Likewise.
25242         * modules/glob-tests (Files): Likewise.
25243         * modules/hash-tests (Files): Likewise.
25244         * modules/i-ring-tests (Files): Likewise.
25245         * modules/iconv-tests (Files): Likewise.
25246         * modules/iconv_open-utf-tests (Files): Likewise.
25247         * modules/idpriv-drop-tests (Files): Likewise.
25248         * modules/idpriv-droptemp-tests (Files): Likewise.
25249         * modules/inet_ntop-tests (Files): Likewise.
25250         * modules/inet_pton-tests (Files): Likewise.
25251         * modules/isblank-tests (Files): Likewise.
25252         * modules/isfinite-tests (Files): Likewise.
25253         * modules/isinf-tests (Files): Likewise.
25254         * modules/isnan-tests (Files): Likewise.
25255         * modules/isnand-nolibm-tests (Files): Likewise.
25256         * modules/isnand-tests (Files): Likewise.
25257         * modules/isnanf-nolibm-tests (Files): Likewise.
25258         * modules/isnanf-tests (Files): Likewise.
25259         * modules/isnanl-nolibm-tests (Files): Likewise.
25260         * modules/isnanl-tests (Files): Likewise.
25261         * modules/lchown-tests (Files): Likewise.
25262         * modules/ldexpl-tests (Files): Likewise.
25263         * modules/link-tests (Files): Likewise.
25264         * modules/linkat-tests (Files): Likewise.
25265         * modules/linked-list-tests (Files): Likewise.
25266         * modules/linkedhash-list-tests (Files): Likewise.
25267         * modules/localename-tests (Files): Likewise.
25268         * modules/lseek-tests (Files): Likewise.
25269         * modules/lstat-tests (Files): Likewise.
25270         * modules/mbmemcasecmp-tests (Files): Likewise.
25271         * modules/mbmemcasecoll-tests (Files): Likewise.
25272         * modules/mbrtowc-tests (Files): Likewise.
25273         * modules/mbscasecmp-tests (Files): Likewise.
25274         * modules/mbscasestr-tests (Files): Likewise.
25275         * modules/mbschr-tests (Files): Likewise.
25276         * modules/mbscspn-tests (Files): Likewise.
25277         * modules/mbsinit-tests (Files): Likewise.
25278         * modules/mbsncasecmp-tests (Files): Likewise.
25279         * modules/mbsnrtowcs-tests (Files): Likewise.
25280         * modules/mbspbrk-tests (Files): Likewise.
25281         * modules/mbspcasecmp-tests (Files): Likewise.
25282         * modules/mbsrchr-tests (Files): Likewise.
25283         * modules/mbsrtowcs-tests (Files): Likewise.
25284         * modules/mbsspn-tests (Files): Likewise.
25285         * modules/mbsstr-tests (Files): Likewise.
25286         * modules/memchr-tests (Files): Likewise.
25287         * modules/memchr2-tests (Files): Likewise.
25288         * modules/memcmp-tests (Files): Likewise.
25289         * modules/memmem-tests (Files): Likewise.
25290         * modules/memrchr-tests (Files): Likewise.
25291         * modules/mkdir-tests (Files): Likewise.
25292         * modules/mkfifo-tests (Files): Likewise.
25293         * modules/mkfifoat-tests (Files): Likewise.
25294         * modules/mknod-tests (Files): Likewise.
25295         * modules/nanosleep-tests (Files): Likewise.
25296         * modules/nl_langinfo-tests (Files): Likewise.
25297         * modules/obstack-printf-tests (Files): Likewise.
25298         * modules/open-tests (Files): Likewise.
25299         * modules/openat-tests (Files): Likewise.
25300         * modules/pipe-filter-gi-tests (Files): Likewise.
25301         * modules/pipe-filter-ii-tests (Files): Likewise.
25302         * modules/pipe2-tests (Files): Likewise.
25303         * modules/popen-safer-tests (Files): Likewise.
25304         * modules/popen-tests (Files): Likewise.
25305         * modules/posixtm-tests (Files): Likewise.
25306         * modules/pread-tests (Files): Likewise.
25307         * modules/printf-frexp-tests (Files): Likewise.
25308         * modules/printf-frexpl-tests (Files): Likewise.
25309         * modules/printf-posix-tests (Files): Likewise.
25310         * modules/priv-set-tests (Files): Likewise.
25311         * modules/quotearg-tests (Files): Likewise.
25312         * modules/random_r-tests (Files): Likewise.
25313         * modules/rawmemchr-tests (Files): Likewise.
25314         * modules/rbtree-list-tests (Files): Likewise.
25315         * modules/rbtree-oset-tests (Files): Likewise.
25316         * modules/rbtreehash-list-tests (Files): Likewise.
25317         * modules/readlink-tests (Files): Likewise.
25318         * modules/remove-tests (Files): Likewise.
25319         * modules/rename-tests (Files): Likewise.
25320         * modules/renameat-tests (Files): Likewise.
25321         * modules/rmdir-tests (Files): Likewise.
25322         * modules/round-tests (Files): Likewise.
25323         * modules/roundf-tests (Files): Likewise.
25324         * modules/roundl-tests (Files): Likewise.
25325         * modules/safe-alloc-tests (Files): Likewise.
25326         * modules/setenv-tests (Files): Likewise.
25327         * modules/sigaction-tests (Files): Likewise.
25328         * modules/signbit-tests (Files): Likewise.
25329         * modules/sleep-tests (Files): Likewise.
25330         * modules/snprintf-posix-tests (Files): Likewise.
25331         * modules/snprintf-tests (Files): Likewise.
25332         * modules/sprintf-posix-tests (Files): Likewise.
25333         * modules/stat-tests (Files): Likewise.
25334         * modules/stat-time-tests (Files): Likewise.
25335         * modules/strcasestr-tests (Files): Likewise.
25336         * modules/strchrnul-tests (Files): Likewise.
25337         * modules/strerror-tests (Files): Likewise.
25338         * modules/striconv-tests (Files): Likewise.
25339         * modules/striconveh-tests (Files): Likewise.
25340         * modules/striconveha-tests (Files): Likewise.
25341         * modules/strsignal-tests (Files): Likewise.
25342         * modules/strstr-tests (Files): Likewise.
25343         * modules/strtod-tests (Files): Likewise.
25344         * modules/strverscmp-tests (Files): Likewise.
25345         * modules/symlink-tests (Files): Likewise.
25346         * modules/symlinkat-tests (Files): Likewise.
25347         * modules/trunc-tests (Files): Likewise.
25348         * modules/truncf-tests (Files): Likewise.
25349         * modules/truncl-tests (Files): Likewise.
25350         * modules/uname-tests (Files): Likewise.
25351         * modules/unicase/cased-tests (Files): Likewise.
25352         * modules/unicase/ignorable-tests (Files): Likewise.
25353         * modules/unicase/locale-language-tests (Files): Likewise.
25354         * modules/unicase/tolower-tests (Files): Likewise.
25355         * modules/unicase/totitle-tests (Files): Likewise.
25356         * modules/unicase/toupper-tests (Files): Likewise.
25357         * modules/unicase/u8-casecmp-tests (Files): Likewise.
25358         * modules/unicase/u8-casecoll-tests (Files): Likewise.
25359         * modules/unicase/u8-casefold-tests (Files): Likewise.
25360         * modules/unicase/u8-is-cased-tests (Files): Likewise.
25361         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
25362         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
25363         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
25364         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
25365         * modules/unicase/u8-tolower-tests (Files): Likewise.
25366         * modules/unicase/u8-totitle-tests (Files): Likewise.
25367         * modules/unicase/u8-toupper-tests (Files): Likewise.
25368         * modules/unicase/u16-casecmp-tests (Files): Likewise.
25369         * modules/unicase/u16-casecoll-tests (Files): Likewise.
25370         * modules/unicase/u16-casefold-tests (Files): Likewise.
25371         * modules/unicase/u16-is-cased-tests (Files): Likewise.
25372         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
25373         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
25374         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
25375         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
25376         * modules/unicase/u16-tolower-tests (Files): Likewise.
25377         * modules/unicase/u16-totitle-tests (Files): Likewise.
25378         * modules/unicase/u16-toupper-tests (Files): Likewise.
25379         * modules/unicase/u32-casecmp-tests (Files): Likewise.
25380         * modules/unicase/u32-casecoll-tests (Files): Likewise.
25381         * modules/unicase/u32-casefold-tests (Files): Likewise.
25382         * modules/unicase/u32-is-cased-tests (Files): Likewise.
25383         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
25384         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
25385         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
25386         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
25387         * modules/unicase/u32-tolower-tests (Files): Likewise.
25388         * modules/unicase/u32-totitle-tests (Files): Likewise.
25389         * modules/unicase/u32-toupper-tests (Files): Likewise.
25390         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
25391         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
25392         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
25393         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
25394         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
25395         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
25396         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
25397         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
25398         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
25399         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
25400         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
25401         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
25402         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
25403         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
25404         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
25405         * modules/unictype/bidicategory-name-tests (Files): Likewise.
25406         * modules/unictype/bidicategory-of-tests (Files): Likewise.
25407         * modules/unictype/bidicategory-test-tests (Files): Likewise.
25408         * modules/unictype/block-list-tests (Files): Likewise.
25409         * modules/unictype/block-of-tests (Files): Likewise.
25410         * modules/unictype/block-test-tests (Files): Likewise.
25411         * modules/unictype/category-C-tests (Files): Likewise.
25412         * modules/unictype/category-Cc-tests (Files): Likewise.
25413         * modules/unictype/category-Cf-tests (Files): Likewise.
25414         * modules/unictype/category-Cn-tests (Files): Likewise.
25415         * modules/unictype/category-Co-tests (Files): Likewise.
25416         * modules/unictype/category-Cs-tests (Files): Likewise.
25417         * modules/unictype/category-L-tests (Files): Likewise.
25418         * modules/unictype/category-Ll-tests (Files): Likewise.
25419         * modules/unictype/category-Lm-tests (Files): Likewise.
25420         * modules/unictype/category-Lo-tests (Files): Likewise.
25421         * modules/unictype/category-Lt-tests (Files): Likewise.
25422         * modules/unictype/category-Lu-tests (Files): Likewise.
25423         * modules/unictype/category-M-tests (Files): Likewise.
25424         * modules/unictype/category-Mc-tests (Files): Likewise.
25425         * modules/unictype/category-Me-tests (Files): Likewise.
25426         * modules/unictype/category-Mn-tests (Files): Likewise.
25427         * modules/unictype/category-N-tests (Files): Likewise.
25428         * modules/unictype/category-Nd-tests (Files): Likewise.
25429         * modules/unictype/category-Nl-tests (Files): Likewise.
25430         * modules/unictype/category-No-tests (Files): Likewise.
25431         * modules/unictype/category-P-tests (Files): Likewise.
25432         * modules/unictype/category-Pc-tests (Files): Likewise.
25433         * modules/unictype/category-Pd-tests (Files): Likewise.
25434         * modules/unictype/category-Pe-tests (Files): Likewise.
25435         * modules/unictype/category-Pf-tests (Files): Likewise.
25436         * modules/unictype/category-Pi-tests (Files): Likewise.
25437         * modules/unictype/category-Po-tests (Files): Likewise.
25438         * modules/unictype/category-Ps-tests (Files): Likewise.
25439         * modules/unictype/category-S-tests (Files): Likewise.
25440         * modules/unictype/category-Sc-tests (Files): Likewise.
25441         * modules/unictype/category-Sk-tests (Files): Likewise.
25442         * modules/unictype/category-Sm-tests (Files): Likewise.
25443         * modules/unictype/category-So-tests (Files): Likewise.
25444         * modules/unictype/category-Z-tests (Files): Likewise.
25445         * modules/unictype/category-Zl-tests (Files): Likewise.
25446         * modules/unictype/category-Zp-tests (Files): Likewise.
25447         * modules/unictype/category-Zs-tests (Files): Likewise.
25448         * modules/unictype/category-and-not-tests (Files): Likewise.
25449         * modules/unictype/category-and-tests (Files): Likewise.
25450         * modules/unictype/category-byname-tests (Files): Likewise.
25451         * modules/unictype/category-name-tests (Files): Likewise.
25452         * modules/unictype/category-none-tests (Files): Likewise.
25453         * modules/unictype/category-of-tests (Files): Likewise.
25454         * modules/unictype/category-or-tests (Files): Likewise.
25455         * modules/unictype/category-test-withtable-tests (Files): Likewise.
25456         * modules/unictype/combining-class-tests (Files): Likewise.
25457         * modules/unictype/ctype-alnum-tests (Files): Likewise.
25458         * modules/unictype/ctype-alpha-tests (Files): Likewise.
25459         * modules/unictype/ctype-blank-tests (Files): Likewise.
25460         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
25461         * modules/unictype/ctype-digit-tests (Files): Likewise.
25462         * modules/unictype/ctype-graph-tests (Files): Likewise.
25463         * modules/unictype/ctype-lower-tests (Files): Likewise.
25464         * modules/unictype/ctype-print-tests (Files): Likewise.
25465         * modules/unictype/ctype-punct-tests (Files): Likewise.
25466         * modules/unictype/ctype-space-tests (Files): Likewise.
25467         * modules/unictype/ctype-upper-tests (Files): Likewise.
25468         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
25469         * modules/unictype/decimal-digit-tests (Files): Likewise.
25470         * modules/unictype/digit-tests (Files): Likewise.
25471         * modules/unictype/mirror-tests (Files): Likewise.
25472         * modules/unictype/numeric-tests (Files): Likewise.
25473         * modules/unictype/property-alphabetic-tests (Files): Likewise.
25474         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
25475         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
25476         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
25477         Likewise.
25478         * modules/unictype/property-bidi-block-separator-tests (Files):
25479         Likewise.
25480         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
25481         Likewise.
25482         * modules/unictype/property-bidi-common-separator-tests (Files):
25483         Likewise.
25484         * modules/unictype/property-bidi-control-tests (Files): Likewise.
25485         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
25486         Likewise.
25487         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
25488         Likewise.
25489         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
25490         Likewise.
25491         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
25492         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
25493         Likewise.
25494         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
25495         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
25496         Likewise.
25497         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
25498         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
25499         * modules/unictype/property-bidi-segment-separator-tests (Files):
25500         Likewise.
25501         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
25502         * modules/unictype/property-byname-tests (Files): Likewise.
25503         * modules/unictype/property-combining-tests (Files): Likewise.
25504         * modules/unictype/property-composite-tests (Files): Likewise.
25505         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
25506         * modules/unictype/property-dash-tests (Files): Likewise.
25507         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
25508         * modules/unictype/property-default-ignorable-code-point-tests (Files):
25509         Likewise.
25510         * modules/unictype/property-deprecated-tests (Files): Likewise.
25511         * modules/unictype/property-diacritic-tests (Files): Likewise.
25512         * modules/unictype/property-extender-tests (Files): Likewise.
25513         * modules/unictype/property-format-control-tests (Files): Likewise.
25514         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
25515         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
25516         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
25517         * modules/unictype/property-hex-digit-tests (Files): Likewise.
25518         * modules/unictype/property-hyphen-tests (Files): Likewise.
25519         * modules/unictype/property-id-continue-tests (Files): Likewise.
25520         * modules/unictype/property-id-start-tests (Files): Likewise.
25521         * modules/unictype/property-ideographic-tests (Files): Likewise.
25522         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
25523         * modules/unictype/property-ids-trinary-operator-tests (Files):
25524         Likewise.
25525         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
25526         * modules/unictype/property-iso-control-tests (Files): Likewise.
25527         * modules/unictype/property-join-control-tests (Files): Likewise.
25528         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
25529         * modules/unictype/property-line-separator-tests (Files): Likewise.
25530         * modules/unictype/property-logical-order-exception-tests (Files):
25531         Likewise.
25532         * modules/unictype/property-lowercase-tests (Files): Likewise.
25533         * modules/unictype/property-math-tests (Files): Likewise.
25534         * modules/unictype/property-non-break-tests (Files): Likewise.
25535         * modules/unictype/property-not-a-character-tests (Files): Likewise.
25536         * modules/unictype/property-numeric-tests (Files): Likewise.
25537         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
25538         * modules/unictype/property-other-default-ignorable-code-point-tests
25539         (Files): Likewise.
25540         * modules/unictype/property-other-grapheme-extend-tests (Files):
25541         Likewise.
25542         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
25543         * modules/unictype/property-other-id-start-tests (Files): Likewise.
25544         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
25545         * modules/unictype/property-other-math-tests (Files): Likewise.
25546         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
25547         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
25548         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
25549         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
25550         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
25551         * modules/unictype/property-private-use-tests (Files): Likewise.
25552         * modules/unictype/property-punctuation-tests (Files): Likewise.
25553         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
25554         * modules/unictype/property-radical-tests (Files): Likewise.
25555         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
25556         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
25557         * modules/unictype/property-space-tests (Files): Likewise.
25558         * modules/unictype/property-terminal-punctuation-tests (Files):
25559         Likewise.
25560         * modules/unictype/property-test-tests (Files): Likewise.
25561         * modules/unictype/property-titlecase-tests (Files): Likewise.
25562         * modules/unictype/property-unassigned-code-value-tests (Files):
25563         Likewise.
25564         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
25565         * modules/unictype/property-uppercase-tests (Files): Likewise.
25566         * modules/unictype/property-variation-selector-tests (Files): Likewise.
25567         * modules/unictype/property-white-space-tests (Files): Likewise.
25568         * modules/unictype/property-xid-continue-tests (Files): Likewise.
25569         * modules/unictype/property-xid-start-tests (Files): Likewise.
25570         * modules/unictype/property-zero-width-tests (Files): Likewise.
25571         * modules/unictype/scripts-tests (Files): Likewise.
25572         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
25573         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
25574         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
25575         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
25576         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
25577         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
25578         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
25579         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
25580         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
25581         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
25582         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
25583         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
25584         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
25585         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
25586         * modules/uninorm/composition-tests (Files): Likewise.
25587         * modules/uninorm/decomposing-form-tests (Files): Likewise.
25588         * modules/uninorm/decomposition-tests (Files): Likewise.
25589         * modules/uninorm/filter-tests (Files): Likewise.
25590         * modules/uninorm/nfc-tests (Files): Likewise.
25591         * modules/uninorm/nfd-tests (Files): Likewise.
25592         * modules/uninorm/nfkc-tests (Files): Likewise.
25593         * modules/uninorm/nfkd-tests (Files): Likewise.
25594         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
25595         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
25596         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
25597         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
25598         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
25599         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
25600         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
25601         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
25602         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
25603         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
25604         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
25605         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
25606         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
25607         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
25608         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
25609         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
25610         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
25611         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
25612         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
25613         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
25614         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
25615         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
25616         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
25617         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
25618         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
25619         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
25620         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
25621         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
25622         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
25623         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
25624         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
25625         * modules/uniwidth/u8-width-tests (Files): Likewise.
25626         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
25627         * modules/uniwidth/u16-width-tests (Files): Likewise.
25628         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
25629         * modules/uniwidth/u32-width-tests (Files): Likewise.
25630         * modules/uniwidth/width-tests (Files): Likewise.
25631         * modules/unlink-tests (Files): Likewise.
25632         * modules/unsetenv-tests (Files): Likewise.
25633         * modules/usleep-tests (Files): Likewise.
25634         * modules/utimens-tests (Files): Likewise.
25635         * modules/utimensat-tests (Files): Likewise.
25636         * modules/vasnprintf-posix-tests (Files): Likewise.
25637         * modules/vasnprintf-tests (Files): Likewise.
25638         * modules/vasprintf-posix-tests (Files): Likewise.
25639         * modules/vasprintf-tests (Files): Likewise.
25640         * modules/vdprintf-posix-tests (Files): Likewise.
25641         * modules/vfprintf-posix-tests (Files): Likewise.
25642         * modules/vprintf-posix-tests (Files): Likewise.
25643         * modules/vsnprintf-posix-tests (Files): Likewise.
25644         * modules/vsnprintf-tests (Files): Likewise.
25645         * modules/vsprintf-posix-tests (Files): Likewise.
25646         * modules/wcrtomb-tests (Files): Likewise.
25647         * modules/wcsnrtombs-tests (Files): Likewise.
25648         * modules/wcsrtombs-tests (Files): Likewise.
25649         * modules/wctype-tests (Files): Likewise.
25650         * modules/wcwidth-tests (Files): Likewise.
25651         * modules/xmemdup0-tests (Files): Likewise.
25652         * modules/xprintf-posix-tests (Files): Likewise.
25653         * modules/xvasprintf-tests (Files): Likewise.
25654
25655 2009-12-24  Eric Blake  <ebb9@byu.net>
25656
25657         test-nanosleep: fix typo
25658         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
25659         patch.
25660         Reported by Bruno Haible.
25661
25662 2009-12-24  Bruno Haible  <bruno@clisp.org>
25663
25664         Reduce namespace pollution on glibc systems.
25665         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
25666         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
25667         systems.
25668         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
25669         <getopt.h> on glibc systems.
25670         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
25671         systems.
25672         * lib/fcntl.c: Include <unistd.h> here instead.
25673
25674 2009-12-24  Bruno Haible  <bruno@clisp.org>
25675
25676         * lib/stdlib.in.h (includes): Fix typo in today's commit.
25677
25678 2009-12-24  Eric Blake  <ebb9@byu.net>
25679
25680         tests: add signature checks
25681         * tests/signature.h (SIGNATURE_CHECK): New file.
25682         * modules/atexit-tests (Files): Use it.
25683         * modules/btowc-tests (Files): Likewise.
25684         * modules/canonicalize-lgpl-tests (Files): Likewise.
25685         * modules/ceilf-tests (Files): Likewise.
25686         * modules/ceill-tests (Files): Likewise.
25687         * modules/chown-tests (Files): Likewise.
25688         * modules/dprintf-posix-tests (Files): Likewise.
25689         * modules/dup2-tests (Files): Likewise.
25690         * modules/dup3-tests (Files): Likewise.
25691         * modules/duplocale-tests (Files): Likewise.
25692         * modules/fchdir-tests (Files): Likewise.
25693         * modules/fcntl-tests (Files): Likewise.
25694         * modules/fdopendir-tests (Files): Likewise.
25695         * modules/fflush-tests (Files): Likewise.
25696         * modules/flock-tests (Files): Likewise.
25697         * modules/floorf-tests (Files): Likewise.
25698         * modules/floorl-tests (Files): Likewise.
25699         * modules/fnmatch-tests (Files): Likewise.
25700         * modules/fopen-tests (Files): Likewise.
25701         * modules/fprintf-posix-tests (Files): Likewise.
25702         * modules/freopen-tests (Files): Likewise.
25703         * modules/frexp-nolibm-tests (Files): Likewise.
25704         * modules/frexp-tests (Files): Likewise.
25705         * modules/frexpl-nolibm-tests (Files): Likewise.
25706         * modules/frexpl-tests (Files): Likewise.
25707         * modules/fseek-tests (Files): Likewise.
25708         * modules/fseeko-tests (Files): Likewise.
25709         * modules/fsync-tests (Files): Likewise.
25710         * modules/ftell-tests (Files): Likewise.
25711         * modules/ftello-tests (Files): Likewise.
25712         * modules/futimens-tests (Files): Likewise.
25713         * modules/getaddrinfo-tests (Files): Likewise.
25714         * modules/getcwd-tests (Files): Likewise.
25715         * modules/getdelim-tests (Files): Likewise.
25716         * modules/getdtablesize-tests (Files): Likewise.
25717         * modules/getgroups-tests (Files): Likewise.
25718         * modules/gethostname-tests (Files): Likewise.
25719         * modules/getline-tests (Files): Likewise.
25720         * modules/getopt-posix-tests (Files): Likewise.
25721         * modules/gettimeofday-tests (Files): Likewise.
25722         * modules/glob-tests (Files): Likewise.
25723         * modules/iconv-tests (Files): Likewise.
25724         * modules/inet_ntop-tests (Files): Likewise.
25725         * modules/inet_pton-tests (Files): Likewise.
25726         * modules/isblank-tests (Files): Likewise.
25727         * modules/lchown-tests (Files): Likewise.
25728         * modules/ldexpl-tests (Files): Likewise.
25729         * modules/link-tests (Files): Likewise.
25730         * modules/linkat-tests (Files): Likewise.
25731         * modules/lseek-tests (Files): Likewise.
25732         * modules/lstat-tests (Files): Likewise.
25733         * modules/mbrtowc-tests (Files): Likewise.
25734         * modules/mbsinit-tests (Files): Likewise.
25735         * modules/mbsnrtowcs-tests (Files): Likewise.
25736         * modules/mbsrtowcs-tests (Files): Likewise.
25737         * modules/memchr-tests (Files): Likewise.
25738         * modules/memcmp-tests (Files): Likewise.
25739         * modules/memmem-tests (Files): Likewise.
25740         * modules/memrchr-tests (Files): Likewise.
25741         * modules/mkdir-tests (Files): Likewise.
25742         * modules/mkfifo-tests (Files): Likewise.
25743         * modules/mkfifoat-tests (Files): Likewise.
25744         * modules/mknod-tests (Files): Likewise.
25745         * modules/nanosleep-tests (Files): Likewise.
25746         * modules/nl_langinfo-tests (Files): Likewise.
25747         * modules/obstack-printf-tests (Files): Likewise.
25748         * modules/open-tests (Files): Likewise.
25749         * modules/openat-tests (Files): Likewise.
25750         * modules/perror-tests (Files): Likewise.
25751         * modules/pipe2-tests (Files): Likewise.
25752         * modules/poll-tests (Files): Likewise.
25753         * modules/popen-tests (Files): Likewise.
25754         * modules/posix_spawn-tests (Files): Likewise.
25755         * modules/posix_spawnp-tests (Files): Likewise.
25756         * modules/pread-tests (Files): Likewise.
25757         * modules/printf-posix-tests (Files): Likewise.
25758         * modules/pty-tests (Files): Likewise.
25759         * modules/random_r-tests (Files): Likewise.
25760         * modules/rawmemchr-tests (Files): Likewise.
25761         * modules/readlink-tests (Files): Likewise.
25762         * modules/remove-tests (Files): Likewise.
25763         * modules/rename-tests (Files): Likewise.
25764         * modules/renameat-tests (Files): Likewise.
25765         * modules/rmdir-tests (Files): Likewise.
25766         * modules/round-tests (Files): Likewise.
25767         * modules/roundf-tests (Files): Likewise.
25768         * modules/roundl-tests (Files): Likewise.
25769         * modules/select-tests (Files): Likewise.
25770         * modules/setenv-tests (Files): Likewise.
25771         * modules/sigaction-tests (Files): Likewise.
25772         * modules/sleep-tests (Files): Likewise.
25773         * modules/snprintf-posix-tests (Files): Likewise.
25774         * modules/snprintf-tests (Files): Likewise.
25775         * modules/sprintf-posix-tests (Files): Likewise.
25776         * modules/stat-tests (Files): Likewise.
25777         * modules/strcasestr-tests (Files): Likewise.
25778         * modules/strchrnul-tests (Files): Likewise.
25779         * modules/strerror-tests (Files): Likewise.
25780         * modules/strsignal-tests (Files): Likewise.
25781         * modules/strstr-tests (Files): Likewise.
25782         * modules/strtod-tests (Files): Likewise.
25783         * modules/strverscmp-tests (Files): Likewise.
25784         * modules/symlink-tests (Files): Likewise.
25785         * modules/symlinkat-tests (Files): Likewise.
25786         * modules/times-tests (Files): Likewise.
25787         * modules/trunc-tests (Files): Likewise.
25788         * modules/truncf-tests (Files): Likewise.
25789         * modules/truncl-tests (Files): Likewise.
25790         * modules/tsearch-tests (Files): Likewise.
25791         * modules/uname-tests (Files): Likewise.
25792         * modules/unlink-tests (Files): Likewise.
25793         * modules/unsetenv-tests (Files): Likewise.
25794         * modules/usleep-tests (Files): Likewise.
25795         * modules/utimensat-tests (Files): Likewise.
25796         * modules/vasprintf-tests (Files): Likewise.
25797         * modules/vdprintf-posix-tests (Files): Likewise.
25798         * modules/vfprintf-posix-tests (Files): Likewise.
25799         * modules/vprintf-posix-tests (Files): Likewise.
25800         * modules/vsnprintf-posix-tests (Files): Likewise.
25801         * modules/vsnprintf-tests (Files): Likewise.
25802         * modules/vsprintf-posix-tests (Files): Likewise.
25803         * modules/wcrtomb-tests (Files): Likewise.
25804         * modules/wcsnrtombs-tests (Files): Likewise.
25805         * modules/wcsrtombs-tests (Files): Likewise.
25806         * modules/wcwidth-tests (Files): Likewise.
25807         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
25808         * tests/test-isinf.c (isinf): Likewise.
25809         * tests/test-isnan.c (isnan): Likewise.
25810         * tests/test-signbit.c (signbit): Likewise.
25811         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
25812         declaration, either as macro or with correct signature.
25813         (select): Ensure function under test is declared with correct
25814         signature in correct header.
25815         * tests/test-atexit.c (atexit): Likewise.
25816         * tests/test-btowc.c (btowc): Likewise.
25817         * tests/test-canonicalize-lgpl.c (realpath)
25818         (canonicalize_file_name): Likewise.
25819         * tests/test-ceilf1.c (ceilf): Likewise.
25820         * tests/test-ceill.c (ceill): Likewise.
25821         * tests/test-chown.c (chown): Likewise.
25822         * tests/test-dprintf-posix.c (dprintf): Likewise.
25823         * tests/test-dup2.c (dup2): Likewise.
25824         * tests/test-dup3.c (dup3): Likewise.
25825         * tests/test-duplocale.c (duplocale): Likewise.
25826         * tests/test-fchdir.c (fchdir): Likewise.
25827         * tests/test-fchownat.c (fchownat): Likewise.
25828         * tests/test-fcntl.c (fcntl): Likewise.
25829         * tests/test-fdopendir.c (fdopendir): Likewise.
25830         * tests/test-fflush.c (fflush): Likewise.
25831         * tests/test-flock.c (flock): Likewise.
25832         * tests/test-floorf1.c (floorf): Likewise.
25833         * tests/test-floorl.c (floorl): Likewise.
25834         * tests/test-fnmatch.c (fnmatch): Likewise.
25835         * tests/test-fopen.c (fopen): Likewise.
25836         * tests/test-fprintf-posix.c (fprintf): Likewise.
25837         * tests/test-freopen.c (freopen): Likewise.
25838         * tests/test-frexp.c (frexp): Likewise.
25839         * tests/test-frexpl.c (frexpl): Likewise.
25840         * tests/test-fseek.c (fseek): Likewise.
25841         * tests/test-fseeko.c (fseeko): Likewise.
25842         * tests/test-fstatat.c (fstatat): Likewise.
25843         * tests/test-fsync.c (fsync): Likewise.
25844         * tests/test-ftell.c (ftell): Likewise.
25845         * tests/test-ftello.c (ftello): Likewise.
25846         * tests/test-futimens.c (futimens): Likewise.
25847         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
25848         (gai_strerror): Likewise.
25849         * tests/test-getcwd.c (getcwd): Likewise.
25850         * tests/test-getdelim.c (getdelim): Likewise.
25851         * tests/test-getdtablesize.c (getdtablesize): Likewise.
25852         * tests/test-getgroups.c (getgroups): Likewise.
25853         * tests/test-gethostname.c (gethostname): Likewise.
25854         * tests/test-getline.c (getline): Likewise.
25855         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
25856         Likewise.
25857         * tests/test-gettimeofday.c (gettimeofday): Likewise.
25858         * tests/test-glob.c (glob, globfree): Likewise.
25859         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
25860         * tests/test-inet_ntop.c (inet_ntop): Likewise.
25861         * tests/test-inet_pton.c (inet_pton): Likewise.
25862         * tests/test-isblank.c (isblank): Likewise.
25863         * tests/test-lchown.c (lchown): Likewise.
25864         * tests/test-ldexpl.c (ldexpl): Likewise.
25865         * tests/test-link.c (link): Likewise.
25866         * tests/test-linkat.c (linkat): Likewise.
25867         * tests/test-lseek.c (lseek): Likewise.
25868         * tests/test-lstat.c (lstat): Likewise.
25869         * tests/test-mbrtowc.c (mbrtowc): Likewise.
25870         * tests/test-mbsinit.c (mbsinit): Likewise.
25871         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
25872         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
25873         * tests/test-memchr.c (memchr): Likewise.
25874         * tests/test-memcmp.c (memcmp): Likewise.
25875         * tests/test-memmem.c (memmem): Likewise.
25876         * tests/test-memrchr.c (memrchr): Likewise.
25877         * tests/test-mkdir.c (mkdir): Likewise.
25878         * tests/test-mkdirat.c (mkdirat): Likewise.
25879         * tests/test-mkfifo.c (mkfifo): Likewise.
25880         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
25881         * tests/test-mknod.c (mknod): Likewise.
25882         * tests/test-nanosleep.c (nanosleep): Likewise.
25883         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
25884         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
25885         Likewise.
25886         * tests/test-open.c (open): Likewise.
25887         * tests/test-openat.c (openat): Likewise.
25888         * tests/test-perror.c (perror): Likewise.
25889         * tests/test-pipe2.c (pipe2): Likewise.
25890         * tests/test-poll.c (poll): Likewise.
25891         * tests/test-popen.c (popen, pclose): Likewise.
25892         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
25893         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
25894         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
25895         (posix_spawn_file_actions_destroy)
25896         (posix_spawn_file_actions_addclose)
25897         (posix_spawn_file_actions_addopen)
25898         (posix_spawn_file_actions_adddup2): Likewise.
25899         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
25900         * tests/test-pread.c (pread): Likewise.
25901         * tests/test-printf-posix.c (printf): Likewise.
25902         * tests/test-pty.c (openpty, forkpty): Likewise.
25903         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
25904         (random_r): Likewise.
25905         * tests/test-rawmemchr.c (rawmemchr): Likewise.
25906         * tests/test-readlink.c (readlink): Likewise.
25907         * tests/test-remove.c (remove): Likewise.
25908         * tests/test-rename.c (rename): Likewise.
25909         * tests/test-renameat.c (renameat): Likewise.
25910         * tests/test-rmdir.c (rmdir): Likewise.
25911         * tests/test-round1.c (round): Likewise.
25912         * tests/test-roundf1.c (roundf): Likewise.
25913         * tests/test-roundl.c (roundl): Likewise.
25914         * tests/test-setenv.c (setenv): Likewise.
25915         * tests/test-sigaction.c (sigaction): Likewise.
25916         * tests/test-sleep.c (sleep): Likewise.
25917         * tests/test-snprintf.c (snprintf): Likewise.
25918         * tests/test-sprintf-posix.c (sprintf): Likewise.
25919         * tests/test-stat.c (stat): Likewise.
25920         * tests/test-stpncpy.c (stpncpy): Likewise.
25921         * tests/test-strcasestr.c (strcasestr): Likewise.
25922         * tests/test-strchrnul.c (strchrnul): Likewise.
25923         * tests/test-strerror.c (strerror): Likewise.
25924         * tests/test-strsignal.c (strsignal): Likewise.
25925         * tests/test-strstr.c (strstr): Likewise.
25926         * tests/test-strtod.c (strtod): Likewise.
25927         * tests/test-strverscmp.c (strverscmp): Likewise.
25928         * tests/test-symlink.c (symlink): Likewise.
25929         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
25930         * tests/test-times.c (times): Likewise.
25931         * tests/test-trunc1.c (trunc): Likewise.
25932         * tests/test-truncf1.c (truncf): Likewise.
25933         * tests/test-truncl.c (truncl): Likewise.
25934         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
25935         Likewise.
25936         * tests/test-uname.c (uname): Likewise.
25937         * tests/test-unlink.c (unlink): Likewise.
25938         * tests/test-unlinkat.c (unlinkat): Likewise.
25939         * tests/test-unsetenv.c (unsetenv): Likewise.
25940         * tests/test-usleep.c (usleep): Likewise.
25941         * tests/test-utimensat.c (utimensat): Likewise.
25942         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
25943         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
25944         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
25945         * tests/test-vprintf-posix.c (vprintf): Likewise.
25946         * tests/test-vsnprintf.c (vsnprintf): Likewise.
25947         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
25948         * tests/test-wcrtomb.c (wcrtomb): Likewise.
25949         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
25950         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
25951         * tests/test-wcwidth.c (wcwidth): Likewise.
25952
25953         build: pull in conditional headers during GNULIB_POSIXCHECK
25954         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
25955         definitions from any conditionally-included headers.
25956         * lib/stdlib.in.h (includes): Likewise.
25957         * lib/unistd.in.h (includes): Likewise.
25958
25959 2009-12-24  Bruno Haible  <bruno@clisp.org>
25960
25961         * tests/test-argv-iter.c: Include header file being tested immediately
25962         after config.h.
25963         * tests/test-base64.c: Likewise.
25964         * tests/test-flock.c: Likewise.
25965         * tests/test-fsync.c: Likewise.
25966         * tests/test-getdate.c: Likewise.
25967         * tests/test-getndelim2.c: Likewise.
25968         * tests/test-isfinite.c: Likewise.
25969         * tests/test-isinf.c: Likewise.
25970         * tests/test-strerror.c: Likewise.
25971         * tests/test-strsignal.c: Likewise.
25972
25973 2009-12-23  Eric Blake  <ebb9@byu.net>
25974
25975         unistd: work around cygwin bug
25976         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
25977         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
25978         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
25979
25980 2009-12-23  Bruno Haible  <bruno@clisp.org>
25981
25982         localename: More tests.
25983         * tests/test-localename.c (SIZEOF): New macro.
25984         (categories): New variable.
25985         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
25986         test_locale_name_default): Add test w.r.t. thread locale.
25987         (test_locale_name_thread): New function.
25988         (main): Invoke it.
25989
25990         localename: Make aware of thread locale.
25991         * lib/localename.h (gl_locale_name_thread): New declaration.
25992         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
25993         behaviour with respect to thread locale.
25994         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
25995         <langinfo.h>, glthread/lock.h.
25996         (SIZE_BITS): New macro.
25997         (string_hash): New function.
25998         (struct hash_node): New type.
25999         (HASH_TABLE_SIZE): New macro.
26000         (struniq_hash_table, struniq_lock): New variables.
26001         (struniq): New function.
26002         (gl_locale_name_thread): New function.
26003         (gl_locale_name): Invoke it.
26004         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
26005         * modules/localename (Depends-on): Add lock.
26006         Reported by Mike Gran <spk121@yahoo.com>.
26007
26008 2009-12-23  Eric Blake  <ebb9@byu.net>
26009
26010         va-args: new module
26011         * modules/va-args: New file.
26012         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
26013         * MODULES.html.sh (Core language properties): Mention it.
26014
26015         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
26016         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
26017         named alias for __attribute__((__unused__)).
26018         * lib/chown.c: Update client.
26019         * lib/fchmodat.c: Likewise.
26020         * lib/fts.c: Likewise.
26021         * lib/getdate.y: Likewise.
26022         * lib/getgroups.c: Likewise.
26023         * lib/getopt.c: Likewise.
26024         * lib/getugroups.c: Likewise.
26025         * lib/mkdir.c: Likewise.
26026         * lib/mkfifo.c: Likewise.
26027         * lib/mkfifoat.c: Likewise.
26028         * lib/mknod.c: Likewise.
26029         * lib/mknodat.c: Likewise.
26030         * lib/readlink.c: Likewise.
26031         * lib/se-context.in.h: Likewise.
26032         * lib/se-selinux.in.h: Likewise.
26033         * lib/sockets.c: Likewise.
26034         * lib/symlink.c: Likewise.
26035         * lib/symlinkat.c: Likewise.
26036         * lib/unicodeio.c: Likewise.
26037         * lib/unistr.h: Likewise.
26038         * tests/test-areadlink.c: Likewise.
26039         * tests/test-areadlinkat.c: Likewise.
26040         * tests/test-filenamecat.c: Likewise.
26041         * tests/test-fseeko.c: Likewise.
26042         * tests/test-ftello.c: Likewise.
26043         * tests/test-getdate.c: Likewise.
26044         * tests/test-getgroups.c: Likewise.
26045         * tests/test-gethostname.c: Likewise.
26046         * tests/test-quotearg.c: Likewise.
26047         * tests/test-version-etc.c: Likewise.
26048         * tests/test-xalloc-die.c: Likewise.
26049         * tests/test-xfprintf-posix.c: Likewise.
26050         * tests/test-xprintf-posix.c: Likewise.
26051         * tests/test-xvasprintf.c: Likewise.
26052
26053         tests: avoid compiler warnings
26054         * tests/test-fcntl.c (main): Delete unused parameters.
26055         * tests/test-freopen-safer.c (main): Likewise.
26056         * tests/test-xalloc-die.c (main): Mark unused parameters.
26057         * tests/test-fseeko.c (main): Likewise.
26058         * tests/test-ftello.c (main): Likewise.
26059         * tests/test-nanosleep.c (main): Avoid declaration warning.
26060         * tests/test-sleep.c (main): Likewise.
26061         * tests/test-unsetenv.c (main): Silence warning about string
26062         literal.
26063         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
26064
26065 2009-12-23  Bruno Haible  <bruno@clisp.org>
26066
26067         * tests/test-localename.c (test_locale_name): New function, extracted
26068         from main. Also test mixed situations.
26069         (test_locale_name_posix, test_locale_name_environ,
26070         test_locale_name_default): New functions.
26071         (main): Invoke them all.
26072         * modules/localename-tests (configure.ac): Test for newlocale.
26073
26074 2009-12-23  Bruno Haible  <bruno@clisp.org>
26075
26076         unistd: Ensure getcwd gets declared before being overridden.
26077         * lib/unistd.in.h: Conditionally include <io.h>.
26078
26079 2009-12-22  Bruno Haible  <bruno@clisp.org>
26080
26081         wchar: Diagnose broken combination of glibc and gcc versions and flags.
26082         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
26083         (gl_WCHAR_H): Invoke it.
26084         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
26085         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
26086         Reported by Karl Berry <karl@freefriends.org>.
26087
26088 2009-12-22  Eric Blake  <ebb9@byu.net>
26089
26090         math, unistd: avoid redundant includes
26091         * lib/math.in.h (isnan): No need to re-include <math.h>.
26092         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
26093
26094         getsubopt: work around cygwin bug
26095         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
26096         avoid conflicting with system getsubopt.
26097         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
26098         bug.
26099
26100         getopt: synchronize from glibc
26101         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
26102         parameter order.  Adjust all callers.
26103         (_getopt_internal_r, main): Adjust quoting in error messages.
26104         Drop considerations for outdated POSIX 1003.2 error message.
26105         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
26106         callers.
26107         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
26108
26109         test-getopt: test stderr behavior
26110         * modules/getopt-posix-tests (Depends-on): Add dup2.
26111         * tests/test-getopt.c (ASSERT): Avoid stderr.
26112         (main): Move stderr to a temporary file.
26113         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
26114         Instead, add parameter to inform caller if output occurred.
26115         (test_getopt): Adjust all existing tests to expect silence, and
26116         add new tests of leading ":".
26117         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
26118         glibc shortcomings with leading "-:" or "+:" in optstring.
26119         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
26120         Likewise.
26121         * doc/posix-functions/getopt.texi (getopt): Likewise.
26122
26123         test-getopt: enhance test
26124         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
26125         supports optind=0.
26126         * tests/test-getopt.c (OPTIND_MIN): Move...
26127         * tests/test-getopt.h (OPTIND_MIN): ...here.
26128         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
26129         Require that optind=0 works, since modern BSD supports it in
26130         addition to optreset, and since coreutils expects it.
26131         (test_getopt_long_only): New test.
26132         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
26133         glibc shortcomings with 'W;', and enforcement of optind=0.
26134         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
26135         Likewise.
26136
26137 2009-12-21  Bruno Haible  <bruno@clisp.org>
26138
26139         localename: Improvements for MacOS X and Cygwin.
26140         * lib/localename.h (gl_locale_name_environ): New declaration.
26141         * lib/localename.c (gl_locale_name_environ): New function, extracted from
26142         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
26143         (gl_locale_name_posix): Invoke it.
26144         (gl_locale_name_default): Add comments. Use Windows native API also on
26145         Cygwin.
26146
26147 2009-12-21  Bruno Haible  <bruno@clisp.org>
26148
26149         Update list of Win32 locale ids.
26150         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
26151         (LANG_SAMI): Renamed from LANG_SAAMI.
26152         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
26153         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
26154         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
26155         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
26156         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
26157         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
26158         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
26159         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
26160         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
26161         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
26162         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
26163         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
26164         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
26165         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
26166         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
26167         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
26168         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
26169         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
26170         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
26171         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
26172         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
26173         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
26174         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
26175         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
26176         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
26177         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
26178         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
26179         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
26180         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
26181         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
26182         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
26183         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
26184         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
26185         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
26186         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
26187         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
26188         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
26189         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
26190         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
26191         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
26192         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
26193         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
26194         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
26195         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
26196         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
26197         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
26198         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
26199         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
26200         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
26201         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
26202         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
26203         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
26204         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
26205         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
26206         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
26207         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
26208         Add more languages and countries for Sami, Sorbian. Add more countries
26209         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
26210         for Pashto. Change country for Syriac, Tswana.
26211
26212 2009-12-21  Eric Blake  <ebb9@byu.net>
26213
26214         test-utimens: avoid spurious failure
26215         * tests/test-chown.h (nap): Factor...
26216         * tests/nap.h: ...into new file.
26217         * tests/test-lchown.h (nap): Avoid duplication.
26218         * tests/test-utimens-common.h (nap): Use shared implementation,
26219         necessary on file systems with 1-second resolution.
26220         * modules/chown-tests (Files): Include new file.
26221         * modules/fdutimensat-tests (Files): Likewise.
26222         * modules/futimens-tests (Files): Likewise.
26223         * modules/lchown-tests (Files): Likewise.
26224         * modules/openat-tests (Files): Likewise.
26225         * modules/utimens-tests (Files): Likewise.
26226         * modules/utimensat-tests (Files): Likewise.
26227
26228 2009-12-19  Eric Blake  <ebb9@byu.net>
26229
26230         futimens, utimensat: work around Linux bug
26231         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
26232         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
26233         * lib/utimensat.c (rpl_utimensat): Work around it.
26234         * lib/futimens.c (rpl_futimens): Adjust comment.
26235
26236         utimens: work around Linux ctime bug
26237         * lib/utimens.c (detect_ctime_bug): New helper function.
26238         (update_timespec): Differentiate between workaround needed for
26239         this bug vs. what is needed for systems that lack utimensat.
26240         (fdutimens, lutimens): Work around bug.
26241
26242         utimens: check for ctime update
26243         * tests/test-utimens-common.h (check_ctime): Define.
26244         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
26245         * tests/test-futimens.h (test_futimens): Likewise.
26246         * tests/test-lutimens.h (test_lutimens): Likewise.
26247         * doc/posix-functions/futimens.texi (futimens): Document the bug.
26248         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
26249
26250 2009-12-19  Bruno Haible  <bruno@clisp.org>
26251
26252         dprintf-posix: Check against memory leak fixed on 2009-12-15.
26253         * tests/test-dprintf-posix2.sh: New file.
26254         * tests/test-dprintf-posix2.c: New file.
26255         * modules/dprintf-posix-tests (Files): Add them.
26256         (configure.ac): Check for getrlimit and setrlimit.
26257         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
26258
26259 2009-12-19  Bruno Haible  <bruno@clisp.org>
26260
26261         fprintf-posix: Check against memory leak fixed on 2009-12-15.
26262         * tests/test-fprintf-posix3.sh: New file.
26263         * tests/test-fprintf-posix3.c: New file.
26264         * modules/fprintf-posix-tests (Files): Add them.
26265         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
26266
26267 2009-12-19  Eric Blake  <ebb9@byu.net>
26268
26269         dirfd: fix prototype
26270         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
26271         * lib/dirfd.c (dirfd): Likewise.
26272
26273         canonicalize: reduce memory usage
26274         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
26275         allocation to size.
26276         Reported by Solar Designer <solar@openwall.com>.
26277
26278 2009-12-19  Bruno Haible  <bruno@clisp.org>
26279
26280         New module attribute 'Applicability'.
26281         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
26282         * gnulib-tool: New option --extract-applicability.
26283         (func_usage): Document it.
26284         (sed_extract_prog): Recognize it.
26285         (func_get_applicability): New function.
26286         (func_import): Generalize handling of 'link-warning' module.
26287         * modules/link-warning (Applicability): New section.
26288         * modules/arg-nonnull (Applicability): New section.
26289         Repoted by Simon Josefsson <simon@josefsson.org>.
26290
26291 2009-12-19  Bruno Haible  <bruno@clisp.org>
26292
26293         fflush: tweak
26294         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
26295         * lib/fseeko.c (rpl_fseeko): Likewise.
26296
26297 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
26298
26299         * lib/gl_list.h: Fix typo in comment.
26300
26301 2009-12-16  Eric Blake  <ebb9@byu.net>
26302
26303         fcntl: use to simplify other modules
26304         * modules/cloexec (Depends-on): Add fcntl.
26305         * modules/fchdir (Depends-on): Likewise.
26306         * modules/fd-safer-flag (Depends-on): Likewise.
26307         * modules/unistd-safer (Depends-on): Likewise.
26308         * modules/dup3 (configure.ac): Set module indicator.
26309         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
26310         missing.
26311         * lib/fchdir.c (_gl_register_dup): Fix comment.
26312         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
26313         * lib/dup-safer.c (dup_safer): Likewise.
26314         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
26315         * lib/dup3.c (dup3): Likewise.
26316         * tests/test-fchdir.c (main): Enhance test.
26317         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
26318
26319         fcntl: port portions of fcntl to mingw
26320         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
26321         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
26322         replacement for mingw.
26323         * modules/fcntl (Description): Update.
26324         (Depends-on): Add dup2.
26325         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
26326         * modules/fcntl-h (Makefile.am): Substitute it.
26327         * lib/fcntl.in.h (fcntl): Update declaration.
26328         (F_DUPFD, F_GETFD): New macros, when needed.
26329         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
26330         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
26331         * tests/test-fcntl.c (check_flags, main): Enhance test for items
26332         we now guarantee.
26333
26334         fcntl: work around cygwin bug in F_DUPFD
26335         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
26336         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
26337         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
26338         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
26339         * doc/posix-functions/fcntl.texi (fcntl): Document it.
26340
26341         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
26342         * modules/fcntl (Files): List new files.
26343         (configure.ac): Run a test.
26344         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
26345         * lib/fcntl.c (rpl_fcntl): Likewise.
26346         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
26347         (gl_FCNTL_H): Always replace fcntl.h.
26348         * modules/fcntl-h (Makefile.am): Substitute witnesses.
26349         * lib/fcntl.in.h (fcntl): Declare replacement.
26350         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
26351         needed, plus a witness.
26352         * doc/posix-functions/fcntl.texi (fcntl): Document this.
26353         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
26354         * tests/test-fcntl.c: New file.
26355         * modules/fcntl-tests: Likewise.
26356
26357         binary-io: avoid potential compilation warning
26358         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
26359         directives.
26360
26361         fflush: avoid compilation error on NetBSD
26362         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
26363         between off_t and fpos_t, since the latter is sometimes a struct.
26364         * lib/fseeko.c (rpl_fseeko): Likewise.
26365         Reported by Alexander Nasonov <alnsn@yandex.ru>.
26366
26367 2009-12-15  Eric Blake  <ebb9@byu.net>
26368
26369         fcntl-h, stdio, sys_ioctl: fix declarations
26370         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
26371         function must not take arguments.
26372         * lib/sys_ioctl.in.h (ioctl): Likewise.
26373         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
26374         (open): Add a link warning.
26375
26376 2009-12-15  Jim Meyering  <meyering@redhat.com>
26377
26378         areadlink, areadlink-with-size: relax license to LGPLv2+
26379         * modules/areadlink (License): Relax to LGPLv2+.
26380         * modules/areadlink-with-size (License): Likewise.
26381
26382 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
26383             Bruno Haible  <bruno@clisp.org>
26384
26385         *printf: Fix memory leak.
26386         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
26387         * lib/vfprintf.c (vfprintf): Likewise.
26388         * lib/dprintf.c (dprintf): Likewise.
26389         * lib/vdprintf.c (vdprintf): Likewise.
26390
26391 2009-12-14  Eric Blake  <ebb9@byu.net>
26392
26393         accept4: adjust module dependencies
26394         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
26395
26396         utimens: one more try at avoiding compiler warning
26397         * lib/utimens.c (lutimens): Lower scope of result.
26398
26399 2009-12-13  Bruno Haible  <bruno@clisp.org>
26400
26401         Move the malloc checking from module 'list' to new module 'xlist'.
26402         * modules/xlist: New file.
26403         * lib/gl_xlist.h: New file.
26404         * lib/gl_xlist.c: New file.
26405         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
26406         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
26407         gl_list_add_last, gl_list_add_before, gl_list_add_after,
26408         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
26409         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
26410         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
26411         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
26412         gl_sortedlist_nx_add): New declarations.
26413         (struct gl_list_implementation): Rename and change methods accordingly.
26414         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
26415         (gl_list_nx_create): Renamed from gl_list_create.
26416         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
26417         (gl_list_nx_set_at): Renamed from gl_list_set_at.
26418         (gl_list_nx_add_first): Renamed from gl_list_add_first.
26419         (gl_list_nx_add_last): Renamed from gl_list_add_last.
26420         (gl_list_nx_add_before): Renamed from gl_list_add_before.
26421         (gl_list_nx_add_after): Renamed from gl_list_add_after.
26422         (gl_list_nx_add_at): Renamed from gl_list_add_at.
26423         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
26424         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
26425         gl_list_create_empty.
26426         (gl_list_nx_create): Renamed from gl_list_create.
26427         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
26428         (gl_list_nx_set_at): Renamed from gl_list_set_at.
26429         (gl_list_nx_add_first): Renamed from gl_list_add_first.
26430         (gl_list_nx_add_last): Renamed from gl_list_add_last.
26431         (gl_list_nx_add_before): Renamed from gl_list_add_before.
26432         (gl_list_nx_add_after): Renamed from gl_list_add_after.
26433         (gl_list_nx_add_at): Renamed from gl_list_add_at.
26434         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
26435         * lib/gl_array_list.c: Don't include xalloc.h.
26436         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
26437         NULL upon out-of-memory.
26438         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
26439         out-of-memory.
26440         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
26441         Change return type to 'int'.
26442         (gl_array_nx_set_at): Renamed from gl_array_set_at.
26443         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
26444         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
26445         upon out-of-memory.
26446         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
26447         upon out-of-memory.
26448         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
26449         upon out-of-memory.
26450         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
26451         upon out-of-memory.
26452         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
26453         out-of-memory.
26454         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
26455         Update.
26456         (gl_array_list_implementation): Update.
26457         * lib/gl_carray_list.c: Don't include xalloc.h.
26458         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
26459         Return NULL upon out-of-memory.
26460         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
26461         out-of-memory.
26462         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
26463         Change return type to 'int'.
26464         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
26465         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
26466         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
26467         upon out-of-memory.
26468         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
26469         upon out-of-memory.
26470         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
26471         out-of-memory.
26472         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
26473         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
26474         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
26475         Update.
26476         (gl_carray_list_implementation): Update.
26477         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
26478         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
26479         gl_linked_create_empty. Return NULL upon out-of-memory.
26480         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
26481         out-of-memory.
26482         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
26483         Change return type to 'int'. Return -1 upon out-of-memory.
26484         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
26485         out-of-memory.
26486         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
26487         upon out-of-memory.
26488         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
26489         upon out-of-memory.
26490         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
26491         NULL upon out-of-memory.
26492         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
26493         upon out-of-memory.
26494         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
26495         out-of-memory.
26496         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
26497         Update.
26498         * lib/gl_linked_list.c: Don't include xalloc.h.
26499         (gl_linked_list_implementation): Update.
26500         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
26501         (add_to_bucket): Change return type to 'int'.
26502         (gl_linkedhash_list_implementation): Update.
26503         * lib/gl_anytree_list1.h (free_subtree): New function.
26504         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
26505         gl_tree_create_empty. Return NULL upon out-of-memory.
26506         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
26507         Change return type to 'int'. Return -1 upon out-of-memory.
26508         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
26509         out-of-memory.
26510         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
26511         (gl_tree_remove_node): New function, moved here from
26512         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
26513         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
26514         Update.
26515         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
26516         malloc, not xmalloc. Return NULL upon out-of-memory.
26517         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
26518         out-of-memory.
26519         (gl_tree_remove_node_from_tree): New function, extracted from
26520         gl_tree_remove_node.
26521         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
26522         upon out-of-memory.
26523         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
26524         out-of-memory.
26525         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
26526         upon out-of-memory.
26527         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
26528         upon out-of-memory.
26529         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
26530         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
26531         not xmalloc. Return NULL upon out-of-memory.
26532         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
26533         out-of-memory.
26534         (gl_tree_remove_node_from_tree): New function, extracted from
26535         gl_tree_remove_node.
26536         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
26537         upon out-of-memory.
26538         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
26539         out-of-memory.
26540         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
26541         upon out-of-memory.
26542         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
26543         upon out-of-memory.
26544         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
26545         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
26546         gl_anytree_list1.h before gl_anyavltree_list2.h.
26547         (gl_avltree_list_implementation): Update.
26548         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
26549         gl_anytree_list1.h before gl_anyavltree_list2.h.
26550         (gl_rbtree_list_implementation): Update.
26551         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
26552         Change return type to 'int'. Return -1 upon out-of-memory. Use
26553         __builtin_expect.
26554         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
26555         (gl_avltreehash_list_implementation): Update.
26556         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
26557         (gl_rbtreehash_list_implementation): Update.
26558         * modules/array-list (Depends-on): Remove xalloc.
26559         * modules/carray-list (Depends-on): Likewise.
26560         * modules/linked-list (Depends-on): Likewise.
26561         * modules/linkedhash-list (Depends-on): Likewise.
26562         * modules/avltree-list (Depends-on): Likewise.
26563         * modules/rbtree-list (Depends-on): Likewise.
26564         * modules/avltreehash-list (Depends-on): Likewise.
26565         * modules/rbtreehash-list (Depends-on): Likewise.
26566
26567         * modules/xsublist: New file.
26568         * lib/gl_xsublist.h: New file.
26569         * lib/gl_xsublist.c: New file.
26570         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
26571         (gl_sublist_nx_create): New declaration.
26572         * lib/gl_sublist.c: Don't include xalloc.h.
26573         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
26574         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
26575         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
26576         Change return type to 'int'. Return -1 upon out-of-memory.
26577         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
26578         upon out-of-memory.
26579         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
26580         NULL upon out-of-memory.
26581         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
26582         upon out-of-memory.
26583         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
26584         NULL upon out-of-memory.
26585         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
26586         NULL upon out-of-memory.
26587         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
26588         upon out-of-memory.
26589         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
26590         (gl_sublist_list_implementation): Update.
26591         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
26592         upon out-of-memory.
26593         * modules/sublist (Depends-on): Remove xalloc.
26594
26595         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
26596         * tests/test-carray_list.c: Likewise.
26597         * tests/test-linked_list.c: Likewise.
26598         * tests/test-linkedhash_list.c: Likewise.
26599         * tests/test-avltree_list.c: Likewise.
26600         * tests/test-rbtree_list.c: Likewise.
26601         * tests/test-avltreehash_list.c: Likewise.
26602         * tests/test-rbtreehash_list.c: Likewise.
26603         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
26604         * modules/carray-list-tests (Makefile.am): Likewise.
26605         * modules/linked-list-tests (Makefile.am): Likewise.
26606         * modules/linkedhash-list-tests (Makefile.am): Likewise.
26607         * modules/avltree-list-tests (Makefile.am): Likewise.
26608         * modules/rbtree-list-tests (Makefile.am): Likewise.
26609         * modules/avltreehash-list-tests (Makefile.am): Likewise.
26610         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
26611
26612         * NEWS: Mention the changes.
26613
26614         * lib/clean-temp.c: Include gl_xlist.h.
26615         * modules/clean-temp (Depends-on): Add xlist.
26616
26617         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
26618         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
26619
26620         * tests/test-array_oset.c: Include gl_xlist.h.
26621         * modules/array-oset-tests (Depends-on): Add xlist.
26622
26623         Reported by José E. Marchesi <jemarch@gnu.org>.
26624
26625 2009-12-13  Bruno Haible  <bruno@clisp.org>
26626
26627         Move the malloc checking from module 'oset' to new module 'xoset'.
26628         * modules/xoset: New file.
26629         * lib/gl_xoset.h: New file.
26630         * lib/gl_xoset.c: New file.
26631         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
26632         declarations.
26633         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
26634         (struct gl_oset_implementation): Rename and change methods accordingly.
26635         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
26636         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
26637         'int'. Mark as __warn_unused_result__.
26638         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
26639         gl_oset_create_empty.
26640         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
26641         'int'.
26642         * lib/gl_array_oset.c: Don't include xalloc.h.
26643         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
26644         malloc, not xmalloc.
26645         (grow): Change return type to 'int'. Don't call xalloc_die.
26646         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
26647         to 'int'.
26648         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
26649         'int'.
26650         (gl_array_oset_implementation): Update.
26651         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
26652         gl_tree_create_empty.
26653         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
26654         'int'.
26655         * lib/gl_avltree_oset.c: Don't include xalloc.h.
26656         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
26657         xmalloc.
26658         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
26659         not xmalloc.
26660         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
26661         xmalloc.
26662         (gl_avltree_oset_implementation): Update.
26663         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
26664         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
26665         xmalloc.
26666         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
26667         not xmalloc.
26668         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
26669         xmalloc.
26670         (gl_rbtree_oset_implementation): Update.
26671         * modules/array-oset (Depends-on): Remove xalloc.
26672         * modules/avltree-oset (Depends-on): Likewise.
26673         * modules/rbtree-oset (Depends-on): Likewise.
26674         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
26675         * tests/test-avltree_oset.c: Likewise.
26676         * tests/test-rbtree_oset.c: Likewise.
26677         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
26678         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
26679         * modules/rbtree-oset-tests (Makefile.am): Likewise.
26680         * NEWS: Mention the change.
26681
26682 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
26683
26684         maint.mk: allow a project to override release-prep commands
26685         * top/maint.mk (alpha, beta, stable): Move release-preparatory
26686         commands into a new rule.
26687         (release-prep): New rule.
26688         (release-prep-hook): New overridable variable.
26689
26690 2009-12-13  Bruno Haible  <bruno@clisp.org>
26691
26692         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
26693
26694 2009-12-13  Jim Meyering  <meyering@redhat.com>
26695
26696         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
26697         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
26698
26699 2009-12-12  Bruno Haible  <bruno@clisp.org>
26700
26701         duplocale: Tweak.
26702         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
26703
26704 2009-12-12  Karl Berry  <karl@gnu.org>
26705
26706         * config/srclist.txt (strtoll.c): tab changes, no more sync.
26707
26708 2009-12-12  Bruno Haible  <bruno@clisp.org>
26709
26710         * m4/po.m4: Undo incorrect untabification.
26711
26712 2009-12-12  Bruno Haible  <bruno@clisp.org>
26713
26714         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
26715         * modules/c-strtod (Depends-on): Add locale.
26716         * modules/c-strtold (Depends-on): Likewise.
26717
26718 2009-12-12  Bruno Haible  <bruno@clisp.org>
26719
26720         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
26721
26722 2009-12-11  Eric Blake  <ebb9@byu.net>
26723
26724         setenv: relax requirement in light of POSIX ruling
26725         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
26726         not NULL.
26727         * tests/test-setenv.c (main): Relax test.
26728         * tests/test-unsetenv.c (main): Likewise.
26729         * doc/posix-functions/setenv.texi (setenv): Document this.
26730         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
26731
26732 2009-12-11  Bruno Haible  <bruno@clisp.org>
26733
26734         New module 'fd-safer-flag'.
26735         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
26736         * lib/dup-safer.c (dup_safer_flag): Remove function.
26737         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
26738         * lib/fd-safer.c (fd_safer_flag): Remove function.
26739         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
26740         * modules/cloexec (configure.ac): Drop indicator macro.
26741         * modules/fd-safer-flag: New file.
26742         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
26743         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
26744         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
26745
26746 2009-12-11  Bruno Haible  <bruno@clisp.org>
26747
26748         Tests for module 'nl_langinfo'.
26749         * modules/nl_langinfo-tests: New file.
26750         * tests/test-nl_langinfo.sh: New file.
26751         * tests/test-nl_langinfo.c: New file.
26752
26753         New module 'nl_langinfo'.
26754         * lib/nl_langinfo.c: New file.
26755         * m4/nl_langinfo.m4: New file.
26756         * modules/nl_langinfo: New file.
26757         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
26758
26759 2009-12-11  Bruno Haible  <bruno@clisp.org>
26760
26761         Tests for module 'langinfo'.
26762         * modules/langinfo-tests: New file.
26763         * tests/test-langinfo.c: New file.
26764
26765         New module 'langinfo'.
26766         * lib/langinfo.in.h: New file.
26767         * m4/langinfo_h.m4: New file.
26768         * modules/langinfo: New file.
26769         * doc/posix-headers/langinfo.texi: Mention the new module.
26770
26771 2009-12-11  Bruno Haible  <bruno@clisp.org>
26772
26773         * lib/config.charset: Untabify.
26774
26775 2009-12-11  Bruno Haible  <bruno@clisp.org>
26776
26777         * modules/unistd-safer (configure.ac): Drop indicator macro.
26778
26779 2009-12-11  Bruno Haible  <bruno@clisp.org>
26780
26781         Move pipe2-safer code to its own file.
26782         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
26783         * lib/pipe-safer.c (pipe2_safer): Remove function.
26784         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
26785         (Makefile.am): Add it to lib_SOURCES.
26786
26787 2009-12-10  Bruno Haible  <bruno@clisp.org>
26788
26789         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
26790
26791 2009-12-10  Bruno Haible  <bruno@clisp.org>
26792
26793         Declare which arguments expect non-NULL values, for GCC and clang.
26794         * build-aux/arg-nonnull.h: New file.
26795         * modules/arg-nonnull: New file.
26796         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
26797         (inet_ntop, inet_pton): Use it.
26798         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
26799         (closedir, dirfd, opendir, scandir, alphasort): Use it.
26800         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
26801         (open, openat): Use it.
26802         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
26803         (fnmatch): Use it.
26804         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
26805         (getopt, getopt_long, getopt_long_only): Use it.
26806         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
26807         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
26808         Use it.
26809         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
26810         (iconv_open): Use it.
26811         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
26812         (strtoimax, strtoumax): Use it.
26813         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
26814         (duplocale): Use it.
26815         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
26816         (frexp, frexpl): Use it.
26817         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
26818         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
26819         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
26820         (tsearch, tfind, tdelete, twalk): Use it.
26821         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
26822         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
26823         sigpending): Use it.
26824         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
26825         (posix_spawn, posix_spawnp, posix_spawnattr_init,
26826         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
26827         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
26828         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
26829         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
26830         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
26831         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
26832         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
26833         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
26834         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
26835         Use it.
26836         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
26837         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
26838         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
26839         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
26840         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
26841         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
26842         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
26843         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
26844         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
26845         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
26846         strtoull, unsetenv): Use it.
26847         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
26848         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
26849         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
26850         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
26851         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
26852         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
26853         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
26854         (strcasecmp, strncasecmp): Use it.
26855         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
26856         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
26857         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
26858         rpl_setsockopt): Use it.
26859         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
26860         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
26861         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
26862         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
26863         (gettimeofday): Use it.
26864         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
26865         (times): Use it.
26866         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
26867         (uname): Use it.
26868         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
26869         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
26870         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
26871         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
26872         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
26873         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
26874         unlinkat, write): Use it.
26875         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
26876         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
26877         * lib/argv-iter.h: Include arg-nonnull.h.
26878         (_ATTRIBUTE_NONNULL_): Remove macro.
26879         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
26880         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
26881         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
26882         optimization.
26883         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
26884         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
26885         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
26886         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
26887         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
26888         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
26889         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
26890         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
26891         * modules/arpa_inet (Depends-on): Add arg-nonnull.
26892         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
26893         * modules/dirent (Depends-on): Add arg-nonnull.
26894         (Makefile.am): Insert arg-nonnull.h into dirent.h.
26895         * modules/fcntl-h (Depends-on): Add arg-nonnull.
26896         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
26897         * modules/fnmatch (Depends-on): Add arg-nonnull.
26898         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
26899         * modules/getopt-posix (Depends-on): Add arg-nonnull.
26900         (Makefile.am): Insert arg-nonnull.h into getopt.h.
26901         * modules/glob (Depends-on): Add arg-nonnull.
26902         (Makefile.am): Insert arg-nonnull.h into glob.h.
26903         * modules/iconv_open (Depends-on): Add arg-nonnull.
26904         (Makefile.am): Insert arg-nonnull.h into iconv.h.
26905         * modules/inttypes (Depends-on): Add arg-nonnull.
26906         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
26907         * modules/locale (Depends-on): Add arg-nonnull.
26908         (Makefile.am): Insert arg-nonnull.h into locale.h.
26909         * modules/math (Depends-on): Add arg-nonnull.
26910         (Makefile.am): Insert arg-nonnull.h into math.h.
26911         * modules/netdb (Depends-on): Add arg-nonnull.
26912         (Makefile.am): Insert arg-nonnull.h into netdb.h.
26913         * modules/search (Depends-on): Add arg-nonnull.
26914         (Makefile.am): Insert arg-nonnull.h into search.h.
26915         * modules/signal (Depends-on): Add arg-nonnull.
26916         (Makefile.am): Insert arg-nonnull.h into signal.h.
26917         * modules/spawn (Depends-on): Add arg-nonnull.
26918         (Makefile.am): Insert arg-nonnull.h into spawn.h.
26919         * modules/stdio (Depends-on): Add arg-nonnull.
26920         (Makefile.am): Insert arg-nonnull.h into stdio.h.
26921         * modules/stdlib (Depends-on): Add arg-nonnull.
26922         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
26923         * modules/string (Depends-on): Add arg-nonnull.
26924         (Makefile.am): Insert arg-nonnull.h into string.h.
26925         * modules/strings (Depends-on): Add arg-nonnull.
26926         (Makefile.am): Insert arg-nonnull.h into strings.h.
26927         * modules/sys_socket (Depends-on): Add arg-nonnull.
26928         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
26929         * modules/sys_stat (Depends-on): Add arg-nonnull.
26930         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
26931         * modules/sys_time (Depends-on): Add arg-nonnull.
26932         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
26933         * modules/sys_times (Depends-on): Add arg-nonnull.
26934         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
26935         * modules/sys_utsname (Depends-on): Add arg-nonnull.
26936         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
26937         * modules/time (Depends-on): Add arg-nonnull.
26938         (Makefile.am): Insert arg-nonnull.h into time.h.
26939         * modules/unistd (Depends-on): Add arg-nonnull.
26940         (Makefile.am): Insert arg-nonnull.h into unistd.h.
26941         * modules/wchar (Depends-on): Add arg-nonnull.
26942         (Makefile.am): Insert arg-nonnull.h into wchar.h.
26943         * modules/argv-iter (Depends-on): Add arg-nonnull.
26944         * tests/test-canonicalize.c (null_ptr): New function.
26945         (main): Use it.
26946         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
26947         (main): Use it.
26948         * tests/test-memmem.c (null_ptr): New function.
26949         (main): Use it.
26950         Reported by Jim Meyering.
26951
26952 2009-12-10  Bruno Haible  <bruno@clisp.org>
26953
26954         Use spaces for indentation, not tabs.
26955         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
26956         * m4/*.m4: Untabify.
26957         * build-aux/*.h: Untabify.
26958         * tests/**/*.[hc]: Untabify.
26959         * README: New section "Indent with spaces, not TABs", based on
26960         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
26961         * NEWS: Mention the change.
26962
26963 2009-12-10  Bruno Haible  <bruno@clisp.org>
26964
26965         pty test: Fix link error.
26966         * modules/pty-tests (Makefile.am): Add the default LDADD value to
26967         test_pty_LDADD.
26968
26969 2009-12-07  Simon Josefsson  <simon@josefsson.org>
26970
26971         * modules/pty: New file.
26972         * modules/pty-tests: New file.
26973         * m4/pty.m4: New file.
26974         * tests/test-pty.c: New file.
26975         * doc/glibc-headers/pty.texi: Modified.
26976         * doc/glibc-functions/forkpty.texi: Modified.
26977         * doc/glibc-functions/openpty.texi: Modified.
26978
26979 2009-12-10  Bruno Haible  <bruno@clisp.org>
26980
26981         Avoid syntax error in C++ mode.
26982         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
26983
26984 2009-12-10  Bruno Haible  <bruno@clisp.org>
26985
26986         Use sed with option -e.
26987         * gnulib-tool (func_version, func_emit_copyright_notice,
26988         func_emit_initmacro_end, func_import, func_create_testdir): Pass
26989         option -e to sed.
26990         * modules/link-warning (Makefile.am): Likewise.
26991
26992 2009-12-10  Jim Meyering  <meyering@redhat.com>
26993
26994         mgetgroups: do not write bytes beyond end of malloc'd buffer
26995         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
26996         username, we call getgroups with a one-element-shorter buffer,
26997         but still told it the length was original, max_n_groups.
26998
26999 2009-12-09  Eric Blake  <ebb9@byu.net>
27000
27001         cloexec: relax license
27002         * modules/cloexec (Maintainer): Add myself.
27003         (License): Use LGPL, not GPL.
27004
27005         link-warning: optimize generation
27006         * modules/link-warning (Makefile.am): Reduce process usage.
27007
27008 2009-12-09  Bruno Haible  <bruno@clisp.org>
27009
27010         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
27011         workaround was added on 2009-11-17.
27012
27013 2009-12-09  Jim Meyering  <meyering@redhat.com>
27014             Bruno Haible  <bruno@clisp.org>
27015
27016         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
27017         * modules/link-warning (Makefile.am): Make the comment-removing sed
27018         command more robust in the face of bootstrap-prepended comment lines.
27019
27020 2009-12-09  Bruno Haible  <bruno@clisp.org>
27021
27022         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
27023         most one group.
27024
27025 2009-12-09  Simon Josefsson <simon@josefsson.org>
27026             Bruno Haible  <bruno@clisp.org>
27027
27028         * build-aux/link-warning.h: Add copyright notice.
27029         * modules/link-warning (Makefile.am): Generate link-warning.h from
27030         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
27031         * NEWS: Mention change in link-warning module.
27032         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
27033         * modules/dirent (Makefile.am): Add dependency to dirent.h.
27034         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
27035         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
27036         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
27037         * modules/math (Makefile.am): Add dependency to math.h.
27038         * modules/search (Makefile.am): Add dependency to search.h.
27039         * modules/signal (Makefile.am): Add dependency to signal.h.
27040         * modules/spawn (Makefile.am): Add dependency to spawn.h.
27041         * modules/stdio (Makefile.am): Add dependency to stdio.h.
27042         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
27043         * modules/string (Makefile.am): Add dependency to string.h.
27044         * modules/strings (Makefile.am): Add dependency to strings.h.
27045         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
27046         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
27047         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
27048         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
27049         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
27050         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
27051         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
27052         * modules/unistd (Makefile.am): Add dependency to unistd.h.
27053         * modules/wchar (Makefile.am): Add dependency to wchar.h.
27054
27055 2009-12-09  Bruno Haible  <bruno@clisp.org>
27056
27057         fchdir: Optimize away rpl_fstat when possible.
27058         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
27059         REPLACE_OPEN_DIRECTORY.
27060         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
27061
27062 2009-12-09  Bruno Haible  <bruno@clisp.org>
27063
27064         * lib/fchdir.c: Update comment.
27065
27066 2009-12-09  Bruno Haible  <bruno@clisp.org>
27067
27068         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
27069
27070 2009-12-08  Eric Blake  <ebb9@byu.net>
27071
27072         fchdir: avoid memory leak on re-registration.
27073         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
27074
27075 2009-12-08  Jim Meyering  <meyering@redhat.com>
27076
27077         init.sh: avoid Solaris 10 /bin/sh portability problem
27078         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
27079         sourced script:
27080           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
27081           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
27082           bar
27083         tests/init.sh relied on that, accepting a --set-path=DIR argument,
27084         and two tests used that idiom.
27085         * tests/init.sh: Update suggested usage comments.
27086         (path_prepend_): New function, to be used in place
27087         of the --src-path=DIR option.
27088         (setup_): Move PATH-prepending code into path_prepend_.
27089         * tests/test-pread.sh: Adapt to new usage.
27090         * tests/test-xalloc-die.sh: Likewise.
27091
27092 2009-12-08  Simon Josefsson  <simon@josefsson.org>
27093
27094         * doc/gnulib.texi (Glibc pty.h): Add.
27095         * doc/glibc-functions/forkpty.texi: Add.
27096         * doc/glibc-functions/openpty.texi: Add.
27097         Suggested by Bruno Haible.
27098
27099 2009-12-08  Eric Blake  <ebb9@byu.net>
27100
27101         fchdir: fix logic bugs
27102         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
27103         * tests/test-fchdir.c (main): Enhance test.
27104         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
27105         is in use.
27106
27107         dup2: fix logic bugs
27108         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
27109         REPLACE_DUP2 to decide when rpl_dup2 is needed.
27110         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
27111         exists.
27112         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
27113
27114 2009-12-07  Eric Blake  <ebb9@byu.net>
27115
27116         unlink: fix m4 detection
27117         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
27118
27119         unistd-safer: add unit test
27120         * modules/unistd-safer-tests: New file.
27121         * tests/test-dup-safer.c: Likewise.
27122         * tests/test-cloexec.c (setmode): Avoid compiler warning.
27123         * tests/test-dup2.c (setmode): Likewise.
27124         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
27125
27126         cloexec: preserve text vs. binary across dup_cloexec
27127         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
27128         mode.
27129         * modules/dup2-tests (Depends-on): Add binary-io.
27130         * modules/cloexec-tests (Depends-on): Likewise.
27131         * tests/test-dup2.c (setmode, is_mode): New helpers.
27132         (main): Add tests that translation mode is preserved.
27133         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
27134         Reported by Bruno Haible.
27135
27136         mgetgroups: reduce duplicate listings
27137         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
27138         resulting array.
27139         * tests/test-chown.h (test_chown): Simplify client.
27140         * tests/test-lchown.h (test_lchown): Likewise.
27141
27142 2009-12-06  Bruno Haible  <bruno@clisp.org>
27143
27144         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
27145         value.
27146
27147 2009-12-06  Bruno Haible  <bruno@clisp.org>
27148
27149         * lib/progname.c: Include stdio.h, stdlib.h.
27150         (set_program_name): Reject a NULL argument.
27151
27152 2009-12-05  Eric Blake  <ebb9@byu.net>
27153
27154         pipe2-safer: new module
27155         * modules/pipe2-safer: New file.
27156         * lib/unistd-safer.h (pipe2_safer): New prototype.
27157         * lib/unistd--.h (pipe2): New wrapper.
27158         * lib/pipe-safer.c (pipe2_safer): New function.
27159         * modules/pipe (Depends-on): Add pipe2-safer.
27160         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
27161
27162         stdlib-safer: preserve cloexec flag for mkostemp[s]
27163         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
27164         fd_safer_flag.
27165
27166         unistd-safer: allow preservation of cloexec status via flag
27167         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
27168         prototypes.
27169         * lib/dup-safer.c (dup_safer_flag): New function.
27170         * lib/fd-safer.c (fd_safer_flag): Likewise.
27171         * modules/cloexec (configure.ac): Set witness.
27172
27173         test-dup2: enhance test
27174         * modules/dup2-tests (Depends-on): Add cloexec.
27175         * tests/test-dup2.c (main): Enhance test.
27176
27177         cloexec: add dup_cloexec
27178         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
27179         header and comments.
27180         * lib/cloexec.c (set_cloexec_flag): Add comments.
27181         (dup_cloexec): New function, with mingw implementation borrowed
27182         from...
27183         * lib/w32spawn.h (dup_noinherit): ...here.
27184         * modules/execute (Depends-on): Add cloexec.
27185         * modules/pipe (Depends-on): Likewise.
27186         * modules/cloexec (Depends-on): Add dup2.
27187         * modules/cloexec-tests (Files): New file.
27188         * tests/test-cloexec.c: Likewise.
27189
27190         test-xalloc-die: fix test for mingw
27191         * modules/xalloc-die-tests (Files): Add tests/init.sh.
27192         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
27193         directory and .exe suffix off argv[0] output.
27194
27195         test-fseeko: fix test for mingw
27196         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
27197         than undefining fseek, so test will pass on mingw.
27198
27199 2009-12-05  Bruno Haible  <bruno@clisp.org>
27200
27201         * lib/progname.h (set_program_name): Clarify specification.
27202         * lib/progname.c (set_program_name): Likewise.
27203         Reported by Jim Meyering.
27204
27205 2009-12-05  Jim Meyering  <meyering@redhat.com>
27206
27207         maint.mk: backslash-escape parens in default regexp
27208         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
27209         backslash-escape the literal parentheses.
27210
27211         maint.mk: news-date-check: use grep -E
27212         * top/maint.mk (today): Define a Make variable, not a...
27213         (news-date-check): ...shell variable.
27214         (news-date-regexp): Use the Make variable.
27215         Use grep's -E option.  Change the failing diagnostic to mention
27216         the variable, $(news-date-regexp).
27217
27218 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
27219
27220         maintainer-makefile: allow customization of NEWS entry format
27221         * top/maint.mk (news-date-regexp): New overridable variable.
27222         (news-date-check): Use it.
27223
27224 2009-12-04  Eric Blake  <ebb9@byu.net>
27225
27226         mgetgroups: add xgetgroups, and avoid ENOSYS failures
27227         * lib/mgetgroups.h (xgetgroups): New prototype.
27228         * lib/mgetgroups.c (xgetgroups): New wrapper.
27229         (mgetgroups): Handle ENOSYS.
27230         * modules/mgetgroups (Depends-on): Add realloc.
27231         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
27232
27233         mgetgroups: avoid argument promotion issues with -1
27234         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
27235         for invalid gid_t.
27236         * tests/test-chown.h (getegid, test_chown): Likewise.
27237         * tests/test-lchown.h (getegid, test_lchown): Likewise.
27238
27239 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
27240
27241         exclude: Fix header file problems.
27242         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
27243
27244 2009-12-01  Jim Meyering  <meyering@redhat.com>
27245
27246         fts: fts_open: do not let an empty string cause immediate failure
27247         This is required in support of GNU rm, for which the command
27248         "rm A '' B" must process and remove both A and B, in spite of
27249         the empty string argument.
27250         * lib/fts.c (fts_open): Do not let the presence of an empty string
27251         cause fts_open to fail immediately.  Most fts-using tools must be
27252         able to process all arguments, in order, and can be expected to
27253         diagnose such arguments themselves.
27254
27255 2009-11-30  Eric Blake  <ebb9@byu.net>
27256
27257         utimens: fix compilation error
27258         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
27259         Declare variable at right scope.
27260
27261 2009-11-29  Jim Meyering  <meyering@redhat.com>
27262
27263         bootstrap: handle perl-5.11's changed --version output
27264         * build-aux/bootstrap (get_version): Handle perl separately,
27265         since perl-5.11's --version output is different.
27266
27267 2009-11-28  Jim Meyering  <meyering@redhat.com>
27268
27269         userspec: depend on the inttostr module, too
27270         * modules/userspec (Depends-on): Add inttostr.
27271
27272         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
27273         * lib/userspec.c (parse_with_separator): Do not accept a user ID
27274         number of MAXUID when it evaluates to (uid_t) -1.
27275         Likewise for group ID.  Reported by Matt McCutchen in
27276         <http://savannah.gnu.org/bugs/?28113>
27277
27278         userspec: reformat to use spaces, not TABs
27279         * lib/userspec.c: Expand TABs to spaces.
27280         Add Emacs' "indent-tabs-mode: nil" hint.
27281
27282 2009-11-27  Eric Blake  <ebb9@byu.net>
27283
27284         getopt-gnu: flush out another BSD bug
27285         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
27286         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
27287         flush out BSD bug.
27288         * tests/test-getopt.h (test_getopt): End lists with NULL.
27289         * tests/test-getopt_long.h (test_getopt_long): Likewise.
27290         (test_getopt_long_posix): Enhance test.
27291         * modules/getopt-posix-tests (Depends-on): Add stdbool.
27292         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
27293         getopt-gnu.
27294         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
27295         Likewise.
27296
27297 2009-11-27  Simon Josefsson  <simon@josefsson.org>
27298
27299         * modules/idpriv-droptemp-tests (Notice): Fix text.
27300
27301 2009-11-27  Jim Meyering  <meyering@redhat.com>
27302
27303         test-xalloc-die: avoid spurious failure due to libtool argv difference
27304         In a libtool-enabled project, this test would fail due to a difference
27305         in the emitted program name, e.g.,
27306         -test-xalloc-die: memory exhausted
27307         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
27308         Use program to avoid that.
27309         * modules/xalloc-die-tests (Depends-on): Add progname.
27310         * tests/test-xalloc-die.c: Include progname.h".
27311         (program_name): Remove decl.
27312         (main): Call set_program_name.
27313         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
27314
27315 2009-11-26  Richard Jones  <rjones@redhat.com>
27316
27317         w32sock: leave win32 error in place.
27318         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
27319
27320 2009-11-26  Eric Blake  <ebb9@byu.net>
27321
27322         init.sh: suggest to use skip_ and fail_ functions in comments
27323         * tests/init.sh: Add a sentence.
27324
27325 2009-11-25  Bruno Haible  <bruno@clisp.org>
27326
27327         init.sh: add documentation in comments
27328         * tests/init.sh: Add some developer and user documentation.
27329
27330 2009-11-26  Jim Meyering  <meyering@redhat.com>
27331
27332         init.sh: accommodate even those who specify bogus srcdir manually
27333         * tests/init.sh: Normally, srcdir is guaranteed by automake and
27334         configure-time tests to be sanitized, so that there is no need to
27335         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
27336         (with no double quotes) suffices.  However, since tests may be
27337         invoked manually, and since you may explicitly set srcdir to the
27338         name of a directory containing spaces, do quote its uses here.
27339         * tests/test-pread.sh: Likewise.
27340         Suggested by Bruno Haible.
27341
27342         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
27343         * tests/test-pread.sh: Write no data into the pipe, because
27344         test-pread actually reads none.  This avoids a diagnostic,
27345         "bash: echo: write error: Broken pipe", that arises in the unusual
27346         event something is ignoring SIGPIPE, and might be interpreted
27347         as some sort of failure.  Reported by Bruno Haible.
27348
27349 2009-11-25  Jim Meyering  <meyering@redhat.com>
27350
27351         test-pread: cover failure with ESPIPE and EINVAL
27352         * tests/test-pread.c (main): Test for failure, too.
27353         * tests/test-pread.sh: Invoke with stdin on a pipe.
27354         Suggested by Eric Blake.
27355
27356         pread: improvement and fix
27357         * modules/pread (Depends-on): Depend on lseek, for portability to
27358         e.g., mingw.  Suggested by Eric Blake.
27359         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
27360
27361         unistd.in.h: correct declaration of pread
27362         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
27363         Reported by Richard W.M. Jones.
27364
27365         test-pread.sh: distribute the test script
27366         * modules/pread-tests (Files): Include test-pread.sh.
27367
27368         test-pread.sh: clean up
27369         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
27370         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
27371         That is unnecessary, since it's always ".".
27372         Suggestion from Eric Blake.
27373
27374         test-pread.sh: make executable
27375         * tests/test-pread.sh: Set executable bit.
27376         Reported by Eric Blake.
27377
27378         correct typo in test-pread.sh
27379         * tests/test-pread.sh: Add #! line.
27380
27381         test pread
27382         * tests/test-pread.c: New file.
27383         * tests/test-pread.sh: Likewise.
27384         * modules/pread-tests: Likewise.
27385
27386         pread: new module
27387         * modules/pread: New file.
27388         * lib/unistd.in.h (pread): Define/declare.
27389         * lib/pread.c (pread): New file.
27390         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
27391         * modules/unistd (Makefile.am): Substitute witnesses.
27392         * doc/posix-functions/pread.texi (pread): Update.
27393         * MODULES.html.sh: Add pread.
27394
27395 2009-11-25  Jim Meyering  <meyering@redhat.com>
27396
27397         tests/init.sh: new file to be used via most *.sh tests
27398         * tests/init.sh: New file.
27399
27400 2009-11-25  Eric Blake  <ebb9@byu.net>
27401
27402         utimens: work around older Linux failure with symlinks
27403         * lib/utimens.c (lutimensat_works_really): New variable.
27404         (fdutimens, lutimens): Use it to manage kernels that support
27405         nanosecond times on files, but not on symlinks.
27406         Reported by OndÅ™ej Vašík.
27407
27408         utimes: fix configure grammar
27409         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
27410
27411 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
27412
27413         regex: Fix fastmap for multibyte character ranges.
27414         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
27415         characters when a multibyte character range is included.
27416
27417 2009-11-22  Andy Wingo  <wingo@pobox.com>
27418
27419         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
27420         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
27421
27422 2009-11-24  Bruno Haible  <bruno@clisp.org>
27423
27424         doc: Most *_l functions exist in MacOS X 10.5.
27425         * doc/posix-functions/duplocale.texi: Update platforms list.
27426         * doc/posix-functions/freelocale.texi: Likewise.
27427         * doc/posix-functions/newlocale.texi: Likewise.
27428         * doc/posix-functions/uselocale.texi: Likewise.
27429         * doc/posix-functions/isalnum_l.texi: Likewise.
27430         * doc/posix-functions/isalpha_l.texi: Likewise.
27431         * doc/posix-functions/isblank_l.texi: Likewise.
27432         * doc/posix-functions/iscntrl_l.texi: Likewise.
27433         * doc/posix-functions/isdigit_l.texi: Likewise.
27434         * doc/posix-functions/isgraph_l.texi: Likewise.
27435         * doc/posix-functions/islower_l.texi: Likewise.
27436         * doc/posix-functions/isprint_l.texi: Likewise.
27437         * doc/posix-functions/ispunct_l.texi: Likewise.
27438         * doc/posix-functions/isspace_l.texi: Likewise.
27439         * doc/posix-functions/isupper_l.texi: Likewise.
27440         * doc/posix-functions/iswalnum_l.texi: Likewise.
27441         * doc/posix-functions/iswalpha_l.texi: Likewise.
27442         * doc/posix-functions/iswblank_l.texi: Likewise.
27443         * doc/posix-functions/iswcntrl_l.texi: Likewise.
27444         * doc/posix-functions/iswctype_l.texi: Likewise.
27445         * doc/posix-functions/iswdigit_l.texi: Likewise.
27446         * doc/posix-functions/iswgraph_l.texi: Likewise.
27447         * doc/posix-functions/iswlower_l.texi: Likewise.
27448         * doc/posix-functions/iswprint_l.texi: Likewise.
27449         * doc/posix-functions/iswpunct_l.texi: Likewise.
27450         * doc/posix-functions/iswspace_l.texi: Likewise.
27451         * doc/posix-functions/iswupper_l.texi: Likewise.
27452         * doc/posix-functions/iswxdigit_l.texi: Likewise.
27453         * doc/posix-functions/isxdigit_l.texi: Likewise.
27454         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
27455         * doc/posix-functions/strcasecmp_l.texi: Likewise.
27456         * doc/posix-functions/strcoll_l.texi: Likewise.
27457         * doc/posix-functions/strfmon_l.texi: Likewise.
27458         * doc/posix-functions/strftime_l.texi: Likewise.
27459         * doc/posix-functions/strncasecmp_l.texi: Likewise.
27460         * doc/posix-functions/strxfrm_l.texi: Likewise.
27461         * doc/posix-functions/tolower_l.texi: Likewise.
27462         * doc/posix-functions/toupper_l.texi: Likewise.
27463         * doc/posix-functions/towctrans_l.texi: Likewise.
27464         * doc/posix-functions/towlower_l.texi: Likewise.
27465         * doc/posix-functions/towupper_l.texi: Likewise.
27466         * doc/posix-functions/wcscoll_l.texi: Likewise.
27467         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
27468         * doc/posix-functions/wctrans_l.texi: Likewise.
27469         * doc/posix-functions/wctype_l.texi: Likewise.
27470         * doc/glibc-functions/strptime_l.texi: Likewise.
27471         * doc/glibc-functions/strtod_l.texi: Likewise.
27472         * doc/glibc-functions/strtof_l.texi: Likewise.
27473         * doc/glibc-functions/strtol_l.texi: Likewise.
27474         * doc/glibc-functions/strtold_l.texi: Likewise.
27475         * doc/glibc-functions/strtoll_l.texi: Likewise.
27476         * doc/glibc-functions/strtoul_l.texi: Likewise.
27477         * doc/glibc-functions/strtoull_l.texi: Likewise.
27478         * doc/glibc-functions/wcsftime_l.texi: Likewise.
27479         * doc/glibc-functions/wcstod_l.texi: Likewise.
27480         * doc/glibc-functions/wcstof_l.texi: Likewise.
27481         * doc/glibc-functions/wcstol_l.texi: Likewise.
27482         * doc/glibc-functions/wcstold_l.texi: Likewise.
27483         * doc/glibc-functions/wcstoll_l.texi: Likewise.
27484         * doc/glibc-functions/wcstoul_l.texi: Likewise.
27485         * doc/glibc-functions/wcstoull_l.texi: Likewise.
27486
27487 2009-11-24  Bruno Haible  <bruno@clisp.org>
27488
27489         duplocale: Fix logic bug.
27490         * lib/duplocale.c: Don't include <langinfo.h>.
27491         (_NL_LOCALE_NAME): Remove macro.
27492         (rpl_duplocale): Use setlocale instead of nl_langinfo.
27493         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
27494
27495 2009-11-23  Jim Meyering  <meyering@redhat.com>
27496
27497         test-update-copyright: don't hard-code /usr/bin/perl
27498         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
27499         perl to print the current year.  Gilles Espinasse reported that
27500         the replaced use of perl was hard-coded as /usr/bin/perl.
27501
27502 2009-11-23  Bruno Haible  <bruno@clisp.org>
27503
27504         duplocale: Add support for glibc 2.3.x.
27505         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
27506
27507 2009-11-22  Bruno Haible  <bruno@clisp.org>
27508
27509         vasnprintf: Tiny optimization.
27510         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
27511         MacOS X.
27512
27513 2009-11-22  Bruno Haible  <bruno@clisp.org>
27514
27515         Tests for module 'duplocale'.
27516         * modules/duplocale-tests: New file.
27517         * tests/test-duplocale.c: New file.
27518
27519         New module 'duplocale'.
27520         * m4/duplocale.m4: New file.
27521         * lib/locale.in.h (duplocale): New declaration.
27522         * lib/duplocale.c: New file.
27523         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
27524         gl_LOCALE_H_DEFAULTS): New macros.
27525         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
27526         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
27527         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
27528         REPLACE_DUPLOCALE.
27529         * modules/duplocale: New file.
27530         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
27531
27532 2009-11-22  Bruno Haible  <bruno@clisp.org>
27533
27534         * modules/locale-tests (configure.ac): Test for newlocale function.
27535         * tests/test-locale.c: When the system has extended locale functions,
27536         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
27537
27538         locale: Make locale_t available when possible.
27539         * lib/locale.in.h: Include <xlocale.h> when it exists.
27540         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
27541         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
27542         * modules/locale (Depends-on): Add extensions.
27543         (Makefile.am): Also substitute HAVE_XLOCALE_H.
27544         * doc/posix-headers/locale.texi: Document the problem with locale_t.
27545
27546 2009-11-22  Bruno Haible  <bruno@clisp.org>
27547
27548         Add comments.
27549         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
27550         invocation.
27551         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
27552         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
27553         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
27554
27555 2009-11-22  Bruno Haible  <bruno@clisp.org>
27556
27557         error: account for the possibility of freopen (stdout).
27558         * lib/error.c: Include <unistd.h>.
27559         (flush_stdout): New function, extracted from error and error_at_line.
27560         Determine stdout's fd dynamically.
27561         (error, error_at_line): Invoke flush_stdout.
27562         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
27563         * modules/error (Depends-on): Add unistd.
27564
27565 2009-11-22  Bruno Haible  <bruno@clisp.org>
27566
27567         diffseq: Add comment.
27568         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
27569
27570 2009-11-22  Jim Meyering  <meyering@redhat.com>
27571
27572         c-stack: avoid defining an unused static function
27573         * lib/c-stack.c (find_stack_direction): Do not define this function
27574         when it will not be used.
27575
27576         diffseq: avoid spurious gcc warnings
27577         * lib/diffseq.h (IF_LINT2): Define.
27578         (compareseq): Use it to initialize two members of "part".
27579         This avoids two used-uninitialized warnings.
27580
27581 2009-11-21  Jim Meyering  <meyering@redhat.com>
27582
27583         c-stack: avoid "ignoring return value of `write'" warning
27584         * lib/c-stack.c: Include "ignore-value.h".
27585         (die): Explicitly ignore each write return value.
27586         * modules/c-stack (Depends-on): Add ignore-value.
27587
27588 2009-11-21  Bruno Haible  <bruno@clisp.org>
27589
27590         diffseq: reduce scope of variable 'best'.
27591         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
27592         variable, earlier used for two different purposes.
27593
27594 2009-11-21  Jim Meyering  <meyering@redhat.com>
27595
27596         diffseq: remove useless assignment to "best"
27597         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
27598         assignment.  At that point "best" is already guaranteed to be zero.
27599
27600 2009-11-20  Eric Blake  <ebb9@byu.net>
27601
27602         build: mention ftp redirector in release announcements
27603         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
27604         values that used to come from cfg.mk; mention FTP redirect URL.
27605         * build-aux/announce-gen: Mention the mirror list.
27606         Suggested by Karl Berry.
27607
27608         nanosleep: improve port to mingw
27609         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
27610         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
27611         LIB_NANOSLEEP, but only when needed.
27612         * modules/select (Link): Document LIBSOCKET.
27613         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
27614         enough.
27615
27616         nanosleep: work around cygwin bug
27617         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
27618         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
27619         bug.
27620         (getnow): Delete, not needed.
27621         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
27622         LIB_CLOCK_GETTIME.
27623         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
27624         clock-time, gettime.
27625         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
27626         bug.
27627         * modules/nanosleep-tests: New test.
27628         * tests/test-nanosleep.c: New file.
27629
27630         sleep: work around cygwin bug
27631         * lib/sleep.c (rpl_sleep): Work around the bug.
27632         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
27633         (gl_PREREQ_SLEEP): Delete unused macro.
27634         * modules/sleep (Depends-on): Add verify.
27635         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
27636         * modules/unistd (Makefile.am): Substitute witness.
27637         * lib/unistd.in.h (sleep): Update prototype.
27638         * doc/posix-functions/sleep.texi (sleep): Document the bug.
27639         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
27640         * modules/sleep-tests (Depends-on): Check for alarm.
27641
27642 2009-11-20  Jim Meyering  <meyering@redhat.com>
27643
27644         maint.mk: improve sc_prohibit_magic_number_exit
27645         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
27646         so it does not match uses like System.exit(1).
27647         Add comments showing how to correct all offenders.
27648
27649 2009-11-19  Eric Blake  <ebb9@byu.net>
27650
27651         xalloc-die-tests: add missing library
27652         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
27653
27654         test-xvasprintf: silence compiler warnings
27655         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
27656         empty string from gcc.
27657
27658 2009-11-19  Jim Meyering  <meyering@redhat.com>
27659
27660         xfreopen: new module, from coreutils
27661         * modules/xfreopen: New module.
27662         * lib/xfreopen.c: New file.
27663         * lib/xfreopen.h: New file.
27664         * MODULES.html.sh (File stream based Input/Output"): Add it.
27665
27666 2009-11-19  Eric Blake  <ebb9@byu.net>
27667
27668         manywarnings: depend on warnings
27669         * modules/manywarnings (Depends-on): Add warnings.
27670
27671         build: avoid compiler warnings
27672         * lib/select.c (rpl_select): Delete unused variable.
27673         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
27674
27675 2009-11-18  Eric Blake  <ebb9@byu.net>
27676
27677         tests: avoid false negative with --with-packager
27678         * tests/test-version-etc.sh: Discard packager information.
27679         * tests/test-argp-version-etc-1.sh: Likewise.
27680         Reported by Mike Frysinger.
27681
27682         utimens: fix regression on Solaris
27683         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
27684         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
27685         can only change fd timestamps via futimesat.  Instead, use an
27686         additional witness macro to avoid BSD bug.
27687         Reported by Jim Meyering.
27688
27689 2009-11-17  Eric Blake  <ebb9@byu.net>
27690
27691         usleep: use it to simplify tests
27692         * modules/stat-time-tests (Depends-on): Add usleep.
27693         (configure.ac): Drop usleep check.
27694         * modules/chown-tests (Depends-on, configure.ac): Likewise.
27695         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
27696         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
27697         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
27698         * modules/openat-tests (Depends-on, configure.ac): Likewise.
27699         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
27700         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
27701         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
27702         Likewise.
27703         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
27704         * tests/test-lchown.h (nap): Likewise.
27705         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
27706         * tests/test-stat-time.c (nap): Likewise.
27707         * tests/test-utimens-common.h (nap): Update comments.
27708
27709         usleep: new module
27710         * modules/usleep: New file.
27711         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
27712         * lib/usleep.c (usleep): Likewise.
27713         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
27714         * modules/unistd (Makefile.am): Substitute witnesses.
27715         * lib/unistd.in.h (usleep): Add declaration.
27716         * doc/pastposix-functions/usleep.texi (usleep): Document this.
27717         * MODULES.html.sh (Date and time): Likewise.
27718         * modules/usleep-tests (Depends-on): New test.
27719         * tests/test-usleep.c: New file.
27720
27721         chown: work around OpenBSD bug
27722         * lib/chown.c (rpl_chown): Work around the bug.
27723         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
27724         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
27725         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
27726         * modules/chown (Depends-on): Add stdbool.
27727         * modules/lchown (Depends-on): Likewise.
27728         * doc/posix-functions/chown.texi (chown): Document the bug.
27729         * doc/posix-functions/lchown.texi (lchown): Likewise.
27730         * tests/test-lchown.h (test_chown): Relax test.
27731
27732         mkstemp: avoid conflict with C++ keyword template
27733         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
27734         * lib/mkostemp.c (mkostemp): Likewise.
27735         * lib/mkostemps.c (mkostemps): Likewise.
27736         * lib/mkstemp.c (mkstemp): Likewise.
27737         * lib/mkstemps.c (mkstemps): Likewise.
27738
27739         xalloc-die-tests: optimize
27740         * tests/test-xalloc-die.sh: Reduce number of processes.
27741
27742 2009-11-17  Simon Josefsson  <simon@josefsson.org>
27743
27744         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
27745         patch from ludo@gnu.org (Ludovic Courtès).
27746
27747 2009-11-17  Jim Meyering  <meyering@redhat.com>
27748
27749         version-etc: use proper license string
27750         * modules/version-etc (License): Use LGPL, not LGPLv3+.
27751         * modules/version-etc-fsf: Likewise.
27752
27753 2009-11-17  Simon Josefsson  <simon@josefsson.org>
27754
27755         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
27756         printed to stdout.  Deal with EOL differences.
27757
27758 2009-11-17  Eric Blake  <ebb9@byu.net>
27759
27760         unsetenv: work around Solaris bug
27761         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
27762         * lib/unsetenv.c (rpl_unsetenv): Work around it.
27763         Reported by Jim Meyering.
27764
27765         vasnprintf: avoid compiler warnings
27766         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
27767         variables.
27768         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
27769
27770 2009-11-17  Simon Josefsson  <simon@josefsson.org>
27771
27772         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
27773         settings since xalloc-die is no longer the self test,
27774         xalloc-die.sh is.
27775
27776 2009-11-17  Jim Meyering  <meyering@redhat.com>
27777
27778         test-xalloc-die.sh: make the code agree with the commit log
27779         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
27780         at the end, just in case you happen to have a test-xalloc-die
27781         program in some other PATH directory.
27782
27783         test-xalloc-die.sh: fix a portability bug
27784         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
27785         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
27786         Otherwise, argv[0] (as often seen in diagnostics) would be too
27787         system-dependent, sometimes with, and sometimes without the leading "./".
27788
27789         version-etc-fsf: relax license to LGPLv3+
27790         * modules/version-etc-fsf (License): Relax license.
27791
27792 2009-11-16  Eric Blake  <ebb9@byu.net>
27793
27794         xalloc-die-tests: avoid printing null pointer
27795         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
27796         shell script.
27797         * tests/test-xalloc-die.c (program_name): Declare.
27798         * tests/test-xalloc-die.sh (tmpfiles): New file.
27799
27800         setenv, unsetenv: work around various bugs
27801         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
27802         (setenv) [HAVE_SETENV]: Work around bugs.
27803         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
27804         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
27805         for bugs.
27806         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
27807         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
27808         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
27809         * modules/stdlib (Makefile.am): Update substitutions.
27810         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
27811         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
27812         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
27813         * modules/setenv-tests: New test.
27814         * modules/unsetenv-tests: Likewise.
27815         * tests/test-setenv.c: New file.
27816         * tests/test-unsetenv.c: Likewise.
27817
27818 2009-11-16  Jim Meyering  <meyering@redhat.com>
27819
27820         version-etc: relax license to LGPLv3+
27821         * modules/version-etc (License): Relax license.
27822
27823         better AC_REQUIRE expanded-before-required-warning avoidance
27824         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
27825         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
27826         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
27827         which is no longer needed.
27828
27829 2009-11-16  Eric Blake  <ebb9@byu.net>
27830
27831         test-freading: clean up temporary file
27832         * tests/test-freading.c (main): Remove file on success, and use
27833         ASSERT more liberally.
27834         Reported by Jim Meyering.
27835
27836 2009-11-16  Jim Meyering  <meyering@redhat.com>
27837
27838         avoid new AC_REQUIRE expanded-before-required warnings
27839         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
27840         merely using it.
27841         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
27842         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
27843
27844 2009-11-15  Simon Josefsson  <simon@josefsson.org>
27845
27846         * tests/test-xalloc-die.c: New file.
27847         * modules/xalloc-die-tests: New file.
27848         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
27849         XFAIL_TESTS so it can be appended by modules.
27850
27851 2009-11-15  Simon Josefsson  <simon@josefsson.org>
27852
27853         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
27854         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
27855
27856 2009-11-14  Eric Blake  <ebb9@byu.net>
27857
27858         fnmatch: avoid compiler warning
27859         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
27860         to silence compiler warning about mismatch signedness in ?:.
27861         Reported by Robert Millan.
27862
27863         intprops: add double-inclusion guard
27864         * lib/intprops.h: Allow idempotent includes.
27865         Suggested by Bruce Korb.
27866
27867         openat: detect Solaris fchownat bug
27868         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
27869         penalizing glibc chownat when only lchownat is broken.
27870         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
27871         trailing slash bugs.
27872         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
27873         * modules/openat-tests (Files): Include more files.
27874         (Depends-on): Add mgetgroups, sleep, stat-time.
27875         (configure.ac): Add additional checks.
27876         (Makefile.am): Build new test.
27877         * tests/test-fchownat.c: New file.
27878
27879         lchown: detect Solaris and FreeBSD bug
27880         * lib/lchown.c (rpl_lchown): Work around bug.
27881         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
27882         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
27883         * modules/unistd (Makefile.am): Populate it.
27884         * lib/unistd.in.h (lchown): Update declaration.
27885         * doc/posix-functions/lchown.texi (lchown): Document the bug.
27886         * modules/lchown-tests: New file.
27887         * tests/test-lchown.h (test_lchown): Likewise.
27888         * tests/test-lchown.c (main): Likewise.
27889
27890         chown: detect Solaris and FreeBSD bug
27891         * lib/chown.c (rpl_chown): Work around bug.
27892         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
27893         (gl_PREREQ_CHOWN): Delete.
27894         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
27895         * modules/unistd (Makefile.am): Populate it.
27896         * lib/unistd.in.h (chown): Update declaration.
27897         * lib/lchown.c (chown): Update client.
27898         * modules/lchown (Depends-on): Add lstat.
27899         * doc/posix-functions/chown.texi (chown): Document the bug.
27900         * doc/posix-functions/getgroups.texi (getgroups): Document
27901         getgroups pitfall.
27902         * modules/chown-tests: New file.
27903         * tests/test-chown.h (test_chown): Likewise.
27904         * tests/test-chown.c (main): Likewise.
27905
27906 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
27907
27908         gnulib-tool: correctly detect absence of m4 directories
27909         * gnulib-tool: Avoid extra newline on data passed to wc -l.
27910
27911 2009-11-14  Jim Meyering  <meyering@redhat.com>
27912
27913         maint.mk: Prohibit inclusion of "xalloc.h" without use.
27914         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
27915
27916 2009-11-14  John W. Eaton  <jwe@gnu.org>
27917
27918         strftime.h: wrap funtion declaration in extern "C" block
27919         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
27920
27921 2009-11-13  Eric Blake  <ebb9@byu.net>
27922
27923         getgroups: avoid compiler warning
27924         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
27925
27926         getgroups: work around FreeBSD bug
27927         * lib/getgroups.c (rpl_getgroups): Work around the bug.
27928         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
27929         * doc/posix-functions/getgroups.texi (getgroups): Document it.
27930         * tests/test-getgroups.c (main): Fix buffer overrun.
27931
27932         getgroups: avoid compilation failure
27933         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
27934         * modules/getgroups (Depends-on): Add stdint.
27935
27936 2009-11-13  Jim Meyering  <meyering@redhat.com>
27937
27938         test-getgroups: avoid compilation failure
27939         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
27940
27941 2009-11-13  Eric Blake  <ebb9@byu.net>
27942
27943         mgetgroups: new module, taken from coreutils
27944         * modules/mgetgroups: New file.
27945         * lib/mgetgroups.h: Likewise.
27946         * lib/mgetgroups.c (mgetgroups): Likewise.
27947         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
27948         * MODULES.html.sh (Users and groups): Mention it.
27949
27950         getgroups: don't expose GETGROUPS_T to user
27951         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
27952         an element at a time if GETGROUPS_T is wrong size.
27953         * lib/getugroups.h (getugroups): Change signature.
27954         * lib/unistd.in.h (getgroups): Likewise.
27955         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
27956         signature needs fixing.
27957         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
27958         AC_TYPE_GETGROUPS.
27959         * modules/group-member (Depends-on): Add getgroups.
27960         * lib/group-member.c (group_info, get_group_info): Use gid_t.
27961         (group_member): Rely on getgroups replacement.
27962         * lib/getugroups.c (getugroups): Use gid_t.
27963         * tests/test-getgroups.c (main): Likewise.
27964         * NEWS: Mention the signature change.
27965         * doc/posix-functions/getgroups.texi (getgroups): Mention the
27966         problem with signature.
27967         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
27968         GETGROUPS_T is still useful for setgroups.
27969
27970         getgroups, getugroups: provide stubs for mingw
27971         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
27972         * lib/getugroups.c (getugroups): Likewise.
27973         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
27974         function.  Modernize replacement scheme.
27975         (gl_PREREQ_GETGROUPS): Delete.
27976         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
27977         * modules/getgroups (configure.ac): Declare witness.
27978         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
27979         * modules/unistd (Depends-on): Substitute witness.
27980         * lib/unistd.in.h (getgroups): Declare replacement.
27981
27982         getgroups: avoid calling exit
27983         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
27984         drop xalloc.
27985         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
27986         dependencies.
27987         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
27988         exiting, in the rare case of malloc failure.
27989
27990         getgroups: fix logic error
27991         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
27992         has more than 20 groups.
27993         * modules/getgroups-tests: New test.
27994         * tests/test-getgroups.c: New file.
27995
27996 2009-11-13  Simon Josefsson  <simon@josefsson.org>
27997
27998         * tests/test-base64.c: Improve.
27999
28000 2009-11-13  Simon Josefsson  <simon@josefsson.org>
28001
28002         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
28003         Blake <ebb9@byu.net>.
28004
28005 2009-11-13  Simon Josefsson  <simon@josefsson.org>
28006
28007         * tests/test-xvasprintf.c: Add %s%s related checks.
28008
28009 2009-11-12  Eric Blake  <ebb9@byu.net>
28010
28011         version-etc: match standards.texi style
28012         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
28013         and use <> only for URLs.
28014
28015 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
28016
28017         fts: do not fail on a submount during traversal
28018         * lib/fts.c (fts_build): Read the stat info again after opening
28019         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
28020         Original report at http://bugzilla.redhat.com/501848.
28021
28022 2009-11-12  Jim Meyering  <meyering@redhat.com>
28023
28024         bootstrap: sync from coreutils
28025         * build-aux/bootstrap (bootstrap_epilogue): New function.
28026         Use git_modules_config in one more place.  This make bootstrap's
28027         --gnulib-srcdir option more useful for testing.
28028
28029         bootstrap: generalize autoheader check
28030         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
28031         AC_CONFIG_HEADERS.
28032
28033 2009-11-11  Eric Blake  <ebb9@byu.net>
28034
28035         mkfifoat: use new modules for Solaris and BSD bugs
28036         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
28037         * lib/mkfifoat.c (mknodat): Split...
28038         * lib/mknodat.c (mknodat): ...into new file.
28039         * modules/mkfifoat (Files): Ship new file.
28040         (Depends-on): Add mkfifo, mknod.
28041         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
28042         (Depends-on): Add symlink.
28043         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
28044         redundant with test_mkfifo.h.
28045         (do_mkfifoat, do_mknodat): New helpers.
28046
28047         mknod: new module
28048         * modules/mknod: New file.
28049         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
28050         * lib/mknod.c (mknod): Likewise.
28051         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
28052         defaults.
28053         * modules/sys_stat (Makefile.am): Substitute them.
28054         * lib/sys_stat.in.h (mknod): Declare replacement.
28055         * MODULES.html.sh (Support for systems lacking POSIX:2008):
28056         Document it.
28057         * doc/posix-functions/mknod.texi (mknod): Likewise.
28058         * modules/mknod-tests: New test.
28059         * tests/test-mknod.c: Likewise.
28060
28061         mkfifo: new module
28062         * modules/mkfifo: New file.
28063         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
28064         * lib/mkfifo.c (mkfifo): Likewise.
28065         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
28066         defaults.
28067         * modules/sys_stat (Makefile.am): Substitute them.
28068         * lib/sys_stat.in.h (mkfifo): Declare replacement.
28069         * MODULES.html.sh (Support for systems lacking POSIX:2008):
28070         Document it.
28071         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
28072         * modules/mkfifo-tests: New test.
28073         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
28074         from test-mkfifoat.c.
28075         * tests/test-mkfifo.c: New file.
28076
28077         readlink: detect FreeBSD bug
28078         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
28079         slash on symlink.
28080         * doc/posix-functions/readlink.texi (readlink): Document the bug.
28081         * tests/test-readlink.h (test_readlink): Enhance test.
28082
28083         symlink: detect FreeBSD bug
28084         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
28085         slash on symlink.
28086         * doc/posix-functions/symlink.texi (symlink): Document the bug.
28087         * tests/test-symlink.h (test_symlink): Enhance test.
28088
28089 2009-11-10  Eric Blake  <ebb9@byu.net>
28090
28091         link: detect FreeBSD bug
28092         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
28093         symlink.
28094         * doc/posix-functions/link.texi (link): Document the bug.
28095         * tests/test-link.h (test_link): Enhance test.
28096         * tests/test-linkat.c (main): Update caller.
28097
28098         unlink, remove: detect FreeBSD bug
28099         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
28100         slash on symlink.
28101         * doc/posix-functions/unlink.texi (unlink): Document the bug.
28102         * doc/posix-functions/remove.texi (remove): Likewise.
28103         * tests/test-unlink.h (test_unlink): Enhance test.
28104         * tests/test-remove.c (main): Likewise.
28105
28106 2009-11-09  Eric Blake  <ebb9@byu.net>
28107
28108         rename: detect FreeBSD bug
28109         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
28110         slash on symlink.
28111         * modules/renameat-tests (Depends-on): Add filenamecat.
28112         * tests/test-rename.h (test_rename): Allow one more errno.
28113         * tests/test-renameat.c (main): Likewise.
28114         * doc/posix-functions/rename.texi (rename): Document the bug.
28115
28116         open: detect FreeBSD bug
28117         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
28118         symlink.
28119         * doc/posix-functions/open.texi (open): Document the bug.
28120         * doc/posix-functions/utimes.texi (utimes): Likewise.
28121         * tests/test-open.h (test_open): Add parameters, and test symlink
28122         handling.
28123         * tests/test-open.c (main): Adjust caller.
28124         * tests/test-fcntl-safer.c (main): Likewise.
28125         * modules/open-tests (Depends-on): Add stdbool, symlink.
28126         * modules/fcntl-safer-tests (Depends-on): Likewise.
28127         * tests/test-openat.c (main): Add test-open tests.
28128
28129         stat: detect FreeBSD bug
28130         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
28131         symlink.
28132         * doc/posix-functions/stat.texi (stat): Document the bug.
28133         * tests/test-stat.h (test_stat_func): Add argument.
28134         * tests/test-stat.c (main): Adjust caller.
28135         * tests/test-fstatat.c (main): Likewise.
28136         * modules/stat-tests (Depends-on): Add stdbool, symlink.
28137         Reported by Jim Meyering.
28138
28139 2009-11-09  James Youngman  <jay@gnu.org>
28140
28141         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
28142         * lib/strftime.c: Correct placement of #include "ignore-value.h".
28143
28144 2009-11-08  Jim Meyering  <meyering@redhat.com>
28145
28146         utimens: remove invalid futimesat call
28147         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
28148         It used the file descriptor of the target file as the DIR_FD
28149         parameter and NULL as the file name.  That caused failure with
28150         errno == EFAULT on FreeBSD-8.0-rc2
28151
28152 2009-11-07  Eric Blake  <ebb9@byu.net>
28153
28154         fflush, freadseek: use fseeko, not fseek
28155         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
28156         (clear_ungetc_buffer): Avoid potential problems on large files.
28157         * lib/freadseek.c (freadseek): Likewise.
28158         * modules/freadseek (Depends-on): Add fseeko.
28159         * modules/fseek (configure.ac): Set a witness.
28160         * tests/test-fflush.c (main): Use fseeko.
28161         * tests/test-fpurge.c (fseek): Disable link warning.
28162         * tests/test-freadable.c (fseek): Likewise.
28163         * tests/test-freading.c (fseek): Likewise.
28164         * tests/test-fseeko.c (fseek): Likewise.
28165         * tests/test-ftell.c (fseek): Likewise.
28166         * tests/test-ftello.c (fseek): Likewise.
28167         * tests/test-fwritable.c (fseek): Likewise.
28168         * tests/test-fwriting.c (fseek): Likewise.
28169
28170 2009-11-06  Simon Josefsson  <simon@josefsson.org>
28171
28172         * modules/memchr (Depends-on): Drop getpagesize dependency.
28173
28174 2009-11-06  Simon Josefsson  <simon@josefsson.org>
28175
28176         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
28177         Reported by Ludovic Courtès.
28178         * build-aux/pmccabe2html: Improve example usage.
28179         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
28180
28181 2009-11-06  Jim Meyering  <meyering@redhat.com>
28182
28183         do-release-commit-and-tag: New module.
28184         Automate the release-commit and tag process.
28185         * build-aux/do-release-commit-and-tag: New script, from coreutils.
28186         * modules/do-release-commit-and-tag: New file.
28187         * MODULES.html.sh (Support for maintaining and releasing): Add it.
28188
28189 2009-11-06  Simon Josefsson  <simon@josefsson.org>
28190
28191         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
28192         because test-select.c uses inet_pton.
28193
28194 2009-11-06  Simon Josefsson  <simon@josefsson.org>
28195
28196         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
28197         GETADDRINFO_LIB.  Bump serial number.
28198         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
28199         Suggested by Eric Blake <ebb9@byu.net>.
28200
28201 2009-11-05  Eric Blake  <ebb9@byu.net>
28202
28203         strtod: detect darwin bug
28204         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
28205         Reported by Leo Davis.
28206
28207         freopen-safer: new module
28208         * modules/freopen-safer: New module.
28209         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
28210         * lib/freopen-safer.c (freopen_safer): New file.
28211         * lib/stdio-safer.h (freopen_safer): New declaration.
28212         * lib/stdio--.h (freopen): New override.
28213         * MODULES.html.sh (File stream based Input/Output): Mention it.
28214         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
28215         freopen-safer module.
28216         * doc/posix-functions/stderr.texi (stderr): Likewise.
28217         * doc/posix-functions/stdin.texi (stdin): Likewise.
28218         * doc/posix-functions/stdout.texi (stdout): Likewise.
28219         * modules/freopen-safer-tests: New test.
28220         * tests/test-reopen-safer.c: New file.
28221
28222 2009-11-05  Jim Meyering  <meyering@redhat.com>
28223
28224         maint.mk: Prohibit inclusion of "close-stream.h" without use.
28225         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
28226
28227 2009-11-05  Simon Josefsson  <simon@josefsson.org>
28228
28229         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
28230
28231 2009-11-05  Simon Josefsson  <simon@josefsson.org>
28232
28233         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
28234
28235 2009-11-05  Simon Josefsson  <simon@josefsson.org>
28236
28237         Fix link error.
28238         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
28239         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
28240
28241 2009-11-05  Simon Josefsson  <simon@josefsson.org>
28242
28243         * tests/test-func.c: Also test value of __func__.
28244
28245 2009-11-05  Simon Josefsson  <simon@josefsson.org>
28246
28247         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
28248         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
28249
28250 2009-11-05  Bruno Haible  <bruno@clisp.org>
28251
28252         Fix link error.
28253         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
28254         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
28255         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
28256
28257 2009-11-05  Bruno Haible  <bruno@clisp.org>
28258
28259         Tests for module 'inet_pton'.
28260         * modules/inet_pton-tests: New file.
28261         * tests/test-inet_pton.c: New file.
28262
28263 2009-11-05  Bruno Haible  <bruno@clisp.org>
28264
28265         Tests for module 'inet_ntop'.
28266         * modules/inet_ntop-tests: New file.
28267         * tests/test-inet_ntop.c: New file.
28268
28269 2009-11-04  Eric Blake  <ebb9@byu.net>
28270
28271         stdlib-safer: wrap all mkstemp variants
28272         * modules/mkostemp (configure.ac): Set witness.
28273         * modules/mkostemps (configure.ac): Likewise.
28274         * modules/mkstemps (configure.ac): Likewise.
28275         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
28276         (mkstemps_safer): Wrap more functions.
28277         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
28278         wrapping.
28279         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
28280         (mkstemps_safer): Implement the wrappers.
28281
28282         mkstemps, mkostemps: new modules
28283         * modules/mkostemps: New module.
28284         * modules/mkstemps: Likewise.
28285         * lib/mkostemps.c (mkostemps): New file.
28286         * lib/mkstemps.c (mkstemps): Likewise.
28287         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
28288         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
28289         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
28290         * modules/stdlib (Makefile.am): Substitute them.
28291         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
28292         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
28293         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
28294         * doc/gnulib.texi (Glibc stdlib.h): Include them.
28295         * MODULES.html.sh (File system functions): Mention them.
28296
28297         tempname: resync from glibc
28298         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
28299         same values for __GT_FILE as glibc.  Abort even when assertions
28300         are disabled.
28301         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
28302         match its value otherwise.  Allow idempotent inclusion.
28303         * lib/mkdtemp.c (mkdtemp): Adjust caller.
28304         * lib/mkostemp.c (mkostemp): Likewise.
28305         * lib/mkstemp.c (mkstemp): Likewise.
28306         * lib/tmpfile.c (tmpfile): Likewise.
28307         * NEWS: Document this.
28308
28309         utimens: fix use of futimens on older Linux
28310         * lib/utimens.c (fdutimens): Use updated, rather than original,
28311         timespec to avoid bug in older Linux kernel.
28312         Reported by Simon Josefsson.
28313
28314 2009-11-04  Bruno Haible  <bruno@clisp.org>
28315
28316         Make num_processors more flexible and consistent.
28317         * lib/nproc.h (enum nproc_query): New type.
28318         (num_processors): Add a 'query' argument.
28319         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
28320         (num_processors): Add a 'query' argument. Test the value of the
28321         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
28322         mingw, count the number of CPUs available for the current process.
28323         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
28324         Check for sched_getaffinity and sched_getaffinity_np.
28325         * modules/nproc (Depends-on): Add c-ctype, extensions.
28326         * NEWS: Mention the change.
28327
28328 2009-11-03  Bruno Haible  <bruno@clisp.org>
28329
28330         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
28331
28332 2009-11-03  Jim Meyering  <meyering@redhat.com>
28333
28334         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
28335         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
28336         if it is defined.
28337
28338 2009-11-02  Eric Blake  <ebb9@byu.net>
28339
28340         mktime, timegm: share common declaration
28341         * lib/mktime-internal.h: New file.
28342         * lib/mktime.c: Use it rather than open-coding a declaration.
28343         * lib/timegm.c: Likewise.
28344         * modules/mktime (Files): Ship it.
28345         * modules/timegm (Files): Likewise.
28346         Suggested by Bruno Haible.
28347
28348         test-update-copyright: update test to match script changes
28349         * tests/test-update-copyright.sh: Avoid hard-coding perl
28350         location.  Don't update *.bak created by earlier runs.
28351
28352 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
28353             Simon Josefsson  <simon@josefsson.org>
28354             Bruno Haible  <bruno@clisp.org>
28355
28356         Fix link error on Solaris 8.
28357         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
28358         also in libnsl. Define also INET_PTON_LIB.
28359         * modules/inet_pton (Link): New section.
28360
28361 2009-11-02  Simon Josefsson  <simon@josefsson.org>
28362             Bruno Haible  <bruno@clisp.org>
28363
28364         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
28365         * modules/inet_ntop (Link): New section.
28366         Reported by Boyan Kasarov <bkasarov@gmail.com>.
28367
28368 2009-11-02  Eric Blake  <ebb9@byu.net>
28369
28370         maint: avoid compiler warnings in m4 macros
28371         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
28372         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
28373
28374 2009-11-02  Simon Josefsson  <simon@josefsson.org>
28375
28376         * m4/pmccabe2html.m4: Remove file.
28377         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
28378         function.  Change maintainer.
28379         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
28380         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
28381         Courtès).
28382
28383 2009-10-31  Eric Blake  <ebb9@byu.net>
28384
28385         fseeko: fix m4 regression
28386         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
28387         regression from 2009-10-27.
28388         Reported by Ralf Wildenhues.
28389
28390 2009-10-31  Jim Meyering  <meyering@redhat.com>
28391
28392         inttostr: aesthetics and improved (compile-time) safety
28393         Define inttype_is_signed rather than inttype_is_unsigned,
28394         since the sole use is via "#if inttype_is_signed".
28395         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
28396         inttype_is_unsigned.
28397         * lib/offtostr.c (inttype_is_signed): Likewise.
28398         * lib/uinttostr.c (inttype_is_signed): Likewise.
28399         * lib/umaxtostr.c (inttype_is_signed): Likewise.
28400         * lib/inttostr.c (inttostr): Use verify to cross-check the
28401         inttype_is_signed value and the signedness of the actual type.
28402         * modules/inttostr (Depends-on): Add verify.
28403
28404 2009-10-30  Eric Blake  <ebb9@byu.net>
28405
28406         build: avoid compiler warnings
28407         * lib/fchmodat.c (lchmod): Mark unused variables.
28408         * lib/getopt.c (_getopt_initialize): Likewise.
28409         * lib/mktime.c (__mktime_internal): Provide prototype.
28410         * lib/inttostr.c (inttostr): Avoid compiler warning even with
28411         older gcc that do not understand #pragma GCC diagnostic.
28412         * lib/uinttostr.c (inttype_is_unsigned): Define.
28413         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
28414
28415 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
28416
28417         stat: fix compilation on AIX
28418         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
28419         only see struct stat64.
28420
28421 2009-10-30  Eric Blake  <ebb9@byu.net>
28422
28423         exclude: make more robust
28424         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
28425         rather than masking a coding bug.
28426         Suggested by Bruno Haible.
28427
28428 2009-10-30  Jim Meyering  <meyering@redhat.com>
28429
28430         perl scripts: remove #!/usr/bin/perl in favor of more portable...
28431         Rather than putting #!/usr/bin/perl on the first line,
28432         start with a variant of what's recommended by "man perlrun" that
28433         invokes the first "perl" program from your shell's search path.
28434         * build-aux/gitlog-to-changelog: Replace #!... as above.
28435         Add a "Local Variables" perl mode setting.
28436         Prompted by a patch from Ludovic Courtès.
28437         Improved by Eric Blake.
28438         * build-aux/useless-if-before-free: Likewise.
28439         * build-aux/announce-gen: Likewise.
28440         * build-aux/update-copyright: Likewise.
28441
28442 2009-10-29  Eric Blake  <ebb9@byu.net>
28443
28444         filenamecat-lgpl: adjust clients
28445         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
28446         filenamecat.
28447         * modules/renameat (Depends-on): Likewise.
28448
28449         filenamecat: split into filenamecat-lgpl
28450         * modules/filenamecat-lgpl: New module.
28451         * modules/filenamecat (Files): Move library-safe files into
28452         filenamecat-lgpl.
28453         (Depends-on): Add filenamecat-lgpl.
28454         (configure.ac): Declare witness.
28455         * lib/filenamecat.h (file_name_concat): Only declare when using
28456         GPL module.
28457         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
28458         Move...
28459         * lib/filenamecat-lgpl.c: ...into new file.
28460         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
28461         (gl_FILE_NAME_CONCAT): Use it.
28462         * MODULES.html.sh (File system functions): Mention new module.
28463
28464         argp: avoid memory leak
28465         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
28466         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
28467         base_name, since the latter malloc()s and can call exit().
28468         Leak introduced 2006-07-03.
28469
28470         dirname-lgpl: adjust clients that don't need full dirname
28471         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
28472         * modules/filenamecat (Depends-on): Likewise.
28473         * modules/linkat (Depends-on): Likewise.
28474         * modules/mkancesdirs (Depends-on): Likewise.
28475         * modules/mkdir (Depends-on): Likewise.
28476         * modules/openat (Depends-on): Likewise.
28477         * modules/savewd (Depends-on): Likewise.
28478         * modules/rename (Depends-on): Likewise.
28479         (License): Relax license.
28480         * modules/mkdir-tests (Depends-on): Drop progname.
28481         (Makefile.am): Delete unneeded LDADD.
28482         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
28483
28484         dirname: split into dirname-lgpl
28485         * modules/dirname-lgpl: New module.
28486         * modules/dirname (Files): Move library-safe files into
28487         dirname-lgpl.
28488         (Depends-on): Add dirname-lgpl.
28489         (configure.ac): Declare witness.
28490         * modules/double-slash-root (License): Relax license.
28491         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
28492         module.
28493         * lib/dirname.c (dir_len, mdir_name): Move...
28494         * lib/dirname-lgpl.c: ...into new file.
28495         * lib/basename.c (last_component, base_len): Move...
28496         * lib/basename-lgpl.c: ...into new file.
28497         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
28498         (gl_DIRNAME): Use it.
28499         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
28500         Mention new module.
28501         * modules/dirname-tests (Depends-on): Add progname.
28502         * tests/test-dirname.c (program_name): Delete.
28503
28504         mkdir: make safe for libraries
28505         * modules/mkdir (Depends-on): Drop xalloc.
28506         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
28507         exit.
28508
28509         tests: avoid some compiler warnings
28510         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
28511         literals.
28512         * tests/test-memchr.c (main): Avoid type mismatch.
28513         * tests/test-arpa_inet.c (main): Avoid unused parameters.
28514         * tests/test-base64.c (main): Likewise.
28515         * tests/test-getdelim.c (main): Likewise.
28516         * tests/test-gethostname.c (main): Likewise.
28517         * tests/test-getline.c (main): Likewise.
28518         * tests/test-netinet_in.c (main): Likewise.
28519         * tests/test-select.c (open_server_socket, main): Likewise.
28520         * tests/test-select-stdin.c (main): Likewise.
28521         * tests/test-sockets.c (main): Likewise.
28522         * tests/test-strsignal.c (main): Likewise.
28523         * tests/test-sys_select.c (main): Likewise.
28524         * tests/test-sys_socket.c (main): Likewise.
28525         * tests/test-u64.c (main): Likewise.
28526         * tests/test-xfprintf-posix.c (main): Likewise.
28527         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
28528
28529         sockets: avoid compiler warning
28530         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
28531
28532         maint: detect usage(1) and other suspicious exits
28533         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
28534
28535 2009-10-29  Jim Meyering  <meyering@redhat.com>
28536
28537         timespec: long-to-int truncation could make timespec_cmp malfunction
28538         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
28539         a multiple of 2^32 nanoseconds as no difference.
28540
28541 2009-10-28  Jim Meyering  <meyering@redhat.com>
28542
28543         fprintftime: wrap macro code argument in "do {...} while(0)"
28544         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
28545         cpy macro must be a statement that can be followed by a semicolon.
28546         Now that the else clause contains a comment and is hence longer
28547         than one line, I require curly braces.  That in turn requires
28548         that we wrap this code block in the standard do...while(0).
28549
28550         fprintftime: remove stray semicolon from previous change
28551         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
28552
28553         fprintftime: avoid a warning about ignored fwrite return value
28554         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
28555         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
28556         that is unsafe.
28557         * modules/fprintftime (Depends-on): Add ignore-value.
28558
28559         exclude: avoid an unwarranted warning
28560         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
28561
28562 2009-10-27  Eric Blake  <ebb9@byu.net>
28563
28564         fseek: avoid compilation failure when fflush is replaced
28565         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
28566         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
28567         module is in use.
28568         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
28569         module is not in use; since REPLACE_FSEEK worked otherwise.
28570         (GNULIB_FTELLO): Likewise for ftell.
28571         Reported by Ian Beckwith and others.
28572
28573 2009-10-27  Bruno Haible  <bruno@clisp.org>
28574
28575         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
28576         Reported by Jim Meyering.
28577
28578 2009-10-27  Jim Meyering  <jim@meyering.net>
28579             Bruno Haible  <bruno@clisp.org>
28580
28581         Avoid warning despite dropping the return value of fwrite.
28582         * lib/unicodeio.c: Include ignore-value.h.
28583         (fwrite_success_callback): Explicitly ignore fwrite's return value.
28584         * modules/unicodeio (Depends-on): Add ignore-value.
28585
28586 2009-10-26  Eric Blake  <ebb9@byu.net>
28587
28588         areadlinkat: fix fallback path
28589         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
28590         pointer and zero.
28591
28592 2009-10-22  Pádraig Brady  <P@draigBrady.com>
28593
28594         Use a better IO block size for modern systems
28595         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
28596         * lib/md2.c: Likewise.
28597         * lib/md4.c: Likewise.
28598         * lib/md5.c: Likewise.
28599         * lib/sha1.c: Likewise.
28600         * lib/sha256.c: Likewise.
28601         * lib/sha512.c: Likewise.
28602
28603 2009-10-22  Eric Blake  <ebb9@byu.net>
28604
28605         tests: avoid several compiler warnings
28606         * tests/test-getcwd.c (main): Avoid buffer underflow.
28607         * tests/test-getdate.c (main): String literals are not safe with
28608         putenv, so use setenv.  Declare unused argument.
28609         * modules/getdate-tests (Depends-on): Add setenv.
28610         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
28611         problems with string literals in char *.
28612         * tests/test-hash.c (main): Avoid shadowing declaration.
28613         (insert_new): Treat string literals as char const *.
28614         * tests/test-getopt.h (test_getopt): Likewise.
28615         (getopt_loop): Alter types to minimize casting elsewhere.
28616         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
28617         (test_getopt_long_posix): Likewise.
28618         (do_getopt_long): Add wrapper to minimize casting.
28619         * tests/test-atexit.c (clear_temp_file): Use void.
28620         * tests/test-areadlink-with-size.c (main): Declare unused
28621         arguments.
28622         * tests/test-areadlink.c (main): Likewise.
28623         * tests/test-areadlinkat-with-size.c (main): Likewise.
28624         * tests/test-areadlinkat.c (main): Likewise.
28625         * tests/test-canonicalize-lgpl.c (main): Likewise.
28626         * tests/test-canonicalize.c (main): Likewise.
28627         * tests/test-dirent-safer.c (main): Likewise.
28628         * tests/test-dirname.c (main): Likewise.
28629         * tests/test-dup2.c (main): Likewise.
28630         * tests/test-fchdir.c (main): Likewise.
28631         * tests/test-fcntl-h.c (main): Likewise.
28632         * tests/test-fcntl-safer.c (main): Likewise.
28633         * tests/test-fdopendir.c (main): Likewise.
28634         * tests/test-fdutimensat.c (main): Likewise.
28635         * tests/test-fflush.c (main): Likewise.
28636         * tests/test-filenamecat.c (main): Likewise.
28637         * tests/test-filevercmp.c (main): Likewise.
28638         * tests/test-fopen-safer.c (main): Likewise.
28639         * tests/test-fopen.c (main): Likewise.
28640         * tests/test-fpending.c (main): Likewise.
28641         * tests/test-fpurge.c (main): Likewise.
28642         * tests/test-freading.c (main): Likewise.
28643         * tests/test-fstatat.c (main): Likewise.
28644         * tests/test-fsync.c (main): Likewise.
28645         * tests/test-futimens.c (main): Likewise.
28646         * tests/test-getndelim2.c (main): Likewise.
28647         * tests/test-gettimeofday.c (main): Likewise.
28648         * tests/test-getopt.c (main): Likewise.
28649         * tests/test-i-ring.c (main): Likewise.
28650         * tests/test-inttypes.c (main): Likewise.
28651         * tests/test-link.c (main): Likewise.
28652         * tests/test-lstat.c (main): Likewise.
28653         * tests/test-math.c (main): Likewise.
28654         * tests/test-md5.c (main): Likewise.
28655         * tests/test-memchr2.c (main): Likewise.
28656         * tests/test-memrchr.c (main): Likewise.
28657         * tests/test-mkdir.c (main): Likewise.
28658         * tests/test-mkdirat.c (main): Likewise.
28659         * tests/test-mkfifoat.c (main): Likewise.
28660         * tests/test-open.c (main): Likewise.
28661         * tests/test-openat-safer.c (main): Likewise.
28662         * tests/test-openat.c (main): Likewise.
28663         * tests/test-quotearg.c (main): Likewise.
28664         * tests/test-rawmemchr.c (main): Likewise.
28665         * tests/test-readlink.c (main): Likewise.
28666         * tests/test-remove.c (main): Likewise.
28667         * tests/test-rename.c (main): Likewise.
28668         * tests/test-renameat.c (main): Likewise.
28669         * tests/test-rmdir.c (main): Likewise.
28670         * tests/test-sha1.c (main): Likewise.
28671         * tests/test-signal.c (main): Likewise.
28672         * tests/test-sigaction.c (main): Likewise.
28673         * tests/test-stat.c (main): Likewise.
28674         * tests/test-stat-time.c (main): Likewise.
28675         * tests/test-stddef.c (main): Likewise.
28676         * tests/test-stdint.c (main): Likewise.
28677         * tests/test-stdio.c (main): Likewise.
28678         * tests/test-stdlib.c (main): Likewise.
28679         * tests/test-strchrnul.c (main): Likewise.
28680         * tests/test-strerror.c (main): Likewise.
28681         * tests/test-string.c (main): Likewise.
28682         * tests/test-strtod.c (main): Likewise.
28683         * tests/test-strverscmp.c (main): Likewise.
28684         * tests/test-symlink.c (main): Likewise.
28685         * tests/test-symlinkat.c (main): Likewise.
28686         * tests/test-sys_stat.c (main): Likewise.
28687         * tests/test-sys_time.c (main): Likewise.
28688         * tests/test-time.c (main): Likewise.
28689         * tests/test-unistd.c (main): Likewise.
28690         * tests/test-unlink.c (main): Likewise.
28691         * tests/test-unlinkat.c (main): Likewise.
28692         * tests/test-utimens.c (main): Likewise.
28693         * tests/test-utimensat.c (main): Likewise.
28694         * tests/test-version-etc.c (main): Likewise.
28695         * tests/test-wchar.c (main): Likewise.
28696         * tests/test-wctype.c (main): Likewise.
28697         * tests/test-xprintf-posix.c (main): Likewise.
28698         * tests/test-posixtm.c (main): Likewise.
28699         (STREQ): Delete unused macro.
28700         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
28701         shadowed variables.
28702         * tests/test-memchr.c (main): Likewise.
28703
28704 2009-10-21  Eric Blake  <ebb9@byu.net>
28705
28706         areadlinkat: avoid failure on older glibc
28707         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
28708         rather than mis-comparing 0 against FUNC_RESULT of char*.
28709
28710 2009-10-21  Bruno Haible  <bruno@clisp.org>
28711
28712         * modules/stpncpy (License): Relicense under LGPLv2+.
28713         Reported by David Lutterkort <lutter@redhat.com>.
28714
28715 2009-10-20  Eric Blake  <ebb9@byu.net>
28716
28717         utimensat: work around Solaris 9 bug
28718         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
28719         has trailing slash bugs.
28720         * tests/test-lutimens.h (test_lutimens): Enhance test.
28721         * tests/test-utimens.h (test_utimens): Likewise.
28722         * doc/posix-functions/utime.texi (utime): Enhance documentation.
28723         * doc/posix-functions/utimes.texi (utimes): Likewise.
28724         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
28725         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
28726         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
28727         * doc/posix-functions/futimens.texi (futimens): Likewise.
28728
28729         fdutimensat: new module
28730         * modules/fdutimensat: New file.
28731         * lib/fdutimensat.c (fdutimensat): Likewise.
28732         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
28733         * MODULES.html.sh (File system functions): Mention module.
28734         * modules/fdutimensat-tests: New test.
28735         * tests/test-fdutimensat.c: Likewise.
28736
28737         doc: regenerate INSTALL
28738         * doc/INSTALL: Reflect recent autoconf update.
28739         * doc/INSTALL.ISO: Likewise.
28740         * doc/INSTALL.UTF-8: Likewise.
28741
28742 2009-10-20  Pádraig Brady  <P@draigBrady.com>
28743
28744         acl: warn if ACL support is not detected
28745         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
28746
28747 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
28748
28749         * lib/nproc.h: Add extern "C" block for C++.
28750
28751 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
28752             Bruno Haible  <bruno@clisp.org>
28753
28754         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
28755         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
28756         * doc/posix-functions/isalpha.texi: Likewise.
28757         * doc/posix-functions/isblank.texi: Likewise.
28758         * doc/posix-functions/iscntrl.texi: Likewise.
28759         * doc/posix-functions/isdigit.texi: Likewise.
28760         * doc/posix-functions/isgraph.texi: Likewise.
28761         * doc/posix-functions/islower.texi: Likewise.
28762         * doc/posix-functions/isprint.texi: Likewise.
28763         * doc/posix-functions/ispunct.texi: Likewise.
28764         * doc/posix-functions/isspace.texi: Likewise.
28765         * doc/posix-functions/isupper.texi: Likewise.
28766         * doc/posix-functions/isxdigit.texi: Likewise.
28767
28768 2009-10-18  Bruno Haible  <bruno@clisp.org>
28769
28770         Tests for module 'isblank'.
28771         * modules/isblank-tests: New file.
28772         * tests/test-isblank.c: New file.
28773
28774         New module 'isblank'.
28775         * lib/isblank.c: New file.
28776         * m4/isblank.m4: New file.
28777         * modules/isblank: New file.
28778         * doc/posix-functions/isblank.texi: Mention the new module.
28779
28780 2009-10-18  Bruno Haible  <bruno@clisp.org>
28781
28782         New module 'ctype'.
28783         * lib/ctype.in.h: New file.
28784         * m4/ctype.m4: New file.
28785         * modules/ctype: New file.
28786         * doc/posix-headers/ctype.texi: Mention the new module.
28787
28788 2009-10-18  Jim Meyering  <meyering@redhat.com>
28789
28790         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
28791         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
28792         right after its initialization, rather than farther down.
28793         Keeping these in close proximity makes it easier to ensure
28794         that each such variable is initialized.  E.g.,
28795
28796             LIB_CLOCK_GETTIME=
28797             AC_SUBST([LIB_CLOCK_GETTIME])
28798
28799         This change also increments these serial numbers.
28800         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
28801         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
28802         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
28803
28804 2009-10-18  Bruno Haible  <bruno@clisp.org>
28805
28806         Don't let environment variables perturb build.
28807         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
28808         (gl_PREREQ_GETHRXTIME): ... not here.
28809
28810 2009-10-18  Bruno Haible  <bruno@clisp.org>
28811
28812         Avoid symlink attack in localcharset module.
28813         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
28814         (O_NOFOLLOW): Define fallback.
28815         (get_charset_aliases): Don't open the file if it is a symbolic link.
28816         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
28817         gl_FCNTL_H.
28818         (gl_FCNTL_H): Require it.
28819         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
28820         * modules/localcharset (Files): Add m4/fcntl_h.m4.
28821         Reported by Fergal Glynn <fglynn@veracode.com>.
28822
28823 2009-10-18  Bruno Haible  <bruno@clisp.org>
28824
28825         Implement nproc for mingw.
28826         * lib/nproc.c: Include <windows.h>
28827         (num_processors): On native Windows platforms, try GetSystemInfo.
28828
28829 2009-10-18  Bruno Haible  <bruno@clisp.org>
28830
28831         Implement nproc for IRIX.
28832         * lib/nproc.c: Include <sys/sysmp.h>.
28833         (num_processors): On IRIX systems, try sysmp.
28834         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
28835
28836 2009-10-18  Bruno Haible  <bruno@clisp.org>
28837
28838         Implement nproc for HP-UX.
28839         * lib/nproc.c: Include <sys/pstat.h>
28840         (num_processors): On HP-UX systems, try pstat_getdynamic.
28841         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
28842         pstat_getdynamic.
28843
28844 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
28845             Bruno Haible  <bruno@clisp.org>
28846
28847         Implement nproc for NetBSD, OpenBSD.
28848         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
28849         (ARRAY_SIZE): New macro.
28850         (num_processors): On BSD systems, try sysctl of HW_NCPU.
28851         * m4/nproc.m4: New file.
28852         * modules/nproc (Files): Add m4/nproc.m4.
28853         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
28854         (Makefile.am): Instead, augment lib_SOURCES.
28855
28856 2009-10-18  Bruno Haible  <bruno@clisp.org>
28857
28858         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
28859         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
28860         sys/param.h.
28861
28862 2009-10-16  Eric Blake  <ebb9@byu.net>
28863
28864         utimensat: new module
28865         * modules/utimensat: New file.
28866         * lib/utimensat.c (utimensat): Likewise.
28867         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
28868         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
28869         so we can work around Linux bugs.
28870         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
28871         * modules/sys_stat (Makefile.am): Substitute them.
28872         * lib/sys_stat.in.h (utimensat): Declare it.
28873         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
28874         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
28875         * modules/utimensat-tests: New test.
28876         * tests/test-utimensat.c: Likewise.
28877
28878         utimens: let lutimens work on non-symlinks
28879         * lib/utimens.c (lutimens): Fall back to utimens rather than
28880         failing with ENOSYS, when file is not a symlink.
28881         (utimens): Reduce redirection.
28882         * tests/test-lutimens.h (test_lutimens): Update test to cover
28883         non-symlinks.
28884         * tests/test-utimens.h (test_utimens): Update test to cover
28885         symlinks.
28886         * tests/test-utimens.c (main): Update caller.
28887
28888         utimens: cache whether utimensat syscall works
28889         * lib/utimens.c (utimensat_works_really): New cache variable.
28890         (fdutimens, lutimens): Use it to avoid failing syscall.
28891
28892         test-stat-time, test-utimens: improve portability
28893         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
28894         ext4 on alpha, and for cygwin.
28895         * tests/test-utimens-common.h: New file.
28896         (nap): Factor delays into single function.
28897         * tests/test-lutimens.h (test_lutimens): Use new header.
28898         * tests/test-futimens.h (test_futimens): Likewise.
28899         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
28900         timestamps to occur from same machine, as was done previously for
28901         test_utimens.
28902         * modules/utimens-tests (Files): Ship new file.
28903         * modules/futimens-tests (Files): Likewise.
28904         Reported in part by Jim Meyering.
28905
28906         sys_stat: sort replacement declarations
28907         * lib/sys_stat.in.h: Sort declarations.
28908         * lib/futimens.c (futimens): Fix typo.
28909
28910 2009-10-15  Jim Meyering  <meyering@redhat.com>
28911
28912         don't let environment settings perturb build
28913         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
28914         could cause a configure-time and/or build-time malfunction.
28915         Typically, a configure-time function-in-library test is performed
28916         via code like this:
28917
28918           LIB_VAR=
28919           AC_SUBST([LIB_VAR])
28920           prefix_saved_LIBS=$LIBS
28921             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
28922                        [test "$ac_cv_search_FUNC" = "none required" ||
28923                         LIB_VAR=$ac_cv_search_FUNC])
28924           LIBS=$prefix_saved_LIBS
28925
28926         However, in each of the files affected by this change, the LIB_VAR=
28927         initialization was omitted.  Thus, when set in the environment, its
28928         value would propagate into generated Makefiles when FUNC is not found
28929         in LIB_NAME.
28930         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
28931         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
28932         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
28933
28934 2009-10-14  Eric Blake  <ebb9@byu.net>
28935
28936         fchdir: avoid infinite recursion in mingw
28937         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
28938         recursing.
28939
28940         test-stat-time: port to mingw
28941         * tests/test-stat-time.c (force_unlink): Return a value.
28942         (test_ctime) [W32]: Fix compilation error.
28943         (nap): Don't call usleep with too large an argument.  Use
28944         force_unlink.
28945         * doc/pastposix-functions/usleep.texi (usleep): Document the
28946         portability issue.
28947
28948 2009-10-13  Jim Meyering  <meyering@redhat.com>
28949
28950         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
28951         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
28952         * modules/pipe-filter-ii: Likewise.
28953         * modules/sys_socket-tests: Likewise.
28954         * modules/tsearch-tests: Likewise.
28955         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
28956         (check): Depend on it.
28957
28958 2009-10-12  Eric Blake  <ebb9@byu.net>
28959
28960         utimens-tests: port to NFS file systems
28961         * tests/test-utimens.h (test_utimens): Refactor utimecmp
28962         comparisons to avoid spurious failures from timestamp drift
28963         between NFS machines.
28964
28965 2009-10-12  Eric Blake  <ebb9@byu.net>
28966
28967         stat-time-tests: minor cleanups
28968         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
28969         * tests/test-stat-time.c (nap): Separate assignment from call.
28970         Suggested by Paolo Bonzini and Bruno Haible.
28971
28972         sys_stat: guarantee struct timespec
28973         * lib/sys_stat.in.h (includes): Always include <time.h>
28974         * modules/sys_stat (Depends-on): Add time.
28975         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
28976         mode_t permission values.
28977         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
28978         get at subsecond timestamps.
28979
28980 2009-10-10  Eric Blake  <ebb9@byu.net>
28981
28982         futimens: new module
28983         * modules/futimens: New file.
28984         * lib/futimens.c (futimens): Likewise.
28985         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
28986         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
28987         we can work around Linux bugs.
28988         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
28989         * modules/sys_stat (Makefile.am): Substitute them.
28990         * lib/sys_stat.in.h (futimens): Declare it.
28991         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
28992         * doc/posix-functions/futimens.texi (futimens): Likewise.
28993         * modules/futimens-tests: New test.
28994         * tests/test-futimens.c: Likewise.
28995
28996         utimens: introduce fdutimens
28997         * lib/utimens.h (fdutimens): New prototype.
28998         * lib/utimens.c (gl_futimens): Move guts...
28999         (fdutimens): ...to new interface.
29000         * tests/test-utimens.c (do_fdutimens): Use it.
29001
29002         utimens: add UTIME_NOW and UTIME_OMIT support
29003         * lib/utimens.c (validate_timespec, update_timespec): New helper
29004         functions.
29005         (gl_futimens, lutimens): Use them.
29006         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
29007         stdbool, sys_stat.
29008         (Link): Mention resulting library dependency.
29009         * modules/utimecmp (Link): Likewise.
29010         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
29011         (Makefile.am): Pick up library dependency.
29012         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
29013         definition.
29014         * tests/test-sys_stat.c: Test the definitions.
29015         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
29016         * NEWS: Document library dependency.
29017
29018         utimecmp: support symlink timestamps
29019         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
29020         hashing when possible.  Use pathconf when available.
29021         (SYSCALL_RESOLUTION): Recognize tighter resolution.
29022         * modules/utimecmp (Depends-on): Add lstat.
29023
29024         utimens: add lutimens interface
29025         * lib/utimens.c (lutimens): New function.
29026         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
29027         * lib/utimens.h (lutimens): Declare new interface.
29028         * tests/test-utimens.c (main): Enhance test.
29029         * tests/test-lutimens.h (test_lutimens): New file.
29030         * modules/utimens-tests (Files): Distribute it.
29031         (Depends-on): Add symlink.
29032         (configure.ac): Check for usleep.
29033
29034         utimens: validate futimens usage
29035         * lib/utimens.c (gl_futimens): Require valid fd up front, using
29036         fewer syscalls on failure later on.  Avoid compiler warning on
29037         mingw.
29038         * modules/utimens (Depends-on): Add dup2.
29039
29040         utimens: add test
29041         * modules/utimens-tests: New test.
29042         * tests/test-utimens.h: New file.
29043         * tests/test-futimens.h: Likewise.
29044         * tests/test-utimens.c: Likewise.
29045
29046         doc: mention timestamp portability issues
29047         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
29048         instead.
29049         * doc/posix-functions/utime.texi (utime): Likewise.
29050         * doc/posix-functions/utimes.texi (utimes): Likewise.
29051         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
29052         instead.
29053         * doc/posix-functions/futimens.texi (futimens): Mention utimens
29054         module.
29055         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
29056         Mention weakness with symlink timestamps.
29057         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
29058         to utimensat/futimens instead.
29059         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
29060
29061         test-dup2: enhance test
29062         * tests/test-dup2.c (main): Also check AT_FDCWD.
29063
29064         test-stat-time: avoid more spurious failures
29065         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
29066         xfs; and avoid race if the two timestamps cross quantization edge.
29067
29068         relocatable: prefer 'file system' over 'filesystem'
29069         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
29070         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
29071         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
29072         * doc/relocatable.texi (Enabling Relocatability): Likewise.
29073         * lib/relocatable.c (compute_curr_prefix): Likewise.
29074
29075 2009-10-10  Jim Meyering  <meyering@redhat.com>
29076
29077         stat-time-tests: check for the usleep function
29078         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
29079
29080 2009-10-10  Bruno Haible  <bruno@clisp.org>
29081
29082         * modules/xnanosleep: Put the Link section after the Include section.
29083
29084 2009-10-09  Eric Blake  <ebb9@byu.net>
29085
29086         dup2: work around FreeBSD 6.1 bug
29087         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
29088         * doc/posix-functions/dup2.texi (dup2): Document it.
29089         Reported by Nelson H. F. Beebe and Jim Meyering.
29090
29091         test-stat-time: port to buggy NFS clients
29092         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
29093         (test_ctime): Also skip test if mtime and ctime are skewed.
29094
29095         maint: prefer 'file system' over 'filesystem'
29096         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
29097         * doc/posix-functions/lstat.texi (lstat): Likewise.
29098         * lib/file-has-acl.c (file_has_acl): Likewise.
29099         * lib/fwriteerror.c [TEST]: Likewise.
29100         * tests/test-areadlink.h (test_areadlink): Likewise.
29101         * tests/test-areadlinkat-with-size.c (main): Likewise.
29102         * tests/test-areadlinkat.c (main): Likewise.
29103         * tests/test-canonicalize-lgpl.c (main): Likewise.
29104         * tests/test-canonicalize.c (main): Likewise.
29105         * tests/test-fstatat.c (main): Likewise.
29106         * tests/test-linkat.c (main): Likewise.
29107         * tests/test-lstat.h (test_lstat_func): Likewise.
29108         * tests/test-mkdir.h (test_mkdir): Likewise.
29109         * tests/test-readlink.h (test_readlink): Likewise.
29110         * tests/test-remove.c (main): Likewise.
29111         * tests/test-rename.h (test_rename): Likewise.
29112         * tests/test-renameat.c (main): Likewise.
29113         * tests/test-rmdir.h (test_rmdir_func): Likewise.
29114         * tests/test-symlink.h (test_symlink): Likewise.
29115         * tests/test-symlinkat.c (main): Likewise.
29116         * tests/test-unlink.h (test_unlink_func): Likewise.
29117         * tests/test-unlinkat.c (main): Likewise.
29118
29119         maint: make realtime library usage explicit
29120         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
29121         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
29122         * modules/settime (Link): Likewise.
29123         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
29124
29125         test-stat-time: speed up execution
29126         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
29127         warning on mingw.
29128         (nap): New helper function.
29129         (prepare_test): Use it to reduce sleep time.
29130         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
29131         execution.
29132         * modules/stat-time-tests (configure.ac): Check for usleep.
29133
29134 2009-10-09  Jim Meyering  <meyering@redhat.com>
29135
29136         selinux-h: always use getfilecon wrappers
29137         * lib/getfilecon.c: New file.
29138         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
29139         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
29140         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
29141         (fgetfilecon): Provide a stub.
29142         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
29143         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
29144         file unconditionally.
29145         When <selinux/selinux.h> is found, arrange to use wrappers.
29146         * modules/selinux-h (Files): Add getfilecon.c.
29147         (Makefile.am): Substitute include-next-related bits
29148         into the now-always-generated selinux/selinux.h file.
29149         * doc/glibc-functions/lgetfilecon.texi: New file.
29150         * doc/glibc-functions/fgetfilecon.texi: New file.
29151         * doc/glibc-functions/getfilecon.texi: New file.
29152         * doc/glibc-functions/getfilecon-desc.texi: New file.
29153         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
29154         which to pull in the new files.
29155         * MODULES.html.sh (Misc): Add selinux-h.
29156
29157 2009-10-08  Jim Meyering  <meyering@redhat.com>
29158
29159         unistd: fix comment typo
29160         * lib/unistd.in.h (euidaccess): Fix a comment typo.
29161
29162 2009-10-08  Eric Blake  <ebb9@byu.net>
29163
29164         areadlink: use SIZE_MAX consistently
29165         * modules/areadlink (Depends-on): Add stdint.
29166         * modules/areadlink-with-size (Depends-on): Likewise.
29167         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
29168         gives NULL; drop sys/types, since unistd gives size_t; and add
29169         stdint for SIZE_MAX.
29170         (SIZE_MAX): Rely on headers.
29171         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
29172         and add stdint.
29173         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
29174         (SIZE_MAX): Likewise.
29175         (INITIAL_BUF_SIZE): Turn into enum.
29176         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
29177
29178 2009-10-08  Jim Meyering  <meyering@redhat.com>
29179
29180         areadlinkat: avoid compilation failure
29181         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
29182         Fix typo in comment.
29183
29184 2009-10-07  Eric Blake  <ebb9@byu.net>
29185
29186         areadlinkat-with-size: new module
29187         * modules/areadlinkat-with-size: New module.
29188         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
29189         * lib/areadlink.h (areadlinkat): Declare it.
29190         * MODULES.html.sh (File system functions): Mention it.
29191         * modules/areadlinkat-with-size-tests: New test.
29192         * tests/test-areadlinkat-with-size.c: New file.
29193
29194         xreadlinkat: new module
29195         * modules/xreadlinkat: New module.
29196         * lib/xreadlinkat.c (xreadlinkat): New file.
29197         * lib/xreadlink.h (xreadlinkat): Declare it.
29198         * MODULES.html.sh (File system functions): Mention it.
29199
29200         areadlinkat: new module
29201         * lib/at-func.c (FUNC_FAIL): New define.
29202         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
29203         * modules/areadlinkat: New module.
29204         * lib/linkat.c (areadlinkat): Move...
29205         * lib/areadlinkat.c (areadlinkat): ...to new file.
29206         * lib/areadlink.h (areadlinkat): Declare it.
29207         * modules/linkat (Depends-on): Add areadlinkat.
29208         * MODULES.html.sh (File system functions): Mention it.
29209         * modules/areadlinkat-tests: New test.
29210         * tests/test-areadlinkat.c: New file.
29211
29212         areadlink, areadlink-with-size: add tests
29213         * modules/areadlink-tests: New test.
29214         * modules/areadlink-with-size-tests: Likewise.
29215         * tests/test-areadlink.h: New file.
29216         * tests/test-areadlink.c: Likewise.
29217         * tests/test-areadlink-with-size.c: Likewise.
29218
29219         maint: minor cleanups
29220         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
29221         _UNUSED_PARAMETER_ instead.
29222         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
29223         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
29224         * modules/linkat-tests (Files): Distribute test-link.h.
29225
29226         openat, utimens: whitespace cleanup
29227         * lib/openat.c: Prefer space throughout, rather than mix of 8
29228         spaces vs. tabs.
29229         * lib/at-func.c: Likewise.
29230         * lib/utimens.c: Likewise.
29231
29232         openat: avoid using wrong fd
29233         * lib/openat.c (openat_permissive): Reject user's fd if saving the
29234         working directory chooses same fd.
29235         * lib/at-func.c (AT_FUNC_NAME): Likewise.
29236
29237         mkdir, mkdirat: fix cygwin 1.5.x bug
29238         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
29239         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
29240         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
29241         bug.
29242         (gl_PREREQ_MKDIR): Delete unused macro.
29243         * modules/mkdir (Files): Track file rename.
29244         (configure.ac): Update macro name.
29245         * modules/openat (Depends-on): Add mkdir.
29246         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
29247
29248         mkdir, mkdirat: add tests
29249         * modules/mkdir-tests: New test.
29250         * tests/test-mkdir.h: New file.
29251         * tests/test-mkdir.c: Likewise.
29252         * tests/test-mkdirat.c: Likewise.
29253         * modules/openat-tests (Files): Add new files.
29254         (Makefile.am): Run new test.
29255
29256 2009-10-06  Eric Blake  <ebb9@byu.net>
29257
29258         doc: tweak *at function documentation
29259         * doc/posix-functions/faccessat.texi (faccessat): Mention
29260         known issue with replacement.
29261         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
29262         * doc/posix-functions/linkat.texi (linkat): Likewise.
29263         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
29264         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
29265         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
29266         * doc/posix-functions/renameat.texi (renameat): Likewise.
29267         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
29268
29269         openat: fix GNU/Hurd bug in unlinkat
29270         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
29271         broken.
29272         * doc/posix-functions/unlink.texi (unlink): Document this.
29273         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
29274
29275         fdopendir: fix GNU/Hurd bug
29276         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
29277         allowing non-directory fds.
29278         * lib/fdopendir.c (rpl_fdopendir): Work around it.
29279         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
29280         * modules/dirent (Makefile.am): Substitute it.
29281         * lib/dirent.in.h (fdopendir): Declare replacement.
29282         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
29283         * tests/test-fdopendir.c (main): Test something other than
29284         /dev/null, since on Hurd that behaves like a directory.
29285
29286         test-symlink: port to GNU/Hurd
29287         * tests/test-symlink.h (test_symlink): Relax expected errno.
29288
29289         doc: tweak more cygwin information
29290         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
29291         now compatible with glibc.
29292         * doc/posix-functions/getopt.texi (getopt): Likewise.
29293
29294         getopt-gnu: add another test
29295         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
29296         guarantee behavior relied on by m4.
29297         * tests/test-getopt.c (main): Use it.
29298         * modules/getopt-posix-tests (Depends-on): Add setenv.
29299         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
29300
29301         getopt: fix compilation on darwin
29302         * lib/getopt.in.h (includes): Leave breadcrumbs during system
29303         include.
29304         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
29305         Reported by Ludovic Courtès.
29306
29307 2009-10-06  Bruno Haible  <bruno@clisp.org>
29308
29309         * modules/size_max (Description): Discourage its use.
29310         Reported by Simon Josefsson.
29311
29312 2009-10-06  Jim Meyering  <meyering@redhat.com>
29313
29314         linkat: avoid compilation failure
29315         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
29316
29317 2009-10-05  Eric Blake  <ebb9@byu.net>
29318
29319         linkat: support Linux 2.6.17
29320         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
29321         linkat on Linux, but allow cache variable override.
29322         * lib/linkat.c (rpl_linkat): Define override.
29323         * modules/linkat (Depends-on): Add symlinkat.
29324         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
29325         * modules/unistd (Makefile.am): Substitute it.
29326         * lib/unistd.in.h (linkat): Declare replacement.
29327         Reported by Pádraig Brady.
29328
29329         quotearg: port test to systems with C.UTF-8 locale
29330         * tests/test-quotearg.c (struct result_strings): Add another
29331         member, differentiating between C.ASCII and C.UTF-8 handling.
29332         (compare_strings): Add parameter.
29333         (main): Adjust all callers.
29334
29335         getopt: avoid clash with FreeBSD _getopt_internal
29336         * lib/getopt.in.h (_getopt_internal): Override the name.
29337         * lib/getopt_int.h (includes): Pick up any overrides.
29338         Reported by Reuben Thomas.
29339
29340         hash: allow C89 compilation
29341         * lib/hash.c (check_tuning): Move declaration before statement.
29342         Reported by Reuben Thomas.
29343
29344 2009-10-05  Karl Berry  <karl@gnu.org>
29345
29346         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
29347
29348 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
29349             Bruno Haible  <bruno@clisp.org>
29350
29351         * lib/uname.c (uname): Use a table-driven algorithm to compute
29352         Windows NT versions.
29353
29354 2009-10-04  Bruno Haible  <bruno@clisp.org>
29355
29356         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
29357         program_invocation_short_name.
29358         * modules/progname (configure.ac): Test for presence of
29359         program_invocation_short_name.
29360         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
29361
29362 2009-10-04  Bruno Haible  <bruno@clisp.org>
29363
29364         * lib/progname.c (set_program_name): Fix comment.
29365         Reported by Jim Meyering.
29366
29367 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
29368             Bruno Haible  <bruno@clisp.org>
29369
29370         * lib/uname.c: Include <string.h>.
29371         (uname): Do only one call to GetVersionEx in the common case.
29372
29373 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
29374             Bruno Haible  <bruno@clisp.org>
29375
29376         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
29377         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
29378         (uname): Add support for Windows CE and various non-x86 CPU types.
29379
29380 2009-10-03  Bruno Haible  <bruno@clisp.org>
29381
29382         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
29383         invocation to tests/configure.ac.
29384         Reported by Ian Beckwith <ianb@erislabs.net>.
29385
29386 2009-10-02  Eric Blake  <ebb9@byu.net>
29387
29388         fchdir: avoid compiler warning
29389         * lib/fchdir.c (canonicalize_file_name)
29390         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
29391
29392         test-open: support mingw errno values
29393         * tests/test-open.h (test_open): Relax test.
29394         * tests/test-fopen.h (test_fopen): Likewise.
29395         * tests/test-openat-safer.c (main): Likewise.
29396
29397         open: fix opening directory on mingw
29398         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
29399
29400         test-open: on GNU/Hurd, /dev/null is a directory
29401         * tests/test-fopen.h (main): Rename...
29402         (test_fopen): ...to this.  Use a guaranteed non-directory when
29403         confirming open behavior on trailing slash.
29404         * tests/test-openat-safer.c (main): Likewise.
29405         * tests/test-open.h (main): Likewise....
29406         (test_open): ...to this.
29407         * tests/test-fopen.c (main): Adjust caller.
29408         * tests/test-fopen-safer.c (main): Likewise.
29409         * tests/test-open.c (main): Likewise.
29410         * tests/test-fcntl-safer.c (main): Likewise.
29411         Reported by Samuel Thibault.
29412
29413         rename, fchdir: don't ignore chdir failure
29414         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
29415         * lib/rename.c (rpl_rename) [W32]: Likewise.
29416         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
29417         an empty destination directory if source cannot be renamed,
29418         although there is still possibility for failure.
29419         * doc/posix-functions/rename.texi (rename): Document the race.
29420         Reported by Jim Meyering.
29421
29422         maint: cleanup whitespace in recent commits
29423         * lib/rename.c (rpl_rename): Remove tabs.
29424         * tests/test-link.h (test_link): Likewise.
29425         * lib/fchdir.c (get_name): Likewise.
29426         Reported by Jim Meyering.
29427
29428 2009-10-02  Ben Pfaff  <blp@gnu.org>
29429
29430         relocatable-prog-wrapper: Add missing dependency on
29431         double-slash-root.
29432         * modules/relocatable-prog-wrapper: Add dependency.
29433         Reported by Ian Beckwith <ianb@erislabs.net>.
29434
29435 2009-10-02  Eric Blake  <ebb9@byu.net>
29436
29437         renameat: fix Solaris bugs
29438         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
29439         needed fixing.
29440         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
29441         * modules/stdio (Makefile.am): Substitute it.
29442         * lib/stdio.in.h (renameat): Declare replacement.
29443         * lib/renameat.c (rpl_renameat): Implement fix.
29444
29445         renameat: new module
29446         * modules/renameat: New file.
29447         * lib/renameat.c (renameat): Likewise.
29448         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
29449         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
29450         * modules/stdio (Makefile.am): Substitute them.
29451         * lib/stdio.in.h (renameat): Declare it.
29452         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
29453         * doc/posix-functions/renameat.texi (renameat): Likewise.
29454         * modules/renameat-tests: New test.
29455         * tests/test-renameat.c: Likewise.
29456
29457         rename: fix mingw bugs
29458         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
29459         directory overwrite bugs.
29460
29461         rename: fix another cygwin 1.5 bug
29462         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
29463         checks.
29464         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
29465         unnecessary cygwin workarounds.  Also work around bug with moving
29466         full directory onto an empty one.
29467         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
29468
29469         rename-dest-slash: merge into rename module
29470         * modules/rename-dest-slash (Status): Mark obsolete.
29471         (Depends-on): Add rename.
29472         (Files): Let rename do it all.
29473         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
29474         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
29475         * m4/rename-dest-slash.m4: ...so this file can be deleted.
29476         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
29477         * lib/rename.c (rpl_rename): Update comments.
29478
29479         rename: fix cygwin 1.5.x bugs
29480         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
29481         * lib/rename.c (rpl_rename): Work around them.
29482         * modules/rename (Depends-on): Add same-inode.
29483
29484         rename: fix Solaris 10 bug
29485         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
29486         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
29487         was the only bug.
29488
29489         rename: fix Solaris 9 bug
29490         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
29491         on non-directory.  Avoid calling exit.
29492         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
29493         strdup.
29494         * modules/rename-tests (Depends-on): Drop lstat.
29495         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
29496         (gl_PREREQ_RENAME): Delete unused macro.
29497
29498         rename-dest-slash: fix NetBSD bug
29499         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
29500         links.
29501         * modules/rename-dest-slash (Depends-on): Add same-inode.
29502
29503         rename-tests: new test, exposes several platform bugs
29504         * modules/rename-tests: New file.
29505         * tests/test-rename.h: Likewise.
29506         * tests/test-rename.c: Likewise.
29507         * doc/posix-functions/rename.texi (rename): Improve documentation,
29508         including bugs that will eventually be fixed in gnulib.
29509
29510 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
29511
29512         * lib/uname.c: Include <stdlib.h>
29513         (uname): Assume version info is available.
29514
29515 2009-10-02  Jim Meyering  <meyering@redhat.com>
29516
29517         gnu-web-doc-update: correct --help output
29518         * build-aux/gnu-web-doc-update: Make --help output relevant.
29519
29520         gnu-web-doc-update: add standard options
29521         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
29522
29523         gnu-web-doc-update: New module.
29524         Use this script to automatically update the on-line web documentation
29525         for your GNU project at http://www.gnu.org/software/$pkg/manual/
29526         * modules/gnu-web-doc-update: New file, from coreutils.
29527         * build-aux/gnu-web-doc-update: New script.
29528
29529 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
29530
29531         link: LoadLibrary is not needed.
29532         * lib/link.c: Use GetModuleHandle.
29533
29534 2009-10-01  Eric Blake  <ebb9@byu.net>
29535
29536         getopt: bump serial number
29537         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
29538         change.
29539
29540         tests: tighten link, rmdir, and remove tests
29541         * tests/test-link.h (includes): No need to use <config.h> here.
29542         Clean up if directory hard link was created, otherwise test for
29543         trailing '.'.
29544         * tests/test-linkat.c (main): Simplify.
29545         * tests/test-remove.c (main): Enhance test for trailing '.'.
29546         * tests/test-rmdir.h (test_rmdir_func): Likewise.
29547
29548 2009-10-01  Jim Meyering  <meyering@redhat.com>
29549
29550         maint.mk: requiring "make major" was annoying, for a "minor" release.
29551         What is intended is "stable", to contrast with alpha and beta,
29552         so require "make stable", not "make major".
29553         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
29554         (get_tool_versions): Likewise.
29555         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
29556
29557 2009-09-30  Ben Pfaff  <blp@gnu.org>
29558
29559         Fix broken build of replacement for Windows tmpfile().
29560         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
29561         flags argument added along with the 'mkostemp' module.
29562
29563 2009-09-28  Bruno Haible  <bruno@clisp.org>
29564
29565         Avoid identifier clash with POSIX function 'remove' defined as a macro.
29566         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
29567         to 'remove_elt'.
29568         (gl_list_remove): Update.
29569         * lib/gl_list.c (gl_list_remove): Update.
29570         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
29571         to 'remove_elt'.
29572         (gl_oset_remove): Update.
29573         * lib/gl_list.c (gl_oset_remove): Update.
29574         Reported by Eric Blake.
29575
29576 2009-09-28  Eric Blake  <ebb9@byu.net>
29577
29578         doc: mention yet more cygwin 1.7 status
29579         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
29580         cygwin.
29581         * doc/glibc-functions/execvpe.texi (execvpe): New file.
29582         * doc/gnulib.texi (Glibc unistd.h): Mention it.
29583
29584         argp: fix test failure
29585         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
29586         that are not upper-case.  Pass correct range to tolower.
29587
29588 2009-09-27  Jim Meyering  <meyering@redhat.com>
29589
29590         test-yesno: work around sparc-dash here-document infelicity
29591         Without this change, the literal \177 byte in a here document
29592         would make dash 0.5.5.1-3 access uninitialized memory.
29593         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
29594         Instead, use a marker, "@", and filter through tr to create the desired
29595         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
29596
29597 2009-09-27  Bruno Haible  <bruno@clisp.org>
29598
29599         Disable untested support for new flavours of ACLs on AIX.
29600         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
29601         progress.
29602         * lib/set-mode-acl.c (qset_acl): Likewise.
29603
29604 2008-12-07  Bruno Haible  <bruno@clisp.org>
29605
29606         Add support for new flavours of ACLs on AIX. (Untested.)
29607         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
29608         (file_has_acl): Add support for newer AIX.
29609         * lib/set-mode-acl.c (qset_acl): Likewise.
29610         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
29611         Rainer Tammer <tammer@tammer.net>.
29612
29613 2009-09-26  Eric Blake  <ebb9@byu.net>
29614
29615         argp: fix compilation of getopt
29616         * lib/getopt.in.h (includes): Use different guard than glibc.
29617         Reported by Sergey Poznyakoff.
29618
29619         doc: mention more cygwin 1.7 status
29620         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
29621         bug.
29622         * doc/posix-functions/execl.texi (execl): Likewise.
29623         * doc/posix-functions/execle.texi (execle): Likewise.
29624         * doc/posix-functions/execlp.texi (execlp): Likewise.
29625         * doc/posix-functions/execv.texi (execv): Likewise.
29626         * doc/posix-functions/execve.texi (execve): Likewise.
29627         * doc/posix-functions/execvp.texi (execvp): Likewise.
29628         * doc/glibc-functions/canonicalize_file_name.texi
29629         (canonicalize_file_name): Cygwin 1.7 now provides this.
29630         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
29631         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
29632         on AT_SYMLINK_NOFOLLOW.
29633
29634 2009-09-24  Eric Blake  <ebb9@byu.net>
29635
29636         test-linkat: make test more robust
29637         * tests/test-linkat.c (main): Avoid collision with EEXIST.
29638
29639         getopt: fix inclusion guards for cygwin
29640         * modules/getopt-posix (Depends-on): Add include-next.
29641         (Makefile.am): Substitute more items in replacement header.
29642         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
29643         <getopt.h>.
29644         * lib/getopt.in.h (includes): Use split inclusion guard, and
29645         prefer <getopt.h> over include <unistd.h> when one is present.
29646         (option): Also override name of 'struct option'.
29647
29648         same-inode: revert prior change; it is not yet ready
29649         * NEWS: Undo mention of this change.
29650         * lib/same-inode.h (same-inode.h): Undo tri-state change.
29651         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
29652         * lib/cycle-check.c (cycle_check): Likewise.
29653         * lib/same.c (same_name): Likewise.
29654         * lib/at-func2.c (at_func2): Likewise.
29655
29656 2009-09-23  Eric Blake  <ebb9@byu.net>
29657
29658         linkat: new module
29659         * modules/linkat: New file.
29660         * lib/at-func2.c (at_func2): Likewise.
29661         * lib/linkat.c (linkat): Likewise.
29662         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
29663         * lib/openat-priv.h (at_func2): Add declaration.
29664         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
29665         * modules/unistd (Makefile.am): Substitute them.
29666         * lib/unistd.in.h (linkat): Declare it.
29667         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
29668         * doc/posix-functions/linkat.texi (linkat): Likewise.
29669         * doc/posix-functions/link.texi (link): Tweak wording.
29670         * tests/test-link.c (main): Move guts...
29671         * tests/test-link.h (test_link): ...into new file.
29672         * modules/linkat-tests: New test.
29673         * tests/test-linkat.c: Likewise.
29674         * modules/link-tests (Files): Ship new file.
29675         (Depends-on): Add stdbool.
29676
29677         dirname: add library-safe mdir_name
29678         * lib/dirname.h (mdir_name): New prototype.
29679         * lib/dirname.c (dir_name): Move guts...
29680         (mdir_name): ...to new function that avoids xalloc_die.
29681
29682         fchdir: another mingw fix
29683         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
29684         * lib/fchdir.c (get_name): New helper method; skips canonicalize
29685         on mingw (where it has not yet been ported), and make it optional
29686         elsewhere.
29687         (_gl_register_fd): Use it.
29688
29689         same-inode: make SAME_INODE tri-state, to port to mingw
29690         * NEWS: Mention this change.
29691         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
29692         st_ino always being 0.
29693         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
29694         * lib/cycle-check.c (cycle_check): Likewise.
29695         * lib/same.c (same_name): Likewise.
29696
29697         lstat: avoid mingw compilation error
29698         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
29699         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
29700         lstat ourselves.
29701         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
29702         was adequate.
29703         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
29704         the checks for lstat.
29705         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
29706
29707         link: fix test failure on Solaris 9
29708         * lib/link.c (rpl_link): Don't assume link will catch bogus
29709         trailing slash on source.
29710
29711         test-symlinkat: enhance test
29712         * tests/test-readlink.c (main): Move guts...
29713         * tests/test-readlink.h (test_readlink): ...into new file.
29714         * tests/test-symlink.c (main): Move guts...
29715         * tests/test-symlink.h (test_symlink): ...into new file.
29716         * tests/test-symlinkat.c (main): Use new files for further
29717         coverage.
29718         (do_symlink, do_readlink): New helper functions.
29719         * modules/symlink-tests (Files): Ship new file.
29720         (Depends-on): Add stdbool.
29721         * modules/readlink-tests (Files): Ship new file.
29722         (Depends-on): Add stdbool.
29723         * modules/symlinkat-tests (Files): Use new files.
29724
29725 2009-09-23  Eric Blake  <ebb9@byu.net>
29726
29727         readlink: document portability issue with symlink length
29728         * doc/posix-functions/lstat.texi (lstat): Mention that some file
29729         systems have bogus st_size on symlinks, and mention the
29730         areadlink-with-size module.
29731         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
29732         * doc/posix-functions/readlink.texi (readlink): Mention the
29733         areadlink module, and ERANGE failure.
29734         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
29735         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
29736
29737         readlink: fix Solaris 9 bug with trailing slash
29738         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
29739         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
29740         * doc/posix-functions/readlink.texi (readlink): Document this.
29741         * modules/readlink-tests: New test.
29742         * tests/test-readlink.c: Likewise.
29743
29744         readlink: fix cygwin 1.5.x bug with return type
29745         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
29746         * lib/unistd.in.h (readlink): Use ssize_t.
29747         * lib/readlink.c (readlink): Likewise.
29748         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
29749         * modules/unistd (Makefile.am): Substitute it.
29750         * lib/unistd.in.h (readlink): Declare replacement.
29751         * doc/posix-functions/readlink.texi (readlink): Document this.
29752
29753         symlink: use throughout gnulib
29754         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
29755         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
29756         symlink is not used.
29757         * modules/symlinkat (Depends-on): Add symlink.
29758         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
29759         * modules/canonicalize-tests (Depends-on): Likewise.
29760         * modules/lstat-tests (Depends-on): Likewise.
29761         * modules/openat-tests (Depends-on): Likewise.
29762         * modules/remove-tests (Depends-on): Likewise.
29763         * modules/rmdir-tests (Depends-on): Likewise.
29764         * modules/unlink-tests (Depends-on): Likewise.
29765         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
29766         * tests/test-canonicalize.c (symlink): Likewise.
29767         * tests/test-fstatat.c (symlink): Likewise.
29768         * tests/test-lstat.c (symlink): Likewise.
29769         * tests/test-remove.c (symlink): Likewise.
29770         * tests/test-rmdir.c (symlink): Likewise.
29771         * tests/test-unlink.c (symlink): Likewise.
29772         * tests/test-unlinkat.c (symlink): Likewise.
29773
29774         symlink: new module, for Solaris 9 bug
29775         * modules/symlink: New file.
29776         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
29777         * lib/symlink.c: Likewise.
29778         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
29779         * modules/unistd (Makefile.am): Substitute them.
29780         * lib/unistd.in.h (symlink): Declare replacement.
29781         * MODULES.html.sh (File system functions): Mention it.
29782         * doc/posix-functions/symlink.texi (symlink): Likewise.
29783         * modules/symlink-tests: New test.
29784         * tests/test-symlink.c: Likewise.
29785
29786 2009-09-23  Bruno Haible  <bruno@clisp.org>
29787
29788         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
29789         when needed.
29790         Test case: gnulib-tool --import --with-tests atexit inttypes.
29791         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
29792
29793 2009-09-23  Bruno Haible  <bruno@clisp.org>
29794
29795         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
29796         subcommand, not in a subshell.
29797
29798 2009-09-22  Eric Blake  <ebb9@byu.net>
29799
29800         unistd: sort replacement declarations
29801         * lib/unistd.in.h: Sort declarations.
29802
29803         open, openat: minor optimization
29804         * lib/open.c (open): If open succeeded, len is non-zero.
29805         * lib/openat.c (rpl_openat): Likewise.
29806
29807         link-follow: ensure correct result
29808         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
29809         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
29810         distinguish between possible failures.
29811
29812 2009-09-21  Eric Blake  <ebb9@byu.net>
29813
29814         fts: avoid compiler warning
29815         * lib/fts.c (dirent_inode_sort_may_be_useful)
29816         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
29817
29818 2009-09-19  Bruno Haible  <bruno@clisp.org>
29819
29820         * lib/progreloc.c (canonicalize_file_name): New declaration.
29821
29822 2009-09-19  Eric Blake  <ebb9@byu.net>
29823
29824         link: fix quoting
29825         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
29826
29827         openat: fix openat bugs on Solaris 9
29828         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
29829         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
29830         * modules/openat (Depends-on): Add open.
29831         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
29832         * modules/fcntl-h (Makefile.am): Substitute it.
29833         * lib/fcntl.in.h (openat): Declare replacement.
29834         * doc/posix-functions/openat.texi (openat): Document this.
29835
29836         openat: move fstatat and unlinkat into correct files
29837         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
29838         compiled.
29839         * lib/openat.c (fstatat, unlinkat): Move...
29840         * lib/fstatat.c (fstatat): ...into correct files.
29841         * lib/unlinkat.c (unlinkat): Likewise.
29842
29843         openat: fix unlinkat bugs on Solaris 9
29844         * lib/unlinkat.c (unlinkat): New file.
29845         * modules/openat (Depends-on): Add unlink.
29846         (Files): Distribute it.
29847         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
29848         trailing slash behavior is broken.
29849         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
29850         * modules/unistd (Makefile.am): Substitute it.
29851         * lib/unistd.in.h (unlinkat): Declare replacement.
29852         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
29853
29854         openat: fix fstatat bugs on Solaris 9
29855         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
29856         stat.
29857         * doc/posix-functions/fstatat.texi (fstatat): Document this.
29858
29859         test-unlinkat: enhance test, to expose Solaris 9 bug
29860         * tests/test-unlink.c (main): Factor guts...
29861         * tests/test-unlink.h (test_rmdir_func): ...into new file.
29862         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
29863         * tests/test-rmdir.c (main): Adjust caller.
29864         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
29865         (unlinker): New helper function.
29866         (rmdirat): Enhance check.
29867         * modules/rmdir-tests (Depends-on): Add stdbool.
29868         * modules/unlink-tests (Depends-on): Likewise.
29869         (Files): Add test-unlink.h.
29870         * modules/openat-tests (Files): Likewise.
29871         (Depends-on): Add unlinkdir.
29872
29873         test-fstatat: new test, to expose Solaris 9 bugs
29874         * tests/test-stat.c (main): Factor guts...
29875         * tests/test-stat.h (test_stat_func): ...into new file.
29876         * tests/test-lstat.c (main): Factor guts...
29877         * tests/test-lstat.h (test_lstat_func): ...into new file.
29878         * tests/test-fstatat.c: New file.
29879         * modules/stat-tests (Files): Add test-stat.h.
29880         * modules/lstat-tests (Files): Add test-lstat.h.
29881         (Depends-on): Add stdbool.
29882         * modules/openat-tests (Depends-on): Add pathmax.
29883         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
29884         (Makefile.am): Run new test.
29885
29886         remove: new module, for mingw and Solaris 9 bugs
29887         * modules/remove: New file.
29888         * lib/remove.c: Likewise.
29889         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
29890         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
29891         * modules/stdio (Makefile.am): Use them.
29892         * lib/stdio.in.h (remove): Declare replacement.
29893         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
29894         * doc/posix-functions/remove.texi (remove): Likewise.
29895         * modules/remove-tests: New test.
29896         * tests/test-remove.c: Likewise.
29897
29898         unlink: new module, for Solaris 9 bug
29899         * modules/unlink: New file.
29900         * lib/unlink.c: Likewise.
29901         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
29902         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
29903         * modules/unistd (Makefile.am): Use them.
29904         * lib/unistd.in.h (stat): Declare replacement.
29905         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
29906         * doc/posix-functions/unlink.texi (unlink): Likewise.
29907         * modules/unlink-tests: New test.
29908         * tests/test-unlink.c: Likewise.
29909
29910         lstat: fix Solaris 9 bug
29911         * lib/lstat.c (lstat): Also check for trailing slash on
29912         non-symlink, non-directories.  Use stat module to simplify logic.
29913         * doc/posix-functions/lstat.texi (lstat): Document it.
29914         * modules/lstat-tests (Depends-on): Add errno, same-inode.
29915         (configure.ac): Check for symlink.
29916         * tests/test-lstat.c (main): Add more tests.
29917
29918         stat: add as dependency to other modules
29919         * modules/chown (Depends-on): Add stat.
29920         * modules/euidaccess (Depends-on): Likewise.
29921         * modules/fchdir (Depends-on): Likewise.
29922         * modules/isdir (Depends-on): Likewise.
29923         * modules/link (Depends-on): Likewise.
29924         * modules/lstat (Depends-on): Likewise.
29925         * modules/mkdir-p (Depends-on): Likewise.
29926         * modules/modechange (Depends-on): Likewise.
29927         * modules/open (Depends-on): Likewise.
29928         * modules/readlink (Depends-on): Likewise.
29929         * modules/same (Depends-on): Likewise.
29930
29931         stat: fix Solaris 9 bug
29932         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
29933         slash.
29934         * lib/stat.c (rpl_stat): Work around it.
29935         * doc/posix-functions/stat.texi (stat): Update documentation.
29936
29937         stat: new module, for mingw bug
29938         * modules/stat: New file.
29939         * lib/stat.c: Likewise.
29940         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
29941         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
29942         * modules/sys_stat (Makefile.am): Use them.
29943         * lib/sys_stat.in.h (stat): Declare replacement.
29944         * lib/openat.c (fstatat): Deal with lstat and stat being function
29945         macros.
29946         * modules/openat (Depends-on): Add inline.
29947         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
29948         * doc/posix-functions/stat.texi (stat): Likewise.
29949         * modules/stat-tests: New test.
29950         * tests/test-stat.c: Likewise.
29951
29952 2009-09-19  Jim Meyering  <meyering@redhat.com>
29953
29954         syntax-check: detect unnecessary inclusion of canonicalize.h
29955         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
29956
29957 2009-09-19  Eric Blake  <ebb9@byu.net>
29958
29959         canonicalize-lgpl: adjust clients to use correct header
29960         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
29961         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
29962         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
29963         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
29964         * lib/progreloc.c (includes): Likewise.
29965
29966 2009-09-19  Jim Meyering  <meyering@redhat.com>
29967
29968         test-posixtm.c: correct a comment
29969         * tests/test-posixtm.c: Correct first-line comment.
29970         Spotted by Eric Blake.
29971
29972 2009-09-16  Jim Meyering  <meyering@redhat.com>
29973
29974         posixtm-tests: make T const-correct; add a test case
29975         * tests/test-posixtm.c (T): Declare const.
29976         Add a test for -(2^31+1).
29977         Remove useless can-succeed-only-in-2002 test.
29978
29979         posixtm-tests: adjust the sole failing test
29980         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
29981         expected output matches what mktime now produces.  Cross-checked via
29982         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
29983
29984         posixtm: move #ifdef'd tests into a new module
29985         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
29986         * tests/test-posixtm.c: ... this new file.
29987         * modules/posixtm-tests: New module.
29988
29989 2009-09-19  Eric Blake  <ebb9@byu.net>
29990
29991         openat: simplify use of at-func.c
29992         * lib/at-func.c (includes): Include prerequisites here, to
29993         simplify requirements on client files.
29994         * lib/openat-priv.h: Add double-inclusion guard.
29995         * lib/faccessat.c (includes): Simplify.
29996         * lib/fchmodat.c (includes): Likewise.
29997         * lib/fchownat.c (includes): Likewise.
29998         * lib/mkdirat.c (includes): Likewise.
29999         * lib/mkfifoat.c (includes): Likewise.
30000         * lib/symlinkat.c (includes): Likewise.
30001
30002         openat: allow return of fd 0
30003         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
30004         * modules/save-cwd (Depends-on): Replace fcntl-safer with
30005         unistd-safer.
30006         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
30007         <fcntl.h>; this module does not leak fds.
30008         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
30009         must be allowed to return 0, leaving openat_safer to add the
30010         safety.
30011         (openat_permissive): Avoid writing to just-opened fd 2 if
30012         restoring the current directory fails.
30013         * lib/openat-die.c (openat_restore_fail): Add comment.
30014         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
30015         (save_cwd): Guarantee safe fd, but without use of open_safer.
30016         * tests/test-openat.c: New test.
30017         * modules/openat-tests (Files, Makefile.am): Distribute and build
30018         new file.
30019
30020         relocatable-prog-wrapper: fix build
30021         * modules/relocatable-prog-wrapper (Files): Update name of
30022         canonicalize m4 file, broken on 2009-09-17.
30023         Reported by emad hajjar <aleppos@hotmail.com>.
30024
30025 2009-09-19  Bruno Haible  <bruno@clisp.org>
30026
30027         * lib/safe-alloc.h: Use the standard header with GPL copyright.
30028         * lib/safe-alloc.c: Likewise.
30029         Reported by Ian Beckwith <ianb@erislabs.net>.
30030
30031 2009-09-18  Bruno Haible  <bruno@clisp.org>
30032
30033         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
30034         Reported by <erobles@sensacd.com.mx>.
30035
30036 2009-09-17  Eric Blake  <ebb9@byu.net>
30037
30038         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
30039         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
30040         slashes when checking if last component is missing.
30041         * tests/test-canonicalize.c (main): Test this.
30042
30043         canonicalize, canonicalize-lgpl: honor // if distinct from /
30044         * modules/canonicalize (Files): Add double-slash-root.m4.
30045         * modules/canonicalize-lgpl (Files): Likewise.
30046         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
30047         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
30048         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
30049         fallback definition.
30050         (canonicalize_filename_mode): Use it to protect //.
30051         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
30052         (__realpath): Likewise.
30053         * tests/test-canonicalize.c (main): Test this.
30054         * tests/test-canonicalize-lgpl.c (main): Likewise.
30055         * modules/canonicalize-tests (Depends-on): Add same-inode.
30056         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
30057
30058         canonicalize-lgpl: fix glibc bug with trailing slash
30059         * m4/canonicalize-lgpl.m4: Move contents...
30060         * m4/canonicalize.m4: ...here.
30061         (gl_CANONICALIZE_LGPL): Factor realpath check...
30062         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
30063         glibc 2.3.5 bug, fixed 2005-04-27.
30064         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
30065         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
30066         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
30067         * modules/canonicalize-lgpl (Files): Manage file rename.
30068         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
30069         * modules/stdlib (Makefile.am): Substitute witness.
30070         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
30071         is needed.
30072         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
30073         replacement is required.
30074         * lib/canonicalize.c (canonicalize_file_name): Likewise.
30075         * doc/glibc-functions/canonicalize_file_name.texi
30076         (canonicalize_file_name): Document this.
30077         * doc/posix-functions/realpath.texi (realpath): Likewise.
30078
30079         canonicalize-lgpl: reject non-directory with trailing slash
30080         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
30081         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
30082         catches failures in glibc 2.3.5.
30083         * tests/test-canonicalize.c (main): Likewise.
30084
30085         canonicalize-lgpl: use native realpath if it works
30086         * lib/canonicalize-lgpl.c (realpath): Guard with
30087         FUNC_REALPATH_WORKS.
30088         * lib/stdlib.in.h (realpath): Make declaration optional based on
30089         HAVE_REALPATH.
30090         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
30091         native realpath works.
30092         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
30093         * modules/stdlib (Makefile.am): Substitute witness.
30094
30095         canonicalize, canonicalize-lgpl: use <stdlib.h>
30096         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
30097         (Include): Mention <stdlib.h>.
30098         (configure.ac): Mention functions we provide.
30099         * modules/canonicalize (configure.ac): Likewise.
30100         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
30101         realpath if canonicalize_file_name is missing.
30102         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
30103         * modules/stdlib (Makefile.am): Substitute witnesses.
30104         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
30105         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
30106         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
30107         * NEWS: Document this.
30108         * doc/glibc-functions/canonicalize_file_name.texi
30109         (canonicalize_file_name): Likewise.
30110         * doc/posix-functions/realpath.texi (realpath): Likewise.
30111         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
30112
30113         test-canonicalize: consolidate into single C program
30114         * tests/test-canonicalize.sh: Delete; move setup into...
30115         * tests/test-canonicalize.c (main): ...the program, making it
30116         easier to run in debugger.  Add some tests.
30117         * modules/canonicalize-tests (Files): Remove unused file.
30118         (Depends-on): Add progname.
30119         (configure.ac, Makefile.am): Simplify.
30120
30121         test-canonicalize-lgpl: consolidate into single C program
30122         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
30123         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
30124         easier to run in debugger.  Add some tests.
30125         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
30126         (configure.ac, Makefile.am): Simplify.
30127
30128         canonicalize: avoid resolvepath
30129         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
30130         unnecessary checks.
30131         * lib/canonicalize.c (includes): Simplify.
30132         (canonicalize_file_name): Drop resolvepath implementation.
30133         * modules/canonicalize (Depends-on): Drop filenamecat.
30134
30135         canonicalize: don't lose errno
30136         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
30137         over calls to free.
30138
30139         canonicalize: simplify errno handling
30140         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
30141         assignment.
30142
30143         canonicalize, canonicalize-lgpl: update module dependencies
30144         * modules/canonicalize (Depends-on): Add extensions, lstat,
30145         pathmax, stdlib.
30146         (Files): Drop pathmax.h.
30147         (configure.ac): Adjust macro name.
30148         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
30149         lstat, stdlib, sys_stat.
30150         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
30151         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
30152         extensions.
30153         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
30154         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
30155         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
30156         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
30157         declaration, if available.
30158         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
30159         we can rely on the readlink module.
30160         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
30161         (includes): Use <unistd.h> unconditionally.
30162
30163 2009-09-17  Eric Blake  <ebb9@byu.net>
30164
30165         maint: make Include sections of modules consistent
30166         * modules/alloca: Use only header name; no need to list #include.
30167         * modules/alloca-opt: Likewise.
30168         * modules/arpa_inet: Likewise.
30169         * modules/canon-host: Likewise.
30170         * modules/configmake: Likewise.
30171         * modules/dirent: Likewise.
30172         * modules/eealloc: Likewise.
30173         * modules/environ: Likewise.
30174         * modules/fchdir: Likewise.
30175         * modules/fcntl: Likewise.
30176         * modules/fcntl-h: Likewise.
30177         * modules/gethrxtime: Likewise.
30178         * modules/gettime: Likewise.
30179         * modules/ignore-value: Likewise.
30180         * modules/inet_ntop: Likewise.
30181         * modules/inet_pton: Likewise.
30182         * modules/inttypes: Likewise.
30183         * modules/isnand-nolibm: Likewise.
30184         * modules/isnanf-nolibm: Likewise.
30185         * modules/mbchar: Likewise.
30186         * modules/mbfile: Likewise.
30187         * modules/mbiter: Likewise.
30188         * modules/mbuiter: Likewise.
30189         * modules/netdb: Likewise.
30190         * modules/netinet_in: Likewise.
30191         * modules/nproc: Likewise.
30192         * modules/pagealign_alloc: Likewise.
30193         * modules/poll: Likewise.
30194         * modules/printf-frexp: Likewise.
30195         * modules/pthread: Likewise.
30196         * modules/putenv: Likewise.
30197         * modules/random_r: Likewise.
30198         * modules/relocatable-prog: Likewise.
30199         * modules/search: Likewise.
30200         * modules/select: Likewise.
30201         * modules/selinux-h: Likewise.
30202         * modules/settime: Likewise.
30203         * modules/signal: Likewise.
30204         * modules/size_max: Likewise.
30205         * modules/socklen: Likewise.
30206         * modules/ssize_t: Likewise.
30207         * modules/stdarg: Likewise.
30208         * modules/stdbool: Likewise.
30209         * modules/stddef: Likewise.
30210         * modules/stdint: Likewise.
30211         * modules/stdio: Likewise.
30212         * modules/stdlib: Likewise.
30213         * modules/string: Likewise.
30214         * modules/strings: Likewise.
30215         * modules/sys_file: Likewise.
30216         * modules/sys_ioctl: Likewise.
30217         * modules/sys_select: Likewise.
30218         * modules/sys_socket: Likewise.
30219         * modules/sys_stat: Likewise.
30220         * modules/sys_time: Likewise.
30221         * modules/sys_times: Likewise.
30222         * modules/sys_utsname: Likewise.
30223         * modules/sys_wait: Likewise.
30224         * modules/sysexits: Likewise.
30225         * modules/time: Likewise.
30226         * modules/times: Likewise.
30227         * modules/tmpfile: Likewise.
30228         * modules/trim: Likewise.
30229         * modules/unistd: Likewise.
30230         * modules/wchar: Likewise.
30231         * modules/wctype: Likewise.
30232
30233 2009-09-17  Bruno Haible  <bruno@clisp.org>
30234
30235         Make getdate.y compile on QNX and NetBSD 5 / i386.
30236         * m4/getdate.m4 (gl_GETDATE): Conditionally define
30237         TIME_T_FITS_IN_LONG_INT.
30238         * lib/getdate.y (long_time_t): New type.
30239         (relative_time): Change type of 'seconds' field to long_time_t.
30240         (get_date): Update types of local variables. Check against overflow
30241         during conversion from long_time_t to time_t.
30242         Reported by Matt Kraai <kraai@ftbfs.org>
30243         and Hasso Tepper <hasso@netbsd.org>.
30244
30245 2009-09-17  Bruno Haible  <bruno@clisp.org>
30246
30247         * modules/COPYING: Update copyright years.
30248         * modules/README: Likeiwse.
30249         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
30250         Reported by Ian Beckwith <ianb@erislabs.net>.
30251
30252 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
30253
30254         * users.txt: Update references for gnuit package.
30255
30256 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
30257
30258         * m4/getdelim.m4: Fix typo in copyright line.
30259
30260 2009-09-17  Bruno Haible  <bruno@clisp.org>
30261
30262         * lib/atoll.c: Use the standard header with GPL copyright.
30263         * lib/argz.in.h: Likewise.
30264         * lib/glob.c: Likewise.
30265         * lib/glob-libc.h: Likewise.
30266         * lib/random_r.c: Likewise.
30267         * lib/siglist.h: Likewise.
30268         * lib/strsignal.c: Likewise.
30269         Reported by Ian Beckwith <ianb@erislabs.net>.
30270
30271 2009-09-17  Eric Blake  <ebb9@byu.net>
30272
30273         rmdir: ensure correct dependency order
30274         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
30275
30276 2009-09-17  Bruno Haible  <bruno@clisp.org>
30277
30278         Disable assertion that fails on NetBSD 5 / i386.
30279         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
30280         Reported by Sam Steingold <sds@gnu.org>
30281         and Hasso Tepper <hasso@netbsd.org>.
30282
30283 2009-09-16  Eric Blake  <ebb9@byu.net>
30284
30285         unlinkdir: port to mingw
30286         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
30287         on which no one can unlink a directory.
30288
30289         stdlib: sort witness names
30290         * modules/stdlib (Makefile.am): Sort replacements.
30291         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
30292         * lib/stdlib.in.h: Likewise.
30293
30294         parse-duration-tests: avoid link failure
30295         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
30296         LIBINTL.
30297         Reported by Tom G. Christensen.
30298
30299         openat-tests: ensure unlinkat behaves like rmdir
30300         * tests/test-rmdir.c (main): Factor guts...
30301         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
30302         * modules/rmdir-tests (Files): Ship new file.
30303         * modules/openat-tests: New test.
30304         * tests/test-unlinkat.c: Likewise.
30305
30306         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
30307         * modules/rmdir-errno (Status, Notice): Now obsolete.
30308
30309         rmdir: work around cygwin 1.5.x and mingw bugs
30310         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
30311         * lib/rmdir.c (rmdir): Work around it.
30312         * modules/rmdir (Status, Notice): No longer obsolete.
30313         (Files): Add dos.m4.
30314         (Depends-on): Add unistd.
30315         (configure.ac): Set witnesses.
30316         (License): Relax to LGPLv2+.
30317         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
30318         * modules/unistd (Makefile.am): Substitute witnesses.
30319         * lib/unistd.in.h (rmdir): Declare replacement.
30320         * doc/posix-functions/rmdir.texi (rmdir): Document this.
30321         * modules/rmdir-tests: New tests.
30322         * tests/test-rmdir.c: Likewise.
30323
30324 2009-09-15  Eric Blake  <ebb9@byu.net>
30325
30326         fchdir: improve use of replacement functions
30327         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
30328         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
30329         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
30330         REPLACE_CLOSEDIR.
30331         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
30332         * modules/sys_stat (Makefile.am): Substitute correct witness.
30333         * modules/dirent (Makefile.am): Likewise.
30334         * modules/unistd (Makefile.am): Likewise.
30335         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
30336         * lib/unistd.in.h (dup): Likewise.
30337         * lib/sys_stat.in.h (fstat): Likewise.
30338
30339         maint: ignore gnulib-tool temp files
30340         * .gitignore: Ignore files created during gnulib-tool --test.
30341
30342 2009-09-13  Jim Meyering  <meyering@redhat.com>
30343
30344         posixtm: don't reject a time that specify "60" as the number of seconds
30345         * lib/posixtm.c (posixtime): The code to reject invalid dates
30346         would also reject a time specified with the .60 suffix.
30347         But POSIX allows that, in order to accommodate leap seconds.
30348         So don't reject it.
30349         (main): Adjust tests accordingly.
30350         * modules/posixtm (Depends-on): Add stpcpy.
30351
30352 2009-09-11  Jim Meyering  <meyering@redhat.com>
30353
30354         announce-gen: include [$release_type] in emitted Subject:
30355         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
30356         e.g., [stable] in the emitted Subject: line.
30357
30358 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30359
30360         Remove obsolete macros from several modules.
30361         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
30362         obsolete Autoconf macros with their modern counterparts.
30363         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
30364         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
30365         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
30366         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
30367         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
30368         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
30369         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
30370         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
30371         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
30372         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
30373         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
30374         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
30375         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
30376         * m4/sockets.m4 (gl_SOCKETS): Likewise.
30377         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
30378         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
30379         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
30380         * m4/time_r.m4 (gl_TIME_R): Likewise.
30381         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
30382         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
30383         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
30384
30385         Fix copyright header in build-aux scripts.
30386         * build-aux/git-version-gen: Fix copyright header to match GPLv3
30387         recommendation.
30388         * build-aux/ncftpput-ftp: Likewise.
30389         * build-aux/update-copyright: Likewise.
30390
30391 2009-09-09  Eric Blake  <ebb9@byu.net>
30392
30393         test-link: allow Linux choice of errno
30394         * tests/test-link.c (main): Relax test for alternate error.
30395
30396         strndup: fix improper m4 caching
30397         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
30398         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
30399         (gl_PREREQ_STRNDUP): Delete.
30400         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
30401         * modules/string (Makefile.am): Substitute it.
30402         * lib/string.in.h (strndup): Modernize prototype.
30403
30404         getcwd: port to mingw
30405         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
30406         different from the POSIX assumptions made throughout the getcwd
30407         module; fortunately, the mingw getcwd does not need replacement.
30408         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
30409         * modules/getcwd-tests: New test.
30410         * tests/test-getcwd.c: Likewise.
30411
30412         link: fix platform bugs
30413         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
30414         * lib/link.c (link): Work around them.  Fix related mingw bug.
30415         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
30416         * modules/unistd (Makefile.am): Substitute it.
30417         * lib/unistd.in.h (link): Declare replacement.
30418         * doc/posix-functions/link.texi (link): Document this.
30419         * modules/link (Depends-on): Add strdup-posix, sys_stat.
30420
30421         test-link: consolidate into single C program, test more cases
30422         * tests/test-link.sh: Delete.
30423         * tests/test-link.c: Test more error conditions.  Exposes bugs on
30424         at least Cygwin and Solaris.
30425         * modules/link-tests (Files): Remove unused file.
30426         (Depends-on): Add errno, sys_stat.
30427         (Makefile.am): Simplify.
30428
30429 2009-09-08  Bruno Haible  <bruno@clisp.org>
30430
30431         Work around towlower, towupper bug on mingw.
30432         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
30433         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
30434         * doc/posix-functions/towlower.texi: Mention the mingw bug.
30435         * doc/posix-functions/towupper.texi: Likewise.
30436         Reported by Eric Blake.
30437
30438 2009-09-08  Jim Meyering  <meyering@redhat.com>
30439
30440         build: don't try to run autoheader if we don't use it
30441         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
30442         is not used in configure.ac.
30443
30444 2009-09-08  Eric Blake  <ebb9@byu.net>
30445
30446         euidaccess: fix compilation error
30447         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
30448
30449         rawmemchr: relax license
30450         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
30451         okay.
30452         Reported by Jim Meyering.
30453
30454         mkfifoat: new module
30455         * modules/mkfifoat: New file.
30456         * lib/mkfifoat.c: Likewise.
30457         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
30458         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
30459         * modules/sys_stat (Makefile.am): Use them.
30460         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
30461         * MODULES.html.sh (File system functions): Mention module.
30462         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
30463         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
30464         * modules/mkfifoat-tests: New test.
30465         * tests/test-mkfifoat.c: Likewise.
30466
30467         strchrnul: relax license
30468         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
30469         okay.
30470         Reported by Jim Meyering.
30471
30472 2009-09-08  Eric Blake  <ebb9@byu.net>
30473
30474         fstatat: fix compilation on Solaris
30475         * lib/fstatat.c (includes): Add fcntl.h.
30476         Reported by Pádraig Brady.
30477
30478 2009-09-07  Eric Blake  <ebb9@byu.net>
30479
30480         rename: modernize replacement
30481         * modules/rename (Depends-on): Add stdio.
30482         (configure.ac): Declare witness.
30483         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
30484         stdio take care of replacement.
30485         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
30486         * modules/stdio (Makefile.am): Substitute them.
30487         * lib/stdio.in.h (rename): Declare replacement.
30488         * lib/rename.c (includes): Allow cross-compilation to non-windows
30489         machines.
30490         * doc/posix-functions/rename.texi (rename): Improve
30491         documentation.
30492
30493         stdio: sort witness names
30494         * modules/stdio (Makefile.am): Sort replacements.
30495         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
30496         * lib/stdio.in.h: Likewise.
30497
30498         getcwd: minor cleanups
30499         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
30500         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
30501
30502         openat: provide more convenience names
30503         * modules/faccessat (configure.ac): Add C witness.
30504         * lib/unistd.in.h (readlinkat): Fix typo.
30505         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
30506         convenience wrappers.
30507         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
30508         wrappers in syntax checks.
30509
30510 2009-09-06  Eric Blake  <ebb9@byu.net>
30511
30512         doc: fix comments in recent patches
30513         * lib/faccessat.c: Mention correct function.
30514         * lib/fchmodat.c: Likewise.
30515         * lib/fchownat.c: Likewise.
30516         * lib/symlinkat.c: Likewise.
30517         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
30518         constants.
30519
30520         faccessat, symlinkat: continue cleanup of previous patch
30521         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
30522         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
30523         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
30524         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
30525         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
30526         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
30527         set.
30528
30529 2009-09-06  Bruno Haible  <bruno@clisp.org>
30530
30531         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
30532         (fstatat): Declare if GNULIB_FSTATAT is set.
30533         (mkdirat): Declare if GNULIB_MKDIRAT is set.
30534         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
30535         (unlinkat): Declare if GNULIB_UNLINKAT is set.
30536         * modules/fcntl-h (Files): Remove m4/openat.m4.
30537         * modules/sys_stat (Files): Remove m4/openat.m4.
30538         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
30539         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
30540         * modules/unistd (Files): Remove m4/openat.m4.
30541         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
30542         GNULIB_OPENAT.
30543         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
30544         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
30545         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
30546         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
30547         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
30548         gl_OPENAT_DEFAULTS.
30549         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
30550         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
30551         Don't require gl_OPENAT_DEFAULTS.
30552         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
30553         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
30554         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
30555         (gl_OPENAT_DEFAULTS): Remove macro.
30556
30557 2009-09-06  Bruno Haible  <bruno@clisp.org>
30558
30559         * modules/openat (configure.ac): Remove unneeded witness.
30560
30561 2009-09-06  Bruno Haible  <bruno@clisp.org>
30562
30563         Set errno to ENOSYS when a function is entirely unsupported.
30564         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
30565         EOPNOTSUPP.
30566         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
30567         * modules/chown (Depends-on): Remove errno.
30568
30569 2009-09-06  Bruno Haible  <bruno@clisp.org>
30570
30571         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
30572
30573 2009-09-06  Bruno Haible  <bruno@clisp.org>
30574
30575         * lib/sys_stat.in.h: Fix preprocessor command indentation.
30576
30577 2009-09-06  Ben Pfaff  <blp@gnu.org>
30578             Bruno Haible  <bruno@clisp.org>
30579
30580         Work around a glibc bug in strtok_r.
30581         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
30582         Undefine if UNDEFINE_STRTOK_R is set.
30583         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
30584         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
30585         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
30586         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
30587         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
30588         UNDEFINE_STRTOK_R.
30589         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
30590
30591 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
30592
30593         exclude: minor fix
30594         * lib/exclude.c: Include wctype.h
30595
30596 2009-09-06  Akim Demaille  <demaille@gostai.com>
30597
30598         bootstrap: improve error message
30599         * build-aux/bootstrap (find_tool): Upon failure, report the list
30600         of candidates.
30601         Honor the initial value of the envvar.
30602
30603 2009-09-05  Eric Blake  <ebb9@byu.net>
30604
30605         symlinkat: new module
30606         * modules/symlinkat: New file.
30607         * lib/symlinkat.c: Likewise.
30608         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
30609         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
30610         * modules/unistd (Makefile.am): Use them.
30611         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
30612         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
30613         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
30614         * MODULES.html.sh (File system functions): Mention module.
30615         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
30616         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
30617         * modules/symlinkat-tests: New test.
30618         * tests/test-symlinkat.c: Likewise.
30619
30620         test-openat-safer: add more checks
30621         * tests/test-openat-safer.c (main): Check more code paths.
30622
30623 2009-09-05  Jim Meyering  <meyering@redhat.com>
30624
30625         syntax-check: detect unnecessary inclusion of openat.h
30626         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
30627
30628 2009-09-05  Bruno Haible  <bruno@clisp.org>
30629
30630         Support towlower, towupper.
30631         * doc/posix-functions/towlower.texi: Mention module wctype.
30632         * doc/posix-functions/towupper.texi: Likewise.
30633         * lib/wctype.in.h (towlower, towupper): New functions.
30634         * tests/test-wctype.c: Include stdio.h, stdlib.h.
30635         (ASSERT): New macro.
30636         (e): New variable.
30637         (main): Test also towlower, towupper. Test WEOF argument.
30638         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
30639
30640 2009-09-05  Bruno Haible  <bruno@clisp.org>
30641
30642         Fix conversion behaviour when the input is invalid.
30643         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
30644         mark occurring in first pass of indirect conversion.
30645         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
30646         input.
30647         Found by clang's static analyzer.
30648
30649 2009-09-05  Bruno Haible  <bruno@clisp.org>
30650
30651         * tests/test-striconveh.c (main): Test indirect conversion on platforms
30652         where direct conversion is possible.
30653
30654 2009-09-04  Eric Blake  <ebb9@byu.net>
30655
30656         openat: fail with ENOENT on empty name
30657         * lib/openat-proc.c (openat_proc_name): Special-case the empty
30658         buffer.
30659
30660         link-follow: fix logic bug in prior patch
30661         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
30662         reversed sense of yes and no in prior patch.  Avoid confusing
30663         compilation failure with desired semantics.
30664
30665         link-follow: accomodate mingw and cross-compilation
30666         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
30667         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
30668         cross-compilation results to -1, to make linkat easier to
30669         implement when cross-compiling.  Trivially support mingw.
30670         * modules/link-follow (configure.ac): Call new name.
30671         * NEWS: Mention this.
30672
30673 2009-09-03  Eric Blake  <ebb9@byu.net>
30674
30675         faccessat: compile replacement
30676         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
30677         needed.
30678
30679         fts: fix compilation error
30680         * lib/fts.c (includes): Re-add "openat.h", for
30681         openat_needs_fchdir.
30682
30683         faccessat: new module
30684         * modules/faccessat: New file.
30685         * lib/faccessat.c: Likewise.
30686         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
30687         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
30688         * modules/unistd (Makefile.am): Use it.
30689         * lib/unistd.in.h (faccessat): Declare it.
30690         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
30691         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
30692         * MODULES.html.sh (File system functions): Mention it.
30693         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
30694         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
30695
30696         euidaccess: prefer POSIX over non-standard implementation
30697         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
30698         * lib/euidaccess.c (euidaccess): Use it if available.
30699
30700         openat: make template easier to use
30701         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
30702         AT_FUNC_F2 to be undefined.
30703         (VALIDATE_FLAG): New macro; use it to reject bad flags.
30704         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
30705         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
30706         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
30707         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
30708         Likewise.
30709         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
30710         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
30711         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
30712         Likewise.
30713
30714         openat: declare in POSIX headers
30715         * NEWS: Mention this.
30716         * modules/openat (configure.ac): Declare witnesses.
30717         (Depends-on): Add fcntl-h, sys_stat, unistd.
30718         (Include): Mention correct headers.
30719         * modules/fcntl-h (Depends-on): Add link-warning.
30720         (Files): Add openat.m4.
30721         (Makefile.am): Substitute witnesses.
30722         * modules/sys_stat (Files, Makefile.am): Likewise.
30723         * modules/unistd (Files, Makefile.am): Likewise.
30724         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
30725         (gl_OPENAT_DEFAULTS): New macro.
30726         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
30727         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
30728         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
30729         (SYS_STAT_H): Remove unused variable.
30730         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
30731         * lib/fcntl--.h (includes): Remove unneeded header.
30732         * lib/openat-safer.c (includes): Likewise.
30733         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
30734         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
30735         appropriate headers.
30736         (__OPENAT_PREFIX): Delete.
30737         * lib/fcntl.in.h (openat): Provide declaration.
30738         (AT_FDCWD): Fix Solaris bug.
30739         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
30740         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
30741         * lib/fchmodat.c (includes):  Adjust to find declaration.
30742         * lib/fchownat.c (includes): Likewise.
30743         * lib/mkdirat.c (includes): Likewise.
30744         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
30745         still visible.
30746
30747 2009-09-02  Eric Blake  <ebb9@byu.net>
30748
30749         errno: use consistently
30750         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
30751         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
30752         * lib/canonicalize.c (ELOOP): Likewise.
30753         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
30754         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
30755         * lib/lchown.c (EOPNOTSUPP): Likewise.
30756         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
30757         * lib/savewd.c (ESTALE): Likewise.
30758         * lib/settime.c (ENOSYS): Likewise.
30759         * lib/utimens.c (ENOSYS): Likewise.
30760         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
30761         * lib/chdir-safer.c (ELOOP): Likewise.
30762         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
30763         * modules/c-stack (Depends-on): Add errno.
30764         * modules/canonicalize (Depends-on): Likewise.
30765         * modules/chdir-safer (Depends-on): Likewise.
30766         * modules/fdopendir (Depends-on): Likewise.
30767         * modules/inet_ntop (Depends-on): Likewise.
30768         * modules/inet_pton (Depends-on): Likewise.
30769         * modules/lchown (Depends-on): Likewise.
30770         * modules/openat (Depends-on): Likewise.
30771         * modules/savewd (Depends-on): Likewise.
30772         * modules/settime (Depends-on): Likewise.
30773         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
30774
30775         fts: avoid leaking fds
30776         * modules/fts (Depends-on): Add cloexec.
30777         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
30778         flag.
30779
30780         fts: make directory fds more robust
30781         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
30782         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
30783
30784         backupfile, chdir-long, fts, savedir: make safer
30785         * lib/backupfile.c (includes): Use "dirent--.h", since
30786         numbered_backup can write to stderr during readdir.
30787         * lib/savedir.c (includes): Likewise.
30788         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
30789         emulation can write to stderr on failure.
30790         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
30791         * lib/getcwd.c: Document why opendir_safer is unused.
30792         * lib/glob.c: Likewise.
30793         * lib/scandir.c: Likewise.
30794         * lib/openat-proc.c: Likewise, for open_safer.
30795         * modules/backupfile (Depends-on): Add dirent-safer.
30796         * modules/savedir (Depends-on): Likewise.
30797         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
30798         * modules/chdir-long (Depends-on): Add openat-safer.
30799
30800         openat-safer: new module
30801         * modules/openat-safer: New file.
30802         * lib/openat-safer.c: Likewise.
30803         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
30804         * lib/fcntl-safer.h (openat_safer): Declare.
30805         * lib/fcntl--.h (openat): Override.
30806         * MODULES.html.sh (File descriptor based I/O): Mention it.
30807         * lib/openat.h: Add double-inclusion guards.
30808         * lib/openat.c (includes): Only include "fcntl-safer.h", not
30809         "fcntl--.h", so we can implement openat.
30810         * modules/openat-safer-tests: New test.
30811         * tests/test-openat-safer.c: New file.
30812
30813         dirent-safer: new module
30814         * modules/dirent-safer: New file.
30815         * lib/dirent--.h: Likewise.
30816         * lib/dirent-safer.h: Likewise.
30817         * lib/opendir-safer.c: Likewise.
30818         * m4/dirent-safer.m4: Likewise.
30819         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
30820         * modules/dirent-safer-tests: New test.
30821         * tests/test-dirent-safer.c: New file.
30822         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
30823
30824         fdopendir: optimize on mingw
30825         * lib/unistd.in.h (_gl_directory_name): New prototype.
30826         * lib/fchdir.c (_gl_directory_name): Implement it.
30827         (fchdir): Use it to simplify implementation.
30828         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
30829         fchdir, when available, to avoid calling [f]chdir().
30830
30831         fdopendir: split into its own module
30832         * lib/openat.c (fdopendir): Move...
30833         * lib/fdopendir.c: ...into new file.
30834         * modules/fdopendir: New module.
30835         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
30836         * modules/openat (Depends-on): Add fdopendir.
30837         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
30838         fdopendir here.
30839         * modules/savedir (Depends-on): Only need fdopendir, not full
30840         openat.
30841         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
30842         * lib/openat.h (fdopendir): Drop prototype.
30843         * lib/dirent.in.h (fdopendir): Provide prototype.
30844         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
30845         * modules/dirent (Makefile.am): Substitute them.
30846         * MODULES.html.sh (File system functions): Mention it.
30847         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
30848         * modules/fdopendir-tests: New file.
30849         * tests/test-fdopendir.c: Likewise.
30850
30851         fchdir: use more consistent macro convention
30852         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
30853         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
30854         REPLACE_FCHDIR, rather than relying on config.h macros.
30855         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
30856         inside a single make-time REPLACE_FCHDIR block, rather than using
30857         the config.h FCHDIR_REPLACEMENT.
30858         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
30859         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
30860         Manage fstat replacement.
30861         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
30862         REPLACE_FCHDIR.
30863         * modules/sys_stat (Files): Add m4/unistd_h.m4.
30864         (Makefile.am): Substitute REPLACE_FCHDIR.
30865         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
30866         FCHDIR_REPLACEMENT.
30867         * lib/dup-safer.c (dup_safer): Likewise.
30868         * lib/dup2.c (rpl_dup2): Likewise.
30869         * lib/dup3.c (rpl_dup3): Likewise.
30870         * lib/open.c (rpl_open): Likewise.
30871
30872         fchdir: simplify error handling, and support dup3
30873         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
30874         stdbool, malloc-posix, realloc-posix.
30875         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
30876         (ensure_dirs_slot): Return false on allocation failure.
30877         (rpl_dup2): Delete.
30878         (_gl_register_dup): New function.
30879         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
30880         (_gl_register_fd): Close fd on allocation failure.
30881         * lib/fcntl.in.h (_gl_register_fd): Update signature.
30882         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
30883         prototype.
30884         (rpl_dup2_fchdir): Delete prototype.
30885         * lib/open.c (open): Update caller.
30886         * lib/dup2.c (dup2): Track fchdir metadata.
30887         * lib/dup3.c (dup3): Likewise.
30888         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
30889         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
30890
30891 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30892
30893         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
30894         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
30895         don't pass arguments to AC_OUTPUT.
30896
30897 2009-09-02  Bruno Haible  <bruno@clisp.org>
30898
30899         * modules/mkdtemp (License): Relicense under LGPLv2+.
30900         Reported by Paolo Bonzini.
30901
30902 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30903
30904         Replace uses of obsolete autoconf macros in Jim's modules.
30905         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
30906         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
30907         can evoke a warning from autoconf when run with -Wobsolete
30908         enabled.  They were declared obsolete for good reasons (see
30909         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
30910         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
30911         should not continue using the deprecated macros.
30912         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
30913         obsolete Autoconf macros with modern counterparts.
30914         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
30915         * m4/dos.m4 (gl_AC_DOS): Likewise.
30916         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
30917         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
30918         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
30919         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
30920         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
30921         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
30922         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
30923         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
30924         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
30925         Likewise.
30926         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
30927         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
30928         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
30929         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
30930         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
30931         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
30932
30933 2009-09-01  Eric Blake  <ebb9@byu.net>
30934
30935         fchdir: fix off-by-one bug in previous patch
30936         * lib/fchdir.c (rpl_fstat): Use correct bounds.
30937         (_gl_unregister_fd): Delete useless if.
30938
30939 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
30940
30941         maint.mk: sort the list of syntax-check rules
30942         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
30943         easier to get a sense of progress when the rules are run sequentially
30944         and take a long time.
30945
30946 2009-09-01  Simon Josefsson  <simon@josefsson.org>
30947
30948         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
30949         * modules/netinet_in: Likewise.
30950         * modules/sys_file: Likewise.
30951         * modules/sys_ioctl: Likewise.
30952         * modules/sys_select: Likewise.
30953         * modules/sys_socket: Likewise.
30954         * modules/sys_stat: Likewise.
30955         * modules/sys_time: Likewise.
30956         * modules/sys_times: Likewise.
30957         * modules/sys_utsname: Likewise.
30958         * modules/sys_wait: Likewise.
30959
30960 2009-09-01  Jim Meyering  <meyering@redhat.com>
30961
30962         fts: help ensure that return values are not ignored
30963         * lib/fts_.h (__GNUC_PREREQ): Define.
30964         (__attribute_warn_unused_result__): Define.
30965         (fts_children, fts_close, fts_open, fts_read): Declare with
30966         __attribute_warn_unused_result__.
30967
30968         fts: fts_close now fails also when closing a dir file descriptor fails
30969         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
30970         and propagate to caller, along with errno.
30971
30972         announce-gen: correct formatting in --help output
30973         * build-aux/announce-gen (usage): Move the one-line description in
30974         --help output "up", to where it belongs, just after Usage:.
30975
30976 2009-08-31  Eric Blake  <ebb9@byu.net>
30977
30978         fchdir: port to mingw
30979         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
30980         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
30981         opened, then use a substitute.
30982         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
30983         replacement.
30984         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
30985         (_gl_register_fd): No need to check stat if open already filters
30986         all directories.
30987         (fchdir): Fix error condition to match POSIX.
30988         * modules/fchdir (Depends-on): Add sys_stat.
30989         * doc/posix-functions/open.texi (open): Document the limitation.
30990         * modules/fchdir-tests: New file.
30991         * tests/test-fchdir.c: Likewise.
30992
30993         canonicalize: allow cross-testing from cygwin to mingw
30994         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
30995         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
30996         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
30997         Likewise.
30998         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
30999         target does not support symlinks.
31000         * tests/test-canonicalize-lgpl.sh: Likewise.
31001
31002         chown: avoid compilation warning on mingw
31003         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
31004         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
31005         mingw.
31006         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
31007         * modules/chown (Depends-on): Add errno.
31008
31009 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
31010
31011         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
31012         command.
31013
31014 2009-08-31  Jim Meyering  <meyering@redhat.com>
31015
31016         canonicalize: remove useless initialization
31017         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
31018         initialization of local, "end".
31019
31020 2009-08-30  Bruno Haible  <bruno@clisp.org>
31021
31022         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
31023         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
31024         ENOSYS.
31025
31026 2009-08-30  Bruno Haible  <bruno@clisp.org>
31027
31028         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
31029         /usr/xpg4/bin/tr when it exists.
31030         * tests/test-pipe-filter-gi1.sh: Likewise.
31031
31032 2009-08-30  Bruno Haible  <bruno@clisp.org>
31033
31034         Work around deficient /usr/bin/id program on Solaris.
31035         * tests/test-file-has-acl.sh (ID): New variable.
31036         * tests/test-set-mode-acl.sh (ID): Likewise.
31037         * tests/test-copy-acl.sh (ID): Likewise.
31038         * tests/test-copy-file.sh (ID): Likewise.
31039
31040 2009-08-30  Bruno Haible  <bruno@clisp.org>
31041
31042         New module 'xstriconveh'.
31043         * lib/xstriconveh.h: New file.
31044         * lib/xstriconveh.c: New file.
31045         * modules/xstriconveh: New file.
31046
31047 2009-08-30  Bruno Haible  <bruno@clisp.org>
31048
31049         Make it easier to use mem_cd_iconveh.
31050         * lib/striconveh.h (iconveh_t): New type.
31051         (iconveh_open, iconveh_close): New declarations.
31052         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
31053         with a single 'const iconveh_t *' argument.
31054         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
31055         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
31056         with a single 'const iconveh_t *' argument.
31057         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
31058         * tests/test-striconveh.c (main): Update.
31059         * NEWS: Mention the change.
31060
31061 2009-08-30  Bruno Haible  <bruno@clisp.org>
31062
31063         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
31064         problem.
31065
31066 2009-08-30  Bruno Haible  <bruno@clisp.org>
31067
31068         Work around iconv_open problem on Solaris.
31069         * lib/iconv_open-solaris.gperf: New file.
31070         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
31071         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
31072         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
31073         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
31074         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
31075         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
31076
31077 2009-08-29  Jim Meyering  <meyering@redhat.com>
31078
31079         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
31080         * top/maint.mk (cvs-check): Remove target; it was just an alias
31081         to the better-named vc-diff-check.
31082         (maintainer-distcheck): Remove rule.  It was used only from
31083         the (alpha/beta/major) target, and all of its commands but one
31084         were coreutils-specific.
31085         (vc-dist): Remove rule.
31086         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
31087         Run vc-diff-check, not vc-dist.
31088         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
31089
31090 2009-08-27  Bruno Haible  <bruno@clisp.org>
31091
31092         * tests/test-bitrotate.c (main): Remove test that uses a shift count
31093         of 0.
31094
31095 2009-08-27  Bruno Haible  <bruno@clisp.org>
31096
31097         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
31098         compilers.
31099         * doc/func.texi: Document the SunPRO C bug.
31100
31101 2009-08-27  Bruno Haible  <bruno@clisp.org>
31102
31103         Fix link error on Solaris.
31104         * tests/test-parse-duration.c (xstrdup): Remove function.
31105
31106 2009-08-26  Pádraig Brady  <P@draigbrady.com>
31107
31108         ignore-value: handle pointer types, too
31109         * lib/ignore-value.h (__attribute__): Remove definition.
31110         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
31111         of a more concise and more-often effective "(void) i" statement.
31112         (ignore_ptr): New function to suppress warnings from functions that
31113         return pointers, and to make it explicit that one function doesn't
31114         handle all cases.
31115
31116 2009-08-25  Bruno Haible  <bruno@clisp.org>
31117
31118         dup2: work around a Linux bug.
31119         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
31120         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
31121         * doc/posix-functions/dup2.texi: Mention the Linux bug.
31122         Reported by Simon Josefsson.
31123
31124 2009-08-25  Jim Meyering  <meyering@redhat.com>
31125
31126         libguestfs uses gnulib
31127         * users.txt: Add libguestfs.
31128
31129 2009-08-24  Eric Blake  <ebb9@byu.net>
31130
31131         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
31132         * lib/pipe2.c (includes): Add binary-io.h.
31133         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
31134
31135 2009-08-24  Bruno Haible  <bruno@clisp.org>
31136
31137         Tolerate declared but missing accept4 syscall.
31138         * lib/accept4.c (accept4): Invoke original accept4 function first, if
31139         available.
31140         * lib/sys_socket.in.h (accept4): If the function is already present,
31141         override it.
31142         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
31143         * modules/accept4 (Makefile.am): Compile accept4.c always.
31144         Reported by Paolo Bonzini and Eric Blake.
31145
31146 2009-08-23  Bruno Haible  <bruno@clisp.org>
31147
31148         New module 'accept4'.
31149         * lib/sys_socket.in.h (accept4): New declaration.
31150         * lib/accept4.c: New file.
31151         * m4/accept4.m4: New file.
31152         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
31153         GNULIB_ACCEPT4, HAVE_ACCEPT4.
31154         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
31155         HAVE_ACCEPT4.
31156         * modules/accept4: New file.
31157         * doc/glibc-functions/accept4.texi: Mention the new module.
31158
31159 2009-08-24  Jim Meyering  <meyering@redhat.com>
31160
31161         progname: also set global program_invocation_name, when possible
31162         Before this change, a libtool-enabled program that calls glibc's
31163         error function would report the program name as
31164         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
31165         * modules/progname (configure.ac): Check for a declaration of
31166         program_invocation_name.
31167         * lib/progname.c:  Include <errno.h>.
31168         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
31169         Set program_invocation_name.
31170
31171 2009-08-23  Bruno Haible  <bruno@clisp.org>
31172
31173         * lib/dup3.c: Include <string.h>.
31174
31175 2009-08-23  Bruno Haible  <bruno@clisp.org>
31176
31177         * lib/dup3.c (dup3): Test only once whether the system actually exists.
31178         * lib/pipe2.c (pipe2): Likewise.
31179         Suggested by Eric Blake.
31180
31181 2009-08-23  Bruno Haible  <bruno@clisp.org>
31182
31183         Tolerate declared but missing dup3 syscall.
31184         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
31185         * lib/unistd.in.h (dup3): If the function is already present,
31186         override it.
31187         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
31188         * modules/dup3 (Makefile.am): Compile dup3.c always.
31189         Reported by Paolo Bonzini.
31190
31191 2009-08-23  Bruno Haible  <bruno@clisp.org>
31192
31193         Tolerate declared but missing pipe2 syscall.
31194         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
31195         available.
31196         * lib/unistd.in.h (pipe2): If the function is already present,
31197         override it.
31198         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
31199         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
31200         Reported by Paolo Bonzini.
31201
31202 2009-08-23  Bruno Haible  <bruno@clisp.org>
31203
31204         * lib/pipe2.c (pipe2): Move #ifs inside function.
31205
31206 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
31207
31208         quotearg: document limitations of quote_these_too
31209         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
31210         those limitations are created.
31211         * lib/quotearg.h (set_char_quoting): Document that digits and
31212         letters that are special after backslash are not permitted.
31213         (quotearg_char): Cross-reference set_char_quoting documentation.
31214
31215 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
31216
31217         quotearg: implement custom_quoting_style
31218         * lib/quotearg.c: (struct quoting_options): Add left_quote and
31219         right_quote fields.
31220         (set_custom_quoting): New public function.
31221         (quotearg_buffer_restyled): Add left_quote and right_quote
31222         arguments, handle them very much like locale quoting, and update
31223         all uses.
31224         (quotearg_n_custom): New public function.
31225         (quotearg_n_custom_mem): New public function.
31226         (quotearg_custom): New public function.
31227         (quotearg_custom_mem): New public function.
31228         * lib/quotearg.h: Prototype and document new public functions.
31229         (enum quoting_style): For escape_quoting_style and
31230         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
31231         ignored even though they're otherwise like c_quoting_style.
31232         Add custom_quoting_style member and document with comparison to
31233         clocale_quoting_style.
31234         * tests/test-quotearg.c (custom_quotes): New array.
31235         (custom_results): New array.
31236         (main): Extend to test custom quoting.
31237
31238 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
31239
31240         quotearg: fix right quote escaping when it's in quote_these_too
31241         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
31242         quote, be sure to prepend only one backslash.
31243         * tests/test-quotearg.c (use_quote_double_quotes): New function.
31244         (main): Test it.
31245
31246 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
31247
31248         quotearg-tests: test escaping of embedded locale quotes
31249         * tests/test-quotearg.c (struct result_strings): Add member for
31250         new input.
31251         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
31252         (inputs): Add new input.
31253         (results_g): Add expected results.
31254         (flag_results): Likewise.
31255         (locale_results): Likewise.
31256         (compare_strings): Check those.
31257
31258 2009-08-23  Bruno Haible  <bruno@clisp.org>
31259
31260         Tests for module 'dup3'.
31261         * modules/dup3-tests: New file.
31262         * tests/test-dup3.c: New file.
31263
31264         New module 'dup3'.
31265         * lib/unistd.in.h (dup3): New declaration.
31266         * lib/dup3.c: New file.
31267         * m4/dup3.m4: New file.
31268         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
31269         HAVE_DUP3.
31270         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
31271         * modules/dup3: New file.
31272         * doc/glibc-functions/dup3.texi: Mention the new module.
31273
31274 2009-08-23  Bruno Haible  <bruno@clisp.org>
31275
31276         Tweak the dup2 test.
31277         * tests/test-dup2.c (main): Create the test file empty. Verify that an
31278         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
31279         the test file is still empty. Fix argument order of lseek.
31280
31281 2009-08-23  Bruno Haible  <bruno@clisp.org>
31282
31283         Avoid test link errors when the modules getopt-gnu, gettext are used.
31284         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
31285         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
31286
31287 2009-08-23  Bruno Haible  <bruno@clisp.org>
31288
31289         Fix getdtablesize() on mingw.
31290         * lib/getdtablesize.c (getdtablesize): Implement differently.
31291         * lib/unistd.in.h (getdtablesize): Improve comment.
31292
31293 2009-08-23  Bruno Haible  <bruno@clisp.org>
31294
31295         New module 'mkostemp'.
31296         Based on Ulrich Drepper's 2007-08-10 change in glibc.
31297         * lib/stdlib.in.h (mksotemp): New declaration.
31298         * lib/mkostemp.c: New file, from glibc with modifications.
31299         * lib/tempname.h (GT_FILE): Remove outdated comment.
31300         (gen_tempname): Add flags argument.
31301         * lib/tempname.c (__GT_BIGFILE): Remove macro.
31302         (__GT_FILE): Map to 1.
31303         (small_open, large_open): Remove macros.
31304         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
31305         * lib/mkstemp.c (mkstemp): Update.
31306         * lib/mkdtemp.c (mkdtemp): Likewise.
31307         * m4/mkostemp.m4: New file.
31308         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
31309         HAVE_MKOSTEMP.
31310         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
31311         HAVE_MKOSTEMP.
31312         * modules/mkostemp: New file, based on modules/mkstemp.
31313         * doc/glibc-functions/mkostemp.texi: Mention the new module.
31314         * NEWS: Mention the change.
31315
31316 2009-08-23  Bruno Haible  <bruno@clisp.org>
31317
31318         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
31319         Reported by Eric Blake.
31320
31321 2009-08-23  Bruno Haible  <bruno@clisp.org>
31322
31323         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
31324         Reported by Eric Blake.
31325
31326 2009-08-23  Bruno Haible  <bruno@clisp.org>
31327
31328         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
31329         * modules/pipe2 (Depends-on): Likewise.
31330
31331 2009-08-23  Eric Blake  <ebb9@byu.net>
31332
31333         fcntl-h: add O_TTY_INIT support
31334         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
31335         * tests/test-fcntl-h.c (o): Test it.
31336         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
31337
31338         fcntl-h: rename from fcntl, in preparation for fcntl(2)
31339         * modules/fcntl: Move <fcntl.h> header replacement...
31340         * modules/fcntl-h: ...to new name, so as not to collide with
31341         like-named function.
31342         * tests/test-fcntl.c: Rename...
31343         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
31344         * modules/fcntl-tests: Rename...
31345         * modules/fcntl-h-tests: ...to this.  Update test file name.
31346         * modules/chdir-long (Depends-on): Update clients.
31347         * modules/chdir-safer (Depends-on): Likewise.
31348         * modules/fcntl-safer (Depends-on): Likewise.
31349         * modules/fts (Depends-on): Likewise.
31350         * modules/mkancesdirs (Depends-on): Likewise.
31351         * modules/mkdir-p (Depends-on): Likewise.
31352         * modules/open (Depends-on): Likewise.
31353         * modules/savewd (Depends-on): Likewise.
31354         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
31355         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
31356
31357 2009-08-22  Bruno Haible  <bruno@clisp.org>
31358
31359         * modules/binary-io (License): Relicense under LGPL.
31360         * modules/pipe2 (License): Likewise.
31361
31362 2009-08-22  Bruno Haible  <bruno@clisp.org>
31363
31364         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
31365         return value.
31366         * lib/pipe-filter-gi.c (filter_init): Likewise.
31367         Reported by Eric Blake.
31368
31369 2009-08-22  Bruno Haible  <bruno@clisp.org>
31370
31371         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
31372         * modules/pipe (Depends-on): Add pipe2.
31373
31374 2009-08-22  Bruno Haible  <bruno@clisp.org>
31375
31376         Tests for module 'pipe2'.
31377         * modules/pipe2-tests: New file.
31378         * tests/test-pipe2.c: New file.
31379
31380         New module 'pipe2'.
31381         * lib/unistd.in.h (pipe2): New declaration.
31382         * lib/pipe2.c: New file.
31383         * m4/pipe2.m4: New file.
31384         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
31385         HAVE_PIPE2.
31386         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
31387         * modules/pipe2: New file.
31388         * doc/glibc-functions/pipe2.texi: Mention the new module.
31389
31390 2009-08-22  Bruno Haible  <bruno@clisp.org>
31391
31392         Reference some new glibc functions.
31393         * doc/glibc-functions/accept4.texi: New file.
31394         * doc/glibc-functions/dup3.texi: New file.
31395         * doc/glibc-functions/mkostemp.texi: New file.
31396         * doc/glibc-functions/pipe2.texi: New file.
31397         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
31398         (Glibc sys/socket.h): Refer to accept4.
31399         (Glibc unistd.h): Refer to dup3, pipe2.
31400         Reported by Eric Blake.
31401
31402 2009-08-22  Jim Meyering  <meyering@redhat.com>
31403             Bruno Haible  <bruno@clisp.org>
31404
31405         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
31406         This makes it so packages using automake-1.11's silent-rules option
31407         can print e.g., a single "GEN    configmake.h" line, rather than
31408         the 30+ statements that perform the job.  If you want to see the
31409         actual commands, you can still run "make V=1".
31410         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
31411         so that make output is abbreviated when those variables are defined
31412         appropriately.
31413         * modules/argz: Likewise.
31414         * modules/arpa_inet: Likewise.
31415         * modules/byteswap: Likewise.
31416         * modules/configmake: Likewise.
31417         * modules/dirent: Likewise.
31418         * modules/errno: Likewise.
31419         * modules/fcntl: Likewise.
31420         * modules/float: Likewise.
31421         * modules/fnmatch: Likewise.
31422         * modules/getopt-posix: Likewise.
31423         * modules/glob: Likewise.
31424         * modules/iconv_open: Likewise.
31425         * modules/inttypes: Likewise.
31426         * modules/localcharset: Likewise.
31427         * modules/locale: Likewise.
31428         * modules/math: Likewise.
31429         * modules/netdb: Likewise.
31430         * modules/netinet_in: Likewise.
31431         * modules/poll: Likewise.
31432         * modules/posix_spawnp-tests: Likewise.
31433         * modules/sched: Likewise.
31434         * modules/search: Likewise.
31435         * modules/selinux-h: Likewise.
31436         * modules/signal: Likewise.
31437         * modules/spawn: Likewise.
31438         * modules/stdarg: Likewise.
31439         * modules/stdbool: Likewise.
31440         * modules/stddef: Likewise.
31441         * modules/stdint: Likewise.
31442         * modules/stdio: Likewise.
31443         * modules/stdlib: Likewise.
31444         * modules/string: Likewise.
31445         * modules/strings: Likewise.
31446         * modules/sys_file: Likewise.
31447         * modules/sys_ioctl: Likewise.
31448         * modules/sys_select: Likewise.
31449         * modules/sys_socket: Likewise.
31450         * modules/sys_stat: Likewise.
31451         * modules/sys_time: Likewise.
31452         * modules/sys_times: Likewise.
31453         * modules/sys_utsname: Likewise.
31454         * modules/sys_wait: Likewise.
31455         * modules/sysexits: Likewise.
31456         * modules/time: Likewise.
31457         * modules/unistd: Likewise.
31458         * modules/wchar: Likewise.
31459         * modules/wctype: Likewise.
31460
31461 2009-08-22  Jim Meyering  <meyering@redhat.com>
31462
31463         announce-gen: detect write failure
31464         * build-aux/announce-gen: Add Coda at end.
31465         Remove equivalent-but-more-verbose block at top.
31466
31467 2009-08-19  Akim Demaille  <demaille@gostai.com>
31468
31469         bootstrap: --help to stdout.
31470         * bootstrap (usage): Don't send --help to stderr.
31471         Use a here doc instead of a long string.
31472
31473 2009-08-21  Eric Blake  <ebb9@byu.net>
31474
31475         test-popen-safer: split from test-popen
31476         * tests/test-popen.c (main): Move...
31477         * tests/test-popen.h: ...into new file.
31478         * tests/test-popen-safer2.c: New file.
31479         * modules/popen-tests (Files): Add test-popen.h.
31480         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
31481         Suggested by Bruno Haible.
31482
31483         test-fcntl-safer: split from test-open
31484         * tests/test-open.c (main): Move...
31485         * tests/test-open.h: ...into new file.
31486         * tests/test-fcntl-safer.c: New file.
31487         * modules/open-tests (Files): Add test-open.h.
31488         * modules/fcntl-safer-tests: New file.
31489         Suggested by Bruno Haible.
31490
31491         test-fopen-safer: split from test-fopen
31492         * tests/test-fopen.c (main): Move...
31493         * tests/test-fopen.h: ...into new file.
31494         * tests/test-fopen-safer.c: New file.
31495         * modules/fopen-tests (Files): Add test-fopen.h.
31496         * modules/fopen-safer-tests: New file.
31497         Suggested by Bruno Haible.
31498
31499 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
31500
31501         popen-safer: test O_CLOEXEC at run-time.
31502         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
31503
31504 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
31505
31506         fcntl: move more flags to the header
31507         * lib/cloexec.c: Do not define FD_CLOEXEC here.
31508         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
31509         * lib/fcntl.in.h: Do both things here.
31510
31511 2009-08-21  Jim Meyering  <meyering@redhat.com>
31512
31513         consistently remove $@-t before redirecting to it
31514         * modules/argz: Remove $@-t and $@ before redirecting to the former.
31515         * modules/alloca-opt: Likewise.
31516         * modules/byteswap: Likewise.
31517         * modules/fnmatch: Likewise.
31518         * modules/getopt-posix: Likewise.
31519         * modules/glob: Likewise.
31520         * modules/poll: Likewise.
31521         * modules/posix_spawnp-tests: Likewise.
31522         * modules/sys_socket: Likewise.
31523         * modules/sysexits: Likewise.
31524
31525 2009-08-21  Eric Blake  <ebb9@byu.net>
31526
31527         popen: simplify access to original popen
31528         * lib/popen.c (rpl_popen): No need to worry about popen being a
31529         macro.
31530         Reported by Bruno Haible.
31531
31532 2009-08-20  Eric Blake  <ebb9@byu.net>
31533
31534         build: avoid some compiler warnings
31535         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
31536         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
31537         type.
31538         (new_exclude_segment, excluded_file_pattern_p)
31539         (excluded_file_name_p): Reduce scope.
31540         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
31541         old-style declaration.
31542
31543 2009-08-20  Simon Josefsson  <simon@josefsson.org>
31544
31545         * tests/test-exclude1.sh: Handle Windows EOL.
31546         * tests/test-exclude2.sh: Likewise.
31547         * tests/test-exclude3.sh: Likewise.
31548         * tests/test-exclude4.sh: Likewise.
31549         * tests/test-exclude5.sh: Likewise.
31550         * tests/test-exclude6.sh: Likewise.
31551         * tests/test-exclude7.sh: Likewise.
31552
31553 2009-08-19  Akim Demaille  <demaille@gostai.com>
31554
31555         bootstrap: find sha1sum when named gsha1sum.
31556         * bootstrap (find_tool): New.
31557         ($SHA1SUM): New.
31558         Use it.
31559
31560 2009-08-20  Jim Meyering  <meyering@redhat.com>
31561
31562         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
31563         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
31564         expression that converts "." in a file name to "\." in the resulting
31565         regexp.  Start with a dummy statement, so that prior shell variable
31566         definitions are expanded portably.  Reported by Simon Josefsson.
31567
31568 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
31569
31570         Fix polling for writeability of a screen buffer.
31571         * lib/poll.c: Distinguish input and screen buffers for the
31572         Win32 implementation.
31573         * lib/select.c: Likewise.
31574
31575 2009-08-19  Eric Blake  <ebb9@byu.net>
31576
31577         popen-safer: prevent popen from clobbering std descriptors
31578         * modules/popen-safer: New file.
31579         * lib/popen-safer.c: Likewise.
31580         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
31581         * lib/stdio--.h (popen): Provide override.
31582         * lib/stdio-safer.h (popen_safer): Provide declaration.
31583         * tests/test-popen.c (includes): Partially test this.
31584         * modules/popen-safer-tests: New file, for more tests.
31585         * tests/test-popen-safer.c: Likewise.
31586         * MODULES.html.sh (file stream based Input/Output): Mention it.
31587
31588         tests: test some of the *-safer modules
31589         * modules/fopen-safer (Depends-on): Add fopen.
31590         * modules/fcntl-safer (Depends-on): Add fcntl.
31591         * modules/stdlib-safer (Depends-on): Add stdlib.
31592         (configure.ac): Set indicator.
31593         * modules/unistd-safer (configure.ac): Likewise.
31594         * modules/tmpfile-safer (configure.ac): Likewise.
31595         (Depends-on): Add tmpfile.
31596         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
31597         active.
31598         * tests/test-fopen.c (includes): Test safer versions when they are
31599         in use.
31600         * tests/test-open.c (includes): Likewise.
31601
31602         popen: fix cygwin 1.5 bug when stdin closed
31603         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
31604         * modules/popen: New file.
31605         * modules/popen-tests: Likewise.
31606         * tests/test-popen.c: Likewise.
31607         * m4/popen.m4: Likewise.
31608         * lib/popen.c: Likewise.
31609         * lib/stdio.in.h (popen): New declaration.
31610         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
31611         * modules/stdio (Makefile.am): Likewise.
31612         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
31613
31614 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
31615
31616         maint.mk: give full control over update-copyright exclusions
31617         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
31618         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
31619         (update-copyright): Don't force inclusion of top-level
31620         ChangeLog.  Don't force exclusion of all COPYING files, but make
31621         them the default exclusion instead.
31622
31623 2009-08-16  Bruno Haible  <bruno@clisp.org>
31624
31625         Fix test failures on Solaris 10.
31626         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
31627         tests when Solaris iconv() is used.
31628         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
31629         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
31630         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
31631         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
31632         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
31633
31634 2009-08-16  Bruno Haible  <bruno@clisp.org>
31635
31636         Fix test failures on Solaris 10.
31637         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
31638         'tr' program and pass it as first argument.
31639         * tests/test-pipe-filter-gi1.sh: Likewise.
31640         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
31641         program as first argument.
31642         * tests/test-pipe-filter-gi1.c (main): Likewise.
31643
31644 2009-08-16  Eric Blake  <ebb9@byu.net>
31645
31646         fpurge: fix previous commits
31647         * modules/fpurge (Makefile.am): Make replacement conditional,
31648         partially reverting 2007-04-29 change; missed in previous
31649         attempt.
31650         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
31651         is missing.
31652
31653 2009-08-16  Bruno Haible  <bruno@clisp.org>
31654
31655         Clarify fpurge's effect on the file position.
31656         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
31657         * tests/test-fpurge.c (main): Make a second pass for checking the file
31658         position.
31659
31660 2009-08-16  Bruno Haible  <bruno@clisp.org>
31661
31662         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
31663         declaration of fpurge is missing.
31664         * tests/test-fpurge.c (main): Check that the file has not more contents
31665         than expected. Close the file before removing it.
31666
31667 2009-08-15  Eric Blake  <ebb9@byu.net>
31668
31669         fpurge: don't wrap working cygwin implementation
31670         * lib/fpurge.c (fpurge): Fix comment typo.
31671         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
31672         1.7 to avoid replacement.
31673         * tests/test-fpurge.c (main): Enhance test.
31674
31675 2009-08-15  Eric Blake  <ebb9@byu.net>
31676         and Jim Meyering  <meyering@redhat.com>
31677
31678         test-update-copyright: skip if perl is insufficient
31679         * tests/test-update-copyright.sh: Failure to run maintainer tool
31680         should not cause testsuite failure on cygwin 1.5.
31681
31682 2009-08-14  Eric Blake  <ebb9@byu.net>
31683
31684         doc: mention more functions added in cygwin 1.7.0
31685         * doc/posix-headers/limits.texi (limits.h): Update for recent
31686         cygwin additions.
31687         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
31688         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
31689         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
31690         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
31691         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
31692
31693 2009-08-14  Eric Blake  <ebb9@byu.net>
31694
31695         maint.mk: simplify update-copyright rule
31696         * top/maint.mk (update-copyright-local): Delete, and document how
31697         to do it in cfg.mk instead.
31698         (update-copyright-exclude-regexp): Delete, and document how to do
31699         it in .x-update-copyright instead.
31700         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
31701         exclude ChangeLog.
31702
31703 2009-08-14  Bruno Haible  <bruno@clisp.org>
31704
31705         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
31706
31707 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
31708
31709         maint.mk: support update-copyright-env
31710         * top/maint.mk (update-copyright-env): Define place-holder.
31711         (update-copyright): Expand $(update-copyright-env) before
31712         invoking update-copyright.
31713
31714 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
31715
31716         update-copyright: implement forced reformatting
31717         * build-aux/update-copyright: Implement and document
31718         UPDATE_COPYRIGHT_FORCE.
31719         * tests/test-update-copyright.sh: Test it.
31720
31721 2009-08-14  Eric Blake  <ebb9@byu.net>
31722         and Bruno Haible  <bruno@clisp.org>
31723
31724         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
31725         * tests/test-locale.c: Revert previous patch related to NULL.
31726         * tests/test-stdio.c: Likewise.
31727         * tests/test-stdlib.c: Likewise.
31728         * tests/test-string.c: Likewise.
31729         * tests/test-unistd.c: Likewise.
31730         * modules/time-tests (Depends-on): Add verify.
31731         * modules/wchar-tests (Depends-on): Likewise.
31732         * tests/test-time.c: Test for NULL compliance.
31733         * tests/test-wchar.c: Likewise.
31734         * modules/locale (Depends-on): Add stddef.
31735         * modules/stdio (Depends-on): Likewise.
31736         * modules/stdlib (Depends-on): Likewise.
31737         * modules/string (Depends-on): Likewise.
31738         * modules/time (Depends-on): Likewise.
31739         * modules/unistd (Depends-on): Likewise.
31740         * modules/wchar (Depends-on): Likewise.
31741         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
31742         * lib/stdlib.in.h (includes): Likewise.
31743         * lib/string.in.h (includes): Likewise.
31744         * lib/time.in.h (includes): Likewise.
31745         * lib/unistd.in.h (includes): Likewise.
31746         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
31747         replaced.
31748         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
31749         * m4/stddef_h.m4: New file.
31750         * modules/stddef: Likewise.
31751         * lib/stddef.in.h: Likewise.
31752         * modules/stddef-tests: Likewise.
31753         * tests/test-stddef.c: Likewise.
31754         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
31755         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
31756         * doc/posix-headers/locale.texi (locale.h): Likewise.
31757         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
31758         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
31759         * doc/posix-headers/string.texi (string.h): Likewise.
31760         * doc/posix-headers/time.texi (time.h): Likewise.
31761         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
31762         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
31763
31764 2009-08-14  Eric Blake  <ebb9@byu.net>
31765
31766         doc: improve git diff of texinfo files
31767         * .gitattributes: Add rule for *.texi files, with hint on how to
31768         use it.
31769         Copied from m4, and based on a report by Bruno Haible.
31770
31771 2009-08-14  Bruno Haible  <bruno@clisp.org>
31772
31773         Disable multithread support by default on Cygwin 1.5.x for real.
31774         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
31775
31776 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
31777
31778         update-copyright: much ado about intervals
31779         * build-aux/update-copyright: Implement and document
31780         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
31781         of copyright year intervals.
31782         Also, document UPDATE_COPYRIGHT_YEAR.
31783         * tests/test-update-copyright.sh: Test it.
31784
31785         update-copyright: convert 2-digit to 4-digit years
31786         * build-aux/update-copyright: Implement and document.
31787         * tests/test-update-copyright.sh: Update.
31788
31789 2009-08-14  Jim Meyering  <meyering@redhat.com>
31790
31791         test-exclude: avoid coreutils "make check" failure
31792         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
31793         just as in test-argmatch.c.
31794
31795 2009-08-13  Eric Blake  <ebb9@byu.net>
31796
31797         test-dup2: fix bad assumption
31798         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
31799         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
31800
31801         test-version-etc: fix CRLF portability issue
31802         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
31803         recognize \r.
31804         * tests/test-argp-version-etc-1.sh: Likewise.
31805
31806         getopt: update client modules
31807         * modules/argp (Depends-on): Use getopt-gnu.
31808         * modules/git-merge-changelog (Depends-on): Likewise.
31809         * modules/long-options (Depends-on): Likewise.
31810         * modules/xstrtol (Depends-on): Likewise.
31811
31812 2009-08-13  Simon Josefsson  <simon@josefsson.org>
31813
31814         * tests/test-version-etc.sh: Don't fail on different
31815         project/version.  Don't fail on CRLF differences.  Rewrite to use
31816         multiple -e instead of multiple sed forks, suggested by Eric Blake
31817         <ebb9@byu.net>.
31818         * tests/test-argp-version-etc-1.sh: Likewise.
31819
31820 2009-08-13  Simon Josefsson  <simon@josefsson.org>
31821
31822         * tests/test-version-etc.sh: Don't fail on different
31823         project/version.
31824
31825 2009-08-12  Bruno Haible  <bruno@clisp.org>
31826
31827         Tests for modules 'getopt-posix', 'getopt-gnu'.
31828         * modules/getopt-posix-tests: New file.
31829         * tests/test-getopt.c: New file.
31830         * tests/test-getopt.h: New file.
31831         * tests/test-getopt_long.h: New file.
31832
31833         New modules 'getopt-posix', 'getopt-gnu'.
31834         * modules/getopt-gnu: New file, renamed from modules/getopt.
31835         * modules/getopt-posix: New file.
31836         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
31837         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
31838         (gl_GETOPT): Remove macro.
31839         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
31840         Disable the test against BSD systems that declare optreset. Test
31841         against mingw bug. Test against lack of support of optional arguments
31842         on many platforms.
31843         * doc/glibc-headers/getopt.texi: Update module name and list of
31844         relevant platforms.
31845         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
31846         'getopt-gnu' and more portability problems.
31847         * NEWS: Mention the changes.
31848
31849 2009-08-12  Bruno Haible  <bruno@clisp.org>
31850
31851         Ensure that optarg etc. get declared by <unistd.h>.
31852         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
31853         AC_USE_SYSTEM_EXTENSIONS.
31854         * modules/getopt (Depends-on): Add 'extensions'.
31855
31856 2009-08-12  Bruno Haible  <bruno@clisp.org>
31857
31858         Avoid test link errors.
31859         * modules/pipe-filter-ii-tests (Makefile.am): Define
31860         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
31861         * modules/pipe-filter-gi-tests (Makefile.am): Define
31862         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
31863         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
31864
31865 2009-08-12  Bruno Haible  <bruno@clisp.org>
31866
31867         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
31868         gl_GETOPT_SUBSTITUTE before.
31869         (gl_GETOPT): Use it.
31870         * m4/argp.m4 (gl_ARGP): Update.
31871         Reported by Sergey Poznyakoff.
31872
31873         * m4/getopt.m4: Reorder macros.
31874         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
31875         (gl_GETOPT_SUBSTITUTE): Remove macro.
31876
31877 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
31878
31879         Minor improvement in gitlog-to-changelog
31880
31881         * build-aux/gitlog-to-changelog: New option `--format' makes
31882         output format string configurable.
31883
31884 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
31885
31886         Optimize exclude: use hash tables for non-wildcard patterns.
31887
31888         * lib/exclude.c: Include hash.h and mbuiter.h
31889         (struct exclude_pattern, exclude_segment): New data types.
31890         (struct exclude): Rewrite.
31891         (fnmatch_pattern_has_wildcards): New function.
31892         (new_exclude_segment, free_exclude_segment): New functions.
31893         (excluded_file_pattern_p, excluded_file_name_p): New functions.
31894         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
31895         * lib/exclude.h (is_fnmatch_pattern): New prototype.
31896         * modules/exclude: Depend on hash and mbuiter.
31897
31898         * modules/exclude-tests: New file.
31899         * tests/test-exclude.c: New file.
31900         * tests/test-exclude1.sh: New file.
31901         * tests/test-exclude2.sh: New file.
31902         * tests/test-exclude3.sh: New file.
31903         * tests/test-exclude4.sh: New file.
31904         * tests/test-exclude5.sh: New file.
31905         * tests/test-exclude6.sh: New file.
31906         * tests/test-exclude7.sh: New file.
31907
31908 2009-08-12  Bruno Haible  <bruno@clisp.org>
31909
31910         Ensure that getopt() gets declared by <unistd.h>.
31911         * lib/unistd.in.h: Conditionally include getopt.h.
31912         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
31913         Set GNULIB_UNISTD_H_GETOPT.
31914         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
31915         GNULIB_UNISTD_H_GETOPT.
31916         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
31917
31918 2009-08-12  Bruno Haible  <bruno@clisp.org>
31919
31920         Clarify logic.
31921         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
31922         gl_replace_getopt instead of GETOPT_H.
31923
31924 2009-08-12  Bruno Haible  <bruno@clisp.org>
31925
31926         * m4/getopt.m4: Add comments.
31927
31928 2009-08-12  Bruno Haible  <bruno@clisp.org>
31929
31930         Disable multithread support by default on Cygwin 1.5.x.
31931         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
31932         set gl_use_threads=no if not specified otherwise.
31933
31934 2009-08-11  Bruno Haible  <bruno@clisp.org>
31935
31936         Avoid compilation error on NetBSD 5.0.
31937         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
31938         * tests/test-stdio.c: Likewise.
31939         * tests/test-stdlib.c: Likewise.
31940         * tests/test-string.c: Likewise.
31941         * tests/test-unistd.c: Likewise.
31942         Reported by Greg Troxel <gdt@ir.bbn.com>
31943         at <https://savannah.gnu.org/support/?106973>.
31944
31945 2009-08-11  Bruno Haible  <bruno@clisp.org>
31946
31947         * modules/dup2-tests (Depends-on): Remove close.
31948
31949         Undo 2009-07-19 commit.
31950         * modules/acl-tests (Depends-on): Remove close.
31951         * modules/binary-io-tests (Depends-on): Likewise.
31952         * modules/closein-tests (Depends-on): Likewise.
31953         * modules/flock-tests (Depends-on): Likewise.
31954         * modules/fsync-tests (Depends-on): Likewise.
31955         * modules/lseek-tests (Depends-on): Likewise.
31956         * modules/pipe-tests (Depends-on): Likewise.
31957         * modules/posix_spawn-tests (Depends-on): Likewise.
31958         * modules/posix_spawnp-tests (Depends-on): Likewise.
31959         * modules/stat-time-tests (Depends-on): Likewise.
31960         * modules/yesno-tests (Depends-on): Likewise.
31961
31962 2009-08-10  Bruno Haible  <bruno@clisp.org>
31963
31964         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
31965
31966 2009-08-10  Bruno Haible  <bruno@clisp.org>
31967
31968         Fix a gcc warning.
31969         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
31970
31971 2009-08-10  Bruno Haible  <bruno@clisp.org>
31972
31973         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
31974         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
31975         not only the first time.
31976         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
31977         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
31978         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
31979         is 1, not only the the first time.
31980
31981 2009-08-10  Bruno Haible  <bruno@clisp.org>
31982
31983         Make it possible to use module 'gethostname' without module 'close'.
31984         * lib/unistd.in.h (close): Evoke a link error only if
31985         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
31986         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
31987         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
31988         * modules/unistd (Makefile.am): Substitute
31989         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
31990         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
31991         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
31992         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
31993         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
31994         * modules/sys_ioctl (Makefile.am): Substitute
31995         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
31996         * modules/socket (configure.ac): On native Windows, set
31997         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
31998         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
31999         Reported by Sam Steingold <sds@gnu.org>.
32000
32001 2009-08-10  Bruno Haible  <bruno@clisp.org>
32002
32003         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
32004         * modules/ioctl (configure.ac): Likewise.
32005
32006 2009-08-10  Bruno Haible  <bruno@clisp.org>
32007
32008         Avoid collision between gnulib wrapper and libintl wrapper.
32009         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
32010         already defined in intl/printf.c.
32011         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
32012         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
32013
32014 2009-08-09  Bruno Haible  <bruno@clisp.org>
32015
32016         Make <sys/select.h> really self-contained, also on Solaris 10.
32017         * lib/sys_select.in.h: Include <string.h>.
32018         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
32019         Solaris 10 problem.
32020         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
32021         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
32022         Reported by Jim Meyering.
32023
32024 2009-08-09  Bruno Haible  <bruno@clisp.org>
32025
32026         Avoid warnings from 'aclocal' that are due to a use of macro name
32027         AM_XGETTEXT_OPTION that is not defined in automake.
32028         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
32029         automake.
32030         * modules/error (configure.ac): Likewise.
32031         * modules/propername (configure.ac): Likewise.
32032         * modules/vasprintf (configure.ac): Likewise.
32033         * modules/verror (configure.ac): Likewise.
32034         * modules/xprintf (configure.ac): Likewise.
32035         * modules/xvasprintf (configure.ac): Likewise.
32036
32037 2009-08-08  Bruno Haible  <bruno@clisp.org>
32038
32039         Avoid compilation error in C++ mode.
32040         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
32041         Reported by Sam Steingold <sds@gnu.org>.
32042
32043 2009-08-08  Bruno Haible  <bruno@clisp.org>
32044
32045         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
32046         for the various Unix platforms.
32047         * doc/posix-headers/limits.texi: Update platforms list regarding
32048         HOST_NAME_MAX.
32049         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
32050
32051 2009-08-07  Jim Meyering  <meyering@redhat.com>
32052
32053         selinux-at: fix typo in a comment
32054         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
32055         Spotted by Paolo Bonzini.
32056
32057         selinux-at: remove redundant m4 code, add documentation
32058         * modules/selinux-at (configure.ac): Remove redundant code.
32059         LIB_SELINUX is already set via the dependent module, selinux-h.
32060         (Include): Add quotes around selinux-at.h.
32061         * lib/selinux-at.h: Add documentation.
32062         Reported by Bruno Haible in
32063         http://marc.info/?l=gnulib-bug&m=124958988300749
32064
32065 2009-08-07  Bruno Haible  <bruno@clisp.org>
32066
32067         Avoid link error on MacOS X 10.3 and 10.4.
32068         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
32069         on non-ELF systems.
32070         * lib/argp-pv.c (argp_program_version): Likewise.
32071         Reported by Simon Josefsson.
32072
32073 2009-08-07  Simon Josefsson  <simon@josefsson.org>
32074
32075         * tests/test-version-etc.sh: Use $EXEEXT.
32076
32077 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
32078
32079         update-copyright: update documentation to point to maint.mk
32080         * build-aux/update-copyright: Here.
32081
32082 2009-08-06  Jim Meyering  <meyering@redhat.com>
32083
32084         maint.mk: support update-copyright-local
32085         * top/maint.mk (update-copyright-local): Define place-holder.
32086         (update-copyright): Depend on $(update-copyright-local).
32087
32088 2009-08-06  Jim Meyering  <meyering@redhat.com>
32089
32090         selinux-at: new module
32091         Initially written for coreutils, this module will soon be
32092         used by findutils, too.
32093         * MODULES.html.sh [Misc]: Add selinux-at.
32094         * lib/selinux-at.h: New file, from coreutils.
32095         * lib/selinux-at.c: Likewise.
32096         * modules/selinux-at: Likewise.
32097         (License): Change from LGPL to GPL, since it depends
32098         on the GPL'd openat module.
32099
32100         doc: update README
32101         * README: Remove references to cogito.
32102         Remove cvs-repo-updating instructions from 2007.
32103         Don't imply that CVS is better if you have limited disk space.
32104
32105 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
32106
32107         update-copyright: support C-style comments
32108         * build-aux/update-copyright: Implement and document.
32109         * tests/test-update-copyright.sh: Test.
32110
32111 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
32112
32113         update-copyright: support omitted "(C)"
32114         * build-aux/update-copyright: Implement and document.  Also,
32115         allow variable whitespace before "(C)".
32116         * tests/test-update-copyright.sh: Test.
32117
32118 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
32119
32120         update-copyright: don't trip on non-FSF copyright statements
32121         * build-aux/update-copyright: Fix so that the first correctly
32122         formatted FSF copyright statement is recognized no matter what
32123         appears before it.  Update documentation.
32124         * tests/test-update-copyright.sh: Test that.
32125
32126 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
32127
32128         update-copyright: clean up code a little
32129         * build-aux/update-copyright: Append "_re" to the name of any
32130         variable holding a regular expression.
32131         Replace "old" and "new" with "stmt" in variable names.
32132         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
32133         handled correctly.
32134         Format code more consistently.
32135
32136 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
32137
32138         update-copyright-tests: improve portability
32139         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
32140         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
32141
32142 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
32143
32144         update-copyright: support @copyright{} and &copy;
32145         * build-aux/update-copyright: Implement and document.
32146         * tests/test-update-copyright.sh: Test.
32147
32148 2009-08-04  Jim Meyering  <meyering@redhat.com>
32149
32150         update-copyright-tests: correctly test EOL=\r\n handling
32151         * tests/test-update-copyright.sh: Put \r at the end of some lines
32152         for the dos-eol tests.  Based on a patch by Joel E. Denny.
32153
32154         maint.mk: make update-copyright exclusion list more configurable
32155         * top/maint.mk (update-copyright): Default to excluding COPYING,
32156         but allow an override, in case someone does want to update that file.
32157
32158         maint.mk: don't update copyright date in COPYING
32159         * top/maint.mk (update-copyright): Exclude COPYING.
32160
32161         maint.mk: add a copyright-updating rule
32162         * top/maint.mk (update-copyright): New rule.
32163         Derived from coreutils/Makefile.am.
32164
32165         update-copyright: rename some variables
32166         * build-aux/update-copyright: Rename a few variables for clarity.
32167         Tweak syntax.  List Joel E. Denny as coauthor.
32168
32169 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
32170
32171         update-copyright: fix bug for 2-digit last year and add tests
32172         * build-aux/update-copyright: Fix bug.
32173         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
32174         specified.
32175         * modules/update-copyright-tests: New
32176         * tests/test-update-copyright.sh: New.
32177
32178 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
32179
32180         update-copyright: handle leading tabs in line prefix
32181         * build-aux/update-copyright: Count leading tabs as 8 spaces
32182         when computing margin.  This helps with the formatting of
32183         ChangeLogs, for example.
32184         Fix documentation a little.
32185
32186 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
32187
32188         update-copyright: support EOL=\r\n
32189         * build-aux/update-copyright: Implement that.
32190
32191 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
32192
32193         update-copyright: automatically format copyright statements
32194         * build-aux/update-copyright: Implement that.
32195         Also, be a little more predictable and safer by always failing
32196         when the full copyright format is not perfectly recognized as an
32197         unbroken whole.  Discussed at
32198         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
32199         Rewrite documentation.
32200
32201 2009-08-03  Bruno Haible  <bruno@clisp.org>
32202
32203         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
32204
32205 2009-08-02  Bruno Haible  <bruno@clisp.org>
32206
32207         Tests for module 'uname'.
32208         * modules/uname-tests: New file.
32209         * tests/test-uname.c: New file.
32210
32211         New module 'uname'.
32212         * lib/uname.c: New file.
32213         * m4/uname.m4: New file.
32214         * modules/uname: New file.
32215         * doc/posix-functions/uname.texi: Mention the new module.
32216
32217 2009-08-02  Bruno Haible  <bruno@clisp.org>
32218
32219         Tests for module 'sys_utsname'.
32220         * modules/sys_utsname-tests: New file.
32221         * tests/test-sys_utsname.c: New file.
32222
32223         New module 'sys_utsname'.
32224         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
32225         * m4/sys_utsname_h.m4: New file.
32226         * modules/sys_utsname: New file.
32227         * doc/posix-headers/sys_utsname.texi: Mention the new module.
32228
32229 2009-08-02  Bruno Haible  <bruno@clisp.org>
32230
32231         Implicitly initialize the sockets library.
32232         * lib/gethostname.c: Include sockets.h.
32233         (rpl_gethostname): Invoke gl_sockets_startup.
32234         * lib/socket.c: Include sockets.h.
32235         (rpl_socket): Invoke gl_sockets_startup.
32236         * modules/gethostname (Depends-on): Add sockets.
32237         * modules/socket (Depends-on): Likewise.
32238         * tests/test-poll.c: Don't include sockets.h.
32239         (main): Don't invoke gl_sockets_startup.
32240         * tests/test-select.c: Don't include sockets.h.
32241         (main): Don't invoke gl_sockets_startup.
32242
32243 2009-08-02  Bruno Haible  <bruno@clisp.org>
32244
32245         Allow multiple calls to gl_sockets_startup.
32246         * lib/sockets.c (initialized_sockets_version): New variable.
32247         (gl_sockets_startup): Do nothing if already called for this or a higher
32248         version.
32249         (gl_sockets_cleanup): Reset initialized_sockets_version.
32250
32251 2009-08-03  Simon Josefsson  <simon@josefsson.org>
32252
32253         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
32254         different project/version.
32255
32256 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
32257             Bruno Haible  <bruno@clisp.org>
32258
32259         Tests for module 'pipe-filter-gi'.
32260         * modules/pipe-filter-gi-tests: New file.
32261         * tests/test-pipe-filter-gi1.sh: New file.
32262         * tests/test-pipe-filter-gi1.c: New file.
32263         * tests/test-pipe-filter-gi2.sh: New file.
32264         * tests/test-pipe-filter-gi2-main.c: New file.
32265         * tests/test-pipe-filter-gi2-child.c: New file.
32266
32267         New module 'pipe-filter-gi'.
32268         * lib/pipe-filter-gi.c: New file.
32269         * modules/pipe-filter-gi: New file.
32270
32271 2009-08-02  Bruno Haible  <bruno@clisp.org>
32272             Paolo Bonzini  <bonzini@gnu.org>
32273
32274         Tests for module 'pipe-filter-ii'.
32275         * modules/pipe-filter-ii-tests: New file.
32276         * tests/test-pipe-filter-ii1.sh: New file.
32277         * tests/test-pipe-filter-ii1.c: New file.
32278         * tests/test-pipe-filter-ii2.sh: New file.
32279         * tests/test-pipe-filter-ii2-main.c: New file.
32280         * tests/test-pipe-filter-ii2-child.c: New file.
32281
32282         New module 'pipe-filter-ii'.
32283         * lib/pipe-filter.h: New file.
32284         * lib/pipe-filter-ii.c: New file.
32285         * lib/pipe-filter-aux.h: New file.
32286         * modules/pipe-filter-ii: New file.
32287
32288 2009-08-02  Simon Josefsson  <simon@josefsson.org>
32289
32290         * lib/gc-libgcrypt.c: Change copyright to FSF.
32291         * lib/gc-gnulib.c: Likewise.
32292
32293 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
32294
32295         * lib/gethostname.c: Include limits.h.
32296
32297 2009-08-02  Simon Josefsson  <simon@josefsson.org>
32298             Bruno Haible  <bruno@clisp.org>
32299
32300         Ensure HOST_NAME_MAX as part of the gethostname module.
32301         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
32302         define also HOST_NAME_MAX.
32303         * tests/test-gethostname.c: Include <limits.h>.
32304         (main): Check also HOST_NAME_MAX.
32305         * doc/posix-headers/limits.texi: Document the mingw problem.
32306
32307 2009-08-02  Bruno Haible  <bruno@clisp.org>
32308
32309         * lib/gethostname.c (gethostname): Fix handling of large len argument.
32310         Add comments.
32311
32312 2009-03-31  Simon Josefsson  <simon@josefsson.org>
32313
32314         * lib/gethostname.c: Add Windows wrapper.
32315         * m4/gethostname.m4: Look for gethostname in -lws2_32.
32316         * modules/gethostname: Depend on sys_socket & errno, for also
32317         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
32318         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
32319
32320 2009-07-31  Jim Meyering  <meyering@redhat.com>
32321
32322         getloadavg: fix symbol name in comment
32323         * lib/getloadavg.c: Correct a typo I introduced when adding
32324         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
32325         Matt Kraai spotted the problem.
32326
32327 2009-07-29  Matt Kraai  <mkraai@beckman.com>
32328
32329         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
32330         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
32331         code also if ! defined N_NAME_POINTER.
32332         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
32333         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
32334         but the n_name member is a 12-byte array.
32335
32336 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
32337
32338         update-copyright: generalize comment handling
32339         * build-aux/update-copyright: Handle copyright statements
32340         within more comment styles.
32341         Document usage.
32342         Report any file with an external copyright holder or parse failure.
32343
32344 2009-07-29  Jim Meyering  <meyering@redhat.com>
32345
32346         mktime: correct setting of REPLACE_MKTIME
32347         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
32348
32349         update-copyright: new module
32350         * modules/update-copyright: New file.
32351         * build-aux/update-copyright: New file.
32352         * MODULES.html.sh (maint+release support): Add update-copyright.
32353
32354 2009-07-27  Bruno Haible  <bruno@clisp.org>
32355
32356         Fix compilation error when <ctime> is used and mktime is replaced.
32357         * lib/time.in.h (mktime): New declaration.
32358         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
32359         REPLACE_MKTIME instead of defining mktime in config.h.
32360         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
32361         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
32362         Reported by Ross McFarland <rwmcfa1@neces.com>.
32363
32364 2009-07-27  Bruno Haible  <bruno@clisp.org>
32365
32366         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
32367         Reported by Matt Kraai <mkraai@beckman.com>.
32368
32369 2009-07-25  Jim Meyering  <meyering@redhat.com>
32370
32371         maint.mk: avoid warnings about missing files
32372         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
32373         diagnostic when .prev-version does not exist.
32374         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
32375         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
32376         nonexistent cfg.mk.
32377         Suggestions from Simon Josefsson.
32378
32379 2009-07-25  Bruno Haible  <bruno@clisp.org>
32380
32381         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
32382         defined as macros. Needed on QNX 6.4.1.
32383         Reported by Matt Kraai <mkraai@beckman.com>.
32384
32385 2009-07-23  Jim Meyering  <meyering@redhat.com>
32386
32387         maint.mk: invoke "make dist" with a working value of XZ_OPT
32388         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
32389
32390 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
32391
32392         Make fseeko.c compile on QNX.
32393         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
32394
32395 2009-07-22  Peter Simons  <simons@cryp.to>
32396
32397         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
32398         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
32399         * lib/md4.h: Likewise.
32400         * lib/md5.h: Likewise.
32401         * lib/sha1.h: Likewise.
32402         * lib/sha256.h: Likewise.
32403         * lib/sha512.h: Likewise.
32404
32405         tests-sha1: don't assign literal string to 'char *' variable
32406         * tests/test-sha1.c (main): Declare locals with "const" to match
32407         attributes of the right hand side.
32408
32409 2009-07-21  Eric Blake  <ebb9@byu.net>
32410
32411         dup2: fix more mingw problems
32412         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
32413         fd to itself.
32414         * doc/posix-functions/dup2.texi (dup2): Document the bug.
32415         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
32416         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
32417         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
32418         care of mingw bugs.
32419
32420 2009-07-21  Jim Meyering  <meyering@redhat.com>
32421
32422         vc-list-files: avoid failure when /bin/sh is dash
32423         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
32424         On some Debian based systems, /bin/sh is a symlink to dash, and running
32425         this command would omit the "/" following each 'tests' prefix:
32426           dash -x build-aux/vc-list-files -C . tests
32427         That is because bash and dash work differently:
32428           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
32429           bash ok
32430           dash odd
32431
32432 2009-07-21  Eric Blake  <ebb9@byu.net>
32433
32434         dup2-tests: test previous patch
32435         * modules/dup2-tests: New file.
32436         * tests/test-dup2.c: Likewise.
32437         * tests/test-open.c (main): Avoid unspecified behavior.
32438         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
32439         test.
32440
32441         dup2: work around mingw and cygwin 1.5 bug
32442         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
32443         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
32444         * modules/unistd (Makefile.am): Substitute it.
32445         * lib/unistd.in.h (dup2): Declare the replacement.
32446         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
32447         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
32448         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
32449         * modules/execute (Depends-on): Add dup2.
32450         * modules/fseterr (Depends-on): Likewise.
32451         * modules/pipe (Depends-on): Likewise.
32452         * modules/posix_spawn-internal (Depends-on): Likewise.
32453
32454 2009-07-21  Bruno Haible  <bruno@clisp.org>
32455
32456         * modules/.gitattributes: New file.
32457
32458 2009-07-20  Bruno Haible  <bruno@clisp.org>
32459
32460         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
32461         (main): Use it.
32462
32463 2009-07-20  Eric Blake  <ebb9@byu.net>
32464
32465         test-pipe: make a bit more robust.
32466         * tests/test-pipe.c (myerr): Allow error messages regardless of
32467         what we do to stderr.
32468         (test_pipe): Rearrange to avoid deadlock.
32469         (child_main): Try a larger read, to ensure we avoided deadlock.
32470         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
32471         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
32472         if misused.
32473
32474 2009-07-19  Jim Meyering  <meyering@redhat.com>
32475
32476         fts: avoid false-positive cycle-detection
32477         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
32478         for each new command line argument.
32479
32480 2009-07-19  Bruno Haible  <bruno@clisp.org>
32481
32482         Fix build error on mingw with the modules sys_select and unistd.
32483         * modules/acl-tests (Depends-on): Add close.
32484         * modules/binary-io-tests (Depends-on): Likewise.
32485         * modules/closein-tests (Depends-on): Likewise.
32486         * modules/flock-tests (Depends-on): Likewise.
32487         * modules/fsync-tests (Depends-on): Likewise.
32488         * modules/lseek-tests (Depends-on): Likewise.
32489         * modules/pipe-tests (Depends-on): Likewise.
32490         * modules/posix_spawn-tests (Depends-on): Likewise.
32491         * modules/posix_spawnp-tests (Depends-on): Likewise.
32492         * modules/stat-time-tests (Depends-on): Likewise.
32493         * modules/yesno-tests (Depends-on): Likewise.
32494
32495 2009-07-19  Bruno Haible  <bruno@clisp.org>
32496
32497         Unify conditionals.
32498         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
32499         macros, not at the compiler macros.
32500         * lib/pipe.c: Likewise.
32501         * lib/execute.c: Likewise.
32502         * lib/spawni.c: Likewise.
32503
32504 2009-07-19  Bruno Haible  <bruno@clisp.org>
32505
32506         Fix handling of closed stdin/stdout/stderr on mingw.
32507         * lib/w32spawn.h: Include unistd.h.
32508         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
32509         file descriptor with O_NOINHERIT flag.
32510         (fd_safer_noinherit): New function, based on fd-safer.c.
32511         (dup_safer_noinherit): New function, based on dup-safer.c.
32512         (undup_safer_noinherit): New function.
32513         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
32514         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
32515         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
32516         instead of fd_safer.
32517         * tests/test-pipe.c: Include <windows.h>.
32518         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
32519         result.
32520
32521         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
32522         from main.
32523         (test_pipe): Pass an extra argument for disambiguation.
32524         (main): Invoke parent_main or child_main.
32525
32526         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
32527         consistently.
32528
32529 2009-07-18  Eric Blake  <ebb9@byu.net>
32530
32531         test-pipe: fix mingw build
32532         * tests/test-pipe.c (main): Avoid fcntl on mingw.
32533
32534 2009-07-18  Bruno Haible  <bruno@clisp.org>
32535
32536         * modules/pipe-tests (Makefile.am): Fix typo.
32537
32538 2009-07-18  Eric Blake  <ebb9@byu.net>
32539
32540         error: fix mingw build
32541         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
32542         Reported by Bruno Haible.
32543
32544         error: avoid undefined use of stdout
32545         * lib/error.c (error, error_at_line): Check that fd 1 is open
32546         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
32547         is handling faults and the close_stdout module wants to report the
32548         detection of closed stdout as an error.
32549
32550 2009-07-17  Eric Blake  <ebb9@byu.net>
32551
32552         pipe: be robust in face of closed fds
32553         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
32554         should cause child to misbehave.
32555         * modules/pipe-tests: New module.
32556         * tests/test-pipe.c: New file.
32557         * tests/test-pipe.sh: New file.
32558         Reported by Akim Demaille.
32559
32560 2009-07-14  Bruno Haible  <bruno@clisp.org>
32561
32562         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
32563         Reported by anonymous kc.
32564
32565 2009-07-07  Jim Meyering  <meyering@redhat.com>
32566
32567         maint.mk: don't look for translatable strings in *.m4 or *.mk
32568         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
32569         when searching for translatable strings.
32570
32571 2009-07-05  Jim Meyering  <meyering@redhat.com>
32572
32573         remove superfluous parentheses in STREQ definition
32574         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
32575         * lib/getugroups.c (STREQ): Likewise.
32576         * lib/fnmatch.c (STREQ): Likewise.
32577         Spotted by Bruno Haible.
32578
32579 2009-07-04  Jim Meyering  <meyering@redhat.com>
32580
32581         argv-iter: new module
32582         * MODULES.html.sh: Add argv-iter.
32583         * lib/argv-iter.c, lib/argv-iter.h: New files.
32584         * modules/argv-iter: New file.
32585         * modules/argv-iter-tests: New file.
32586         * tests/test-argv-iter.c: Test it.
32587
32588 2009-07-04  Bruno Haible  <bruno@clisp.org>
32589
32590         Fix assertion.
32591         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
32592         contains more exact copies of a given entry than file2, leave the extra
32593         copies unpaired rather than aborting.
32594         Reported by Eric Blake.
32595
32596 2009-07-02  Bruno Haible  <bruno@clisp.org>
32597
32598         Speedup git-merge-changelog for git cherry-pick.
32599         * lib/git-merge-changelog.c (struct entries_mapping): New type.
32600         (entries_mapping_get): New function, extracted from compute_mapping.
32601         (entries_mapping_reverse_get): New function.
32602         (compute_mapping): Add a 'full' argument. Return the result in a
32603         'struct entries_mapping'.
32604         (main): Update. Access the mappings through entries_mapping_get.
32605         Reported by Eric Blake.
32606
32607 2009-07-02  Bruno Haible  <bruno@clisp.org>
32608
32609         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
32610         best_i.
32611
32612 2009-07-02  Bruno Haible  <bruno@clisp.org>
32613
32614         Speed up approximate search for matching ChangeLog entries.
32615         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
32616         argument. Call fstrcmp_bounded instead of fstrcmp.
32617         (compute_mapping, try_split_merged_entry, main): Update callers.
32618
32619 2009-07-02  Bruno Haible  <bruno@clisp.org>
32620
32621         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
32622
32623 2009-06-30  Bruno Haible  <bruno@clisp.org>
32624
32625         Reduce the number of uc_is_cased calls.
32626         * lib/unicase.h (casing_suffix_context_t): Add
32627         'first_char_except_ignorable' field.
32628         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
32629         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
32630         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
32631         Update initializer.
32632         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
32633         case-ignorable characters.
32634         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
32635         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
32636         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
32637         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
32638         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
32639
32640 2009-06-30  Bruno Haible  <bruno@clisp.org>
32641
32642         Tests for module 'unicase/ignorable'.
32643         * modules/unicase/ignorable-tests: New file.
32644         * tests/unicase/test-ignorable.c: New file, generated by
32645         gen-uni-tables.
32646
32647         Tests for module 'unicase/cased'.
32648         * modules/unicase/cased-tests: New file.
32649         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
32650         * tests/unicase/test-predicate-part1.h: New file, derived from
32651         tests/unictype/test-predicate-part1.h.
32652         * tests/unicase/test-predicate-part2.h: New file, same as
32653         tests/unictype/test-predicate-part2.h.
32654
32655         Fix evaluation of "Before C" condition of FINAL_SIGMA.
32656         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
32657         (output_casing_properties): New function.
32658         (main): Call it.
32659         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
32660         * lib/unicase/cased.c: Include unictype/bitmap.h.
32661         (uc_is_cased): Define through a bitmap lookup.
32662         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
32663         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
32664         (uc_is_case_ignorable): Define through a bitmap lookup.
32665         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
32666         lib/unictype/bitmap.h.
32667         (Depends-on): Add inline. Clean up.
32668         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
32669         lib/unictype/bitmap.h.
32670         (Depends-on): Add inline. Clean up.
32671         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
32672         recognition.
32673         * tests/unicase/test-u16-tolower.c (main): Likewise.
32674         * tests/unicase/test-u32-tolower.c (main): Likewise.
32675
32676 2009-06-30  Bruno Haible  <bruno@clisp.org>
32677
32678         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
32679         * lib/unicase/u16-casemap.c: Likewise.
32680         * lib/unicase/u32-casemap.c: Likewise.
32681
32682 2009-06-29  Bruno Haible  <bruno@clisp.org>
32683
32684         Define u32_casefold as a wrapper around u32_ct_casefold.
32685         * lib/unicase/u32-casefold.c: Update.
32686         * modules/unicase/u32-casefold (Depends-on): Add
32687         unicase/u32-ct-casefold, unicase/empty-prefix-context,
32688         unicase/empty-suffix-context. Clean up.
32689
32690         Define u16_casefold as a wrapper around u16_ct_casefold.
32691         * lib/unicase/u16-casefold.c: Update.
32692         * modules/unicase/u16-casefold (Depends-on): Add
32693         unicase/u16-ct-casefold, unicase/empty-prefix-context,
32694         unicase/empty-suffix-context. Clean up.
32695
32696         Define u8_casefold as a wrapper around u8_ct_casefold.
32697         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
32698         * lib/unicase/u8-casefold.c: Update.
32699         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
32700         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
32701
32702         Define u32_totitle as a wrapper around u32_ct_totitle.
32703         * lib/unicase/u32-totitle.c: Update.
32704         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
32705         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
32706
32707         Define u16_totitle as a wrapper around u16_ct_totitle.
32708         * lib/unicase/u16-totitle.c: Update.
32709         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
32710         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
32711
32712         Define u8_totitle as a wrapper around u8_ct_totitle.
32713         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
32714         functions.
32715         (FUNC): Delegate to U_CT_TOTITLE.
32716         * lib/unicase/u8-totitle.c: Update.
32717         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
32718         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
32719
32720         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
32721         invocation.
32722         * modules/unicase/u32-tolower (Depends-on): Add
32723         unicase/empty-prefix-context, unicase/empty-suffix-context.
32724
32725         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
32726         invocation.
32727         * modules/unicase/u16-tolower (Depends-on): Add
32728         unicase/empty-prefix-context, unicase/empty-suffix-context.
32729
32730         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
32731         * modules/unicase/u8-tolower (Depends-on): Add
32732         unicase/empty-prefix-context, unicase/empty-suffix-context.
32733
32734         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
32735         invocation.
32736         * modules/unicase/u32-toupper (Depends-on): Add
32737         unicase/empty-prefix-context, unicase/empty-suffix-context.
32738
32739         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
32740         invocation.
32741         * modules/unicase/u16-toupper (Depends-on): Add
32742         unicase/empty-prefix-context, unicase/empty-suffix-context.
32743
32744         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
32745         * modules/unicase/u8-toupper (Depends-on): Add
32746         unicase/empty-prefix-context, unicase/empty-suffix-context.
32747
32748         New module 'unicase/u32-ct-casefold'.
32749         * lib/unicase/u32-ct-casefold.c: New file.
32750         * modules/unicase/u32-ct-casefold: New file.
32751
32752         New module 'unicase/u16-ct-casefold'.
32753         * lib/unicase/u16-ct-casefold.c: New file.
32754         * modules/unicase/u16-ct-casefold: New file.
32755
32756         New module 'unicase/u8-ct-casefold'.
32757         * lib/unicase/u8-ct-casefold.c: New file.
32758         * lib/unicase/u-ct-casefold.h: New file, derived from
32759         lib/unicase/u-casefold.h.
32760         * modules/unicase/u8-ct-casefold: New file.
32761
32762         New module 'unicase/u32-ct-totitle'.
32763         * lib/unicase/u32-ct-totitle.c: New file.
32764         * modules/unicase/u32-ct-totitle: New file.
32765
32766         New module 'unicase/u16-ct-totitle'.
32767         * lib/unicase/u16-ct-totitle.c: New file.
32768         * modules/unicase/u16-ct-totitle: New file.
32769
32770         New module 'unicase/u8-ct-totitle'.
32771         * lib/unicase/u8-ct-totitle.c: New file.
32772         * lib/unicase/u-ct-totitle.h: New file, derived from
32773         lib/unicase/u-totitle.h.
32774         * modules/unicase/u8-ct-totitle: New file.
32775
32776         New module 'unicase/u32-ct-tolower'.
32777         * lib/unicase/u32-ct-tolower.c: New file.
32778         * modules/unicase/u32-ct-tolower: New file.
32779
32780         New module 'unicase/u16-ct-tolower'.
32781         * lib/unicase/u16-ct-tolower.c: New file.
32782         * modules/unicase/u16-ct-tolower: New file.
32783
32784         New module 'unicase/u8-ct-tolower'.
32785         * lib/unicase/u8-ct-tolower.c: New file.
32786         * modules/unicase/u8-ct-tolower: New file.
32787
32788         New module 'unicase/u32-ct-toupper'.
32789         * lib/unicase/u32-ct-toupper.c: New file.
32790         * modules/unicase/u32-ct-toupper: New file.
32791
32792         New module 'unicase/u16-ct-toupper'.
32793         * lib/unicase/u16-ct-toupper.c: New file.
32794         * modules/unicase/u16-ct-toupper: New file.
32795
32796         New module 'unicase/u8-ct-toupper'.
32797         * lib/unicase/u8-ct-toupper.c: New file.
32798         * modules/unicase/u8-ct-toupper: New file.
32799
32800         Add context arguments to u*_casemap functions.
32801         * lib/unicase/unicasemap.h: Include unicase.h.
32802         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
32803         suffix_context arguments.
32804         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
32805         functions.
32806         (FUNC): Add prefix_context and suffix_context arguments. Use
32807         uc_is_cased and uc_is_case_ignorable.
32808         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
32809         * lib/unicase/u16-casemap.c: Likewise.
32810         * lib/unicase/u32-casemap.c: Likewise.
32811         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
32812         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
32813         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
32814         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
32815         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
32816         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
32817
32818         New module 'unicase/u32-suffix-context'.
32819         * lib/unicase/u32-suffix-context.c: New file.
32820         * modules/unicase/u32-suffix-context: New file.
32821
32822         New module 'unicase/u16-suffix-context'.
32823         * lib/unicase/u16-suffix-context.c: New file.
32824         * modules/unicase/u16-suffix-context: New file.
32825
32826         New module 'unicase/u8-suffix-context'.
32827         * lib/unicase/u8-suffix-context.c: New file.
32828         * lib/unicase/u-suffix-context.h: New file.
32829         * modules/unicase/u8-suffix-context: New file.
32830
32831         New module 'unicase/empty-suffix-context'.
32832         * lib/unicase/empty-suffix-context.c: New file.
32833         * modules/unicase/empty-suffix-context: New file.
32834
32835         New module 'unicase/u32-prefix-context'.
32836         * lib/unicase/u32-prefix-context.c: New file.
32837         * modules/unicase/u32-prefix-context: New file.
32838
32839         New module 'unicase/u16-prefix-context'.
32840         * lib/unicase/u16-prefix-context.c: New file.
32841         * modules/unicase/u16-prefix-context: New file.
32842
32843         New module 'unicase/u8-prefix-context'.
32844         * lib/unicase/u8-prefix-context.c: New file.
32845         * lib/unicase/u-prefix-context.h: New file.
32846         * lib/unicase/context.h: New file.
32847         * modules/unicase/u8-prefix-context: New file.
32848
32849         New module 'unicase/empty-prefix-context'.
32850         * lib/unicase/empty-prefix-context.c: New file.
32851         * modules/unicase/empty-prefix-context: New file.
32852
32853         New module 'unicase/ignorable'.
32854         * lib/unicase/ignorable.c: New file.
32855         * modules/unicase/ignorable: New file.
32856
32857         New module 'unicase/cased'.
32858         * lib/unicase/caseprop.h: New file.
32859         * lib/unicase/cased.c: New file.
32860         * modules/unicase/cased: New file.
32861
32862         New functions for case mapping of substrings.
32863         * lib/unicase.h (casing_prefix_context_t): New type.
32864         (unicase_empty_prefix_context): New variable.
32865         (u8_casing_prefix_context, u16_casing_prefix_context,
32866         u32_casing_prefix_context, u8_casing_prefixes_context,
32867         u16_casing_prefixes_context, u32_casing_prefixes_context): New
32868         declarations.
32869         (casing_suffix_context_t): New type.
32870         (unicase_empty_suffix_context): New variable.
32871         (u8_casing_suffix_context, u16_casing_suffix_context,
32872         u32_casing_suffix_context, u8_casing_suffixes_context,
32873         u16_casing_suffixes_context, u32_casing_suffixes_context,
32874         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
32875         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
32876         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
32877         declarations.
32878
32879 2009-06-28  Jim Meyering  <meyering@redhat.com>
32880
32881         boostrap: indent only with spaces
32882         * build-aux/bootstrap: Indent only with spaces, never TABs.
32883
32884         bootstrap: split long lines
32885         * build-aux/bootstrap: Keep line length < 80.
32886
32887         bootstrap: sync from coreutils
32888         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
32889         just as autoreconf does.  Verify a list of prerequisite
32890         package-name,version-number pairs if defined in bootstrap.conf.
32891         Refer to README-prereq, if prerequisites are not satisfied.
32892
32893 2009-06-27  Eric Blake  <ebb9@byu.net>
32894
32895         tests: add test for bogus NULL definition
32896         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
32897         * tests/test-stdlib.c: Likewise.
32898         * tests/test-string.c: Likewise.
32899         * tests/test-locale.c: Likewise.
32900         * tests/test-unistd.c: Likewise.
32901         * modules/stdio-tests (Depends-on): Add verify.
32902         * modules/stdlib-tests (Depends-on): Likewise.
32903         * modules/string-tests (Depends-on): Likewise.
32904         * modules/locale-tests (Depends-on): Likewise.
32905         * modules/unistd-tests (Depends-on): Likewise.
32906
32907 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
32908
32909         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
32910         self-explaining comment.
32911         * m4/selinux-selinux-h: Update serial.
32912         (gl_LIBSELINUX): New macro, adding a warning for missing development
32913         packages to code extracted from...
32914         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
32915         Add warning for missing development packages here, too.
32916
32917 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
32918
32919         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
32920
32921 2009-06-25  Eric Blake  <ebb9@byu.net>
32922
32923         version-etc: fix regression
32924         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
32925         gcc.
32926         (version_etc): Use it, to catch bugs with trailing NULL.
32927         * lib/version-etc.c (version_etc_arn): Delete unused argument.
32928         (version_etc_va): Fix logic bug.
32929         * modules/version-etc-tests: Add test.
32930         * tests/test-version-etc.c: New file.
32931         * tests/test-version-etc.sh: Likewise.
32932
32933 2009-06-25  Sam Steingold  <sds@gnu.org>
32934
32935         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
32936         mbtowc declaration.
32937
32938 2009-06-25  Eric Blake  <ebb9@byu.net>
32939
32940         fpurge: migrate into <stdio.h>
32941         * lib/fpurge.h: Delete...
32942         * lib/stdio.in.h (fpurge): ...and declare here, instead.
32943         * lib/fpurge.c (fpurge): Change declaring header.
32944         * modules/fpurge (Files): Drop deleted file.
32945         (Depends-on): Add stdio.
32946         (configure.ac): Set witness.
32947         * modules/stdio (Makefile.am): Support fpurge macros.
32948         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
32949         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
32950         * lib/fflush.c: Update client.
32951         * tests/test-fpurge.c: Likewise.
32952         * NEWS: Mention the change.
32953
32954 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
32955
32956         * lib/argp-version-etc.c (program_authors): Add const
32957         qualifier.
32958         * lib/version-etc.c: Fix typos in the comments.
32959         * modules/argp-version-etc: Depends on version-etc.
32960
32961 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
32962
32963         argp-version-etc: new module.
32964
32965         * lib/argp-version-etc.c: New file.
32966         * lib/argp-version-etc.h: New file.
32967         * modules/argp-version-etc: New file.
32968         * modules/argp-version-etc-tests: New file.
32969         * tests/test-argp-version-etc.c: New test.
32970         * tests/test-argp-version-etc-1.sh: New test.
32971
32972 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
32973
32974         Provide additional interfaces and documentation for version-etc
32975         module.
32976
32977         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
32978         interfaces.
32979         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
32980         prototypes.
32981
32982 2009-06-24  Bruno Haible  <bruno@clisp.org>
32983
32984         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
32985         HAVE_LIB${NAME} macro.
32986         Reported by Sam Steingold <sds@gnu.org>.
32987
32988 2009-06-23  Simon Josefsson  <simon@josefsson.org>
32989
32990         * modules/hash-tests (test_hash_LDADD): Link to libintl when
32991         needed.
32992
32993 2009-06-21  Bruno Haible  <bruno@clisp.org>
32994
32995         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
32996         work.
32997         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
32998         together with LIB${NAME}, LTLIB${NAME}.
32999         Reported by Sam Steingold <sds@gnu.org>.
33000
33001 2009-06-20  Jim Meyering  <meyering@redhat.com>
33002
33003         tests: make sc_require_test_exit_idiom more generic
33004         * top/maint.mk (Exit_witness_file): New overridable variable.
33005         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
33006         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
33007
33008 2009-06-19  Jim Meyering  <meyering@redhat.com>
33009
33010         hash: reverse order of src/dst parameters in an internal interface
33011         * lib/hash.c (transfer_entries): Reverse order of parameters to
33012         put DST before SRC.  Adjust callers.
33013
33014         tests: test-hash: avoid wholesale duplication
33015         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
33016         Instead, use a loop and add a single conditional.
33017
33018         tests: test-hash: allow seed selection via a command line argument
33019         * tests/test-hash.c (get_seed): New function.
33020         (main): Use it.
33021
33022 2009-06-19  Eric Blake  <ebb9@byu.net>
33023
33024         hash: avoid memory leak on allocation failure
33025         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
33026         failure.  Factor repeated algorithm...
33027         (transfer_entries): ...into new helper routine.
33028         (hash_delete): React to hash_rehash return value.
33029
33030         hash: reduce memory pressure in hash_rehash no-op case
33031         * lib/hash.c (next_prime): Avoid overflow.
33032         (hash_initialize): Factor bucket size computation...
33033         (compute_bucket_size): ...into new helper function.
33034         (hash_rehash): Use new function and open coding to reduce memory
33035         pressure, and avoid a memory leak in USE_OBSTACK code.
33036         Reported by Jim Meyering.
33037
33038 2009-06-18  Eric Blake  <ebb9@byu.net>
33039
33040         hash: make rotation more obvious
33041         * modules/hash (Depends-on): Add bitrotate and stdint.
33042         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
33043         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
33044         (SIZE_MAX): Rely on headers for definition.
33045         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
33046         (raw_hasher): Use rotr_sz.
33047         Suggested by Jim Meyering.
33048
33049         hash: fix memory leak in last patch
33050         * lib/hash.c (hash_rehash): Avoid memory leak.
33051
33052         hash: avoid no-op rehashing
33053         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
33054
33055         hash: provide default callback functions
33056         * lib/hash.c (raw_hasher, raw_comparator): New functions.
33057         (hash_initialize): Use them as defaults.
33058         * tests/test-hash.c (main): Test this.
33059
33060         hash: minor optimization
33061         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
33062         when possible.
33063         (hash_initialize): Document this promise.
33064         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
33065         * tests/test-hash.c (hash_compare_strings): Test this.
33066
33067 2009-06-18  Bruno Haible  <bruno@clisp.org>
33068
33069         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
33070         going to be replaced anyway.
33071
33072 2009-06-18  Bruno Haible  <bruno@clisp.org>
33073
33074         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
33075         in one place.
33076         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
33077         be replaced anyway.
33078
33079 2009-06-18  Eric Blake  <ebb9@byu.net>
33080
33081         hash: check for resize before insertion
33082         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
33083         threshold before insertion, so that a pathological hash_rehash
33084         that fills every bucket can still trigger another rehash.
33085
33086 2009-06-18  Jim Meyering  <meyering@redhat.com>
33087
33088         hash-tests: add a loop around the small tests
33089         * tests/test-hash.c (main): Repeat small tests with selected
33090         small initial table sizes.
33091
33092 2009-06-17  Eric Blake  <ebb9@byu.net>
33093
33094         hash: minor cleanups
33095         * lib/hash.h (hash_entry): Make opaque, by moving...
33096         * lib/hash.c (hash_entry): ...here.
33097         (hash_insert): Clarify restrictions on what can be inserted.
33098         (hash_get_next): Clarify when it is safe to remove an element
33099         during traversal.
33100         (check_tuning): Skip verification when tuning is known safe.
33101         (hash_initialize): Clarify restrictions on tuning.
33102
33103 2009-06-17  Jim Meyering  <jim@meyering.net>
33104         and Eric Blake  <ebb9@byu.net>
33105
33106         hash-tests: new module
33107         * modules/hash-tests: New file.
33108         * tests/test-hash.c: New file.
33109
33110 2009-06-17  Eric Blake  <ebb9@byu.net>
33111
33112         strstr-simple: document new module
33113         * MODULES.html.sh: Document new module.
33114
33115         strstr, strcasestr: replace on platforms with broken memchr
33116         * modules/strstr: Split into...
33117         * modules/strstr-simple: ...new module that does not care about
33118         performance, but does care about glibc bug.
33119         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
33120         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
33121         if platform memchr is broken, per Debian bug 521737.
33122         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
33123         memchr.
33124         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
33125         * doc/posix-functions/strstr.texi (strstr): Document the fix.
33126         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
33127         * modules/mountlist (Depends-on): Add strstr-simple.
33128         * modules/gen-uni-tables (Depends-on): Likewise.
33129         * modules/argz (Depends-on): Add strstr.
33130
33131 2009-06-17  Bruno Haible  <bruno@clisp.org>
33132
33133         * modules/posix_spawn-internal (Depends-on): Add errno.
33134
33135 2009-06-17  Bruno Haible  <bruno@clisp.org>
33136
33137         Define missing ESTALE on Interix 3.5.
33138         * lib/errno.in.h (ESTALE): Assign a value if missing.
33139         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
33140         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
33141         missing.
33142         * doc/posix-headers/errno.texi: Mention the Interix bug.
33143         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
33144
33145 2009-06-15  Eric Blake  <ebb9@byu.net>
33146
33147         memchr, memchr2: add valgrind exception
33148         * lib/memchr.valgrind: New file.
33149         * lib/memchr2.valgrind: New file.
33150         * modules/memchr (Files): Distribute valgrind file.
33151         * modules/memchr2 (Files): Likewise.
33152
33153         docs: memchr is no longer obsolete
33154         * MODULES.html.sh: Move memchr from obsolete to string.h section.
33155         * lib/string.in.h (memchr): Simplify logic.
33156
33157 2009-06-14  Jim Meyering  <meyering@redhat.com>
33158
33159         link-follow: fix the "checking..." message to not mention trailing slash
33160         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
33161         never considered trailing slashes.
33162
33163 2009-06-14  Bruno Haible  <bruno@clisp.org>
33164
33165         * m4/memchr.m4: Mention also the bug on IA-64.
33166         * doc/posix-functions/memchr.texi: Likewise.
33167
33168 2009-06-12  Eric Blake  <ebb9@byu.net>
33169
33170         memchr: detect broken x86_64 and alpha implementations
33171         * modules/memchr-tests (Depends-on): Move mmap detection...
33172         * modules/memchr (Depends-on): ...here.
33173         (configure.ac): Set indicator.
33174         * lib/string.in.h (memchr): Declare replacement.
33175         * modules/string (Makefile.am): Trigger replacement.
33176         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
33177         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
33178         bugs.
33179         * doc/posix-functions/memchr.texi (memchr): Document the bug.
33180         * modules/getpagesize (License): Relax license.
33181
33182 2009-06-11  Bruno Haible  <bruno@clisp.org>
33183
33184         * lib/idpriv.h: Add more references.
33185
33186 2009-06-08  Bruno Haible  <bruno@clisp.org>
33187
33188         Tests for module 'idpriv-droptemp'.
33189         * modules/idpriv-droptemp-tests: New file.
33190         * tests/test-idpriv-droptemp.sh: New file.
33191         * tests/test-idpriv-droptemp.su.sh: New file.
33192         * tests/test-idpriv-droptemp.c: New file.
33193
33194         New module 'idpriv-droptemp'.
33195         * lib/idpriv-droptemp.c: New file.
33196         * modules/idpriv-droptemp: New file.
33197
33198 2009-06-08  Bruno Haible  <bruno@clisp.org>
33199
33200         Tests for module 'idpriv-drop'.
33201         * modules/idpriv-drop-tests: New file.
33202         * tests/test-idpriv-drop.sh: New file.
33203         * tests/test-idpriv-drop.su.sh: New file.
33204         * tests/test-idpriv-drop.c: New file.
33205
33206         New module 'idpriv-drop'.
33207         * lib/idpriv.h: New file.
33208         * lib-idpriv-drop.c: New file.
33209         * m4/idpriv.m4: New file.
33210         * modules/idpriv-drop: New file.
33211
33212 2009-06-08  Bruno Haible  <bruno@clisp.org>
33213
33214         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
33215         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
33216         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
33217         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
33218         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
33219         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
33220         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
33221
33222 2009-06-08  Eric Blake  <ebb9@byu.net>
33223
33224         test-strstr: use memory fence, when possible
33225         * tests/test-strstr.c (main): Use memory fence, in order to be
33226         more likely to trigger Debian bug 521737.
33227         * modules/strstr-tests (Files): Pull in additional files.
33228
33229         memchr: no longer obsolete, for wider field testing
33230         * modules/memchr (Status, Notice): Delete, this module is no
33231         longer obsolete.
33232         * modules/vasnprintf (Depends-on): Add memchr.
33233
33234 2009-06-07  Jim Meyering  <meyering@redhat.com>
33235
33236         hash: declare some functions with the warn_unused_result attribute
33237         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
33238
33239 2009-06-07  Bruno Haible  <bruno@clisp.org>
33240
33241         * tests/test-alignof.c: Don't test int64_t if it does not exist.
33242         Reported by Eric Blake.
33243
33244 2009-06-06  Eric Blake  <ebb9@byu.net>
33245
33246         test-alignof: fix typo with long double
33247         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
33248         compiler error.
33249
33250 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
33251
33252         Escape non-texinfo { and }s.
33253         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
33254         markup error.
33255
33256 2009-06-04  Jim Meyering  <meyering@redhat.com>
33257
33258         gitlog-to-changelog: don't infloop on an empty commit log
33259         * build-aux/gitlog-to-changelog: Warn about an empty log message.
33260         Reported by Boris Petersen <transacid@centerim.org>.
33261
33262 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
33263
33264         version-etc: extend for packagers
33265         Add three new configure options, intended for packagers:
33266           --with-packager="packager name"
33267           --with-packager-version="packager-specific version"
33268           --with-packager-bug-reports="packager bug reporting"
33269         An example with coreutils:
33270           $ ./configure \
33271             --with-packager=Gentoo \
33272             --with-packager-bug-report=http://bugs.gentoo.org/ \
33273             --with-packager-version="patchset 1.6"
33274           $ ./src/ls --version | head -n2
33275           ls (GNU coreutils) 7.1-dirty
33276           Packaged by Gentoo (patchset 1.6)
33277         Note that the bug reporting info via --help doesn't show up because
33278         coreutils uses its own custom emit_bug_reporting_address() implementation
33279         in src/system.h.  If it didn't, it'd look like:
33280           $ ./src/ls --help | tail -n4
33281           Report bugs to <bug-coreutils@gnu.org>.
33282           Report Gentoo bugs to <http://bugs.gentoo.org/>.
33283           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
33284           General help using GNU software: <http://www.gnu.org/gethelp/>.
33285         * lib/version-etc.c: Print new information, if provided.
33286         * m4/version-etc.m4: New file.
33287         * modules/version-etc (Files): Add m4/version-etc.m4.
33288         (configure.ac): Add gl_VERSION_ETC.
33289
33290 2009-05-31  Bruno Haible  <bruno@clisp.org>
33291
33292         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
33293         and 'int64_t'.
33294         * modules/alignof-tests (Dependencies): Add stdint.
33295         Reported by Eric Blake.
33296
33297 2009-05-31  Bruno Haible  <bruno@clisp.org>
33298
33299         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
33300         restriction due to compiler bugs.
33301         Reported by Eric Blake.
33302
33303 2009-05-31  Simon Josefsson  <simon@josefsson.org>
33304             Bruno Haible  <bruno@clisp.org>
33305
33306         Fix test-alignof failure.
33307         * lib/alignof.h (alignof_slot): New macro.
33308         (alignof_type): New macro, with the same semantics as the previous
33309         'alignof'.
33310         (alignof): Alias to alignof_slot.
33311         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
33312         check that the results are usable as constant expressions.
33313
33314 2009-05-31  Bruno Haible  <bruno@clisp.org>
33315
33316         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
33317         * tests/test-memchr.c (main): Check that memchr does not read past the
33318         first occurrence of the byte.
33319         * tests/test-strstr.c (main): Update comment.
33320         Suggested by Eric Blake.
33321
33322 2009-05-30  Bruno Haible  <bruno@clisp.org>
33323
33324         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
33325         detail how to use dumpbin.
33326         Reported by David Byron <dbyron@dbyron.com>.
33327
33328 2009-06-02  Simon Josefsson  <simon@josefsson.org>
33329
33330         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
33331
33332 2009-06-02  Simon Josefsson  <simon@josefsson.org>
33333
33334         * m4/manywarnings.m4: Add GCC 4.4 warnings.
33335
33336 2009-05-28  Bruno Haible  <bruno@clisp.org>
33337
33338         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
33339         build-aux/ files.
33340
33341 2009-05-28  Simon Josefsson  <simon@josefsson.org>
33342
33343         * gnulib-tool (func_import): Transform license on build-aux/ files too.
33344
33345 2009-05-27  Simon Josefsson  <simon@josefsson.org>
33346
33347         * gnulib-tool (sed_transform_main_lib_file)
33348         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
33349         regexps.
33350
33351 2009-05-26  Simon Josefsson  <simon@josefsson.org>
33352
33353         * tests/test-strstr.c: Add another self-test.
33354         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
33355         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
33356
33357 2009-05-23  Bruno Haible  <bruno@clisp.org>
33358
33359         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
33360         change.
33361
33362 2009-05-21  Bruno Haible  <bruno@clisp.org>
33363
33364         Simplify use of mode_t varargs.
33365         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
33366         uses 'mode_t' or 'int'.
33367         * lib/openat.c (openat): Likewise.
33368         * lib/open-safer.c (open_safer): Likewise.
33369         * m4/mode_t.m4: New file.
33370         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
33371         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
33372         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
33373         * modules/open (Files): Add m4/mode_t.m4.
33374         * modules/openat (Files): Likewise.
33375         * modules/fcntl-safer (Files): Likewise.
33376         Suggested by Eric Blake.
33377
33378 2009-05-21  Pádraig Brady  <P@draigbrady.com>
33379
33380         * doc/glibc-functions/fallocate.texi: New file.
33381         * doc/gnulib.texi: Include it.
33382
33383 2009-05-21  Eric Blake  <ebb9@byu.net>
33384             Bruno Haible  <bruno@clisp.org>
33385
33386         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
33387         invocations.
33388         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
33389
33390 2009-05-21  Eric Blake  <ebb9@byu.net>
33391             Bruno Haible  <bruno@clisp.org>
33392
33393         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
33394         include_next. Fix of 2008-11-20 commit.
33395         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
33396         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
33397         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
33398         NEXT_MATH_H.
33399         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
33400         instead of NEXT_MATH_H.
33401
33402 2009-05-21  Bruno Haible  <bruno@clisp.org>
33403
33404         Avoid redefinition warnings for SIZE_MAX.
33405         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
33406         Reported by Simon Josefsson.
33407
33408 2009-05-21  Bruno Haible  <bruno@clisp.org>
33409
33410         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
33411         AC_CACHE_VAL.
33412
33413 2009-05-20  Bruno Haible  <bruno@clisp.org>
33414
33415         Make zeroptr.h work on mingw.
33416         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
33417         mprotect.
33418         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
33419         * modules/memchr2-tests (configure.ac): Likewise.
33420         * modules/memcmp-tests (configure.ac): Likewise.
33421         * modules/memmem-tests (configure.ac): Likewise.
33422         * modules/memrchr-tests (configure.ac): Likewise.
33423         Reported by Simon Josefsson.
33424
33425 2009-05-20  Simon Josefsson  <simon@josefsson.org>
33426
33427         * tests/test-glob.c: Include string.h for strcmp prototype.
33428
33429 2009-05-20  Simon Josefsson  <simon@josefsson.org>
33430
33431         * modules/getdelim (Depends-on): Add explicit stdint, although it
33432         was implicitly already pulled in via realloc-posix.
33433         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
33434
33435 2009-05-20  Simon Josefsson  <simon@josefsson.org>
33436
33437         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
33438         G. Christensen" <tgc@jupiterrise.com>.
33439         * m4/sys_socket_h.m4: Check for sa_family_t.
33440         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
33441         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
33442         * tests/test-sys_socket.c: Check that sa_family_t works.
33443
33444 2009-05-18  Eric Blake  <ebb9@byu.net>
33445
33446         maint.mk: allow gnulib_dir in VPATH build
33447         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
33448
33449 2009-05-15  Jim Meyering  <meyering@redhat.com>
33450
33451         maint.mk: Give gnulib_dir a default definition.
33452         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
33453         Thus, most packages no longer need to specify this variable in cfg.mk
33454
33455 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
33456
33457         rename.m4: fix typos that would make non-mingw cross-configure fail
33458         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
33459
33460 2009-05-13  Eric Blake  <ebb9@byu.net>
33461
33462         mmap-anon: avoid out-of-order autoconf expansion
33463         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
33464         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
33465         * modules/memchr-tests (Depends-on): Add extensions.
33466         * modules/memchr2-tests (Depends-on): Add extensions.
33467         * modules/memcmp-tests (Depends-on): Add extensions.
33468         * modules/memmem-tests (Depends-on): Add extensions.
33469         * modules/memrchr-tests (Depends-on): Add extensions.
33470
33471 2009-05-13  Bruno Haible  <bruno@clisp.org>
33472
33473         Make some tests ISO C 99 compliant.
33474         * tests/zerosize-ptr.h: New file.
33475         * tests/test-memchr.c: Include zerosize-ptr.h.
33476         (main): Use a zero-size object pointer instead of NULL.
33477         * tests/test-memchr2.c: Include zerosize-ptr.h.
33478         (main): Use a zero-size object pointer instead of NULL.
33479         * tests/test-memcmp.c: Include zerosize-ptr.h.
33480         (main): Use a zero-size object pointer instead of NULL.
33481         * tests/test-memmem.c: Include zerosize-ptr.h.
33482         (main): Use a zero-size object pointer instead of NULL.
33483         * tests/test-memrchr.c: Include zerosize-ptr.h.
33484         (main): Use a zero-size object pointer instead of NULL.
33485         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
33486         m4/mmap-anon.m4.
33487         (Depends-on): Add getpagesize.
33488         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
33489         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
33490         m4/mmap-anon.m4.
33491         (Depends-on): Add getpagesize.
33492         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
33493         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
33494         m4/mmap-anon.m4.
33495         (Depends-on): Add getpagesize.
33496         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
33497         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
33498         m4/mmap-anon.m4.
33499         (Depends-on): Add getpagesize.
33500         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
33501         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
33502         m4/mmap-anon.m4.
33503         (Depends-on): Add getpagesize.
33504         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
33505
33506 2009-05-12  Bruno Haible  <bruno@clisp.org>
33507
33508         Tests for module 'alignof'.
33509         * modules/alignof-tests: New file.
33510         * tests/test-alignof.c: New file.
33511
33512 2009-05-12  Bruno Haible  <bruno@clisp.org>
33513
33514         Fix alignof macro.
33515         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
33516         vendor compilers that are always correct.
33517
33518 2009-05-12  Bruno Haible  <bruno@clisp.org>
33519
33520         Make the MAP_ANONYMOUS detection work on HP-UX 11.
33521         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
33522         not whether its fully works.
33523
33524 2009-05-12  Bruno Haible  <bruno@clisp.org>
33525
33526         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
33527
33528 2009-05-12  Jim Meyering  <meyering@redhat.com>
33529
33530         * top/maint.mk: Adjust backslash alignment.
33531
33532 2009-05-11  Simon Josefsson  <simon@josefsson.org>
33533
33534         * top/maint.mk: Make $(srcdir)/build-aux configurable.
33535
33536 2009-05-11  Eric Blake  <ebb9@byu.net>
33537
33538         argp: avoid undefined behavior
33539         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
33540         macros.
33541
33542 2009-05-08  Simon Josefsson  <simon@josefsson.org>
33543
33544         * tests/test-vc-list-files-git.sh: Do git config of user.email and
33545         user.name to prevent git commit from complaining.
33546
33547 2009-05-10  Bruno Haible  <bruno@clisp.org>
33548
33549         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
33550         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
33551         it rewrites every file name only once.
33552         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
33553
33554 2009-05-08  Bruno Haible  <bruno@clisp.org>
33555
33556         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
33557         instead of 'max'.
33558
33559 2009-05-08  Simon Josefsson  <simon@josefsson.org>
33560
33561         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
33562         sockaddr_storage test.
33563
33564 2009-05-07  Simon Josefsson  <simon@josefsson.org>
33565
33566         * modules/sys_socket (Makefile.am): Substitute
33567         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
33568         * m4/sys_socket_h.m4: Check for sockaddr_storage.
33569         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
33570         * tests/test-sys_socket.c: Check sockaddr_storage.
33571
33572 2009-05-08  Bruno Haible  <bruno@clisp.org>
33573
33574         New module 'alignof'.
33575         * lib/alignof.h: New file.
33576         * modules/alignof: New file.
33577
33578 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
33579             Bruno Haible  <bruno@clisp.org>
33580
33581         Fix test-file-has-acl on FreeBSD.
33582         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
33583         mask is implicitly added.
33584         * tests/test-file-has-acl.c: Include <signal.h>.
33585         (main): Terminate the test after 5 seconds.
33586         * modules/acl-tests (configure.ac): Check for alarm function.
33587
33588 2009-05-04  Bruno Haible  <bruno@clisp.org>
33589
33590         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
33591         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
33592         * modules/errno (configure.ac): Drop AC_REQUIRE.
33593         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
33594         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
33595
33596 2009-05-04  Simon Josefsson  <simon@josefsson.org>
33597
33598         * modules/glob-tests: New module.
33599         * tests/test-glob.c: Add.
33600
33601 2009-05-04  Simon Josefsson  <simon@josefsson.org>
33602
33603         * modules/fnmatch-tests: New module.
33604         * tests/test-fnmatch.c: Add.
33605
33606 2009-05-04  Eric Blake  <ebb9@byu.net>
33607
33608         maint: make the new no-submodule-changes rule VPATH-safe
33609         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
33610
33611 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
33612             Bruno Haible  <bruno@clisp.org>
33613
33614         acl: Fix infinite loop on FreeBSD.
33615         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
33616         of return value from acl_get_entry.
33617         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
33618         Likewise.
33619
33620 2009-05-03  Bruno Haible  <bruno@clisp.org>
33621
33622         * lib/acl-internal.h (acl_entries): Clarify return value.
33623         * lib/acl_entries.c (acl_entries): Likewise.
33624
33625 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
33626
33627         Bug fix in acl module.
33628         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
33629
33630 2009-05-03  Bruno Haible  <bruno@clisp.org>
33631
33632         Create gperf-generated file in the source dir, not in the build dir.
33633         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
33634         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
33635         * modules/unicase/locale-language (unicase/locale-languages.h):
33636         Likewise.
33637         * modules/unicase/special-casing (unicase/special-casing-table.h):
33638         Likewise.
33639         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
33640         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
33641         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
33642         Reported by Ralf Wildenhues.
33643
33644 2009-05-03  Bruno Haible  <bruno@clisp.org>
33645
33646         * modules/fnmatch (Description, configure.ac): Taken from
33647         fnmatch-posix.
33648         * modules/fnmatch-posix: Turn into a symbolic reference to the
33649         'fnmatch' module, and deprecate.
33650         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
33651
33652 2009-05-03  Bruno Haible  <bruno@clisp.org>
33653
33654         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
33655         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
33656         Reported by Ralf Wildenhues.
33657
33658 2009-05-04  Simon Josefsson  <simon@josefsson.org>
33659
33660         * m4/fnmatch.m4: Fix fnmatch re-define.
33661
33662 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
33663
33664         priv-set: new module and tests; adapt write-any-file
33665         * lib/priv-set.c: New file.
33666         * lib/priv-set.h: New file.
33667         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
33668         * lib/write-any-file.c: Simplify by using priv-set module.
33669         * m4/priv-set.m4: New file.
33670         * modules/priv-set: New file.
33671         * modules/unlinkdir: Add dependency on priv-set module.
33672         * modules/write-any-file: Likewise.
33673
33674         Tests for module 'priv-set'.
33675         * modules/priv-set-tests: New file.
33676         * tests/test-priv-set.c: New file.
33677
33678 2009-05-03  Jim Meyering  <meyering@redhat.com>
33679             Bruno Haible  <bruno@clisp.org>
33680
33681         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
33682         use the converted UTF-8 variant of the name instead.
33683
33684 2009-05-03  Jim Meyering  <meyering@redhat.com>
33685
33686         tests: tighten some getdate tests
33687         * tests/test-getdate.c (main): Tighten tests: require equality,
33688         not just greater than.  Set TZ envvar to UTC0.
33689
33690 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
33691
33692         getdate: correctly interpret "next monday" when run on a Monday
33693         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
33694         that e.g., "next tues" (when run on a tuesday) results in a date
33695         that is one week in the future, and not today's date.
33696         I.e., add a week when the wday is the same as the current one.
33697         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
33698         and earlier by Martin Bernreuther and Jan Minář.
33699         * tests/test-getdate.c (main): Check that "next DAY" is always in
33700         the future and that "last DAY" is always in the past.
33701
33702 2009-05-02  Jim Meyering  <meyering@redhat.com>
33703
33704         build: ensure that a release build fails when a submodule is unclean
33705         * top/maint.mk (no-submodule-changes): New rule.
33706         (alpha beta major): Depend on it.
33707
33708 2009-05-02  Bruno Haible  <bruno@clisp.org>
33709
33710         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
33711         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
33712         shell variable gl_fnmatch_required to detect which variant is
33713         requested.
33714         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
33715         gl_FUNC_FNMATCH_POSIX.
33716         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
33717         exclude fnmatch-posix.
33718
33719 2009-05-02  Bruno Haible  <bruno@clisp.org>
33720
33721         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
33722         * modules/mbsrtowcs (License): Change to LGPLv2+.
33723         * modules/strnlen1 (License): Likewise.
33724         Reported by Simon Josefsson.
33725
33726 2009-05-02  Bruno Haible  <bruno@clisp.org>
33727
33728         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
33729         "cross".
33730         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
33731         gnulib-tool was called with option --source-base=lib.
33732
33733 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33734
33735         Use automake *-local hooks without commands, for extensibility.
33736         * modules/localcharset (Makefile.am): Rename install-exec-local
33737         rule to install-exec-localcharset, and make it a prerequisite of
33738         install-exec-local.  Likewise, rename the uninstall-local rule to
33739         uninstall-localcharset, and make it a prerequisite of the former.
33740
33741 2009-05-01  Bruno Haible  <bruno@clisp.org>
33742
33743         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
33744         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
33745         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
33746         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
33747         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
33748         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
33749         m4/locale-zh.m4, m4/codeset.m4.
33750
33751         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
33752         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
33753         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
33754         m4/locale-zh.m4.
33755
33756         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
33757         REPLACE_WCRTOMB if mbstate_t must be replaced.
33758         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
33759         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
33760
33761 2009-05-01  Bruno Haible  <bruno@clisp.org>
33762
33763         Avoid compiler warnings when redefining macros defined by <libintl.h>.
33764         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
33765         dngettext, dcngettext, textdomain, bindtextdomain,
33766         bind_textdomain_codeset): Undefine before redefining.
33767
33768 2009-04-30  Bruno Haible  <bruno@clisp.org>
33769
33770         Fix bug introduced on 2009-04-25.
33771         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
33772         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
33773         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
33774         is defined.
33775         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
33776         is defined.
33777         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
33778         is defined.
33779         Reported by Elbert_Pol <elbert.pol@gmail.com>.
33780
33781 2009-04-28  Bruno Haible  <bruno@clisp.org>
33782
33783         Comment tweaks.
33784         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
33785         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
33786         * lib/unicase.h (u*_casexfrm): Likewise.
33787         Reported by Paolo Bonzini.
33788
33789 2009-04-28  Bruno Haible  <bruno@clisp.org>
33790
33791         Fix a compilation error.
33792         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
33793         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
33794         Reported by Jim Meyering.
33795
33796 2009-04-27  Bruno Haible  <bruno@clisp.org>
33797
33798         New module 'libunistring'.
33799         * modules/libunistring: New file.
33800         * m4/libunistring.m4: New file.
33801         * MODULES.html.sh (Unicode string functions): Add it.
33802
33803 2009-04-27  Eric Blake  <ebb9@byu.net>
33804
33805         maint.mk: allow package-specific header to provide <config.h>
33806         * top/maint.mk (sc_require_config_h): New variable.
33807         (sc_require_config_h, sc_require_config_h_first): Use it.
33808
33809 2009-04-27  Simon Josefsson  <simon@josefsson.org>
33810
33811         * top/maint.mk (sc_avoid_if_before_free): Except
33812         useless-if-before-free script.
33813
33814 2009-04-27  Eric Blake  <ebb9@byu.net>
33815
33816         maintainer-makefile: depend on all required helper scripts
33817         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
33818         useless-if-before-free.
33819         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
33820         version, rather than assuming gnulib checkout is available.
33821         Reported by Simen Josefsson.
33822
33823 2009-04-26  Bruno Haible  <bruno@clisp.org>
33824
33825         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
33826         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
33827         "../" or "..".
33828
33829 2009-04-26  Bruno Haible  <bruno@clisp.org>
33830
33831         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
33832         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
33833         AC_LIB_HAVE_LINKFLAGS.
33834
33835 2009-04-26  Bruno Haible  <bruno@clisp.org>
33836
33837         Simplify calling convention of u*_conv_from_encoding.
33838         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
33839         u32_conv_from_encoding): Expect a resultbuf argument and return the
33840         result directly as a pointer.
33841         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
33842         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
33843         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
33844         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
33845         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
33846         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
33847         Update.
33848         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
33849         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
33850         * lib/vasnprintf.c (VASNPRINTF): Update.
33851         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
33852         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
33853         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
33854         * NEWS: Mention the change.
33855
33856 2009-04-26  Bruno Haible  <bruno@clisp.org>
33857
33858         Simplify calling convention of u*_conv_to_encoding.
33859         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
33860         u32_conv_to_encoding): Expect a resultbuf argument and return the
33861         result directly as a pointer.
33862         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
33863         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
33864         freeing scaled_offsets if mem_iconveha failed.
33865         * lib/unicase/u-casexfrm.h (FUNC): Update.
33866         * lib/uninorm/u-normxfrm.h (FUNC): Update.
33867         * lib/vasnprintf.c (VASNPRINTF): Update.
33868         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
33869         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
33870         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
33871         * NEWS: Mention the change.
33872
33873 2009-04-26  Bruno Haible  <bruno@clisp.org>
33874
33875         Avoid test failures on AIX and OSF/1.
33876         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
33877         malloc(0).
33878         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
33879         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
33880         Likewise.
33881         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
33882         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
33883         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
33884         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
33885         * doc/posix-functions/malloc.texi: Document the portability problem
33886         related to malloc(0).
33887
33888 2009-04-26  Bruno Haible  <bruno@clisp.org>
33889
33890         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
33891         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
33892         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
33893
33894 2009-04-25  Bruno Haible  <bruno@clisp.org>
33895
33896         Avoid link error when creating a namespace clean library.
33897         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
33898         as macro with arguments if already defined as an alias.
33899         * lib/signbitf.c (gl_signbitf): Don't undefine.
33900         * lib/signbitd.c (gl_signbitd): Don't undefine.
33901         * lib/signbitl.c (gl_signbitl): Don't undefine.
33902
33903 2009-04-25  Jim Meyering  <meyering@redhat.com>
33904
33905         vc-list-files: fix another quoting bug
33906         * build-aux/vc-list-files: Avoid sed backslash expansion
33907         of pathological directory names.
33908
33909 2009-04-25  Eric Blake  <ebb9@byu.net>
33910
33911         vc-list-files: fix shell quoting error
33912         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
33913         timestamp.
33914
33915 2009-04-25  Jim Meyering  <meyering@redhat.com>
33916
33917         vc-list-files: restore lost functionality with subdir argument
33918         * build-aux/vc-list-files: When given a non-"." sub-directory
33919         argument, substitute the $dir/ prefix back onto each resulting name.
33920         Otherwise, coreutils' root_tests check would fail.
33921
33922 2009-04-24  Eric Blake  <ebb9@byu.net>
33923
33924         vc-list-files: ignore git symlinks
33925         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
33926         than ls-files, to ignore git symlinks.
33927
33928         maint.mk: import improvements from m4
33929         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
33930         (move_if_change): Delete unused macro.
33931         (news-date-check, vc-diff-check): Support VPATH builds.
33932         (announcement): Likewise.  Split --bootstrap-tools list...
33933         (boostrap-tools): ...into separate list, which can be overridden
33934         in cfg.mk.
33935         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
33936         requiring dependency on useless-if-before-free module.
33937         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
33938         Support VPATH builds.
33939
33940 2009-04-24  Jim Meyering  <meyering@redhat.com>
33941
33942         maint.mk: remove coreutils-specific rules and variables
33943         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
33944         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
33945         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
33946
33947         maint.mk: remove obsolete rule
33948         * top/maint.mk (rel-check): Remove rule.
33949         (WGET, WGETFLAGS): Remove now-unused variables.
33950
33951 2009-04-24  Simon Josefsson  <simon@josefsson.org>
33952
33953         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
33954         consistency.
33955
33956         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
33957         '$(PATH_SEPARATOR)' instead of ':'.
33958
33959 2009-04-24  Simon Josefsson  <simon@josefsson.org>
33960
33961         * lib/getopt1.c (main): Use 'const' for static array.
33962
33963 2009-04-24  Simon Josefsson  <simon@josefsson.org>
33964
33965         * top/maint.mk: Sync with coreutils.
33966         * NEWS: Explain incompatibilities.
33967
33968 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33969             Bruno Haible  <bruno@clisp.org>
33970
33971         Fix cross-compilation results.
33972         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
33973         statement, as third argument of AC_TRY_RUN.
33974         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
33975         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
33976         Likewise.
33977         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
33978         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
33979         Likewise.
33980         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
33981         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
33982         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
33983
33984 2009-04-20  Bruno Haible  <bruno@clisp.org>
33985
33986         Avoid test failure on mingw.
33987         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
33988
33989 2009-04-20  Bruno Haible  <bruno@clisp.org>
33990
33991         Avoid compilation error on mingw.
33992         * modules/localename-tests (Depends-on): Add locale.
33993
33994 2009-04-19  Bruno Haible  <bruno@clisp.org>
33995
33996         Support for building a shared library on Windows platforms.
33997         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
33998         (main): Test the presence of UNINORM_NFC here.
33999         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
34000         (main): Test the presence of UNINORM_NFD here.
34001         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
34002         (main): Test the presence of UNINORM_NFKC here.
34003         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
34004         (main): Test the presence of UNINORM_NFKD here.
34005
34006 2009-04-19  Bruno Haible  <bruno@clisp.org>
34007
34008         Avoid a compiler warning.
34009         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
34010         Change type of variable 'sequence'.
34011
34012 2009-04-19  Bruno Haible  <bruno@clisp.org>
34013
34014         * modules/configmake (Makefile.am): When the contents of configmake.h
34015         does not change, arrange to preserve its modification time.
34016
34017 2009-04-17  Simon Josefsson  <simon@josefsson.org>
34018
34019         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
34020         gettext domain.
34021
34022 2009-04-16  Jim Meyering  <meyering@redhat.com>
34023
34024         useless-if-before-free: improve conversion code
34025         * build-aux/useless-if-before-free: Adjust code-in-comment to match
34026         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
34027
34028 2009-04-14  Bruno Haible  <bruno@clisp.org>
34029
34030         * modules/fcntl (Depends-on): Add extensions.
34031         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
34032
34033 2009-04-12  Ben Pfaff  <blp@gnu.org>
34034
34035         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
34036         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
34037
34038 2009-03-20  Ben Pfaff  <blp@gnu.org>
34039
34040         Make rename replace existing destinations on Windows.
34041         * m4/rename.m4: Add test for Mingw.
34042         * lib/rename.c: Add rename replacement that uses MoveFileEx with
34043         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
34044         * doc/posix-functions/rename.texi: Document.
34045
34046 2009-04-10  Bruno Haible  <bruno@clisp.org>
34047
34048         New include file "iconveh.h".
34049         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
34050         * lib/striconveh.h: Include it.
34051         (enum iconv_ilseq_handler): Remove definition.
34052         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
34053         striconveh.h.
34054         * lib/striconveha.c: Include striconveh.h.
34055         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
34056         * modules/striconveh (Files): Add lib/iconveh.h.
34057         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
34058         lib/striconveh.h.
34059
34060 2009-04-10  Bruno Haible  <bruno@clisp.org>
34061
34062         * lib/uniconv.h: Update comment.
34063
34064 2009-04-10  Bruno Haible  <bruno@clisp.org>
34065
34066         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
34067         always.
34068         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
34069         * lib/unistr/u16-mbtouc-aux.c: Likewise.
34070         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
34071         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
34072         "unistring-notinline.h", so that the function gets defined always.
34073         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
34074         * lib/unistr/u8-uctomb.c: Likewise.
34075         * lib/unistr/u16-mbtouc.c: Likewise.
34076         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
34077         * lib/unistr/u16-uctomb.c: Likewise.
34078         * lib/unistr/u32-mbtouc.c: Likewise.
34079         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
34080         * lib/unistr/u32-uctomb.c: Likewise.
34081
34082 2009-04-10  Bruno Haible  <bruno@clisp.org>
34083
34084         Mark 'utime' obsolete.
34085         * modules/utime (Status, Notice): New sections.
34086         Suggested by Jim Meyering.
34087
34088         Fix cross-compile guess for utime test.
34089         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
34090         autoconf.
34091         * doc/posix-functions/utime.texi: Give more precisions.
34092         Reported by Jan <ipif@ymail.com>.
34093
34094 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
34095
34096         filevercmp: correct today's change
34097         * lib/filevercmp.c: Also handle coreutils' test inputs.
34098         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
34099
34100         Fix regression in 'filevercmp' module. Thanks Sven Joachim
34101         for reporting it.
34102         * lib/filevercmp.c: Special handle for "", "." and "..".
34103         * tests/test-filevercmp.c: Enlarge the set suite.
34104
34105 2009-04-07  Jim Meyering  <meyering@redhat.com>
34106
34107         useless-if-before-free: show how to remove braced useless free, too
34108         * build-aux/useless-if-before-free: still only in a comment, though.
34109
34110 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
34111
34112         maint.mk: import changes to syntax-check macros from coreutils
34113         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
34114         Use them in the relevant macros.
34115
34116 2009-04-06  Bruno Haible  <bruno@clisp.org>
34117
34118         Fix unportable use of bit-fields.
34119         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
34120         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
34121         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
34122
34123 2009-04-06  Bruno Haible  <bruno@clisp.org>
34124
34125         Avoid test failures on AIX and OSF/1.
34126         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
34127         that malloc(0) = NULL.
34128         * tests/unicase/test-u8-tolower.c (check): Likewise.
34129         * tests/unicase/test-u8-totitle.c (check): Likewise.
34130         * tests/unicase/test-u8-toupper.c (check): Likewise.
34131         * tests/unicase/test-u16-casefold.c (check): Likewise.
34132         * tests/unicase/test-u16-tolower.c (check): Likewise.
34133         * tests/unicase/test-u16-totitle.c (check): Likewise.
34134         * tests/unicase/test-u16-toupper.c (check): Likewise.
34135         * tests/unicase/test-u32-casefold.c (check): Likewise.
34136         * tests/unicase/test-u32-tolower.c (check): Likewise.
34137         * tests/unicase/test-u32-totitle.c (check): Likewise.
34138         * tests/unicase/test-u32-toupper.c (check): Likewise.
34139         * tests/uninorm/test-u8-nfc.c (check): Likewise.
34140         * tests/uninorm/test-u8-nfd.c (check): Likewise.
34141         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
34142         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
34143         * tests/uninorm/test-u16-nfc.c (check): Likewise.
34144         * tests/uninorm/test-u16-nfd.c (check): Likewise.
34145         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
34146         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
34147         * tests/uninorm/test-u32-nfc.c (check): Likewise.
34148         * tests/uninorm/test-u32-nfd.c (check): Likewise.
34149         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
34150         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
34151
34152 2009-04-05  Bruno Haible  <bruno@clisp.org>
34153
34154         Work around an autoconf limitation.
34155         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
34156         comment line if it would be longer than 3 KB.
34157
34158 2009-04-05  Bruno Haible  <bruno@clisp.org>
34159
34160         Avoid test failure with libiconv-1.13.
34161         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
34162         of the expected test results.
34163
34164 2009-04-05  Bruno Haible  <bruno@clisp.org>
34165
34166         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
34167         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
34168         that it should be installed.
34169
34170 2009-04-05  Bruno Haible  <bruno@clisp.org>
34171
34172         * gnulib-tool: New option --copy-file.
34173         (func_usage): Document it.
34174         (func_dest_tmpfilename): Moved out of func_import.
34175         (func_add_file, func_update_file): New functions, extracted from
34176         func_import.
34177         (func_import): Update.
34178
34179 2009-04-05  Karl Berry  <karl@gnu.org>
34180
34181         * README: prominently mention gnulib-tool.
34182         Rearrange sections so getting the code is near the top.
34183
34184 2009-04-05  Bruno Haible  <bruno@clisp.org>
34185
34186         * lib/unicase.h: Mention u*_cmp2.
34187         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
34188         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
34189         * lib/unicase/ulc-casecmp.c: Likewise.
34190         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
34191         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
34192         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
34193         unistr/u8-cmp.
34194         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
34195         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
34196         unistr/u16-cmp.
34197         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
34198         unistr/u32-cmp.
34199
34200         * lib/uninorm.h: Mention u*_cmp2.
34201         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
34202         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
34203         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
34204         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
34205         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
34206         unistr/u8-cmp.
34207         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
34208         unistr/u16-cmp.
34209         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
34210         unistr/u32-cmp.
34211
34212         New module 'unistr/u32-cmp2'.
34213         * lib/unistr/u32-cmp2.c: New file.
34214         * modules/unistr/u32-cmp2: New file.
34215
34216         New module 'unistr/u16-cmp2'.
34217         * lib/unistr/u16-cmp2.c: New file.
34218         * modules/unistr/u16-cmp2: New file.
34219
34220         New module 'unistr/u8-cmp2'.
34221         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
34222         * lib/unistr/u8-cmp2.c: New file.
34223         * lib/unistr/u-cmp2.h: New file.
34224         * modules/unistr/u8-cmp2: New file.
34225
34226 2009-04-05  Bruno Haible  <bruno@clisp.org>
34227
34228         * lib/unictype.h (uc_property_is_valid): New macro.
34229         * tests/unictype/test-pr_byname.c (main): Use it.
34230
34231         * lib/unistr.h: Doc fixes.
34232         * lib/uniconv.h: Doc fixes.
34233         * lib/unictype.h: Doc fixes.
34234
34235 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
34236
34237         Port coreutils 7.2 to Solaris 8.
34238
34239         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
34240         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
34241         for Solaris 8.  This is a bit of a hack, as it means it's the
34242         caller's responsibility to add -lnsl if needed, but most likely it
34243         won't be needed since only getaddrinfo uses this and getaddrinfo
34244         isn't needed on Solaris 8.
34245
34246         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
34247         problem to Solaris 8 encountered with coreutils 7.2, which
34248         resulted in a message "fnmatch.c:292: warning: passing argument 4
34249         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
34250         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
34251
34252 2009-04-03  Simon Josefsson  <simon@josefsson.org>
34253
34254         * m4/ld-version-script.m4: Add FIXME comment.
34255
34256 2009-04-02  Simon Josefsson  <simon@josefsson.org>
34257
34258         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
34259         SOVERSION variable.
34260
34261 2009-04-02  Bruno Haible  <bruno@clisp.org>
34262
34263         * Makefile (info, html, dvi, pdf): Combine the rules.
34264         Suggested by Jim Meyering.
34265
34266 2009-04-01  Bruno Haible  <bruno@clisp.org>
34267
34268         * Makefile (info, html, dvi, pdf): New targets.
34269         Reported by Reuben Thomas <rrt@sc3d.org>.
34270
34271 2009-04-01  Bruno Haible  <bruno@clisp.org>
34272
34273         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
34274         can be put into PATH.
34275         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
34276
34277 2009-04-01  Bruno Haible  <bruno@clisp.org>
34278
34279         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
34280
34281 2009-04-01  Bruno Haible  <bruno@clisp.org>
34282
34283         Rename module 'visibility'.
34284         * modules/lib-symbol-visibility: Renamed from modules/visibility.
34285         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
34286         * doc/gnulib.texi: Update.
34287         * MODULES.html.sh (Misc): Update.
34288         * NEWS: Mention the change.
34289
34290 2009-04-01  Simon Josefsson  <simon@josefsson.org>
34291
34292         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
34293         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
34294         Eric Blake <ebb9@byu.net> for review.
34295         * MODULES.html.sh: Add lib-msvc-compat.
34296         * doc/gnulib.texi: Link to new section.
34297         * m4/ld-output-def.m4: New file.
34298         * doc/ld-output-def.texi: New file.
34299
34300 2009-04-01  Simon Josefsson  <simon@josefsson.org>
34301
34302         Rename ld-version-script to lib-symbol-versions.  Suggested by
34303         Bruno Haible <bruno@clisp.org>.
34304         * modules/ld-version-script: Renamed to lib-symbol-versions.
34305         * doc/ld-version-script.texi: Fix module name.
34306         * MODULES.html.sh: Add lib-symbol-versions.
34307
34308 2009-03-31  Simon Josefsson  <simon@josefsson.org>
34309
34310         * modules/u64-tests: New file.
34311         * tests/test-u64.c: New file.
34312
34313 2009-03-04  Simon Josefsson  <simon@josefsson.org>
34314
34315         * MODULES.html.sh: Mention u64.
34316         * modules/u64: New module.
34317         * modules/crypto/sha512: Depend on u64 module instead of providing
34318         u64.h.
34319
34320 2009-03-27  Eric Blake  <ebb9@byu.net>
34321
34322         test-strerror: make debugging EAI_SYSTEM easier
34323         * modules/getaddrinfo-tests (Depends-on): Add strerror.
34324         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
34325         failure was EAI_SYSTEM.
34326
34327 2009-03-25  Bruno Haible  <bruno@clisp.org>
34328
34329         Fix a problem with --enable-relocatable on Solaris 7.
34330         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
34331         since 2008-02-24.
34332
34333 2009-03-25  Eric Blake  <ebb9@byu.net>
34334
34335         test-sockets: avoid gcc warning
34336         * tests/test-sockets.c (main): Silence compiler warning.
34337
34338 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
34339
34340         New modules nproc, pthread, contributed by Glen Lenker.
34341
34342         * MODULES.html.sh: Add pthread, nproc.
34343         * lib/nproc.c: New file.
34344         * lib/nproc.h: New file.
34345         * lib/pthread.in.h: New file.
34346         * m4/pthread.m4: New file.
34347         * modules/nproc: New file.
34348         * modules/pthread: New file.
34349
34350 2009-03-24  Simon Josefsson  <simon@josefsson.org>
34351
34352         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
34353         New variable.
34354
34355 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
34356
34357         filevercmp: handle simple~ and numbered.~3~ backup suffixes
34358         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
34359         * tests/test-filevercmp.c: Add tests for backup suffixes.
34360
34361 2009-03-24  Simon Josefsson  <simon@josefsson.org>
34362
34363         * modules/stdlib (Depends-on): Add stdint, needed when defining
34364         struct random_data on, for example, HP-UX 10.20.  Reported by
34365         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
34366
34367 2009-03-24  Simon Josefsson  <simon@josefsson.org>
34368
34369         * lib/readline.c (readline): Call fflush on stdout after printing
34370         prompt.
34371
34372 2009-03-20  Bruno Haible  <bruno@clisp.org>
34373
34374         Remove dependency from 'close' module to -lws2_32 on native Windows.
34375         * lib/close-hook.h: New file.
34376         * lib/close-hook.c: New file.
34377         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
34378         w32sock.h.
34379         (_gl_close_fd_maybe_socket): Remove function.
34380         (rpl_close): Invoke execute_all_close_hooks instead of
34381         _gl_close_fd_maybe_socket.
34382         * lib/sockets.c: Include close-hook.h, w32sock.h.
34383         (close_fd_maybe_socket): New function, essentially from lib/close.c.
34384         (close_sockets_hook): New variable.
34385         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
34386         (gl_sockets_cleanup): Unregister it.
34387         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
34388         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
34389         * modules/close-hook: New file.
34390         * modules/close (Files): Remove lib/w32sock.h.
34391         (Depends-on): Add close-hook.
34392         (Link): Remove section.
34393         * modules/sockets (Files): Add lib/w32sock.h.
34394         (Depends-on): Add close-hook.
34395         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
34396         invocation.
34397         * NEWS: Mention that LIB_CLOSE is gone.
34398
34399 2009-03-23  Eric Blake  <ebb9@byu.net>
34400
34401         signal-tests: test previous patch
34402         * tests/test-signal.c: New file.
34403         * modules/signal-tests: Likewise.
34404
34405         signal.h: always support 'volatile sig_atomic_t'
34406         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
34407         (gl_SIGNAL_H_DEFAULTS): Add a default.
34408         * modules/signal (Makefile.am): Substitute if needed.
34409         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
34410         users can blindly add volatile.
34411         * doc/posix-headers/signal.texi (signal.h): Document it.
34412         Reported by Matthew Woehlke.
34413
34414 2009-03-23  Jim Meyering  <meyering@redhat.com>
34415
34416         pathmax: PATH_MAX: use pathconf only when available
34417         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
34418         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
34419         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
34420         This avoids a link failure in a PSP cross-compilation environment
34421         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
34422
34423         * lib/vasnprintf.c (divide): Fix typo in comment.
34424
34425 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34426
34427         * gnulib-tool (func_filter_filelist): Fix comment.
34428
34429 2009-03-20  Bruno Haible  <bruno@clisp.org>
34430
34431         Make sockets.h self-contained.
34432         * lib/sockets.c: Include sockets.h first.
34433         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
34434
34435 2009-03-19  Eric Blake  <ebb9@byu.net>
34436
34437         doc: mention more functions added in cygwin 1.7.0
34438         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
34439         addition.
34440         * doc/posix-functions/log2f.texi: Likewise.
34441
34442 2009-03-19  Jim Meyering  <meyering@redhat.com>
34443
34444         fsusage: avoid syntax error due to statement-before-declaration
34445         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
34446         after all declarations.  Reported by Matthew Woehlke in
34447         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
34448
34449 2009-03-18  Eric Blake  <ebb9@byu.net>
34450
34451         build-aux/compile: sync from automake
34452         * build-aux/compile: New file, from automake.
34453         * config/srclist.txt: Mention build-aux/compile.
34454
34455 2009-03-17  Bruno Haible  <bruno@clisp.org>
34456
34457         * lib/git-merge-changelog.c: Fix typo in comment.
34458         Reported by Reuben Thomas <rrt@sc3d.org>.
34459
34460 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
34461
34462         * m4/regex.m4: update and improve help for
34463         --without-included-regex.
34464
34465 2009-03-17  Simon Josefsson  <simon@josefsson.org>
34466
34467         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
34468         failure on missing include files.
34469
34470 2009-03-17  Eric Blake  <ebb9@byu.net>
34471
34472         doc: mention more functions added in cygwin 1.7.0
34473         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
34474         addition.
34475         * doc/posix-functions/fwscanf.texi: Likewise.
34476         * doc/posix-functions/swprintf.texi: Likewise.
34477         * doc/posix-functions/swscanf.texi: Likewise.
34478         * doc/posix-functions/vfwprintf.texi: Likewise.
34479         * doc/posix-functions/vfwscanf.texi: Likewise.
34480         * doc/posix-functions/vswprintf.texi: Likewise.
34481         * doc/posix-functions/vswscanf.texi: Likewise.
34482         * doc/posix-functions/vwprintf.texi: Likewise.
34483         * doc/posix-functions/vwscanf.texi: Likewise.
34484         * doc/posix-functions/wcscasecmp.texi: Likewise.
34485         * doc/posix-functions/wcsdup.texi: Likewise.
34486         * doc/posix-functions/wcsftime.texi: Likewise.
34487         * doc/posix-functions/wcsncasecmp.texi: Likewise.
34488         * doc/posix-functions/wprintf.texi: Likewise.
34489         * doc/posix-functions/wscanf.texi: Likewise.
34490         * doc/glibc-functions/gethostbyname2.texi: Likewise.
34491
34492 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34493
34494         maint.mk: really add $(AM_MAKEFLAGS)
34495         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
34496         was inadvertently omitted in the last commit.
34497         Spotted by Bruno Haible.
34498
34499         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
34500         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
34501         $(AM_MAKEFLAGS)' rather than plain `make'.
34502
34503         gnulib-tool: execute $MAKE not make
34504         * gnulib-tool: Default $MAKE to 'make'.
34505         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
34506         than make.  Initialize $MAKE in the do-autobuild script.
34507
34508         gnulib-tool: use $MAKE not make in generated files
34509         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
34510         make, in generated files.  Initialize $MAKE in the do-autobuild
34511         script.
34512
34513         * top/GNUmakefile (_have-git-version-gen): Fix typo.
34514
34515         GNUmakefile: disable parallelism only for multiple, recursive targets
34516         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
34517         additions in the Makefile.
34518         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
34519         by Automake.
34520         (.NOTPARALLEL): Only disable parallel builds if multiple targets
34521         are listed on the command line and at least one of them is
34522         listed in $(ALL_RECURSIVE_TARGETS).
34523
34524 2009-03-14  Bruno Haible  <bruno@clisp.org>
34525
34526         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
34527         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
34528         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
34529         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
34530         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
34531         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
34532         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
34533         unistr/u8-uctomb.
34534         * modules/unistr/u8-strchr (Depends-on): Likewise.
34535         * modules/unistr/u8-strrchr (Depends-on): Likewise.
34536         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
34537         unistr/u16-uctomb.
34538         * modules/unistr/u16-strchr (Depends-on): Likewise.
34539         * modules/unistr/u16-strrchr (Depends-on): Likewise.
34540
34541 2009-03-12  Bruno Haible  <bruno@clisp.org>
34542
34543         Work around select() bug on Interix 3.5.
34544         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
34545         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
34546         * m4/select.m4: New file.
34547         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
34548         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
34549         * modules/select (Files): Add m4/select.m4.
34550         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
34551         * modules/nanosleep (Depends-on): Add select.
34552         * modules/poll (Depends-on): Likewise.
34553         * doc/posix-functions/select.texi: Mention the Interix bug.
34554         Reported by Markus Duft <mduft@gentoo.org>.
34555
34556         * lib/select.c: Renamed from lib/winsock-select.c.
34557         * modules/select (Files): Add lib/select.c, remove
34558         lib/winsock-select.c.
34559         (configure.ac): Update.
34560
34561 2009-03-12  Jim Meyering  <meyering@redhat.com>
34562
34563         avoid gcc warnings about unused macro definitions
34564         * lib/readtokens.c (STREQ): Remove unused definition.
34565         * lib/xmalloc.c (SIZE_MAX): Likewise.
34566         * lib/openat-die.c (N_): Likewise.
34567         * lib/mountlist.c (SIZE_MAX): Remove definition.
34568         Instead, include <stdint.h>.
34569         * lib/readutmp.c: Likewise.
34570         * modules/readutmp (Depends-on): Add stdint.
34571         * modules/mountlist (Depends-on): Add stdint.
34572         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
34573
34574 2009-03-10  Bruno Haible  <bruno@clisp.org>
34575
34576         Tests for module 'mbmemcasecoll'.
34577         * modules/mbmemcasecoll-tests: New file.
34578         * tests/test-mbmemcasecoll1.sh: New file.
34579         * tests/test-mbmemcasecoll2.sh: New file.
34580         * tests/test-mbmemcasecoll3.sh: New file.
34581         * tests/test-mbmemcasecoll.c: New file.
34582
34583         New module 'mbmemcasecoll'.
34584         * lib/mbmemcasecoll.h: New file.
34585         * lib/mbmemcasecoll.c: New file.
34586         * modules/mbmemcasecoll: New file.
34587
34588         * tests/test-mbmemcasecmp.h: New file, extracted from
34589         tests/test-mbmemcasecmp.c.
34590         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
34591         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
34592         (main): Update.
34593         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
34594
34595 2009-03-09  Bruno Haible  <bruno@clisp.org>
34596
34597         Tests for module 'mbmemcasecmp'.
34598         * modules/mbmemcasecmp-tests: New file.
34599         * tests/test-mbmemcasecmp1.sh: New file.
34600         * tests/test-mbmemcasecmp2.sh: New file.
34601         * tests/test-mbmemcasecmp3.sh: New file.
34602         * tests/test-mbmemcasecmp.c: New file.
34603
34604         New module 'mbmemcasecmp'.
34605         * lib/mbmemcasecmp.h: New file.
34606         * lib/mbmemcasecmp.c: New file.
34607         * modules/mbmemcasecmp: New file.
34608
34609 2009-03-09  Bruno Haible  <bruno@clisp.org>
34610
34611         Tests for module 'unicase/ulc-casecoll'.
34612         * modules/unicase/ulc-casecoll-tests: New file.
34613         * tests/unicase/test-ulc-casecoll1.sh: New file.
34614         * tests/unicase/test-ulc-casecoll2.sh: New file.
34615         * tests/unicase/test-ulc-casecoll.c: New file.
34616
34617         New module 'unicase/ulc-casecoll'.
34618         * lib/unicase.h (ulc_casecoll): New declaration.
34619         * lib/unicase/ulc-casecoll.c: New file.
34620         * modules/unicase/ulc-casecoll: New file.
34621
34622         New module 'unicase/ulc-casexfrm'.
34623         * lib/unicase.h (ulc_casexfrm): New declaration.
34624         * lib/unicase/ulc-casexfrm.c: New file.
34625         * modules/unicase/ulc-casexfrm: New file.
34626
34627 2009-03-09  Bruno Haible  <bruno@clisp.org>
34628
34629         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
34630         invocations.
34631
34632         * m4/mbscasecmp.m4: Remove file.
34633         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
34634         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
34635
34636         * m4/mbscasestr.m4: Remove file.
34637         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
34638         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
34639
34640         * m4/mbschr.m4: Remove file.
34641         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
34642         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
34643
34644         * m4/mbscspn.m4: Remove file.
34645         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
34646         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
34647
34648         * m4/mbslen.m4: Remove file.
34649         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
34650         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
34651
34652         * m4/mbsncasecmp.m4: Remove file.
34653         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
34654         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
34655
34656         * m4/mbsnlen.m4: Remove file.
34657         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
34658         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
34659
34660         * m4/mbspbrk.m4: Remove file.
34661         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
34662         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
34663
34664         * m4/mbspcasecmp.m4: Remove file.
34665         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
34666         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
34667
34668         * m4/mbsrchr.m4: Remove file.
34669         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
34670         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
34671
34672         * m4/mbssep.m4: Remove file.
34673         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
34674         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
34675
34676         * m4/mbsspn.m4: Remove file.
34677         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
34678         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
34679
34680         * m4/mbsstr.m4: Remove file.
34681         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
34682         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
34683
34684         * m4/mbstok_r.m4: Remove file.
34685         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
34686         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
34687
34688         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
34689
34690         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
34691         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
34692
34693         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
34694
34695 2009-03-08  Bruno Haible  <bruno@clisp.org>
34696
34697         Tests for module 'unicase/ulc-casecmp'.
34698         * modules/unicase/ulc-casecmp-tests: New file.
34699         * tests/unicase/test-ulc-casecmp1.sh: New file.
34700         * tests/unicase/test-ulc-casecmp2.sh: New file.
34701         * tests/unicase/test-ulc-casecmp.c: New file.
34702
34703         New module 'unicase/ulc-casecmp'.
34704         * lib/unicase.h (ulc_casecmp): New declaration.
34705         * lib/unicase/ulc-casecmp.c: New file.
34706         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
34707         'const SRC_UNIT *'.
34708         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
34709         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
34710         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
34711         * modules/unicase/ulc-casecmp: New file.
34712
34713         Tests for module 'unicase/u32-is-cased'.
34714         * modules/unicase/u32-is-cased-tests: New file.
34715         * tests/unicase/test-u32-is-cased.c: New file.
34716
34717         Tests for module 'unicase/u16-is-cased'.
34718         * modules/unicase/u16-is-cased-tests: New file.
34719         * tests/unicase/test-u16-is-cased.c: New file.
34720
34721         Tests for module 'unicase/u8-is-cased'.
34722         * modules/unicase/u8-is-cased-tests: New file.
34723         * tests/unicase/test-u8-is-cased.c: New file.
34724         * tests/unicase/test-is-cased.h: New file.
34725
34726         New module 'unicase/u32-is-cased'.
34727         * lib/unicase/u32-is-cased.c: New file.
34728         * modules/unicase/u32-is-cased: New file.
34729
34730         New module 'unicase/u16-is-cased'.
34731         * lib/unicase/u16-is-cased.c: New file.
34732         * modules/unicase/u16-is-cased: New file.
34733
34734         New module 'unicase/u8-is-cased'.
34735         * lib/unicase/u8-is-cased.c: New file.
34736         * lib/unicase/u-is-cased.h: New file.
34737         * modules/unicase/u8-is-cased: New file.
34738
34739         Tests for module 'unicase/u32-is-casefolded'.
34740         * modules/unicase/u32-is-casefolded-tests: New file.
34741         * tests/unicase/test-u32-is-casefolded.c: New file.
34742
34743         Tests for module 'unicase/u16-is-casefolded'.
34744         * modules/unicase/u16-is-casefolded-tests: New file.
34745         * tests/unicase/test-u16-is-casefolded.c: New file.
34746
34747         Tests for module 'unicase/u8-is-casefolded'.
34748         * modules/unicase/u8-is-casefolded-tests: New file.
34749         * tests/unicase/test-u8-is-casefolded.c: New file.
34750         * tests/unicase/test-is-casefolded.h: New file.
34751
34752         New module 'unicase/u32-is-casefolded'.
34753         * lib/unicase/u32-is-casefolded.c: New file.
34754         * modules/unicase/u32-is-casefolded: New file.
34755
34756         New module 'unicase/u16-is-casefolded'.
34757         * lib/unicase/u16-is-casefolded.c: New file.
34758         * modules/unicase/u16-is-casefolded: New file.
34759
34760         New module 'unicase/u8-is-casefolded'.
34761         * lib/unicase/u8-is-casefolded.c: New file.
34762         * modules/unicase/u8-is-casefolded: New file.
34763
34764         Tests for module 'unicase/u32-is-titlecase'.
34765         * modules/unicase/u32-is-titlecase-tests: New file.
34766         * tests/unicase/test-u32-is-titlecase.c: New file.
34767
34768         Tests for module 'unicase/u16-is-titlecase'.
34769         * modules/unicase/u16-is-titlecase-tests: New file.
34770         * tests/unicase/test-u16-is-titlecase.c: New file.
34771
34772         Tests for module 'unicase/u8-is-titlecase'.
34773         * modules/unicase/u8-is-titlecase-tests: New file.
34774         * tests/unicase/test-u8-is-titlecase.c: New file.
34775         * tests/unicase/test-is-titlecase.h: New file.
34776
34777         New module 'unicase/u32-is-titlecase'.
34778         * lib/unicase/u32-is-titlecase.c: New file.
34779         * modules/unicase/u32-is-titlecase: New file.
34780
34781         New module 'unicase/u16-is-titlecase'.
34782         * lib/unicase/u16-is-titlecase.c: New file.
34783         * modules/unicase/u16-is-titlecase: New file.
34784
34785         New module 'unicase/u8-is-titlecase'.
34786         * lib/unicase/u8-is-titlecase.c: New file.
34787         * modules/unicase/u8-is-titlecase: New file.
34788
34789         Tests for module 'unicase/u32-is-lowercase'.
34790         * modules/unicase/u32-is-lowercase-tests: New file.
34791         * tests/unicase/test-u32-is-lowercase.c: New file.
34792
34793         Tests for module 'unicase/u16-is-lowercase'.
34794         * modules/unicase/u16-is-lowercase-tests: New file.
34795         * tests/unicase/test-u16-is-lowercase.c: New file.
34796
34797         Tests for module 'unicase/u8-is-lowercase'.
34798         * modules/unicase/u8-is-lowercase-tests: New file.
34799         * tests/unicase/test-u8-is-lowercase.c: New file.
34800         * tests/unicase/test-is-lowercase.h: New file.
34801
34802         New module 'unicase/u32-is-lowercase'.
34803         * lib/unicase/u32-is-lowercase.c: New file.
34804         * modules/unicase/u32-is-lowercase: New file.
34805
34806         New module 'unicase/u16-is-lowercase'.
34807         * lib/unicase/u16-is-lowercase.c: New file.
34808         * modules/unicase/u16-is-lowercase: New file.
34809
34810         New module 'unicase/u8-is-lowercase'.
34811         * lib/unicase/u8-is-lowercase.c: New file.
34812         * modules/unicase/u8-is-lowercase: New file.
34813
34814         Tests for module 'unicase/u32-is-uppercase'.
34815         * modules/unicase/u32-is-uppercase-tests: New file.
34816         * tests/unicase/test-u32-is-uppercase.c: New file.
34817
34818         Tests for module 'unicase/u16-is-uppercase'.
34819         * modules/unicase/u16-is-uppercase-tests: New file.
34820         * tests/unicase/test-u16-is-uppercase.c: New file.
34821
34822         Tests for module 'unicase/u8-is-uppercase'.
34823         * modules/unicase/u8-is-uppercase-tests: New file.
34824         * tests/unicase/test-u8-is-uppercase.c: New file.
34825         * tests/unicase/test-is-uppercase.h: New file.
34826
34827         New module 'unicase/u32-is-uppercase'.
34828         * lib/unicase/u32-is-uppercase.c: New file.
34829         * modules/unicase/u32-is-uppercase: New file.
34830
34831         New module 'unicase/u16-is-uppercase'.
34832         * lib/unicase/u16-is-uppercase.c: New file.
34833         * modules/unicase/u16-is-uppercase: New file.
34834
34835         New module 'unicase/u8-is-uppercase'.
34836         * lib/unicase/u8-is-uppercase.c: New file.
34837         * modules/unicase/u8-is-uppercase: New file.
34838
34839         New module 'unicase/u32-is-invariant'.
34840         * lib/unicase/u32-is-invariant.c: New file.
34841         * modules/unicase/u32-is-invariant: New file.
34842
34843         New module 'unicase/u16-is-invariant'.
34844         * lib/unicase/u16-is-invariant.c: New file.
34845         * modules/unicase/u16-is-invariant: New file.
34846
34847         New module 'unicase/u8-is-invariant'.
34848         * lib/unicase/u8-is-invariant.c: New file.
34849         * lib/unicase/invariant.h: New file.
34850         * lib/unicase/u-is-invariant.h: New file.
34851         * modules/unicase/u8-is-invariant: New file.
34852
34853         Tests for module 'unicase/u32-casecoll'.
34854         * modules/unicase/u32-casecoll-tests: New file.
34855         * tests/unicase/test-u32-casecoll.c: New file.
34856
34857         Tests for module 'unicase/u16-casecoll'.
34858         * modules/unicase/u16-casecoll-tests: New file.
34859         * tests/unicase/test-u16-casecoll.c: New file.
34860
34861         Tests for module 'unicase/u8-casecoll'.
34862         * modules/unicase/u8-casecoll-tests: New file.
34863         * tests/unicase/test-u8-casecoll.c: New file.
34864
34865         New module 'unicase/u32-casecoll'.
34866         * lib/unicase/u32-casecoll.c: New file.
34867         * modules/unicase/u32-casecoll: New file.
34868
34869         New module 'unicase/u16-casecoll'.
34870         * lib/unicase/u16-casecoll.c: New file.
34871         * modules/unicase/u16-casecoll: New file.
34872
34873         New module 'unicase/u8-casecoll'.
34874         * lib/unicase/u8-casecoll.c: New file.
34875         * lib/unicase/u-casecoll.h: New file.
34876         * modules/unicase/u8-casecoll: New file.
34877
34878         New module 'unicase/u32-casexfrm'.
34879         * lib/unicase/u32-casexfrm.c: New file.
34880         * modules/unicase/u32-casexfrm: New file.
34881
34882         New module 'unicase/u16-casexfrm'.
34883         * lib/unicase/u16-casexfrm.c: New file.
34884         * modules/unicase/u16-casexfrm: New file.
34885
34886         New module 'unicase/u8-casexfrm'.
34887         * lib/unicase/u8-casexfrm.c: New file.
34888         * lib/unicase/u-casexfrm.h: New file.
34889         * modules/unicase/u8-casexfrm: New file.
34890
34891         Tests for module 'unicase/u32-casecmp'.
34892         * modules/unicase/u32-casecmp-tests: New file.
34893         * tests/unicase/test-u32-casecmp.c: New file.
34894
34895         Tests for module 'unicase/u16-casecmp'.
34896         * modules/unicase/u16-casecmp-tests: New file.
34897         * tests/unicase/test-u16-casecmp.c: New file.
34898
34899         Tests for module 'unicase/u8-casecmp'.
34900         * modules/unicase/u8-casecmp-tests: New file.
34901         * tests/unicase/test-u8-casecmp.c: New file.
34902         * tests/unicase/test-casecmp.h: New file.
34903
34904         New module 'unicase/u32-casecmp'.
34905         * lib/unicase/u32-casecmp.c: New file.
34906         * modules/unicase/u32-casecmp: New file.
34907
34908         New module 'unicase/u16-casecmp'.
34909         * lib/unicase/u16-casecmp.c: New file.
34910         * modules/unicase/u16-casecmp: New file.
34911
34912         New module 'unicase/u8-casecmp'.
34913         * lib/unicase/u8-casecmp.c: New file.
34914         * lib/unicase/u-casecmp.h: New file.
34915         * modules/unicase/u8-casecmp: New file.
34916
34917         Tests for module 'unicase/u32-casefold'.
34918         * modules/unicase/u32-casefold-tests: New file.
34919         * tests/unicase/test-u32-casefold.c: New file.
34920
34921         Tests for module 'unicase/u16-casefold'.
34922         * modules/unicase/u16-casefold-tests: New file.
34923         * tests/unicase/test-u16-casefold.c: New file.
34924
34925         Tests for module 'unicase/u8-casefold'.
34926         * modules/unicase/u8-casefold-tests: New file.
34927         * tests/unicase/test-u8-casefold.c: New file.
34928
34929         New module 'unicase/u32-casefold'.
34930         * lib/unicase/u32-casefold.c: New file.
34931         * modules/unicase/u32-casefold: New file.
34932
34933         New module 'unicase/u16-casefold'.
34934         * lib/unicase/u16-casefold.c: New file.
34935         * modules/unicase/u16-casefold: New file.
34936
34937         New module 'unicase/u8-casefold'.
34938         * lib/unicase/u8-casefold.c: New file.
34939         * lib/unicase/u-casefold.h: New file.
34940         * modules/unicase/u8-casefold: New file.
34941
34942         New module 'unicase/tocasefold'.
34943         * lib/unicase/casefold.h: New file.
34944         * lib/unicase/tocasefold.c: New file.
34945         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
34946         * modules/unicase/tocasefold: New file.
34947
34948         Tests for module 'unicase/u32-totitle'.
34949         * modules/unicase/u32-totitle-tests: New file.
34950         * tests/unicase/test-u32-totitle.c: New file.
34951
34952         Tests for module 'unicase/u16-totitle'.
34953         * modules/unicase/u16-totitle-tests: New file.
34954         * tests/unicase/test-u16-totitle.c: New file.
34955
34956         Tests for module 'unicase/u8-totitle'.
34957         * modules/unicase/u8-totitle-tests: New file.
34958         * tests/unicase/test-u8-totitle.c: New file.
34959
34960         New module 'unicase/u32-totitle'.
34961         * lib/unicase/u32-totitle.c: New file.
34962         * modules/unicase/u32-totitle: New file.
34963
34964         New module 'unicase/u16-totitle'.
34965         * lib/unicase/u16-totitle.c: New file.
34966         * modules/unicase/u16-totitle: New file.
34967
34968         New module 'unicase/u8-totitle'.
34969         * lib/unicase/u8-totitle.c: New file.
34970         * lib/unicase/u-totitle.h: New file.
34971         * modules/unicase/u8-totitle: New file.
34972
34973         Tests for module 'unicase/u32-tolower'.
34974         * modules/unicase/u32-tolower-tests: New file.
34975         * tests/unicase/test-u32-tolower.c: New file.
34976
34977         Tests for module 'unicase/u16-tolower'.
34978         * modules/unicase/u16-tolower-tests: New file.
34979         * tests/unicase/test-u16-tolower.c: New file.
34980
34981         Tests for module 'unicase/u8-tolower'.
34982         * modules/unicase/u8-tolower-tests: New file.
34983         * tests/unicase/test-u8-tolower.c: New file.
34984
34985         New module 'unicase/u32-tolower'.
34986         * lib/unicase/u32-tolower.c: New file.
34987         * modules/unicase/u32-tolower: New file.
34988
34989         New module 'unicase/u16-tolower'.
34990         * lib/unicase/u16-tolower.c: New file.
34991         * modules/unicase/u16-tolower: New file.
34992
34993         New module 'unicase/u8-tolower'.
34994         * lib/unicase/u8-tolower.c: New file.
34995         * modules/unicase/u8-tolower: New file.
34996
34997         Tests for module 'unicase/u32-toupper'.
34998         * modules/unicase/u32-toupper-tests: New file.
34999         * tests/unicase/test-u32-toupper.c: New file.
35000
35001         Tests for module 'unicase/u16-toupper'.
35002         * modules/unicase/u16-toupper-tests: New file.
35003         * tests/unicase/test-u16-toupper.c: New file.
35004
35005         Tests for module 'unicase/u8-toupper'.
35006         * modules/unicase/u8-toupper-tests: New file.
35007         * tests/unicase/test-u8-toupper.c: New file.
35008
35009         New module 'unicase/u32-toupper'.
35010         * lib/unicase/u32-toupper.c: New file.
35011         * modules/unicase/u32-toupper: New file.
35012
35013         New module 'unicase/u16-toupper'.
35014         * lib/unicase/u16-toupper.c: New file.
35015         * modules/unicase/u16-toupper: New file.
35016
35017         New module 'unicase/u8-toupper'.
35018         * lib/unicase/u8-toupper.c: New file.
35019         * modules/unicase/u8-toupper: New file.
35020
35021         New module 'unicase/u32-casemap'.
35022         * lib/unicase/u32-casemap.c: New file.
35023         * modules/unicase/u32-casemap: New file.
35024
35025         New module 'unicase/u16-casemap'.
35026         * lib/unicase/u16-casemap.c: New file.
35027         * modules/unicase/u16-casemap: New file.
35028
35029         New module 'unicase/u8-casemap'.
35030         * lib/unicase/unicasemap.h: New file.
35031         * lib/unicase/u8-casemap.c: New file.
35032         * lib/unicase/u-casemap.h: New file.
35033         * modules/unicase/u8-casemap: New file.
35034
35035         New module 'unicase/special-casing'.
35036         * lib/unicase/special-casing.h: New file.
35037         * lib/unicase/special-casing.c: New file.
35038         * lib/unicase/special-casing-table.gperf: New file, generated by
35039         gen-uni-tables.c.
35040         * modules/unicase/special-casing: New file.
35041
35042         Tests for module 'unicase/locale-language'.
35043         * modules/unicase/locale-language-tests: New file.
35044         * tests/unicase/test-locale-language.sh: New file.
35045         * tests/unicase/test-locale-language.c: New file.
35046
35047         New module 'unicase/locale-language'.
35048         * lib/unicase/locale-language.c: New file.
35049         * lib/unicase/locale-languages.gperf: New file.
35050         * modules/unicase/locale-language: New file.
35051
35052         Generate more tables for case conversion and case folding.
35053         * lib/gen-uni-tables.c (SCC_*): New enum items.
35054         (struct special_casing_rule): New type.
35055         (casing_rules, num_casing_rules, allocated_casing_rules): New
35056         variables.
35057         (add_casing_rule, fill_casing_rules): New functions.
35058         (struct casefold_rule): New type.
35059         (casefolding_rules, num_casefolding_rules,
35060         allocated_casefolding_rules): New variables.
35061         (fill_casefolding_rules): New function.
35062         (unicode_casefold): New variable.
35063         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
35064         sort_casing_rules, output_casing_rules): New functions.
35065         (main): Accept to more arguments: SpecialCasing.txt and
35066         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
35067         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
35068         Output mapping for casefolding.
35069
35070         * lib/unicase.h: Include stdbool.h, uninorm.h.
35071         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
35072         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
35073         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
35074         arguments.
35075         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
35076         resultp arguments.
35077         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
35078         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
35079         resultp arguments.
35080         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
35081         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
35082         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
35083         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
35084         declarations.
35085         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
35086
35087 2009-03-08  Bruno Haible  <bruno@clisp.org>
35088
35089         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
35090         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
35091         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
35092         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
35093
35094 2009-03-07  Bruno Haible  <bruno@clisp.org>
35095
35096         Adjust u*_normcmp, u*_normcoll API.
35097         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
35098         u16_normcoll, u32_normcoll): Change failure conventions.
35099         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
35100         errno and return -1.
35101         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
35102
35103 2009-03-07  Bruno Haible  <bruno@clisp.org>
35104
35105         Tests for module 'uninorm/u32-normcoll'.
35106         * modules/uninorm/u32-normcoll-tests: New file.
35107         * tests/uninorm/test-u32-normcoll.c: New file.
35108
35109         Tests for module 'uninorm/u16-normcoll'.
35110         * modules/uninorm/u16-normcoll-tests: New file.
35111         * tests/uninorm/test-u16-normcoll.c: New file.
35112
35113         Tests for module 'uninorm/u8-normcoll'.
35114         * modules/uninorm/u8-normcoll-tests: New file.
35115         * tests/uninorm/test-u8-normcoll.c: New file.
35116
35117 2009-03-07  Bruno Haible  <bruno@clisp.org>
35118
35119         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
35120         tests/uninorm/test-u32-normcmp.c.
35121         * tests/uninorm/test-u32-normcmp.c: Include it.
35122         (test_nonascii): New function, extracted from main. Add some more
35123         tests.
35124         (main): Invoke test_ascii and test_nonascii.
35125         * modules/uninorm/u32-normcmp-tests (Files): Add
35126         tests/uninorm/test-u32-normcmp.h.
35127         (Depends-on): Remove uninorm/u32-normcmp.
35128
35129         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
35130         tests/uninorm/test-u16-normcmp.c.
35131         * tests/uninorm/test-u16-normcmp.c: Include it.
35132         (test_nonascii): New function, extracted from main. Add some more
35133         tests.
35134         (main): Invoke test_ascii and test_nonascii.
35135         * modules/uninorm/u16-normcmp-tests (Files): Add
35136         tests/uninorm/test-u16-normcmp.h.
35137         (Depends-on): Remove uninorm/u16-normcmp.
35138
35139         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
35140         tests/uninorm/test-u8-normcmp.c.
35141         * tests/uninorm/test-u8-normcmp.c: Include it.
35142         (test_nonascii): New function, extracted from main. Add some more
35143         tests.
35144         (main): Invoke test_ascii and test_nonascii.
35145         * modules/uninorm/u8-normcmp-tests (Files): Add
35146         tests/uninorm/test-u8-normcmp.h.
35147         (Depends-on): Remove uninorm/u8-normcmp.
35148
35149 2009-03-07  Bruno Haible  <bruno@clisp.org>
35150
35151         New module 'uninorm/u32-normcoll'.
35152         * lib/uninorm/u32-normcoll.c: New file.
35153         * modules/uninorm/u32-normcoll: New file.
35154
35155         New module 'uninorm/u16-normcoll'.
35156         * lib/uninorm/u16-normcoll.c: New file.
35157         * modules/uninorm/u16-normcoll: New file.
35158
35159         New module 'uninorm/u8-normcoll'.
35160         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
35161         declarations.
35162         * lib/uninorm/u8-normcoll.c: New file.
35163         * lib/uninorm/u-normcoll.h: New file.
35164         * modules/uninorm/u8-normcoll: New file.
35165
35166         New module 'uninorm/u32-normxfrm'.
35167         * lib/uninorm/u32-normxfrm.c: New file.
35168         * modules/uninorm/u32-normxfrm: New file.
35169
35170         New module 'uninorm/u16-normxfrm'.
35171         * lib/uninorm/u16-normxfrm.c: New file.
35172         * modules/uninorm/u16-normxfrm: New file.
35173
35174         New module 'uninorm/u8-normxfrm'.
35175         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
35176         declarations.
35177         * lib/uninorm/u8-normxfrm.c: New file.
35178         * lib/uninorm/u-normxfrm.h: New file.
35179         * modules/uninorm/u8-normxfrm: New file.
35180
35181 2009-03-07  Bruno Haible  <bruno@clisp.org>
35182
35183         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
35184         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
35185         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
35186
35187 2009-03-07  Bruno Haible  <bruno@clisp.org>
35188
35189         New module 'memxfrm'.
35190         * lib/memxfrm.h: New file.
35191         * lib/memxfrm.c: New file.
35192         * modules/memxfrm: New file.
35193
35194 2009-03-07  Bruno Haible  <bruno@clisp.org>
35195
35196         New module 'memcmp2'.
35197         * lib/memcmp2.h: New file.
35198         * lib/memcmp2.c: New file.
35199         * modules/memcmp2: New file.
35200
35201 2009-03-07  Bruno Haible  <bruno@clisp.org>
35202
35203         Tests for module 'uninorm/decomposing-form'.
35204         * modules/uninorm/decomposing-form-tests: New file.
35205         * tests/uninorm/test-decomposing-form.c: New file.
35206
35207         New module 'uninorm/decomposing-form'.
35208         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
35209         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
35210         Add 'decomposing_variant' field.
35211         * lib/uninorm/decomposing-form.c: New file.
35212         * lib/uninorm/nfc.c (uninorm_nfc): Update.
35213         * lib/uninorm/nfd.c (uninorm_nfd): Update.
35214         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
35215         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
35216         * modules/uninorm/decomposing-form: New file.
35217         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
35218         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
35219
35220 2009-03-07  Bruno Haible  <bruno@clisp.org>
35221
35222         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
35223         strings.
35224
35225 2009-03-06  Bruno Haible  <bruno@clisp.org>
35226
35227         Tests for module 'uninorm/u32-normcmp'.
35228         * tests/uninorm/test-u32-normcmp.c: New file.
35229         * modules/uninorm/u32-normcmp-tests: New file.
35230
35231         Tests for module 'uninorm/u16-normcmp'.
35232         * tests/uninorm/test-u16-normcmp.c: New file.
35233         * modules/uninorm/u16-normcmp-tests: New file.
35234
35235         Tests for module 'uninorm/u8-normcmp'.
35236         * tests/uninorm/test-u8-normcmp.c: New file.
35237         * modules/uninorm/u8-normcmp-tests: New file.
35238
35239         New module 'uninorm/u32-normcmp'.
35240         * lib/uninorm/u32-normcmp.c: New file.
35241         * modules/uninorm/u32-normcmp: New file.
35242
35243         New module 'uninorm/u16-normcmp'.
35244         * lib/uninorm/u16-normcmp.c: New file.
35245         * modules/uninorm/u16-normcmp: New file.
35246
35247         New module 'uninorm/u8-normcmp'.
35248         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
35249         declarations.
35250         * lib/uninorm/u8-normcmp.c: New file.
35251         * lib/uninorm/u-normcmp.h: New file.
35252         * modules/uninorm/u8-normcmp: New file.
35253
35254 2009-03-06  Bruno Haible  <bruno@clisp.org>
35255
35256         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
35257         Reported by Eric Blake.
35258
35259 2009-03-06  Eric Blake  <ebb9@byu.net>
35260             Bruno Haible  <bruno@clisp.org>
35261
35262         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
35263         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
35264         condition.
35265         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
35266         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
35267         condition.
35268         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
35269
35270 2009-03-06  Eric Blake  <ebb9@byu.net>
35271
35272         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
35273         to avoid compiler warnings.
35274         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
35275
35276 2009-03-05  Bruno Haible  <bruno@clisp.org>
35277
35278         * tests/test-ftell.c (main): Disable test beyond end of file on
35279         FreeMiNT.
35280         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
35281
35282 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
35283
35284         * lib/filevercmp.c: Move hidden files up in ordering.
35285         * tests/test-filevercmp.c: Add tests for hidden files.
35286
35287 2009-03-04  Bruno Haible  <bruno@clisp.org>
35288
35289         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
35290         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
35291         AM_CFLAGS.
35292         Reported by Simon Josefsson.
35293
35294 2009-03-03  Bruno Haible  <bruno@clisp.org>
35295
35296         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
35297         Reported by Simon Josefsson.
35298
35299         * doc/ld-version-script.texi: Update node reference.
35300
35301 2009-03-03  Bruno Haible  <bruno@clisp.org>
35302
35303         * modules/visibility (License): Change to 'unlimited'.
35304         Suggested by Simon Josefsson.
35305
35306 2009-03-03  Jim Meyering  <meyering@redhat.com>
35307
35308         unlinkdir: cannot_unlink_dir may modify process state
35309         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
35310         it's neither thread-safe nor appropriate for use in a library.
35311
35312 2009-03-03  Eric Blake  <ebb9@byu.net>
35313
35314         test-closein: silence test under Darwin
35315         * tests/test-closein.sh: Ignore stderr from cat, since we don't
35316         care if it dies from EPIPE or EBADF.
35317
35318 2009-03-03  Bruno Haible  <bruno@clisp.org>
35319
35320         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
35321         earlier.
35322         * doc/visibility.texi: Fix @node and @section.
35323
35324 2009-03-03  Simon Josefsson  <simon@josefsson.org>
35325
35326         * doc/gnulib.texi: Link to sections for ld version script and
35327         visibility.
35328         * doc/visibility.texi: Add @node and @section.
35329         * modules/ld-version-script: New module.
35330         * m4/ld-version-script.m4: New file.
35331         * doc/ld-version-script.texi: New file.
35332
35333 2009-03-02  David Lutterkort  <lutter@redhat.com>
35334
35335         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
35336         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35337
35338 2009-03-02  Bruno Haible  <bruno@clisp.org>
35339
35340         * doc/visibility.texi: Mention libtool's -export-symbols option.
35341
35342 2009-03-02  Jim Meyering  <meyering@redhat.com>
35343
35344         announce-gen: new option: --no-print-checksums
35345         * build-aux/announce-gen (usage): Describe it.
35346         (print_checksums): Print a newline here, not in the [*] footnote.
35347         (main): Honor it.
35348
35349 2009-03-01  Bruno Haible  <bruno@clisp.org>
35350
35351         Use socklen_t in the native Windows replacements prototypes.
35352         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
35353         instead of 'int'.
35354         * lib/getsockopt.c (rpl_getsockopt): Likewise.
35355         * lib/setsockopt.c (rpl_setsockopt): Likewise.
35356         * modules/getsockopt (Depends-on): Add socklen.
35357         * modules/setsockopt (Depends-on): Add socklen.
35358
35359 2009-03-01  Bruno Haible  <bruno@clisp.org>
35360
35361         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
35362         least 4.2.
35363
35364 2009-03-01  Eric Blake  <ebb9@byu.net>
35365             Bruno Haible  <bruno@clisp.org>
35366
35367         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
35368         error messages.
35369         * lib/wait-process.c (wait_subprocess): Omit error message about
35370         deadly signal sent to the child of termsigp != NULL.
35371
35372 2009-03-01  Eric Blake  <ebb9@byu.net>
35373
35374         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
35375
35376 2009-03-01  Bruno Haible  <bruno@clisp.org>
35377
35378         Avoid a gcc warning.
35379         * tests/test-sched.c (b): Make global.
35380         Reported by Eric Blake.
35381
35382 2009-01-19  Martin Lambers  <marlam@marlam.de>
35383
35384         Provide POSIX semantics for socket timeout options on W32.
35385         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
35386         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
35387         * modules/setsockopt: Depend on sys_time module for struct timeval.
35388         * modules/getsockopt: Depend on sys_time module for struct timeval.
35389
35390 2009-03-01  Simon Josefsson  <simon@josefsson.org>
35391
35392         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
35393         __USE_GNU, for consistency with netdb.in.h.
35394         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
35395
35396 2009-03-01  Bruno Haible  <bruno@clisp.org>
35397
35398         More support for FreeMiNT.
35399         * lib/fseeko.c (rpl_fseeko): Complete last commit.
35400         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
35401
35402 2009-03-01  Bruno Haible  <bruno@clisp.org>
35403
35404         More support for FreeMiNT.
35405         * lib/fpurge.c (fpurge): Correct last commit.
35406         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
35407
35408 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35409
35410         Fix unportable awk script in vc-list-files.
35411         * build-aux/vc-list-files: In the replacement awk script, use
35412         substr with a second argument of 1, not zero.
35413         Report by Simon Josefsson.
35414
35415 2009-02-28  Bruno Haible  <bruno@clisp.org>
35416
35417         More support for FreeMiNT.
35418         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
35419         to FreeMiNT today.
35420         * lib/fwriting.c (fwriting): Likewise.
35421         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
35422
35423 2009-02-28  Bruno Haible  <bruno@clisp.org>
35424
35425         * tests/test-freadseek.c (main): Disable test beyond end of file on
35426         FreeMiNT.
35427         * tests/test-ftello.c (main): Likewise.
35428         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
35429
35430 2009-02-28  Bruno Haible  <bruno@clisp.org>
35431
35432         Add tentative support for FreeMiNT.
35433         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
35434         * lib/fpurge.c (fpurge): Likewise.
35435         * lib/freadable.c (freadable): Likewise.
35436         * lib/freading.c (freading): Likewise.
35437         * lib/freadptr.c (freadptr): Likewise.
35438         * lib/freadseek.c (freadptrinc): Likewise.
35439         * lib/fseeko.c (rpl_fseeko): Likewise.
35440         * lib/fseterr.c (fseterr): Likewise.
35441         * lib/fwritable.c (fwritable): Likewise.
35442         * lib/fwriting.c (fwriting): Likewise.
35443         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
35444         Hourihane.
35445         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
35446
35447 2009-02-28  Bruno Haible  <bruno@clisp.org>
35448
35449         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
35450         SIGCHLD.
35451         Reported by Jim Meyering.
35452
35453 2009-02-28  Bruno Haible  <bruno@clisp.org>
35454
35455         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
35456         Mention the results of these tests on various platforms.
35457         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
35458         order.
35459         * doc/posix-functions/printf.texi: Likewise.
35460         * doc/posix-functions/snprintf.texi: Likewise.
35461         * doc/posix-functions/sprintf.texi: Likewise.
35462         * doc/posix-functions/vfprintf.texi: Likewise.
35463         * doc/posix-functions/vprintf.texi: Likewise.
35464         * doc/posix-functions/vsnprintf.texi: Likewise.
35465         * doc/posix-functions/vsprintf.texi: Likewise.
35466         * doc/glibc-functions/obstack_printf.texi: Likewise.
35467         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
35468
35469 2009-02-28  Bruno Haible  <bruno@clisp.org>
35470
35471         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
35472         Reported by Loïc Minier <lool@dooz.org>.
35473
35474 2009-02-27  Bruno Haible  <bruno@clisp.org>
35475
35476         * gnulib-tool (func_import): Make the sed expression used to create the
35477         sed script for updating the .gitignore file POSIX compliant.
35478         Reported by Eric Blake.
35479
35480 2009-02-27  Bruno Haible  <bruno@clisp.org>
35481
35482         * gnulib-tool (sed): Don't alias as "sed --posix".
35483         Reported by Eric Blake.
35484
35485 2009-02-27  Bruno Haible  <bruno@clisp.org>
35486
35487         Avoid test link errors.
35488         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
35489         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
35490         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
35491         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
35492         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35493
35494 2009-02-27  Bruno Haible  <bruno@clisp.org>
35495
35496         Avoid spurious "(cached)" in configure output.
35497         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
35498         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
35499         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
35500         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
35501         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
35502         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
35503         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
35504         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
35505         Reported by Eric Blake.
35506
35507 2009-02-27  Eric Blake  <ebb9@byu.net>
35508
35509         printf: fix regression in previous patch
35510         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
35511
35512 2009-02-27  Bruno Haible  <bruno@clisp.org>
35513
35514         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
35515         value.
35516         * lib/stdint.in.h: Likewise.
35517         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
35518
35519 2009-02-27  Eric Blake  <ebb9@byu.net>
35520
35521         doc: mention more functions added in cygwin 1.7.0
35522         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
35523         addition.
35524         * doc/posix-functions/open_wmemstream.texi: Likewise.
35525         * doc/posix-functions/wcsnlen.texi: Likewise.
35526         * doc/posix-functions/wcsnrtombs.texi: Likewise.
35527         * doc/posix-functions/wcstod.texi: Likewise.
35528         * doc/posix-functions/wcstof.texi: Likewise.
35529         * doc/posix-functions/wcstoimax.texi: Likewise.
35530         * doc/posix-functions/wcstok.texi: Likewise.
35531         * doc/posix-functions/wcstoumax.texi: Likewise.
35532
35533         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
35534         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
35535         * doc/posix-functions/fprintf.texi: Update.
35536         * doc/posix-functions/printf.texi: Update.
35537         * doc/posix-functions/snprintf.texi: Update.
35538         * doc/posix-functions/sprintf.texi: Update.
35539         * doc/posix-functions/vfprintf.texi: Update.
35540         * doc/posix-functions/vprintf.texi: Update.
35541         * doc/posix-functions/vsnprintf.texi: Update.
35542         * doc/posix-functions/vsprintf.texi: Update.
35543         * doc/glibc-functions/obstack_printf.texi: Update.
35544         * doc/glibc-functions/obstack_vprintf.texi: Update.
35545
35546 2009-02-26  Eric Blake  <ebb9@byu.net>
35547
35548         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
35549         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
35550         compilation bug by using runtime conversion.
35551         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
35552         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
35553         * modules/ceill-tests (Files): Use nan.h.
35554         * modules/floorl-tests (Files): Likewise.
35555         * modules/frexpl-tests (Files): Likewise.
35556         * modules/isnanl-tests (Files): Likewise.
35557         * modules/ldexpl-tests (Files): Likewise.
35558         * modules/roundl-tests (Files): Likewise.
35559         * modules/truncl-tests (Files): Likewise.
35560         * tests/test-ceill.c (main): Use a working NaN.
35561         * tests/test-floorl.c (main): Likewise.
35562         * tests/test-frexpl.c (main): Likewise.
35563         * tests/test-isnan.c (test_long_double): Likewise.
35564         * tests/test-isnanl.h (main): Likewise.
35565         * tests/test-ldexpl.h (main): Likewise.
35566         * tests/test-roundl.h (main): Likewise.
35567         * tests/test-truncl.h (main): Likewise.
35568         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
35569
35570 2009-02-26  Eric Blake  <ebb9@byu.net>
35571             Bruno Haible  <bruno@clisp.org>
35572
35573         Work around a *printf bug with %ls on Solaris.
35574         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
35575         precision is specified, sprintf stops converting the wide string
35576         argument when the number of bytes that have been produced by this
35577         conversion equals or exceeds the precision.
35578         * doc/posix-functions/fprintf.texi: Update.
35579         * doc/posix-functions/printf.texi: Update.
35580         * doc/posix-functions/snprintf.texi: Update.
35581         * doc/posix-functions/sprintf.texi: Update.
35582         * doc/posix-functions/vfprintf.texi: Update.
35583         * doc/posix-functions/vprintf.texi: Update.
35584         * doc/posix-functions/vsnprintf.texi: Update.
35585         * doc/posix-functions/vsprintf.texi: Update.
35586         * doc/glibc-functions/obstack_printf.texi: Update.
35587         * doc/glibc-functions/obstack_vprintf.texi: Update.
35588
35589 2009-02-26  Eric Blake  <ebb9@byu.net>
35590
35591         stdlib: favor compiler check of random.h
35592         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
35593         to avoid an ObjC random.h installed by Swarm.
35594
35595 2009-02-26  Bruno Haible  <bruno@clisp.org>
35596
35597         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
35598         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
35599         Reported by Gary V. Vaughan <gary@gnu.org>.
35600
35601 2009-02-26  Bruno Haible  <bruno@clisp.org>
35602
35603         Fix *printf behaviour regarding the %ls directive.
35604         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
35605         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
35606         NEED_PRINTF_DIRECTIVE_LS.
35607         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
35608         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
35609         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
35610         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
35611         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
35612         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
35613         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
35614         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
35615         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35616         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35617         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35618         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
35619         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35620         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35621         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35622         * doc/posix-functions/fprintf.texi: Update.
35623         * doc/posix-functions/printf.texi: Update.
35624         * doc/posix-functions/snprintf.texi: Update.
35625         * doc/posix-functions/sprintf.texi: Update.
35626         * doc/posix-functions/vfprintf.texi: Update.
35627         * doc/posix-functions/vprintf.texi: Update.
35628         * doc/posix-functions/vsnprintf.texi: Update.
35629         * doc/posix-functions/vsprintf.texi: Update.
35630         * doc/glibc-functions/obstack_printf.texi: Update.
35631         * doc/glibc-functions/obstack_vprintf.texi: Update.
35632         Reported by Eric Blake.
35633
35634 2009-02-25  Bruno Haible  <bruno@clisp.org>
35635
35636         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
35637         with known value.
35638         Reported by Gary V. Vaughan <gary@gnu.org>.
35639
35640 2009-02-25  Bruno Haible  <bruno@clisp.org>
35641
35642         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
35643         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
35644         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
35645         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
35646         Reported by Gary V. Vaughan <gary@gnu.org>.
35647
35648 2009-02-25  Bruno Haible  <bruno@clisp.org>
35649
35650         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
35651         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
35652         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
35653         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
35654         Reported by Gary V. Vaughan <gary@gnu.org>.
35655
35656 2009-02-25  Eric Blake  <ebb9@byu.net>
35657
35658         tests: skip fseek/ftell tests if ungetc is broken
35659         * m4/ungetc.m4: New file.
35660         * modules/fseek-tests: Split test, so ungetc dependency is
35661         separate from rest of test.
35662         * modules/fseeko-tests: Likewise.
35663         * modules/ftell-tests: Likewise.
35664         * modules/ftello-tests: Likewise.
35665         * tests/test-fseek.c (main): Isolate ungetc dependency.
35666         * tests/test-fseeko.c (main): Likewise.
35667         * tests/test-ftell.c (main): Likewise.
35668         * tests/test-ftello.c (main): Likewise.
35669         * tests/test-fseek2.sh: New file.
35670         * tests/test-fseeko2.sh: Likewise.
35671         * tests/test-ftell2.sh: Likewise.
35672         * tests/test-ftello2.sh: Likewise.
35673
35674 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
35675
35676         test-getaddrinfo: fix usage of skip return code 77
35677         * tests/test-gettaddrinfo.c: Return skip code 77 only
35678         for first occurance of skip (4x77 is not 77)
35679
35680 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
35681
35682         strtod: avoid C99 decl-after-statement
35683         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
35684
35685 2009-02-24  Eric Blake  <ebb9@byu.net>
35686
35687         strtod: detect HP-UX 11.31 bug
35688         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
35689         Reported by Gary V. Vaughan.
35690
35691 2009-02-23  Bruno Haible  <bruno@clisp.org>
35692
35693         Fix invalid read past end of memory block.
35694         * lib/vasnprintf.c (DCHAR_SET): Define.
35695         (local_wcslen): Define only when needed.
35696         (local_strnlen, local_wcsnlen): New functions.
35697         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
35698         directives that involve a conversion ourselves.
35699         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
35700         wcsnlen, mbrtowc, wcrtomb.
35701         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
35702         * tests/test-vasprintf-posix.c (test_function): Likewise.
35703         * tests/test-snprintf-posix.h (test_function): Likewise.
35704         * tests/test-sprintf-posix.h (test_function): Likewise.
35705         Reported by Ben Pfaff <blp@cs.stanford.edu>.
35706
35707 2009-02-22  Bruno Haible  <bruno@clisp.org>
35708
35709         Implement new clarified decomposition of Hangul syllables.
35710         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
35711         of type LTV, return only a pairwise decomposition.
35712         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
35713         Likewise.
35714         * tests/uninorm/test-decomposition.c (main): Updated expected result.
35715         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
35716         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
35717
35718 2009-02-22  Bruno Haible  <bruno@clisp.org>
35719
35720         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
35721         zero-length results and shrink excess allocated memory.
35722         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
35723         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
35724         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
35725         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
35726         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
35727         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
35728         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
35729         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
35730         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
35731         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
35732         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
35733         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
35734
35735 2009-02-21  Bruno Haible  <bruno@clisp.org>
35736
35737         * doc/gnulib.texi: Include safe-alloc.texi earlier.
35738         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
35739         spaces after a period. Put a space between a macro name and its
35740         argument list. Trivial rewordings.
35741         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
35742         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
35743         (main): Return 0 explicitly.
35744
35745 2009-02-21  Bruno Haible  <bruno@clisp.org>
35746
35747         Tests for module 'uninorm/filter'.
35748         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
35749         * modules/uninorm/filter-tests: New file.
35750
35751         New module 'uninorm/filter'.
35752         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
35753         uninorm_filter_flush, uninorm_filter_free): New declarations.
35754         * lib/uninorm/uninorm-filter.c: New file.
35755         * modules/uninorm/filter: New file.
35756
35757 2009-02-21  Bruno Haible  <bruno@clisp.org>
35758
35759         Tests for module 'uninorm/nfkc'.
35760         * tests/uninorm/test-nfkc.c: New file.
35761         * tests/uninorm/test-u8-nfkc.c: New file.
35762         * tests/uninorm/test-u16-nfkc.c: New file.
35763         * tests/uninorm/test-u32-nfkc.c: New file.
35764         * tests/uninorm/test-u32-nfkc-big.sh: New file.
35765         * tests/uninorm/test-u32-nfkc-big.c: New file.
35766         * modules/uninorm/nfkc-tests: New file.
35767
35768         New module 'uninorm/nfkc'.
35769         * lib/uninorm/nfkc.c: New file.
35770         * modules/uninorm/nfkc: New file.
35771
35772         Tests for module 'uninorm/nfkd'.
35773         * tests/uninorm/test-nfkd.c: New file.
35774         * tests/uninorm/test-u8-nfkd.c: New file.
35775         * tests/uninorm/test-u16-nfkd.c: New file.
35776         * tests/uninorm/test-u32-nfkd.c: New file.
35777         * tests/uninorm/test-u32-nfkd-big.sh: New file.
35778         * tests/uninorm/test-u32-nfkd-big.c: New file.
35779         * modules/uninorm/nfkd-tests: New file.
35780
35781         New module 'uninorm/nfkd'.
35782         * lib/uninorm/nfkd.c: New file.
35783         * modules/uninorm/nfkd: New file.
35784
35785         Tests for module 'uninorm/nfc'.
35786         * tests/uninorm/test-nfc.c: New file.
35787         * tests/uninorm/test-u8-nfc.c: New file.
35788         * tests/uninorm/test-u16-nfc.c: New file.
35789         * tests/uninorm/test-u32-nfc.c: New file.
35790         * tests/uninorm/test-u32-nfc-big.sh: New file.
35791         * tests/uninorm/test-u32-nfc-big.c: New file.
35792         * modules/uninorm/nfc-tests: New file.
35793
35794         New module 'uninorm/nfc'.
35795         * lib/uninorm/nfc.c: New file.
35796         * modules/uninorm/nfc: New file.
35797
35798         Tests for module 'uninorm/nfd'.
35799         * tests/uninorm/test-nfd.c: New file.
35800         * tests/uninorm/test-u8-nfd.c: New file.
35801         * tests/uninorm/test-u16-nfd.c: New file.
35802         * tests/uninorm/test-u32-nfd.c: New file.
35803         * tests/uninorm/test-u32-nfd-big.sh: New file.
35804         * tests/uninorm/test-u32-nfd-big.c: New file.
35805         * tests/uninorm/test-u32-normalize-big.h: New file.
35806         * tests/uninorm/test-u32-normalize-big.c: New file.
35807         * tests/uninorm/NormalizationTest.txt: New file, created from
35808         Unicode 5.1.0 NormalizationTest.txt.
35809         * modules/uninorm/nfd-tests: New file.
35810
35811         New module 'uninorm/nfd'.
35812         * lib/uninorm/nfd.c: New file.
35813         * modules/uninorm/nfd: New file.
35814
35815         New module 'uninorm/u32-normalize'.
35816         * lib/uninorm/u32-normalize.c: New file.
35817         * modules/uninorm/u32-normalize: New file.
35818
35819         New module 'uninorm/u16-normalize'.
35820         * lib/uninorm/u16-normalize.c: New file.
35821         * modules/uninorm/u16-normalize: New file.
35822
35823         New module 'uninorm/u8-normalize'.
35824         * lib/uninorm/u8-normalize.c: New file.
35825         * lib/uninorm/normalize-internal.h: New file.
35826         * lib/uninorm/u-normalize-internal.h: New file.
35827         * modules/uninorm/u8-normalize: New file.
35828
35829         New module 'uninorm/decompose-internal'.
35830         * lib/uninorm/decompose-internal.c: New file.
35831         * modules/uninorm/decompose-internal: New file.
35832
35833         Tests for module 'uninorm/composition'.
35834         * tests/uninorm/test-composition.c: New file.
35835         * modules/uninorm/composition-tests: New file.
35836
35837         New module 'uninorm/composition'.
35838         * lib/uninorm/composition.c: New file.
35839         * lib/uninorm/composition-table.gperf: New file, generated by
35840         gen-uni-tables.
35841         * modules/uninorm/composition: New file.
35842
35843         Tests for module 'uninorm/compat-decomposition'.
35844         * tests/uninorm/test-compat-decomposition.c: New file.
35845         * modules/uninorm/compat-decomposition-tests: New file.
35846
35847         New module 'uninorm/compat-decomposition'.
35848         * lib/uninorm/decompose-internal.h: New file.
35849         * lib/uninorm/compat-decomposition.c: New file.
35850         * modules/uninorm/compat-decomposition: New file.
35851
35852         Tests for module 'uninorm/canonical-decomposition'.
35853         * tests/uninorm/test-canonical-decomposition.c: New file.
35854         * modules/uninorm/canonical-decomposition-tests: New file.
35855
35856         New module 'uninorm/canonical-decomposition'.
35857         * lib/uninorm/canonical-decomposition.c: New file.
35858         * modules/uninorm/canonical-decomposition: New file.
35859
35860         Tests for module 'uninorm/decomposition'.
35861         * tests/uninorm/test-decomposition.c: New file.
35862         * modules/uninorm/decomposition-tests: New file.
35863
35864         New module 'uninorm/decomposition'.
35865         * lib/uninorm/decomposition.c: New file.
35866         * modules/uninorm/decomposition: New file.
35867
35868         New module 'uninorm/decomposition-table'.
35869         * lib/uninorm/decomposition-table.h: New file.
35870         * lib/uninorm/decomposition-table.c: New file.
35871         * lib/uninorm/decomposition-table1.h: New file, generated by
35872         gen-uni-tables.
35873         * lib/uninorm/decomposition-table2.h: New file, generated by
35874         gen-uni-tables.
35875         * modules/uninorm/decomposition-table: New file.
35876
35877         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
35878         (UC_DECOMP_*): New enumeration items.
35879         (get_decomposition): New function.
35880         (struct decomp_table): New type.
35881         (output_decomposition, output_decomposition_tables): New functions.
35882         (unicode_composition_exclusions): New variable.
35883         (fill_composition_exclusions, debug_output_composition_tables): New
35884         functions.
35885         (main): Accept one more argument. Invoke fill_composition_exclusions.
35886         Output decomposition and composition tables.
35887
35888         New module 'uninorm/base'.
35889         * lib/uninorm.h: New file.
35890         * lib/unictype.h: Update comment.
35891         * modules/uninorm/base: New file.
35892
35893 2009-02-21  David Lutterkort  <lutter@redhat.com>
35894
35895         Tests for module 'safe-alloc'.
35896         * tests/test-safe-alloc.c: New file.
35897         * modules/safe-alloc-tests: New file.
35898
35899         New module 'safe-alloc'.
35900         * lib/safe-alloc.h: New file.
35901         * lib/safe-alloc.c: New file.
35902         * m4/safe-alloc.m4: New file.
35903         * modules/safe-alloc: New file.
35904         * doc/safe-alloc.texi: New file.
35905         * doc/gnulib.texi: Include it.
35906         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
35907         safe-alloc.
35908
35909 2009-02-18  Bruno Haible  <bruno@clisp.org>
35910
35911         Fix link error on non-glibc systems.
35912         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
35913         variable.
35914         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35915
35916 2009-02-18  Jim Meyering  <meyering@redhat.com>
35917
35918         fts: avoid used-uninitialized error due to recent change
35919         * lib/fts.c (fts_read): Guard uses of the new member,
35920         parent->fts_n_dirs_remaining, since it's not relevant for
35921         the parent of a directory specified on the command-line.
35922
35923 2009-02-17  James Youngman  <jay@gnu.org>
35924             Bruno Haible  <bruno@clisp.org>
35925
35926         * m4/include_next.m4: Reformulate comment.
35927
35928 2009-02-16  Jim Meyering  <meyering@redhat.com>
35929
35930         fts: add #if guards so that the fts_lgpl module still builds
35931         * lib/fts.c: Guard just-added hash-table-using parts with
35932         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
35933         Reported by Simon Josefsson.
35934
35935 2009-02-15  Bruno Haible  <bruno@clisp.org>
35936
35937         * modules/array-mergesort-tests: New file.
35938         * tests/test-array-mergesort.c: New file.
35939
35940         New module 'array-mergesort'.
35941         * modules/array-mergesort: New file.
35942         * lib/array-mergesort.h: New file.
35943
35944 2009-02-15  Bruno Haible  <bruno@clisp.org>
35945
35946         Fix 2009-02-07 commit.
35947         * lib/gen-uni-tables.c (output_predicate, output_category,
35948         output_combclass, output_bidi_category, output_decimal_digit,
35949         output_digit, output_numeric, output_mirror, output_scripts,
35950         output_ident_category, output_simple_mapping): Fix format directives.
35951         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
35952
35953 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
35954
35955         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
35956         fixes are available from IBM.
35957
35958 2009-02-13  Jim Meyering  <meyering@redhat.com>
35959
35960         fts: arrange not to stat non-directories in more cases
35961         This makes GNU find (when it doesn't need to stat each file)
35962         *much* more efficient at traversing reiserfs file systems.
35963         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
35964         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
35965         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
35966         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
35967         (leaf_optimization_applies): New function.
35968         (LCO_hash, LCO_compare): New helper functions.
35969         (link_count_optimize_ok): New function.
35970         (fts_stat): Initialize new member (if dir).
35971         (fts_read): Decrement parent's fts_n_dirs_remaining count if
35972         we've just stat'ed a directory.  Skip the stat call when possible.
35973         ---
35974         Note this AFS-related exchange:
35975         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
35976         and note find's pioctl call in find/fstype.c.
35977         But that is necessary only if you want to enable the
35978         optimization for AFS, and for now, I don't.
35979
35980         fts: move a function definition "up" (no semantic change)
35981         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
35982         "up" to precede upcoming use of a related function.
35983
35984 2009-02-11  Jim Meyering  <meyering@redhat.com>
35985
35986         fts: correct internal computation of nlinks (optimization-related)
35987         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
35988         whether the current entry is a directory, so don't test it.
35989
35990 2009-02-10  Bruno Haible  <bruno@clisp.org>
35991
35992         Tests for module 'uniwbrk/ulc-wordbreaks'.
35993         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
35994         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
35995         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
35996
35997         Tests for module 'uniwbrk/u32-wordbreaks'.
35998         * modules/uniwbrk/u32-wordbreaks-tests: New file.
35999         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
36000
36001         Tests for module 'uniwbrk/u16-wordbreaks'.
36002         * modules/uniwbrk/u16-wordbreaks-tests: New file.
36003         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
36004
36005         Tests for module 'uniwbrk/u8-wordbreaks'.
36006         * modules/uniwbrk/u8-wordbreaks-tests: New file.
36007         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
36008
36009 2009-02-10  Bruno Haible  <bruno@clisp.org>
36010
36011         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
36012         property.
36013         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
36014         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
36015         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
36016
36017 2009-02-10  Simon Josefsson  <simon@josefsson.org>
36018
36019         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
36020         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
36021
36022 2009-02-10  Bruno Haible  <bruno@clisp.org>
36023
36024         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
36025         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
36026         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
36027         * lib/unilbrk/u8-possible-linebreaks.c: Update.
36028         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
36029         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
36030
36031 2009-02-09  Simon Josefsson  <simon@josefsson.org>
36032
36033         * lib/sockets.h (gl_fd_to_handle): New function.
36034
36035         * tests/test-sockets.c: Call gl_fd_to_handle.
36036
36037 2009-02-09  Bruno Haible  <bruno@clisp.org>
36038
36039         * doc/havelib.texi: Document the conventions on bi-arch systems.
36040
36041 2009-02-08  Bruno Haible  <bruno@clisp.org>
36042
36043         Document the AC_LIB_LINKFLAGS macro.
36044         * doc/havelib.texi: New file, mostly written on 2005-05-24.
36045         * doc/gnulib.texi: Include it.
36046
36047 2009-02-08  Bruno Haible  <bruno@clisp.org>
36048
36049         Fix wrong order of sections, compared to TOC.
36050         * doc/gnulib.texi: Include relocatable-maint.texi after the
36051         "Regular expressions" node, not before.
36052
36053 2009-02-08  Bruno Haible  <bruno@clisp.org>
36054
36055         Tests for module 'unicase/totitle'.
36056         * modules/unicase/totitle-tests: New file.
36057
36058         Tests for module 'unicase/tolower'.
36059         * modules/unicase/tolower-tests: New file.
36060
36061         Tests for module 'unicase/toupper'.
36062         * modules/unicase/toupper-tests: New file.
36063         * tests/unicase/test-mapping-part1.h: New file.
36064         * tests/unicase/test-mapping-part2.h: New file.
36065
36066         New module 'unicase/totitle'.
36067         * modules/unicase/totitle: New file.
36068         * lib/unicase/totitle.c: New file.
36069
36070         New module 'unicase/tolower'.
36071         * modules/unicase/tolower: New file.
36072         * lib/unicase/tolower.c: New file.
36073
36074         New module 'unicase/toupper'.
36075         * modules/unicase/toupper: New file.
36076         * lib/unicase/toupper.c: New file.
36077         * lib/unicase/simple-mapping.h: New file.
36078
36079         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
36080         (mapping_table): New structure.
36081         (output_simple_mapping): New function.
36082         (main): Invoke output_simple_mapping_test and output_simple_mapping.
36083         * modules/gen-uni-tables (Description): Update.
36084         * lib/unicase/toupper.h: New file, automatically generated by
36085         gen-uni-tables.
36086         * lib/unicase/tolower.h: New file, automatically generated by
36087         gen-uni-tables.
36088         * lib/unicase/totitle.h: New file, automatically generated by
36089         gen-uni-tables.
36090         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
36091         gen-uni-tables.
36092         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
36093         gen-uni-tables.
36094         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
36095         gen-uni-tables.
36096
36097         New module 'unicase/base'.
36098         * modules/unicase/base: New file.
36099         * lib/unicase.h: New file.
36100
36101 2009-02-08  Bruno Haible  <bruno@clisp.org>
36102
36103         New module 'uniwbrk/ulc-wordbreaks'.
36104         * modules/uniwbrk/ulc-wordbreaks: New file.
36105         * lib/uniwbrk/ulc-wordbreaks.c: New file.
36106
36107         New module 'uniwbrk/u32-wordbreaks'.
36108         * modules/uniwbrk/u32-wordbreaks: New file.
36109         * lib/uniwbrk/u32-wordbreaks.c: New file.
36110
36111         New module 'uniwbrk/u16-wordbreaks'.
36112         * modules/uniwbrk/u16-wordbreaks: New file.
36113         * lib/uniwbrk/u16-wordbreaks.c: New file.
36114
36115         New module 'uniwbrk/u8-wordbreaks'.
36116         * modules/uniwbrk/u8-wordbreaks: New file.
36117         * lib/uniwbrk/u8-wordbreaks.c: New file.
36118         * lib/uniwbrk/u-wordbreaks.h: New file.
36119
36120         New module 'uniwbrk/table'.
36121         * modules/uniwbrk/table: New file.
36122         * lib/uniwbrk/wbrktable.h: New file.
36123         * lib/uniwbrk/wbrktable.c: New file.
36124
36125         New module 'uniwbrk/wordbreak-property'.
36126         * modules/uniwbrk/wordbreak-property: New file.
36127         * lib/uniwbrk/wordbreak-property.c: New file.
36128
36129         * lib/gen-uni-tables.c (WBP_*): New enum items.
36130         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
36131         (unicode_org_wbp): New variable.
36132         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
36133         New functions.
36134         (wbp_table): New structure.
36135         (output_wbp, output_wbrk_tables): New functions.
36136         (main): Accept additional argument. Invoke fill_org_wbp,
36137         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
36138         output_wbrk_tables.
36139         * modules/gen-uni-tables (Description): Update.
36140         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
36141         gen-uni-tables.
36142
36143         New module 'uniwbrk/base'.
36144         * modules/uniwbrk/base: New file.
36145         * lib/uniwbrk.h: New file.
36146
36147 2009-02-08  Bruno Haible  <bruno@clisp.org>
36148
36149         Update to Unicode 5.1.0.
36150         * lib/gen-uni-tables.c (is_property_alphabetic): Include
36151         U+2185..U+2188.
36152         (is_property_default_ignorable_code_point): Don't include characters
36153         of category Cc or Cs and not-a-characters.
36154         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
36155         U+0D79, U+109E, U+109F, U+A60C.
36156         * lib/unictype/bidi_of.h: Regenerated.
36157         * lib/unictype/blocks.h: Regenerated.
36158         * lib/unictype/categ_C.h: Regenerated.
36159         * lib/unictype/categ_Cf.h: Regenerated.
36160         * lib/unictype/categ_Cn.h: Regenerated.
36161         * lib/unictype/categ_L.h: Regenerated.
36162         * lib/unictype/categ_Ll.h: Regenerated.
36163         * lib/unictype/categ_Lm.h: Regenerated.
36164         * lib/unictype/categ_Lo.h: Regenerated.
36165         * lib/unictype/categ_Lu.h: Regenerated.
36166         * lib/unictype/categ_M.h: Regenerated.
36167         * lib/unictype/categ_Mc.h: Regenerated.
36168         * lib/unictype/categ_Me.h: Regenerated.
36169         * lib/unictype/categ_Mn.h: Regenerated.
36170         * lib/unictype/categ_N.h: Regenerated.
36171         * lib/unictype/categ_Nd.h: Regenerated.
36172         * lib/unictype/categ_Nl.h: Regenerated.
36173         * lib/unictype/categ_No.h: Regenerated.
36174         * lib/unictype/categ_P.h: Regenerated.
36175         * lib/unictype/categ_Pd.h: Regenerated.
36176         * lib/unictype/categ_Pe.h: Regenerated.
36177         * lib/unictype/categ_Pf.h: Regenerated.
36178         * lib/unictype/categ_Pi.h: Regenerated.
36179         * lib/unictype/categ_Po.h: Regenerated.
36180         * lib/unictype/categ_Ps.h: Regenerated.
36181         * lib/unictype/categ_S.h: Regenerated.
36182         * lib/unictype/categ_Sk.h: Regenerated.
36183         * lib/unictype/categ_Sm.h: Regenerated.
36184         * lib/unictype/categ_So.h: Regenerated.
36185         * lib/unictype/categ_of.h: Regenerated.
36186         * lib/unictype/combining.h: Regenerated.
36187         * lib/unictype/ctype_alnum.h: Regenerated.
36188         * lib/unictype/ctype_alpha.h: Regenerated.
36189         * lib/unictype/ctype_graph.h: Regenerated.
36190         * lib/unictype/ctype_lower.h: Regenerated.
36191         * lib/unictype/ctype_print.h: Regenerated.
36192         * lib/unictype/ctype_punct.h: Regenerated.
36193         * lib/unictype/ctype_upper.h: Regenerated.
36194         * lib/unictype/decdigit.h: Regenerated.
36195         * lib/unictype/digit.h: Regenerated.
36196         * lib/unictype/mirror.h: Regenerated.
36197         * lib/unictype/numeric.h: Regenerated.
36198         * lib/unictype/pr_alphabetic.h: Regenerated.
36199         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
36200         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
36201         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
36202         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
36203         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
36204         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
36205         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
36206         * lib/unictype/pr_combining.h: Regenerated.
36207         * lib/unictype/pr_dash.h: Regenerated.
36208         * lib/unictype/pr_decimal_digit.h: Regenerated.
36209         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
36210         * lib/unictype/pr_deprecated.h: Regenerated.
36211         * lib/unictype/pr_diacritic.h: Regenerated.
36212         * lib/unictype/pr_extender.h: Regenerated.
36213         * lib/unictype/pr_format_control.h: Regenerated.
36214         * lib/unictype/pr_grapheme_base.h: Regenerated.
36215         * lib/unictype/pr_grapheme_extend.h: Regenerated.
36216         * lib/unictype/pr_grapheme_link.h: Regenerated.
36217         * lib/unictype/pr_id_continue.h: Regenerated.
36218         * lib/unictype/pr_id_start.h: Regenerated.
36219         * lib/unictype/pr_ideographic.h: Regenerated.
36220         * lib/unictype/pr_ignorable_control.h: Regenerated.
36221         * lib/unictype/pr_lowercase.h: Regenerated.
36222         * lib/unictype/pr_math.h: Regenerated.
36223         * lib/unictype/pr_numeric.h: Regenerated.
36224         * lib/unictype/pr_other_alphabetic.h: Regenerated.
36225         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
36226         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
36227         * lib/unictype/pr_other_id_continue.h: Regenerated.
36228         * lib/unictype/pr_other_lowercase.h: Regenerated.
36229         * lib/unictype/pr_other_math.h: Regenerated.
36230         * lib/unictype/pr_punctuation.h: Regenerated.
36231         * lib/unictype/pr_sentence_terminal.h: Regenerated.
36232         * lib/unictype/pr_soft_dotted.h: Regenerated.
36233         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
36234         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
36235         * lib/unictype/pr_unified_ideograph.h: Regenerated.
36236         * lib/unictype/pr_uppercase.h: Regenerated.
36237         * lib/unictype/pr_xid_continue.h: Regenerated.
36238         * lib/unictype/pr_xid_start.h: Regenerated.
36239         * lib/unictype/pr_zero_width.h: Regenerated.
36240         * lib/unictype/scripts.h: Regenerated.
36241         * lib/unictype/scripts_byname.gperf: Regenerated.
36242         * lib/unictype/sy_java_ident.h: Regenerated.
36243         * lib/unilbrk/lbrkprop1.h: Regenerated.
36244         * lib/unilbrk/lbrkprop2.h: Regenerated.
36245         * tests/unictype/test-categ_C.c: Regenerated.
36246         * tests/unictype/test-categ_Cf.c: Regenerated.
36247         * tests/unictype/test-categ_Cn.c: Regenerated.
36248         * tests/unictype/test-categ_L.c: Regenerated.
36249         * tests/unictype/test-categ_Ll.c: Regenerated.
36250         * tests/unictype/test-categ_Lm.c: Regenerated.
36251         * tests/unictype/test-categ_Lo.c: Regenerated.
36252         * tests/unictype/test-categ_Lu.c: Regenerated.
36253         * tests/unictype/test-categ_M.c: Regenerated.
36254         * tests/unictype/test-categ_Mc.c: Regenerated.
36255         * tests/unictype/test-categ_Me.c: Regenerated.
36256         * tests/unictype/test-categ_Mn.c: Regenerated.
36257         * tests/unictype/test-categ_N.c: Regenerated.
36258         * tests/unictype/test-categ_Nd.c: Regenerated.
36259         * tests/unictype/test-categ_Nl.c: Regenerated.
36260         * tests/unictype/test-categ_No.c: Regenerated.
36261         * tests/unictype/test-categ_P.c: Regenerated.
36262         * tests/unictype/test-categ_Pd.c: Regenerated.
36263         * tests/unictype/test-categ_Pe.c: Regenerated.
36264         * tests/unictype/test-categ_Pf.c: Regenerated.
36265         * tests/unictype/test-categ_Pi.c: Regenerated.
36266         * tests/unictype/test-categ_Po.c: Regenerated.
36267         * tests/unictype/test-categ_Ps.c: Regenerated.
36268         * tests/unictype/test-categ_S.c: Regenerated.
36269         * tests/unictype/test-categ_Sk.c: Regenerated.
36270         * tests/unictype/test-categ_Sm.c: Regenerated.
36271         * tests/unictype/test-categ_So.c: Regenerated.
36272         * tests/unictype/test-ctype_alnum.c: Regenerated.
36273         * tests/unictype/test-ctype_alpha.c: Regenerated.
36274         * tests/unictype/test-ctype_graph.c: Regenerated.
36275         * tests/unictype/test-ctype_lower.c: Regenerated.
36276         * tests/unictype/test-ctype_print.c: Regenerated.
36277         * tests/unictype/test-ctype_punct.c: Regenerated.
36278         * tests/unictype/test-ctype_upper.c: Regenerated.
36279         * tests/unictype/test-decdigit.h: Regenerated.
36280         * tests/unictype/test-digit.h: Regenerated.
36281         * tests/unictype/test-numeric.h: Regenerated.
36282         * tests/unictype/test-pr_alphabetic.c: Regenerated.
36283         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
36284         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
36285         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
36286         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
36287         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
36288         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
36289         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
36290         * tests/unictype/test-pr_combining.c: Regenerated.
36291         * tests/unictype/test-pr_dash.c: Regenerated.
36292         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
36293         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
36294         * tests/unictype/test-pr_deprecated.c: Regenerated.
36295         * tests/unictype/test-pr_diacritic.c: Regenerated.
36296         * tests/unictype/test-pr_extender.c: Regenerated.
36297         * tests/unictype/test-pr_format_control.c: Regenerated.
36298         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
36299         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
36300         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
36301         * tests/unictype/test-pr_id_continue.c: Regenerated.
36302         * tests/unictype/test-pr_id_start.c: Regenerated.
36303         * tests/unictype/test-pr_ideographic.c: Regenerated.
36304         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
36305         * tests/unictype/test-pr_lowercase.c: Regenerated.
36306         * tests/unictype/test-pr_math.c: Regenerated.
36307         * tests/unictype/test-pr_numeric.c: Regenerated.
36308         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
36309         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
36310         Regenerated.
36311         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
36312         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
36313         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
36314         * tests/unictype/test-pr_other_math.c: Regenerated.
36315         * tests/unictype/test-pr_punctuation.c: Regenerated.
36316         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
36317         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
36318         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
36319         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
36320         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
36321         * tests/unictype/test-pr_uppercase.c: Regenerated.
36322         * tests/unictype/test-pr_xid_continue.c: Regenerated.
36323         * tests/unictype/test-pr_xid_start.c: Regenerated.
36324         * tests/unictype/test-pr_zero_width.c: Regenerated.
36325
36326         Update to Unicode 5.1.0.
36327         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
36328         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
36329         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
36330         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
36331         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
36332         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
36333         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
36334         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
36335         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
36336         (nonspacing_table_ind): Update.
36337         * tests/uniwidth/test-uc_width2.sh: Update expected result.
36338
36339         Update to Unicode 5.1.0.
36340         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
36341         code transform.
36342         * lib/uniname/uniname.c (unicode_character_name,
36343         unicode_name_character): Add the range 0x1Fxxx to the code transform.
36344         * lib/uniname/uninames.h: Regenerated.
36345         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
36346
36347 2009-02-07  Bruno Haible  <bruno@clisp.org>
36348
36349         Merge gen-ctype and gen-lbrk into a single program.
36350         * lib/gen-uni-tables.c: New file, incorporating
36351         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
36352         Add directory prefixes to the names of the generated files.
36353         * lib/unictype/gen-ctype.c: Remove file.
36354         * lib/unilbrk/gen-lbrk.c: Remove file.
36355         * modules/gen-uni-tables: New file.
36356         * modules/unictype/gen-ctype: Remove file.
36357         * modules/unilbrk/gen-lbrk: Remove file.
36358
36359 2009-02-07  Bruno Haible  <bruno@clisp.org>
36360
36361         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
36362
36363         New module 'unistr/u32-strcoll'.
36364         * modules/unistr/u32-strcoll: New file.
36365         * lib/unistr/u32-strcoll.c: New file.
36366
36367         New module 'unistr/u16-strcoll'.
36368         * modules/unistr/u16-strcoll: New file.
36369         * lib/unistr/u16-strcoll.c: New file.
36370
36371         New module 'unistr/u8-strcoll'.
36372         * modules/unistr/u8-strcoll: New file.
36373         * lib/unistr/u8-strcoll.c: New file.
36374         * lib/unistr/u-strcoll.h: New file.
36375
36376 2009-02-07  Bruno Haible  <bruno@clisp.org>
36377
36378         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
36379         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
36380         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
36381         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
36382         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
36383         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
36384
36385 2009-02-07  Bruno Haible  <bruno@clisp.org>
36386
36387         Make 64-bit clean.
36388         * lib/unictype/gen-ctype.c (output_predicate, output_category,
36389         output_combclass, output_bidi_category, output_decimal_digit,
36390         output_digit, output_numeric, output_mirror, output_scripts,
36391         output_ident_category): Use proper width specifier in format strings.
36392
36393 2009-02-07  Bruno Haible  <bruno@clisp.org>
36394
36395         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
36396         failure behaviour.
36397
36398 2009-02-07  Jim Meyering  <meyering@redhat.com>
36399
36400         regex: avoid compilation failure with upcoming gcc-4.4
36401         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
36402         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
36403         "... error: integer overflow in preprocessor expression".
36404
36405 2009-02-05  Ben Pfaff  <blp@gnu.org>
36406
36407         Fix link errors on Windows when close module is used.
36408         * modules/close: Add $(LIB_CLOSE) to Link section.
36409         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
36410         $(LIB_CLOSE) on Windows.
36411
36412 2009-02-05  Jim Meyering  <meyering@redhat.com>
36413
36414         still avoid unused-parameter warnings, but do it cleanly
36415         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
36416         (get_fs_usage): Cast to void instead.
36417         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
36418         (dev_from_mount_options, read_file_system_list): Cast to void.
36419         Prompted by Bruno Haible.
36420
36421 2009-02-04  Jim Meyering  <meyering@redhat.com>
36422
36423         fsusage.c: correct copyright year
36424         * lib/fsusage.c: Reflect year in which the change is pushed into
36425
36426         avoid misc. warnings
36427         * lib/fsusage.c (UNUSED_PARAM): Define.
36428         (get_fs_usage): Mark parameter "disk" as unused.
36429         * lib/getugroups.c (getgrent): Use "void" in prototype.
36430         * lib/mountlist.c: Mark unused parameters.
36431         (read_file_system_list): Declare a local with "const".
36432         * lib/nanosleep.c (getnow): Declare static.
36433         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
36434
36435         dirfd: set errno upon failure
36436         * lib/dirfd.c: Include <errno.h>.
36437         Set errno to ENOTSUP when returning -1.
36438         * modules/dirfd (Depends-on): Add errno.
36439         Suggested by John Kodis <kodis@comcast.net>.
36440
36441 2009-02-01  Bruno Haible  <bruno@clisp.org>
36442
36443         Don't assume sizeof (long) >= sizeof (void *).
36444         * lib/memcmp.c: Include stdint.h.
36445         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
36446         srcp2 to 'const byte *'.
36447         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
36448         types to uintptr_t.
36449         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
36450         * modules/memcmp (Depends-on): Add stdint.
36451         Reported by Ozkan Sezer <sezeroz@gmail.com>.
36452
36453 2009-01-30  Eric Blake  <ebb9@byu.net>
36454
36455         fix more require-before-expand issues
36456         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
36457         expand, AC_PROG_AWK.
36458         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
36459
36460 2009-01-28  Eric Blake  <ebb9@byu.net>
36461
36462         version-etc: use consistent URL formatting
36463         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
36464         Improve formatting.  Use fputs for string without %.
36465
36466 2009-01-28  Jim Meyering  <meyering@redhat.com>
36467
36468         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
36469         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
36470         "underquoted definition of NAME" from autoconf-2.59.
36471
36472 2009-01-28  Bruno Haible  <bruno@clisp.org>
36473
36474         * doc/gnulib.texi: Add "Obsolete modules" to index.
36475
36476 2009-01-28  Jim Meyering  <meyering@redhat.com>
36477
36478         useless-if-before-free: recognize more variants
36479         * build-aux/useless-if-before-free: Also recognize e.g.,
36480         if (NULL != p) free (p);
36481
36482 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
36483
36484         test-getaddrinfo: skip (don't fail) this test when there's no network
36485         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
36486         on the presumption that it means you lack network access.
36487
36488 2009-01-26  Jim Meyering  <meyering@redhat.com>
36489
36490         fflush: avoid warnings on modern systems
36491         * lib/fflush.c (rpl_fflush): Move declarations of locals,
36492         pos and result, into scopes where they're used.
36493
36494 2009-01-26  Eric Blake  <ebb9@byu.net>
36495
36496         Silence warning reintroduced by recent extensions patch.
36497         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
36498         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
36499         autoconf.
36500
36501         Backport improved autoconf semantics of AC_DEFUN_ONCE.
36502         * m4/00gnulib.m4: New file.
36503         * gnulib-tool (func_get_filelist): Always use it.
36504         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
36505         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
36506
36507 2009-01-25  Bruno Haible  <bruno@clisp.org>
36508
36509         Make test-quotearg work on MacOS X and AIX.
36510         * tests/test-quotearg.sh: New file.
36511         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
36512         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
36513         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
36514         include <libintl.h>.
36515         (fake_locale): Remove variable.
36516         (gettext, dgettext, dcgettext): Remove functions.
36517         (main): Instead of setting a fake locale, set a real locale. Call
36518         textdomain and bindtextdomain.
36519         * modules/quotearg-tests (Files): Add the new files.
36520         (Depends-on): Add gettext, setenv, unsetenv.
36521         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
36522         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
36523         Augment TESTS_ENVIRONMENT.
36524
36525 2009-01-25  Bruno Haible  <bruno@clisp.org>
36526
36527         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
36528         fr_FR.ISO8859-1 locale on MacOS X.
36529         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
36530         ja_JP.eucJP locale on MacOS X.
36531         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
36532         zh_CN.GB18030 locale on MacOS X.
36533
36534 2009-01-25  Bruno Haible  <bruno@clisp.org>
36535
36536         Avoid link errors on MacOS X 10.3.
36537         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
36538         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
36539
36540 2009-01-25  Bruno Haible  <bruno@clisp.org>
36541
36542         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
36543         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
36544         * modules/pipe (Files): Remove m4/posix_spawn.m4.
36545         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
36546         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
36547         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
36548         posix_spawnattr_init, posix_spawnattr_setsigmask,
36549         posix_spawnattr_setflags, posix_spawnattr_destroy.
36550
36551         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
36552         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
36553         * modules/execute (Files): Remove m4/posix_spawn.m4.
36554         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
36555         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
36556         posix_spawnattr_init, posix_spawnattr_setsigmask,
36557         posix_spawnattr_setflags, posix_spawnattr_destroy.
36558
36559 2009-01-25  Bruno Haible  <bruno@clisp.org>
36560
36561         * lib/glthread/threadlib.c: Include <stdlib.h>.
36562
36563 2009-01-25  Bruno Haible  <bruno@clisp.org>
36564
36565         * lib/glthread/threadlib.c (dummy): New declaration.
36566
36567 2009-01-25  Bruno Haible  <bruno@clisp.org>
36568
36569         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
36570         multibyte characters also for the GB18030 encoding. Don't crash when
36571         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
36572
36573 2009-01-25  Bruno Haible  <bruno@clisp.org>
36574
36575         Avoid redefining 'struct random_data' on OSF/1 5.1.
36576         * lib/stdlib.in.h: Include <random.h> if it exists.
36577         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
36578         HAVE_RANDOM_H. Include <random.h> when testing whether
36579         'struct random_data' exists.
36580         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
36581
36582 2009-01-25  Bruno Haible  <bruno@clisp.org>
36583
36584         Don't install charset.alias on MacOS X >= 10.3.
36585         * lib/localcharset.c (DARWIN7): New macro.
36586         (get_charset_aliases): Hardcode the result for Darwin7.
36587         * modules/localcharset (install-exec-local): Don't install
36588         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
36589
36590 2009-01-25  Bruno Haible  <bruno@clisp.org>
36591
36592         Don't install charset.alias on mingw and Cygwin.
36593         * modules/localcharset (install-exec-local): Don't install
36594         charset.alias on mingw and Cygwin, if the file does not yet exist.
36595         The result for these platforms is hardcoded in localcharset.c.
36596
36597 2009-01-25  Bruno Haible  <bruno@clisp.org>
36598
36599         Make it possible again to use AC_GNU_SOURCE together with gnulib.
36600         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
36601         before requiring AC_USE_SYSTEM_EXTENSIONS.
36602
36603 2009-01-25  Jim Meyering  <meyering@redhat.com>
36604
36605         c-strtod: avoid warnings
36606         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
36607         "assignment discards qualifiers from pointer target type" warnings.
36608
36609 2009-01-24  Bruno Haible  <bruno@clisp.org>
36610
36611         Add support for non-UTF-8 locales on MacOS X.
36612         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
36613         canonical encodings. For Darwin 7 and newer, don't map traditional
36614         encodings to UTF-8.
36615         Reported by Vincent Lefevre <vincent@vinc17.org>
36616         at <http://savannah.gnu.org/bugs/?25235>.
36617
36618 2009-01-24  Bruno Haible  <bruno@clisp.org>
36619
36620         * doc/gnulib.texi (Obsolete modules): New section.
36621         Reported by Mike Frysinger <vapier@gentoo.org>.
36622
36623 2009-01-24  Bruno Haible  <bruno@clisp.org>
36624
36625         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
36626         (%.dvi): New rule.
36627
36628 2009-01-24  Bruno Haible  <bruno@clisp.org>
36629
36630         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
36631         Reported by Eric Blake.
36632
36633 2009-01-24  Bruno Haible  <bruno@clisp.org>
36634
36635         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
36636         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
36637         Reported by Gary V. Vaughan <gary@gnu.org>.
36638
36639 2009-01-24  Bruno Haible  <bruno@clisp.org>
36640
36641         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
36642
36643 2009-01-23  Bruno Haible  <bruno@clisp.org>
36644
36645         Make c-strtod, c-strtold usable in libraries.
36646         * lib/c-strtod.c: Include string.h instead of xalloc.h.
36647         (C_STRTOD): Call strdup instead of xstrdup.
36648         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
36649         * modules/c-strtold (Depends-on): Likewise.
36650         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
36651         * NEWS: Mention the change.
36652         Reported by Michael Gold <mgold@ncf.ca>.
36653
36654 2009-01-23  Jim Meyering  <meyering@redhat.com>
36655
36656         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
36657         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
36658         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
36659
36660 2009-01-23  Simon Josefsson  <simon@josefsson.org>
36661
36662         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
36663         GNU CoreUtils.
36664         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
36665         * modules/version-etc (Description): Update.
36666
36667 2009-01-22  Bruno Haible  <bruno@clisp.org>
36668
36669         Cache the C locale object.
36670         * lib/c-strtod.c (c_locale_cache): New variable.
36671         (c_locale): New function.
36672         (C_STRTOD): Use it, and don't call freelocale.
36673         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
36674         Suggested by Paolo Bonzini.
36675
36676 2009-01-21  Bruno Haible  <bruno@clisp.org>
36677
36678         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
36679         conditions other than overflow.
36680
36681 2009-01-21  Bruno Haible  <bruno@clisp.org>
36682
36683         * lib/c-strtod.c: Include errno.h.
36684         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
36685         value from STRTOD_L and STRTOD.
36686
36687 2009-01-21  Bruno Haible  <bruno@clisp.org>
36688         and Jim Meyering  <meyering@redhat.com>
36689
36690         nanosleep: skip configure test (fail it) for apple universal builds
36691         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
36692         universal builds, assume that nanosleep does not work.
36693         * modules/nanosleep (Depends-on): Add multiarch.
36694
36695         mktime: skip configure test (fail it) for apple universal builds
36696         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
36697         universal builds, assume that mktime does not work.
36698         * modules/mktime (Depends-on): Add multiarch.
36699
36700 2009-01-21  Eric Blake  <ebb9@byu.net>
36701
36702         multiarch: avoid expand-before-require warning
36703         * modules/multiarch (configure.ac): Require, rather than expand,
36704         gl_MULTIARCH.
36705         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
36706         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
36707         enforce that all clients require it.  Partial reversion of
36708         2008-12-29 patch.
36709
36710         error: avoid expand-before-require warning
36711         * modules/errno (configure.ac): Require, rather than expand,
36712         gl_HEADER_ERRNO_H.
36713         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
36714         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
36715         enforce that all clients require it.
36716
36717         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
36718         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
36719         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
36720         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
36721
36722 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
36723
36724         Revert:
36725         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
36726
36727         regex: do not depend on obsolete modules.
36728         * modules/regex: Remove memcmp and memmove.
36729
36730 2009-01-20  Bruno Haible  <bruno@clisp.org>
36731
36732         Make the 'link' module link on Windows NT 4.
36733         * lib/link.c (_WIN32_WINNT): Don't define.
36734         (CreateHardLinkFuncType): New type.
36735         (CreateHardLinkFunc, initialized): New variables.
36736         (initialize): New function.
36737         (link): Invoke CreateHardLink indirectly through the function pointer.
36738
36739 2009-01-20  Bruno Haible  <bruno@clisp.org>
36740
36741         Fix compilation failure on mingw.
36742         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
36743
36744 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
36745
36746         * doc/c-strtod.texi: Mention a couple of restrictions.
36747
36748 2009-01-20  Jim Meyering  <meyering@redhat.com>
36749
36750         gettimeofday: move more declarations out of functions
36751         * lib/gettimeofday.c: Move extern declarations of tzset and
36752         gmtime out of containing functions.  Prompted by Bruno Haible.
36753
36754 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
36755
36756         regex: do not depend on obsolete modules.
36757         * modules/regex: Remove memcmp and memmove.
36758
36759 2009-01-19  Bruno Haible  <bruno@clisp.org>
36760
36761         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
36762         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
36763         gl_BIGENDIAN, not AC_C_BIGENDIAN.
36764         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
36765         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
36766
36767 2009-01-19  Bruno Haible  <bruno@clisp.org>
36768
36769         * tests/test-link.c: Include <errno.h>.
36770         (main): Exit with code 77 when a hard link cannot be created due to
36771         the file system.
36772         * tests/test-link.sh: Skip test when a hard link cannot be created due
36773         to the file system.
36774         Suggested by Eric Blake.
36775
36776 2009-01-19  Martin Lambers  <marlam@marlam.de>
36777
36778         * modules/link-tests: New file.
36779         * tests/test-link.sh: New file.
36780         * tests/test-link.c: New file.
36781
36782 2009-01-19  Eric Blake  <ebb9@byu.net>
36783
36784         doc: mention another function added in cygwin 1.7.0
36785         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
36786         Another new function in cygwin 1.7.
36787
36788 2009-01-19  Bruno Haible  <bruno@clisp.org>
36789
36790         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
36791         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
36792         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
36793         gl_BIGENDIAN, not AC_C_BIGENDIAN.
36794         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
36795         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
36796         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
36797         * m4/md4.m4 (gl_MD4): Likewise.
36798         * m4/md5.m4 (gl_MD5): Likewise.
36799         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
36800         * m4/sha1.m4 (gl_SHA1): Likewise.
36801         * m4/sha256.m4 (gl_SHA256): Likewise.
36802         * m4/sha512.m4 (gl_SHA512): Likewise.
36803
36804 2009-01-19  Bruno Haible  <bruno@clisp.org>
36805
36806         * modules/uniname/uniname-tests (Depends-on): Add progname.
36807         * tests/uniname/test-uninames.c: Include progname.h.
36808         (main): Call set_program_name.
36809
36810         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
36811         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
36812         (main): Call set_program_name.
36813
36814         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
36815         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
36816         (main): Call set_program_name.
36817
36818         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
36819         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
36820         (main): Call set_program_name.
36821
36822         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
36823         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
36824         (main): Call set_program_name.
36825
36826         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
36827         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
36828         (main): Call set_program_name.
36829
36830         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
36831         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
36832         (main): Call set_program_name.
36833
36834         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
36835         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
36836         (main): Call set_program_name.
36837
36838         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
36839         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
36840         (main): Call set_program_name.
36841
36842 2009-01-19  Eric Blake  <ebb9@byu.net>
36843
36844         test-unistd: test previous patch
36845         * tests/test-unistd.c: Test *_FILENO macros.
36846
36847         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
36848         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
36849         Guarantee a definition.
36850         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
36851         * modules/unistd-safer (Depends-on): Add dependency on unistd.
36852         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
36853         * lib/dup-safer.c (STDERR_FILENO): Likewise.
36854         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
36855         Likewise.
36856         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
36857         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
36858         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
36859         Likewise.
36860         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
36861         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
36862         (STDERR_FILENO): Likewise.
36863         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
36864         (STDERR_FILENO): Likewise.
36865         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
36866         (STDERR_FILENO): Likewise.
36867         Reported by Elbert Pol.
36868
36869 2009-01-19  Eric Blake  <ebb9@byu.net>
36870
36871         doc: mention more functions added in cygwin 1.7.0
36872         * doc/posix-functions/abort.texi (abort): Update wording related
36873         to cygwin.
36874         * doc/posix-functions/daylight.texi (daylight): Likewise.
36875         * doc/posix-functions/optarg.texi (optarg): Likewise.
36876         * doc/posix-functions/optarg.texi (opterr): Likewise.
36877         * doc/posix-functions/optarg.texi (optind): Likewise.
36878         * doc/posix-functions/optarg.texi (optopt): Likewise.
36879         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
36880         worked in 1.5.x, and was withdrawn in 1.7.
36881         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
36882         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
36883         cygwin versions.
36884         * doc/posix-functions/perror.texi (perror): Likewise.
36885         * doc/posix-functions/printf.texi (printf): Likewise.
36886         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
36887         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
36888         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
36889         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
36890         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
36891         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
36892         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
36893         Likewise.
36894         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
36895         Likewise.
36896         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
36897         this function.
36898         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
36899         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
36900         Likewise.
36901         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
36902         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
36903         * doc/posix-functions/confstr.texi (confstr): Likewise.
36904         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
36905         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
36906         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
36907         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
36908         * doc/posix-functions/fputws.texi (fputws): Likewise.
36909         * doc/posix-functions/fwide.texi (fwide): Likewise.
36910         * doc/posix-functions/getwc.texi (getwc): Likewise.
36911         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
36912         * doc/posix-functions/putwc.texi (putwc): Likewise.
36913         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
36914         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
36915         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
36916         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
36917         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
36918         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
36919         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
36920         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
36921         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
36922         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
36923         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
36924
36925 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
36926
36927         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
36928         * lib/ioctl.c: Include <sys/ioctl.h>.
36929
36930 2009-01-19  Simon Josefsson  <simon@josefsson.org>
36931
36932         * modules/getdate-tests (Depends-on): Add progname.
36933         * tests/test-getdate.c: Use progname module, to avoid link errors
36934         on non-glibc systems.
36935
36936 2009-01-18  Simon Josefsson  <simon@josefsson.org>
36937
36938         * modules/filenamecat-tests (Depends-on): Add progname.
36939         * modules/fstrcmp-tests (Depends-on): Likewise.
36940
36941         * tests/test-filenamecat.c: Use progname module, to avoid link
36942         errors on non-glibc systems.
36943         * tests/test-fstrcmp.c: Likewise.
36944
36945 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
36946
36947         gettimeofday: avoid warning: nested extern declaration of 'localtime'
36948         * lib/gettimeofday.c: Move extern declaration out of function.
36949
36950 2009-01-18  Bruno Haible  <bruno@clisp.org>
36951
36952         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
36953         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
36954         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
36955
36956 2009-01-18  Bruno Haible  <bruno@clisp.org>
36957
36958         * lib/strftime.c (MEMPCPY): Remove unused macro.
36959         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
36960
36961 2009-01-18  Martin Lambers  <marlam@marlam.de>
36962
36963         New module 'link'.
36964         * lib/unistd.in.h (link): New declaration.
36965         * lib/link.c: New file.
36966         * m4/link.m4: New file.
36967         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
36968         HAVE_LINK.
36969         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
36970         * modules/link: New file.
36971         * doc/posix-functions/link.texi: Mention the new module.
36972
36973 2009-01-18  Bruno Haible  <bruno@clisp.org>
36974
36975         * tests/test-avltree_list.c (main): Call set_program_name.
36976         * tests/test-avltree_oset.c (main): Likewise.
36977         * tests/test-obstack-printf.c: Include progname.h.
36978         (main): Call set_program_name.
36979         * tests/test-quotearg.c: Include progname.h.
36980         (main): Call set_program_name.
36981         * tests/test-xmemdup0.c: Include progname.h.
36982         (main): Call set_program_name.
36983
36984 2009-01-18  Bruno Haible  <bruno@clisp.org>
36985
36986         New module 'alphasort'.
36987         * lib/dirent.in.h (alphasort): New declaration.
36988         * lib/alphasort.c: New file, from glibc with modifications.
36989         * m4/alphasort.m4: New file.
36990         * modules/alphasort: New file.
36991         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
36992         HAVE_ALPHASORT.
36993         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
36994         HAVE_ALPHASORT.
36995         * doc/posix-functions/alphasort.texi: Mention the new module and the
36996         portability problems.
36997
36998 2009-01-18  Bruno Haible  <bruno@clisp.org>
36999
37000         New module 'scandir'.
37001         * lib/dirent.in.h (scandir): New declaration.
37002         * lib/scandir.c: New file, from glibc with modifications.
37003         * m4/scandir.m4: New file.
37004         * modules/scandir: New file.
37005         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
37006         HAVE_SCANDIR.
37007         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
37008         HAVE_SCANDIR.
37009         * doc/posix-functions/scandir.texi: Mention the new module and the
37010         portability problems.
37011
37012 2009-01-17  Bruno Haible  <bruno@clisp.org>
37013
37014         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
37015         Update documentation.
37016         (func_remove_suffix): Escape all dots in the suffix. Update
37017         documentation.
37018         (func_filter_filelist): Update documentation.
37019         Reported by Ralf Wildenhues.
37020
37021 2009-01-17  Bruno Haible  <bruno@clisp.org>
37022
37023         * modules/dprintf-posix-tests: New file.
37024         * tests/test-dprintf-posix.sh: New file.
37025         * tests/test-dprintf-posix.c: New file.
37026
37027         New modules 'dprintf', 'dprintf-posix'.
37028         * lib/stdio.in.h (dprintf): New declaration.
37029         * lib/dprintf.c: New file.
37030         * m4/dprintf.m4: New file.
37031         * m4/dprintf-posix.m4: New file.
37032         * modules/dprintf: New file.
37033         * modules/dprintf-posix: New file.
37034         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
37035         HAVE_DPRINTF, REPLACE_DPRINTF.
37036         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
37037         HAVE_DPRINTF, REPLACE_DPRINTF.
37038         * doc/posix-functions/dprintf.texi: Mention the new modules.
37039
37040 2009-01-17  Bruno Haible  <bruno@clisp.org>
37041
37042         * modules/vdprintf-posix-tests: New file.
37043         * tests/test-vdprintf-posix.sh: New file.
37044         * tests/test-vdprintf-posix.c: New file.
37045
37046         New modules 'vdprintf', 'vdprintf-posix'.
37047         * lib/stdio.in.h (vdprintf): New declaration.
37048         * lib/vdprintf.c: New file.
37049         * m4/vdprintf.m4: New file.
37050         * m4/vdprintf-posix.m4: New file.
37051         * modules/vdprintf: New file.
37052         * modules/vdprintf-posix: New file.
37053         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
37054         HAVE_VDPRINTF, REPLACE_VDPRINTF.
37055         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
37056         HAVE_VDPRINTF, REPLACE_VDPRINTF.
37057         * doc/posix-functions/vdprintf.texi: Mention the new modules.
37058
37059 2009-01-17  Bruno Haible  <bruno@clisp.org>
37060
37061         Fix replacement of fopen on mingw.
37062         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
37063         mingw.
37064
37065 2009-01-17  Bruno Haible  <bruno@clisp.org>
37066
37067         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
37068         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
37069
37070 2009-01-17  Bruno Haible  <bruno@clisp.org>
37071
37072         Avoid test-fflush2.sh failure on mingw.
37073         * tests/test-fflush2.c: Include binary-io.h.
37074         (main): Put standard input into binary mode.
37075         * modules/fflush-tests (Depends-on): Add binary-io.
37076
37077 2009-01-17  Bruno Haible  <bruno@clisp.org>
37078
37079         * lib/wchar.in.h: In another particular situation, include only the
37080         system's <wchar.h> file.
37081         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
37082         Reported by Albert Chin-A-Young <china@thewrittenword.com>
37083         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
37084
37085 2009-01-17  Bruno Haible  <bruno@clisp.org>
37086
37087         Support for stripping executables in --enable-relocatable.
37088         * build-aux/install-reloc: Expect one more argument, or an environment
37089         variable RELOC_STRIP_PROG. If set, strip the destination program and
37090         its wrapper.
37091         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
37092         RELOC_STRIP_PROG.
37093         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
37094         to set RELOCATABLE_STRIP.
37095         * NEWS: Mention the new Makefile requirement.
37096
37097 2009-01-17  Bruno Haible  <bruno@clisp.org>
37098
37099         * build-aux/install-reloc: Remove debugging information left over by
37100         C compiler on MacOS X.
37101
37102 2009-01-17  Bruno Haible  <bruno@clisp.org>
37103
37104         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
37105         * lib/progreloc.c (find_executable): Fix type of pointer passed to
37106         _NSGetExecutablePath.
37107
37108 2009-01-16  Jim Meyering  <meyering@redhat.com>
37109
37110         strerror: avoid warnings about discarding "const"
37111         * lib/strerror.c (rpl_strerror): Instead of returning a const
37112         string from each and every "case", use a variable, and add a single
37113         cast after the switch.
37114
37115 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
37116
37117         * lib/arpa_inet.in.h: Add extern "C" block for C++.
37118
37119 2009-01-16  Bruno Haible  <bruno@clisp.org>
37120
37121         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
37122         array initializer syntax that also works in C++ mode.
37123         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
37124
37125 2009-01-16  Jim Meyering  <meyering@redhat.com>
37126
37127         poll: suppress a warning
37128         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
37129         to ignore "...unsigned expression < 0 is always false" warnings.
37130
37131 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
37132
37133         poll: remove declarations of unused variables
37134         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
37135         sockbuf and optlen.
37136
37137 2009-01-15  Bruno Haible  <bruno@clisp.org>
37138
37139         Make fflush-after-ungetc POSIX compliant on BSD systems.
37140         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
37141         (clear_ungetc_buffer): Implement also for other systems.
37142         (rpl_fflush): On glibc systems, invoke
37143         clear_ungetc_buffer_preserving_position. Otherwise, invoke
37144         clear_ungetc_buffer after fetching the stream's position, not before.
37145
37146 2009-01-15  Bruno Haible  <bruno@clisp.org>
37147
37148         Make fflush-after-ungetc POSIX compliant on glibc systems.
37149         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
37150         after ungetc.
37151         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
37152         (rpl_fflush): On glibc systems, simply call the system's fflush
37153         function after clearing the ungetc buffer.
37154         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
37155         Instead, lseek only to the end of file, then use the system's fseeko
37156         for the rest. On glibc systems, reset the EOF indicator bit.
37157
37158 2009-01-15  Jim Meyering  <meyering@redhat.com>
37159
37160         openmp.m4: revert quote-adding change, for portability to older autoconf
37161         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
37162         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
37163         Simon Josefsson noticed the problem when using autoconf-2.61.
37164
37165 2009-01-15  Bruno Haible  <bruno@clisp.org>
37166
37167         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
37168         * tests/test-fflush2.c (ASSERT): Always fail.
37169         (main): Add two tests for fflush() after ungetc(), taking into account
37170         the Austin Group's clarification.
37171         Suggested by Eric Blake.
37172
37173 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
37174
37175         mktime.m4: remove K&R-style function prototypes
37176         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
37177         for the Sun C++ compiler.
37178
37179 2009-01-14  Bruno Haible  <bruno@clisp.org>
37180
37181         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
37182         while including <wchar.h>.
37183         * lib/wchar.in.h: In two particular situations on HP-UX, include only
37184         the system's <wchar.h> file.
37185         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
37186
37187 2009-01-14  Bruno Haible  <bruno@clisp.org>
37188
37189         * m4/csharp.m4: Don't mention gettext on the serial number line.
37190         * m4/csharpexec.m4: Likewise.
37191         * m4/eaccess.m4: Likewise.
37192         * m4/javaexec.m4: Likewise.
37193         * m4/sig_atomic_t.m4: Likewise.
37194         * m4/tmpdir.m4: Likewise.
37195         * m4/intldir.m4: Bump gettext version.
37196         * m4/lib-ld.m4: Likewise.
37197
37198 2009-01-14  Bruno Haible  <bruno@clisp.org>
37199
37200         * lib/progname.c (set_program_name): Add more comments.
37201         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
37202
37203 2009-01-14  Simon Josefsson  <simon@josefsson.org>
37204
37205         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
37206         were sys/stat.h does not define it.
37207
37208 2009-01-14  Jim Meyering  <meyering@redhat.com>
37209
37210         many *.m4 files: improve m4 quoting
37211         99% of this change was performed by running the following commands:
37212         git ls-files | grep '\.m4$' | xargs perl -pi \
37213           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
37214           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
37215           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
37216           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
37217         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
37218         The remainder were to add Copyright dates, increment serial numbers,
37219         undo some changes in comments, exclude m4/intl.m4, and add quotes
37220         around the "1" in ",1" where the unusual spacing prohibited the
37221         above regexps from doing the job.  For more details, see
37222         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
37223         * m4/acl.m4: Modified.
37224         * m4/afs.m4: Likewise.
37225         * m4/alloca.m4: Likewise.
37226         * m4/argp.m4: Likewise.
37227         * m4/argz.m4: Likewise.
37228         * m4/atexit.m4: Likewise.
37229         * m4/bison-i18n.m4: Likewise.
37230         * m4/bison.m4: Likewise.
37231         * m4/byteswap.m4: Likewise.
37232         * m4/c-stack.m4: Likewise.
37233         * m4/c-strtod.m4: Likewise.
37234         * m4/calloc.m4: Likewise.
37235         * m4/canonicalize-lgpl.m4: Likewise.
37236         * m4/chown.m4: Likewise.
37237         * m4/clock_time.m4: Likewise.
37238         * m4/codeset.m4: Likewise.
37239         * m4/copy-file.m4: Likewise.
37240         * m4/csharp.m4: Likewise.
37241         * m4/csharpcomp.m4: Likewise.
37242         * m4/csharpexec.m4: Likewise.
37243         * m4/d-ino.m4: Likewise.
37244         * m4/d-type.m4: Likewise.
37245         * m4/dirfd.m4: Likewise.
37246         * m4/double-slash-root.m4: Likewise.
37247         * m4/eaccess.m4: Likewise.
37248         * m4/eealloc.m4: Likewise.
37249         * m4/environ.m4: Likewise.
37250         * m4/errno_h.m4: Likewise.
37251         * m4/euidaccess.m4: Likewise.
37252         * m4/execute.m4: Likewise.
37253         * m4/fatal-signal.m4: Likewise.
37254         * m4/fchdir.m4: Likewise.
37255         * m4/fcntl_h.m4: Likewise.
37256         * m4/fileblocks.m4: Likewise.
37257         * m4/filenamecat.m4: Likewise.
37258         * m4/findprog.m4: Likewise.
37259         * m4/flexmember.m4: Likewise.
37260         * m4/fnmatch.m4: Likewise.
37261         * m4/fopen.m4: Likewise.
37262         * m4/fpending.m4: Likewise.
37263         * m4/fprintf-posix.m4: Likewise.
37264         * m4/free.m4: Likewise.
37265         * m4/frexp.m4: Likewise.
37266         * m4/frexpl.m4: Likewise.
37267         * m4/fsusage.m4: Likewise.
37268         * m4/ftruncate.m4: Likewise.
37269         * m4/gc-camellia.m4: Likewise.
37270         * m4/gc-random.m4: Likewise.
37271         * m4/gc.m4: Likewise.
37272         * m4/getaddrinfo.m4: Likewise.
37273         * m4/getcwd-abort-bug.m4: Likewise.
37274         * m4/getcwd-path-max.m4: Likewise.
37275         * m4/getdate.m4: Likewise.
37276         * m4/getdomainname.m4: Likewise.
37277         * m4/getgroups.m4: Likewise.
37278         * m4/gethostname.m4: Likewise.
37279         * m4/gethrxtime.m4: Likewise.
37280         * m4/getline.m4: Likewise.
37281         * m4/getloadavg.m4: Likewise.
37282         * m4/getndelim2.m4: Likewise.
37283         * m4/getpass.m4: Likewise.
37284         * m4/gettext.m4: Likewise.
37285         * m4/gettime.m4: Likewise.
37286         * m4/gettimeofday.m4: Likewise.
37287         * m4/gnulib-common.m4: Likewise.
37288         * m4/group-member.m4: Likewise.
37289         * m4/host-os.m4: Likewise.
37290         * m4/iconv.m4: Likewise.
37291         * m4/iconv_open.m4: Likewise.
37292         * m4/inet_ntop.m4: Likewise.
37293         * m4/inet_pton.m4: Likewise.
37294         * m4/inline.m4: Likewise.
37295         * m4/intldir.m4: Likewise.
37296         * m4/intlmacosx.m4: Likewise.
37297         * m4/intmax.m4: Likewise.
37298         * m4/intmax_t.m4: Likewise.
37299         * m4/inttypes.m4: Likewise.
37300         * m4/inttypes_h.m4: Likewise.
37301         * m4/inttypes-pri.m4: Likewise.
37302         * m4/isapipe.m4: Likewise.
37303         * m4/isnand.m4: Likewise.
37304         * m4/isnanf.m4: Likewise.
37305         * m4/isnanl.m4: Likewise.
37306         * m4/javacomp.m4: Likewise.
37307         * m4/javaexec.m4: Likewise.
37308         * m4/jm-winsz1.m4: Likewise.
37309         * m4/jm-winsz2.m4: Likewise.
37310         * m4/lchown.m4: Likewise.
37311         * m4/lcmessage.m4: Likewise.
37312         * m4/ldexpl.m4: Likewise.
37313         * m4/lib-ld.m4: Likewise.
37314         * m4/lib-link.m4: Likewise.
37315         * m4/libsigsegv.m4: Likewise.
37316         * m4/link-follow.m4: Likewise.
37317         * m4/localcharset.m4: Likewise.
37318         * m4/locale-fr.m4: Likewise.
37319         * m4/locale-ja.m4: Likewise.
37320         * m4/locale-tr.m4: Likewise.
37321         * m4/locale-zh.m4: Likewise.
37322         * m4/lock.m4: Likewise.
37323         * m4/longlong.m4: Likewise.
37324         * m4/ls-mntd-fs.m4: Likewise.
37325         * m4/lstat.m4: Likewise.
37326         * m4/malloc.m4: Likewise.
37327         * m4/mathl.m4: Likewise.
37328         * m4/mbrtowc.m4: Likewise.
37329         * m4/mbstate_t.m4: Likewise.
37330         * m4/mbswidth.m4: Likewise.
37331         * m4/memchr.m4: Likewise.
37332         * m4/memcmp.m4: Likewise.
37333         * m4/memcpy.m4: Likewise.
37334         * m4/memmem.m4: Likewise.
37335         * m4/memmove.m4: Likewise.
37336         * m4/mempcpy.m4: Likewise.
37337         * m4/memrchr.m4: Likewise.
37338         * m4/memset.m4: Likewise.
37339         * m4/minmax.m4: Likewise.
37340         * m4/mkdir-slash.m4: Likewise.
37341         * m4/mkdtemp.m4: Likewise.
37342         * m4/mktime.m4: Likewise.
37343         * m4/mmap-anon.m4: Likewise.
37344         * m4/mountlist.m4: Likewise.
37345         * m4/nanosleep.m4: Likewise.
37346         * m4/nls.m4: Likewise.
37347         * m4/nocrash.m4: Likewise.
37348         * m4/open.m4: Likewise.
37349         * m4/openat.m4: Likewise.
37350         * m4/openmp.m4: Likewise.
37351         * m4/pathmax.m4: Likewise.
37352         * m4/perl.m4: Likewise.
37353         * m4/physmem.m4: Likewise.
37354         * m4/pipe.m4: Likewise.
37355         * m4/po.m4: Likewise.
37356         * m4/poll.m4: Likewise.
37357         * m4/posixtm.m4: Likewise.
37358         * m4/posixver.m4: Likewise.
37359         * m4/printf-frexp.m4: Likewise.
37360         * m4/printf-frexpl.m4: Likewise.
37361         * m4/printf-posix.m4: Likewise.
37362         * m4/printf-posix-rpl.m4: Likewise.
37363         * m4/printf.m4: Likewise.
37364         * m4/progtest.m4: Likewise.
37365         * m4/putenv.m4: Likewise.
37366         * m4/readline.m4: Likewise.
37367         * m4/readlink.m4: Likewise.
37368         * m4/readutmp.m4: Likewise.
37369         * m4/realloc.m4: Likewise.
37370         * m4/regex.m4: Likewise.
37371         * m4/relocatable.m4: Likewise.
37372         * m4/relocatable-lib.m4: Likewise.
37373         * m4/rename-dest-slash.m4: Likewise.
37374         * m4/rename.m4: Likewise.
37375         * m4/rmdir-errno.m4: Likewise.
37376         * m4/rmdir.m4: Likewise.
37377         * m4/roundf.m4: Likewise.
37378         * m4/roundl.m4: Likewise.
37379         * m4/rpmatch.m4: Likewise.
37380         * m4/save-cwd.m4: Likewise.
37381         * m4/selinux-selinux-h.m4: Likewise.
37382         * m4/setenv.m4: Likewise.
37383         * m4/settime.m4: Likewise.
37384         * m4/sig2str.m4: Likewise.
37385         * m4/sig_atomic_t.m4: Likewise.
37386         * m4/signalblocking.m4: Likewise.
37387         * m4/signbit.m4: Likewise.
37388         * m4/sigpipe.m4: Likewise.
37389         * m4/sockets.m4: Likewise.
37390         * m4/sockpfaf.m4: Likewise.
37391         * m4/st_dm_mode.m4: Likewise.
37392         * m4/stat-time.m4: Likewise.
37393         * m4/stdbool.m4: Likewise.
37394         * m4/stdint.m4: Likewise.
37395         * m4/stdint_h.m4: Likewise.
37396         * m4/stpcpy.m4: Likewise.
37397         * m4/stpncpy.m4: Likewise.
37398         * m4/strcase.m4: Likewise.
37399         * m4/strchrnul.m4: Likewise.
37400         * m4/strcspn.m4: Likewise.
37401         * m4/strdup.m4: Likewise.
37402         * m4/strftime.m4: Likewise.
37403         * m4/strndup.m4: Likewise.
37404         * m4/strnlen.m4: Likewise.
37405         * m4/strpbrk.m4: Likewise.
37406         * m4/strptime.m4: Likewise.
37407         * m4/strsep.m4: Likewise.
37408         * m4/strtod.m4: Likewise.
37409         * m4/strtoimax.m4: Likewise.
37410         * m4/strtok_r.m4: Likewise.
37411         * m4/strtol.m4: Likewise.
37412         * m4/strtoll.m4: Likewise.
37413         * m4/strtoul.m4: Likewise.
37414         * m4/strtoull.m4: Likewise.
37415         * m4/strtoumax.m4: Likewise.
37416         * m4/strverscmp.m4: Likewise.
37417         * m4/threadlib.m4: Likewise.
37418         * m4/timegm.m4: Likewise.
37419         * m4/tm_gmtoff.m4: Likewise.
37420         * m4/tmpdir.m4: Likewise.
37421         * m4/tmpfile.m4: Likewise.
37422         * m4/tzset.m4: Likewise.
37423         * m4/uintmax_t.m4: Likewise.
37424         * m4/unlinkdir.m4: Likewise.
37425         * m4/unlocked-io.m4: Likewise.
37426         * m4/uptime.m4: Likewise.
37427         * m4/userspec.m4: Likewise.
37428         * m4/utimbuf.m4: Likewise.
37429         * m4/utime.m4: Likewise.
37430         * m4/utimes-null.m4: Likewise.
37431         * m4/utimes.m4: Likewise.
37432         * m4/vararrays.m4: Likewise.
37433         * m4/vasnprintf.m4: Likewise.
37434         * m4/vfprintf-posix.m4: Likewise.
37435         * m4/vprintf-posix.m4: Likewise.
37436         * m4/wait-process.m4: Likewise.
37437         * m4/wchar_t.m4: Likewise.
37438         * m4/wint_t.m4: Likewise.
37439         * m4/write-any-file.m4: Likewise.
37440         * m4/yield.m4: Likewise.
37441
37442 2009-01-13  Bruno Haible  <bruno@clisp.org>
37443
37444         Avoid test-copy-file.sh failures when ACL support insufficient.
37445         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
37446         TESTS_ENVIRONMENT.
37447         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
37448         Reported by Jim Meyering.
37449
37450 2009-01-13  Bruno Haible  <bruno@clisp.org>
37451
37452         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
37453         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
37454         * modules/unistdio/u8-printf-parse (Files): Likewise.
37455         * modules/unistdio/u32-printf-parse (Files): Likewise.
37456         * modules/unistdio/ulc-printf-parse (Files): Likewise.
37457
37458 2009-01-13  Simon Josefsson  <simon@josefsson.org>
37459
37460         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
37461         and m4/inttypes_h.m4 too.
37462
37463 2009-01-12  Eric Blake  <ebb9@byu.net>
37464
37465         tests: IRIX 6.2 cc can't compile -0.0 into .data
37466         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
37467         rather than at compile-time.
37468         * tests/test-floorl.c (minus_zero): Likewise.
37469         * tests/test-frexpl.c (minus_zero): Likewise.
37470         * tests/test-isnan.c (minus_zerol): Likewise.
37471         * tests/test-isnanl.h (minus_zero): Likewise.
37472         * tests/test-ldexpl.c (minus_zero): Likewise.
37473         * tests/test-roundl.c (minus_zero): Likewise.
37474         * tests/test-signbit.c (minus_zerol): Likewise.
37475         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
37476         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
37477         * tests/test-truncl.c (minus_zero): Likewise.
37478         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
37479         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
37480         Reported by Tom G. Christensen and Nelson H. F. Beebe.
37481
37482 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
37483
37484         regex: fix glibc bug 9697
37485         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
37486         handling.
37487
37488 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
37489
37490         regex: fix glibc bug 697
37491         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
37492         being NULL also if there are no backreferences.
37493
37494 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
37495
37496         regex: merge glibc changes
37497         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
37498         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
37499         re_string_skip_chars, re_string_reconstruct): Likewise.
37500         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
37501
37502 2009-01-07  Jim Meyering  <meyering@redhat.com>
37503
37504         poll: filter through cppi
37505         * lib/poll.c: Indent cpp directives to reflect nesting.
37506
37507 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
37508
37509         poll: don't return uninitialized
37510         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
37511
37512 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
37513
37514         avoid compile failure on AIX 6.1
37515         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
37516         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
37517
37518 2009-01-04  Jim Meyering  <meyering@redhat.com>
37519
37520         remove duplicate inclusion of <stdio.h>
37521         * tests/test-fprintf-posix.c: Likewise.
37522         * tests/test-printf-posix.c: Likewise.
37523         * tests/test-snprintf-posix.c: Likewise.
37524         * tests/test-sprintf-posix.c: Likewise.
37525         * tests/test-vasprintf-posix.c: Likewise.
37526         * tests/test-vfprintf-posix.c: Likewise.
37527         * tests/test-vprintf-posix.c: Likewise.
37528         * tests/test-vsnprintf-posix.c: Likewise.
37529         * tests/test-vsprintf-posix.c: Likewise.
37530
37531 2009-01-03  Jim Meyering  <meyering@redhat.com>
37532
37533         gnulib-tool: fix sed-based filtering
37534         * gnulib-tool (func_filter_filelist): Remove extra backslash
37535         in sed_fff_filter definition.
37536
37537 2009-01-02  Jim Meyering  <meyering@redhat.com>
37538
37539         strftime: avoid compilation failure on Solaris 2.6
37540         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
37541         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
37542         Don't #define mbrlen or mbsinit, since now they're guaranteed to
37543         be available.  Reported by Tom G. Christensen.  Details in
37544         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
37545
37546 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37547             Bruno Haible  <bruno@clisp.org>
37548
37549         Speed up gnulib-tool by doing more string processing through shell
37550         built-ins.
37551         * gnulib-tool (fast_func_append): New variable.
37552         (func_remove_prefix, func_remove_suffix): New functions.
37553         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
37554         (func_filter_filelist): New function.
37555         (func_get_dependencies): Use func_remove_suffix instead of sed.
37556         (func_get_automake_snippet): Use func_filter_filelist instead of a
37557         subshell and sed invocation.
37558
37559 2009-01-01  Bruno Haible  <bruno@clisp.org>
37560
37561         Fix a security bug.
37562         * gnulib-tool (func_import, import, update): Don't allow the characters
37563         '"', '$', '`', '\' in macro arguments that become part of commands that
37564         are evaluated.
37565
37566 2009-01-01  Bruno Haible  <bruno@clisp.org>
37567
37568         * gnulib-tool (func_reset_sigpipe): Add more comments.
37569
37570 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37571
37572         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
37573         func_emit_tests_Makefile_am, func_import): Abort loops early if we
37574         already know the answer.
37575
37576 2009-01-01  Jim Meyering  <meyering@redhat.com>
37577
37578         * lib/version-etc.c (version_etc_va): Update copyright year.
37579
37580 2008-12-30  Bruno Haible  <bruno@clisp.org>
37581
37582         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
37583         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
37584         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
37585
37586 2008-12-29  Eric Blake  <ebb9@byu.net>
37587
37588         multiarch: avoid autoconf AC_REQUIRE bug
37589         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
37590         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
37591         2.63 and older.
37592         Reported by Bruno Haible, and analyzed in
37593         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
37594
37595 2008-12-29  Bruno Haible  <bruno@clisp.org>
37596
37597         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
37598         files in subdirectories correctly.
37599         Reported by Ralf Wildenhues.
37600
37601 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37602
37603         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
37604         rather than 'join FILE -', for Solaris join.
37605
37606 2008-12-29  Bruno Haible  <bruno@clisp.org>
37607
37608         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
37609         quoting.
37610         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
37611         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
37612         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
37613         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
37614         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
37615         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
37616         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
37617         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
37618         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
37619         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
37620         * m4/nls.m4 (AM_NLS): Likewise.
37621         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
37622         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
37623         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
37624         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
37625         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
37626         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
37627         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
37628         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
37629         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
37630         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
37631         * m4/xsize.m4 (gl_XSIZE): Likewise.
37632         Suggested by Jim Meyering.
37633
37634 2008-11-17  Bruce Korb  <bkorb@gnu.org>
37635
37636         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
37637         * lib/parse-duration.c: use a switch instead of cascading if's.
37638
37639 2008-12-29  Eric Blake  <ebb9@byu.net>
37640
37641         wchar.h: supply WEOF on Irix 5.3
37642         * lib/wchar.in.h (wint_t): Also supply WEOF.
37643         * lib/wctype.in.h (wint_t): Likewise.
37644         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
37645         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
37646         Reported by Tom G. Christensen.
37647
37648 2008-12-26  Bruno Haible  <bruno@clisp.org>
37649
37650         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
37651         i486, i586, i686.
37652
37653 2008-12-26  Bruno Haible  <bruno@clisp.org>
37654
37655         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
37656
37657 2008-12-26  Bruno Haible  <bruno@clisp.org>
37658
37659         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
37660         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
37661         not __STDC_CONSTANT_MACROS.
37662         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
37663
37664 2008-12-25  Bruno Haible  <bruno@clisp.org>
37665
37666         Add support for universal builds to vasnprintf.
37667         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
37668         universal builds, guess no.
37669         * modules/vasnprintf-posix (Depends-on): Add multiarch.
37670         * modules/vasprintf-posix (Depends-on): Likewise.
37671         * modules/fprintf-posix (Depends-on): Likewise.
37672         * modules/vfprintf-posix (Depends-on): Likewise.
37673         * modules/snprintf-posix (Depends-on): Likewise.
37674         * modules/vsnprintf-posix (Depends-on): Likewise.
37675         * modules/sprintf-posix (Depends-on): Likewise.
37676         * modules/vsprintf-posix (Depends-on): Likewise.
37677         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
37678         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
37679         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
37680         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
37681         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
37682         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
37683         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
37684
37685         Add support for universal builds to <inttypes.h>.
37686         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
37687         _SCNu64_PREFIX): In Apple
37688         universal builds, define directly, using _LP64.
37689         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
37690         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
37691         * modules/inttypes (Depends-on): Add multiarch.
37692         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
37693
37694         Add support for universal builds to <stdint.h>.
37695         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
37696         universal builds, define directly, using _LP64.
37697         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
37698         Apple universal builds, don't test for the size and suffix of ptrdiff_t
37699         and size_t.
37700         * modules/stdint (Depends-on): Add multiarch.
37701         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
37702
37703         New module 'multiarch'.
37704         * modules/multiarch: New file.
37705         * m4/multiarch.m4: New file.
37706
37707 2008-12-25  Bruno Haible  <bruno@clisp.org>
37708
37709         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
37710
37711 2008-12-25  Bruno Haible  <bruno@clisp.org>
37712
37713         * modules/btowc (License): Relicense under LGPLv2+.
37714         * modules/mbsinit (License): Likewise.
37715         * modules/mbrtowc (License): Likewise.
37716         * modules/wcrtomb (License): Likewise.
37717         * modules/streq (License): Likewise.
37718         Reported by David Lutterkort <lutter@redhat.com>.
37719
37720 2008-12-23  Bruno Haible  <bruno@clisp.org>
37721
37722         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
37723
37724 2008-12-23  Bruno Haible  <bruno@clisp.org>
37725
37726         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
37727         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
37728         GETADDRINFO_LIB, not in LIBS.
37729         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
37730         * modules/canon-host (Link): Likewise.
37731         * NEWS: Mention the change.
37732         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
37733         GETADDRINFO_LIB.
37734
37735 2008-12-22  Bruno Haible  <bruno@clisp.org>
37736
37737         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
37738         * doc/posix-functions/iswalpha_l.texi: Likewise.
37739         * doc/posix-functions/iswblank_l.texi: Likewise.
37740         * doc/posix-functions/iswcntrl_l.texi: Likewise.
37741         * doc/posix-functions/iswctype_l.texi: Likewise.
37742         * doc/posix-functions/iswdigit_l.texi: Likewise.
37743         * doc/posix-functions/iswgraph_l.texi: Likewise.
37744         * doc/posix-functions/iswlower_l.texi: Likewise.
37745         * doc/posix-functions/iswprint_l.texi: Likewise.
37746         * doc/posix-functions/iswpunct_l.texi: Likewise.
37747         * doc/posix-functions/iswspace_l.texi: Likewise.
37748         * doc/posix-functions/iswupper_l.texi: Likewise.
37749         * doc/posix-functions/iswxdigit_l.texi: Likewise.
37750         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
37751         * doc/posix-functions/open_wmemstream.texi: Likewise.
37752         * doc/posix-functions/swscanf.texi: Likewise.
37753         * doc/posix-functions/towctrans_l.texi: Likewise.
37754         * doc/posix-functions/towlower.texi: Likewise.
37755         * doc/posix-functions/towlower_l.texi: Likewise.
37756         * doc/posix-functions/towupper.texi: Likewise.
37757         * doc/posix-functions/towupper_l.texi: Likewise.
37758         * doc/posix-functions/vfwprintf.texi: Likewise.
37759         * doc/posix-functions/vfwscanf.texi: Likewise.
37760         * doc/posix-functions/vswscanf.texi: Likewise.
37761         * doc/posix-functions/vwprintf.texi: Likewise.
37762         * doc/posix-functions/vwscanf.texi: Likewise.
37763         * doc/posix-functions/wcpcpy.texi: Likewise.
37764         * doc/posix-functions/wcpncpy.texi: Likewise.
37765         * doc/posix-functions/wcscasecmp.texi: Likewise.
37766         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
37767         * doc/posix-functions/wcscoll_l.texi: Likewise.
37768         * doc/posix-functions/wcsdup.texi: Likewise.
37769         * doc/posix-functions/wcsncasecmp.texi: Likewise.
37770         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
37771         * doc/posix-functions/wcsnlen.texi: Likewise.
37772         * doc/posix-functions/wcsnrtombs.texi: Likewise.
37773         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
37774         * doc/posix-functions/wctrans_l.texi: Likewise.
37775         * doc/posix-functions/wctype_l.texi: Likewise.
37776         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
37777         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
37778         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
37779         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
37780         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
37781         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
37782         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
37783         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
37784         * doc/glibc-functions/wcschrnul.texi: Likewise.
37785         * doc/glibc-functions/wcsftime_l.texi: Likewise.
37786         * doc/glibc-functions/wcstod_l.texi: Likewise.
37787         * doc/glibc-functions/wcstof_l.texi: Likewise.
37788         * doc/glibc-functions/wcstol_l.texi: Likewise.
37789         * doc/glibc-functions/wcstold_l.texi: Likewise.
37790         * doc/glibc-functions/wcstoll_l.texi: Likewise.
37791         * doc/glibc-functions/wcstoq.texi: Likewise.
37792         * doc/glibc-functions/wcstoul_l.texi: Likewise.
37793         * doc/glibc-functions/wcstoull_l.texi: Likewise.
37794         * doc/glibc-functions/wcstouq.texi: Likewise.
37795         * doc/glibc-functions/wmempcpy.texi: Likewise.
37796
37797 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
37798             Eric Blake  <ebb9@byu.net>
37799             Paolo Bonzini  <bonzini@gnu.org>
37800             Bruno Haible  <bruno@clisp.org>
37801
37802         Make c-stack work on Haiku.
37803         * lib/c-stack.c (SA_ONSTACK): Define fallback.
37804         (c_stack_action): Use SA_ONSTACK flag.
37805
37806 2008-12-22  Bruno Haible  <bruno@clisp.org>
37807
37808         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
37809
37810 2008-12-22  Bruno Haible  <bruno@clisp.org>
37811
37812         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
37813         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
37814         being overridden.
37815         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
37816         New macros.
37817         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
37818         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
37819         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
37820         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
37821
37822 2008-12-22  Bruno Haible  <bruno@clisp.org>
37823
37824         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
37825         from test code.
37826
37827 2008-12-22  Eric Blake  <ebb9@byu.net>
37828
37829         Avoid gcc warnings on cygwin.
37830         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
37831         Avoid unused variable.
37832         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
37833         Likewise.
37834
37835 2008-12-22  Bruno Haible  <bruno@clisp.org>
37836
37837         Remove HAVE_MBRTOWC conditionals.
37838         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
37839         (mbscasecmp): Assume mbrtowc function.
37840         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
37841         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
37842         * lib/mbschr.c: Include mbuiter.h unconditionally.
37843         (mbschr): Assume mbrtowc function.
37844         * lib/mbscspn.c: Include mbuiter.h unconditionally.
37845         (mbscspn): Assume mbrtowc function.
37846         * lib/mbslen.c: Include mbuiter.h unconditionally.
37847         (mbslen): Assume mbrtowc function.
37848         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
37849         (mbsncasecmp): Assume mbrtowc function.
37850         * lib/mbsnlen.c: Include mbiter.h unconditionally.
37851         (mbsnlen): Assume mbrtowc function.
37852         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
37853         (mbspbrk): Assume mbrtowc function.
37854         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
37855         (mbspcasecmp): Assume mbrtowc function.
37856         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
37857         (mbsrchr): Assume mbrtowc function.
37858         * lib/mbssep.c: Include mbuiter.h unconditionally.
37859         (mbssep): Assume mbrtowc function.
37860         * lib/mbsspn.c: Include mbuiter.h unconditionally.
37861         (mbsspn): Assume mbrtowc function.
37862         * lib/mbsstr.c: Include mbuiter.h unconditionally.
37863         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
37864         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
37865         (mbstok_r): Assume mbrtowc function.
37866         * lib/propername.c: Include mbuiter.h unconditionally.
37867         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
37868         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
37869         (trim2): Assume mbrtowc function.
37870         * lib/mbswidth.c (mbsinit): Remove fallback definition.
37871         (mbsnwidth): Assume mbrtowc function.
37872         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
37873         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
37874         fallback definitions.
37875         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
37876
37877 2008-12-22  Bruno Haible  <bruno@clisp.org>
37878
37879         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
37880
37881 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
37882
37883         * modules/regex: Request emulations for the mb*/wc* functions we need.
37884         * m4/regex.m4: Don't look for those functions here.
37885         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
37886
37887 2008-12-22  Bruno Haible  <bruno@clisp.org>
37888
37889         * modules/fnmatch (Depends-on): Remove duplicated dependency.
37890
37891 2008-12-21  Bruno Haible  <bruno@clisp.org>
37892
37893         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
37894         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
37895         (Include): Remove conditionalization.
37896         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
37897         (Include): Remove conditionalization.
37898         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
37899         (Include): Remove conditionalization.
37900         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
37901         * m4/mbfile.m4 (gl_MBFILE): Likewise.
37902         * NEWS: Mention the change.
37903         Reported by Alan Hourihane <alanh@fairlite.co.uk>
37904         via Sergey Poznyakoff <gray@gnu.org.ua>.
37905
37906 2008-12-21  Bruno Haible  <bruno@clisp.org>
37907
37908         * MODULES.html.sh (Extended multibyte and wide character utilities
37909         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
37910         wcrtomb, wcsrtombs.
37911         (Support for systems lacking POSIX:2008): Add accept, bind, close,
37912         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
37913         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
37914         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
37915
37916 2008-12-21  Bruno Haible  <bruno@clisp.org>
37917
37918         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
37919
37920 2008-12-21  Bruno Haible  <bruno@clisp.org>
37921
37922         * modules/wcsnrtombs-tests: New file.
37923         * tests/test-wcsnrtombs1.sh: New file.
37924         * tests/test-wcsnrtombs2.sh: New file.
37925         * tests/test-wcsnrtombs3.sh: New file.
37926         * tests/test-wcsnrtombs4.sh: New file.
37927         * tests/test-wcsnrtombs.c: New file.
37928
37929         New module 'wcsnrtombs'.
37930         * lib/wchar.in.h (wcsnrtombs): New declaration.
37931         * lib/wcsnrtombs.c: New file.
37932         * lib/wcsrtombs-state.c: New file.
37933         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
37934         (internal_state): Remove variable.
37935         * m4/wcsnrtombs.m4: New file.
37936         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
37937         compilation units.
37938         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
37939         HAVE_WCSNRTOMBS.
37940         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
37941         HAVE_WCSNRTOMBS.
37942         * modules/wcsnrtombs: New file.
37943         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
37944         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
37945
37946 2008-12-21  Bruno Haible  <bruno@clisp.org>
37947
37948         * modules/wcsrtombs-tests: New file.
37949         * tests/test-wcsrtombs1.sh: New file.
37950         * tests/test-wcsrtombs2.sh: New file.
37951         * tests/test-wcsrtombs3.sh: New file.
37952         * tests/test-wcsrtombs4.sh: New file.
37953         * tests/test-wcsrtombs.c: New file.
37954
37955         New module 'wcsrtombs'.
37956         * lib/wchar.in.h (wcsrtombs): New declaration.
37957         * lib/wcsrtombs.c: New file.
37958         * m4/wcsrtombs.m4: New file.
37959         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
37960         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
37961         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
37962         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
37963         * modules/wcsrtombs: New file.
37964         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
37965         bugs.
37966
37967 2008-12-21  Bruno Haible  <bruno@clisp.org>
37968
37969         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
37970         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
37971         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
37972         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
37973         if not correct.
37974         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
37975         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
37976         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
37977         m4/locale-zh.m4, m4/codeset.m4.
37978         * doc/posix-functions/wcrtomb.texi: Document the bug.
37979
37980 2008-12-21  Bruno Haible  <bruno@clisp.org>
37981
37982         Work around a btowc() bug on IRIX 6.5.
37983         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
37984         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
37985         REPLACE_WTOBC if not.
37986         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
37987         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
37988         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
37989
37990 2008-12-21  Bruno Haible  <bruno@clisp.org>
37991
37992         * modules/wcrtomb-tests: New file.
37993         * tests/test-wcrtomb.sh: New file.
37994         * tests/test-wcrtomb.c: New file.
37995
37996         New module 'wcrtomb'.
37997         * lib/wchar.in.h (wcrtomb): New declaration.
37998         * lib/wcrtomb.c: New file.
37999         * m4/wcrtomb.m4: New file.
38000         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
38001         HAVE_WCRTOMB.
38002         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
38003         HAVE_WCRTOMB.
38004         * modules/wcrtomb: New file.
38005         * doc/posix-functions/wcrtomb.texi: Mention the new module.
38006
38007 2008-12-21  Bruno Haible  <bruno@clisp.org>
38008
38009         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
38010         * modules/mbsrtowcs (Files): Likewise.
38011         * modules/wctob (Files): Likewise.
38012         * modules/c-strcase-tests (Files): Likewise.
38013         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
38014         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
38015         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
38016         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
38017         * modules/vasnprintf-posix-tests (Files): Likewise.
38018
38019 2008-12-21  William Pursell  <bill.pursell@gmail.com>
38020
38021         gitlog-to-changelog: pass all command-line arguments to git-log
38022         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
38023         it is sometimes convenient to filter the commits in various ways.
38024         gitlog-to-changelog only allows --since to specify a start date,
38025         but git-log itself supports many other filtering mechanisms.
38026         At the moment, I want to filter by branch name.  Rather than
38027         adding a --branch option to gitlog-to-changelog, it seems more
38028         flexible to simply pass all options directly to git-log and let
38029         git do the work.  Notice that this effectively makes --since a
38030         redundant option for gitlog-to-changelog, but removing it would
38031         require current usage to change since calls would then require
38032         an additional '--'.
38033
38034 2008-12-21  Bruno Haible  <bruno@clisp.org>
38035
38036         * modules/mbsnrtowcs-tests: New file.
38037         * tests/test-mbsnrtowcs1.sh: New file.
38038         * tests/test-mbsnrtowcs2.sh: New file.
38039         * tests/test-mbsnrtowcs3.sh: New file.
38040         * tests/test-mbsnrtowcs4.sh: New file.
38041         * tests/test-mbsnrtowcs.c: New file.
38042
38043         New module 'mbsnrtowcs'.
38044         * lib/wchar.in.h (mbsnrtowcs): New declaration.
38045         * lib/mbsnrtowcs.c: New file.
38046         * lib/mbsrtowcs-state.c: New file.
38047         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
38048         (internal_state): Remove variable.
38049         * m4/mbsnrtowcs.m4: New file.
38050         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
38051         compilation units.
38052         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
38053         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
38054         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
38055         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
38056         * modules/mbsnrtowcs: New file.
38057         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
38058         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
38059         portability problem.
38060
38061 2008-12-21  Bruno Haible  <bruno@clisp.org>
38062
38063         Work around mbsrtowcs bug.
38064         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
38065         (gl_FUNC_MBSRTOWCS): Invoke it.
38066         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
38067         m4/locale-zh.m4.
38068         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
38069
38070 2008-12-21  Bruno Haible  <bruno@clisp.org>
38071
38072         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
38073
38074 2008-12-21  Bruno Haible  <bruno@clisp.org>
38075
38076         Update doc for AIX.
38077         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
38078         16-bit wchar_t type.
38079         * doc/posix-functions/btowc.texi: Likewise.
38080         * doc/posix-functions/fgetwc.texi: Likewise.
38081         * doc/posix-functions/fgetws.texi: Likewise.
38082         * doc/posix-functions/fputwc.texi: Likewise.
38083         * doc/posix-functions/fputws.texi: Likewise.
38084         * doc/posix-functions/fwide.texi: Likewise.
38085         * doc/posix-functions/fwprintf.texi: Likewise.
38086         * doc/posix-functions/fwscanf.texi: Likewise.
38087         * doc/posix-functions/getwchar.texi: Likewise.
38088         * doc/posix-functions/getwc.texi: Likewise.
38089         * doc/posix-functions/iswalnum.texi: Likewise.
38090         * doc/posix-functions/iswalpha.texi: Likewise.
38091         * doc/posix-functions/iswblank.texi: Likewise.
38092         * doc/posix-functions/iswcntrl.texi: Likewise.
38093         * doc/posix-functions/iswctype.texi: Likewise.
38094         * doc/posix-functions/iswdigit.texi: Likewise.
38095         * doc/posix-functions/iswgraph.texi: Likewise.
38096         * doc/posix-functions/iswlower.texi: Likewise.
38097         * doc/posix-functions/iswprint.texi: Likewise.
38098         * doc/posix-functions/iswpunct.texi: Likewise.
38099         * doc/posix-functions/iswspace.texi: Likewise.
38100         * doc/posix-functions/iswupper.texi: Likewise.
38101         * doc/posix-functions/iswxdigit.texi: Likewise.
38102         * doc/posix-functions/mbrtowc.texi: Likewise.
38103         * doc/posix-functions/mbsrtowcs.texi: Likewise.
38104         * doc/posix-functions/mbstowcs.texi: Likewise.
38105         * doc/posix-functions/mbtowc.texi: Likewise.
38106         * doc/posix-functions/putwchar.texi: Likewise.
38107         * doc/posix-functions/putwc.texi: Likewise.
38108         * doc/posix-functions/swprintf.texi: Likewise.
38109         * doc/posix-functions/tolower.texi: Likewise.
38110         * doc/posix-functions/toupper.texi: Likewise.
38111         * doc/posix-functions/towctrans.texi: Likewise.
38112         * doc/posix-functions/ungetwc.texi: Likewise.
38113         * doc/posix-functions/vswprintf.texi: Likewise.
38114         * doc/posix-functions/wcrtomb.texi: Likewise.
38115         * doc/posix-functions/wcscat.texi: Likewise.
38116         * doc/posix-functions/wcschr.texi: Likewise.
38117         * doc/posix-functions/wcscmp.texi: Likewise.
38118         * doc/posix-functions/wcscoll.texi: Likewise.
38119         * doc/posix-functions/wcscpy.texi: Likewise.
38120         * doc/posix-functions/wcscspn.texi: Likewise.
38121         * doc/posix-functions/wcsftime.texi: Likewise.
38122         * doc/posix-functions/wcslen.texi: Likewise.
38123         * doc/posix-functions/wcsncat.texi: Likewise.
38124         * doc/posix-functions/wcsncmp.texi: Likewise.
38125         * doc/posix-functions/wcsncpy.texi: Likewise.
38126         * doc/posix-functions/wcspbrk.texi: Likewise.
38127         * doc/posix-functions/wcsrchr.texi: Likewise.
38128         * doc/posix-functions/wcsrtombs.texi: Likewise.
38129         * doc/posix-functions/wcsspn.texi: Likewise.
38130         * doc/posix-functions/wcsstr.texi: Likewise.
38131         * doc/posix-functions/wcstod.texi: Likewise.
38132         * doc/posix-functions/wcstof.texi: Likewise.
38133         * doc/posix-functions/wcstoimax.texi: Likewise.
38134         * doc/posix-functions/wcstok.texi: Likewise.
38135         * doc/posix-functions/wcstold.texi: Likewise.
38136         * doc/posix-functions/wcstoll.texi: Likewise.
38137         * doc/posix-functions/wcstol.texi: Likewise.
38138         * doc/posix-functions/wcstombs.texi: Likewise.
38139         * doc/posix-functions/wcstoull.texi: Likewise.
38140         * doc/posix-functions/wcstoul.texi: Likewise.
38141         * doc/posix-functions/wcstoumax.texi: Likewise.
38142         * doc/posix-functions/wcswidth.texi: Likewise.
38143         * doc/posix-functions/wcsxfrm.texi: Likewise.
38144         * doc/posix-functions/wctob.texi: Likewise.
38145         * doc/posix-functions/wctomb.texi: Likewise.
38146         * doc/posix-functions/wctrans.texi: Likewise.
38147         * doc/posix-functions/wctype.texi: Likewise.
38148         * doc/posix-functions/wcwidth.texi: Likewise.
38149         * doc/posix-functions/wmemchr.texi: Likewise.
38150         * doc/posix-functions/wmemcmp.texi: Likewise.
38151         * doc/posix-functions/wmemcpy.texi: Likewise.
38152         * doc/posix-functions/wmemmove.texi: Likewise.
38153         * doc/posix-functions/wmemset.texi: Likewise.
38154         * doc/posix-functions/wprintf.texi: Likewise.
38155         * doc/posix-functions/wscanf.texi: Likewise.
38156
38157 2008-12-21  Bruno Haible  <bruno@clisp.org>
38158
38159         Update doc for HP-UX 11.11.
38160         * doc/posix-functions/btowc.texi: Clarify that the function is missing
38161         in HP-UX version 11.00, not in all versions of HP-UX 11.
38162         * doc/posix-functions/fwide.texi: Likewise.
38163         * doc/posix-functions/fwprintf.texi: Likewise.
38164         * doc/posix-functions/fwscanf.texi: Likewise.
38165         * doc/posix-functions/inet_ntop.texi: Likewise.
38166         * doc/posix-functions/inet_pton.texi: Likewise.
38167         * doc/posix-functions/mbrlen.texi: Likewise.
38168         * doc/posix-functions/mbrtowc.texi: Likewise.
38169         * doc/posix-functions/mbsinit.texi: Likewise.
38170         * doc/posix-functions/mbsrtowcs.texi: Likewise.
38171         * doc/posix-functions/swprintf.texi: Likewise.
38172         * doc/posix-functions/swscanf.texi: Likewise.
38173         * doc/posix-functions/towctrans.texi: Likewise.
38174         * doc/posix-functions/vfwprintf.texi: Likewise.
38175         * doc/posix-functions/vswprintf.texi: Likewise.
38176         * doc/posix-functions/vwprintf.texi: Likewise.
38177         * doc/posix-functions/wcrtomb.texi: Likewise.
38178         * doc/posix-functions/wcsrtombs.texi: Likewise.
38179         * doc/posix-functions/wcsstr.texi: Likewise.
38180         * doc/posix-functions/wctob.texi: Likewise.
38181         * doc/posix-functions/wctrans.texi: Likewise.
38182         * doc/posix-functions/wmemchr.texi: Likewise.
38183         * doc/posix-functions/wmemcmp.texi: Likewise.
38184         * doc/posix-functions/wmemcpy.texi: Likewise.
38185         * doc/posix-functions/wmemmove.texi: Likewise.
38186         * doc/posix-functions/wmemset.texi: Likewise.
38187         * doc/posix-functions/wprintf.texi: Likewise.
38188         * doc/posix-functions/wscanf.texi: Likewise.
38189
38190 2008-12-21  Bruno Haible  <bruno@clisp.org>
38191
38192         Work around a portability problem.
38193         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
38194         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
38195
38196 2008-12-20  Bruno Haible  <bruno@clisp.org>
38197
38198         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
38199         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
38200         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
38201         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
38202         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
38203
38204         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
38205         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
38206         set.
38207         (GNULIB_defined_mbstate_t): New macro.
38208         (mbsinit): Redefine if REPLACE_MBSINIT is set.
38209         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
38210         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
38211         reuses the system's mbrtowc function but works around the bugs.
38212         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
38213         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
38214         macros.
38215         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
38216         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
38217         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
38218         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
38219         REPLACE_MBSINIT if mbsinit needs to be overridden.
38220         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
38221         REPLACE_MBSINIT, REPLACE_MBRTOWC.
38222         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
38223         REPLACE_MBSINIT, REPLACE_MBRTOWC.
38224         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
38225         m4/locale-zh.m4.
38226         (Depends): Add mbsinit.
38227         * modules/mbsinit (Depends): Add mbrtowc.
38228         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
38229
38230 2008-12-20  Bruno Haible  <bruno@clisp.org>
38231
38232         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
38233         so that there are no conversion errors on AIX.
38234         * tests/test-mbsrtowcs.c (main): LIkewise.
38235
38236 2008-12-20  Bruno Haible  <bruno@clisp.org>
38237
38238         Work around wctob bug on Solaris <= 9.
38239         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
38240         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
38241         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
38242         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
38243         * modules/wctob (Files): Add m4/locale-fr.m4.
38244         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
38245
38246 2008-12-20  Bruno Haible  <bruno@clisp.org>
38247
38248         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
38249         /dev/null.
38250         * tests/test-select-in.sh: Likewise.
38251         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
38252
38253 2008-12-20  Bruno Haible  <bruno@clisp.org>
38254
38255         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
38256         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
38257         Cygwin 1.5.x.
38258
38259 2008-12-20  Bruno Haible  <bruno@clisp.org>
38260
38261         Ensure mbstate_t is defined on HP-UX 11.11.
38262         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
38263         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
38264         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
38265         AC_USE_SYSTEM_EXTENSIONS.
38266         * modules/fnmatch (Depends-on): Add extensions.
38267         * modules/mbrlen (Depends-on): Likewise.
38268         * modules/mbrtowc (Depends-on): Likewise.
38269         * modules/mbsinit (Depends-on): Likewise.
38270         * modules/mbsrtowcs (Depends-on): Likewise.
38271         * modules/mbswidth (Depends-on): Likewise.
38272         * modules/quotearg (Depends-on): Likewise.
38273         * modules/strftime (Depends-on): Likewise.
38274
38275 2008-12-20  Bruno Haible  <bruno@clisp.org>
38276
38277         Ensure wctob is declared on IRIX 6.5.
38278         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
38279         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
38280         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
38281         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
38282         of HAVE_WCTOB.
38283         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
38284         HAVE_WCTOB.
38285         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
38286
38287 2008-12-19  Bruno Haible  <bruno@clisp.org>
38288
38289         * modules/mbsrtowcs-tests: New file.
38290         * tests/test-mbsrtowcs1.sh: New file.
38291         * tests/test-mbsrtowcs2.sh: New file.
38292         * tests/test-mbsrtowcs3.sh: New file.
38293         * tests/test-mbsrtowcs4.sh: New file.
38294         * tests/test-mbsrtowcs.c: New file.
38295
38296         New module 'mbsrtowcs'.
38297         * lib/wchar.in.h (mbsrtowcs): New declaration.
38298         * lib/mbsrtowcs.c: New file.
38299         * m4/mbsrtowcs.m4: New file.
38300         * modules/mbsrtowcs: New file.
38301         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
38302         HAVE_MBSRTOWCS.
38303         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
38304         HAVE_MBSRTOWCS.
38305         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
38306
38307 2008-12-19  Bruno Haible  <bruno@clisp.org>
38308
38309         New module 'mbrlen'.
38310         * lib/wchar.in.h (mbrlen): New declaration.
38311         * lib/mbrlen.c: New file.
38312         * m4/mbrlen.m4: New file.
38313         * modules/mbrlen: New file.
38314         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
38315         HAVE_MBRLEN.
38316         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
38317         HAVE_MBRLEN.
38318         * doc/posix-functions/mbrlen.texi: Document the new module.
38319
38320 2008-12-19  Bruno Haible  <bruno@clisp.org>
38321
38322         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
38323         * modules/mbrtowc (Depends-on): Add verify.
38324         Suggested by Paul Eggert.
38325
38326 2008-12-18  Bruno Haible  <bruno@clisp.org>
38327
38328         * modules/mbsinit-tests: New file.
38329         * tests/test-mbsinit.sh: New file.
38330         * tests/test-mbsinit.c: New file.
38331
38332 2008-12-18  Bruno Haible  <bruno@clisp.org>
38333
38334         * modules/mbrtowc-tests: New file.
38335         * tests/test-mbrtowc1.sh: New file.
38336         * tests/test-mbrtowc2.sh: New file.
38337         * tests/test-mbrtowc3.sh: New file.
38338         * tests/test-mbrtowc4.sh: New file.
38339         * tests/test-mbrtowc.c: New file.
38340
38341         New module 'mbrtowc'.
38342         * lib/wchar.in.h (mbstate_t): Override when the system does not have
38343         mbsinit and mbrtowc.
38344         (mbrtowc): New declaration.
38345         * lib/mbrtowc.c: New file.
38346         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
38347         * modules/mbrtowc: New file.
38348         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
38349         HAVE_MBRTOWC.
38350         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
38351         HAVE_MBRTOWC.
38352         * doc/posix-functions/mbrtowc.texi: Document the new module.
38353
38354 2008-12-18  Bruno Haible  <bruno@clisp.org>
38355
38356         New module 'wctob'.
38357         * lib/wchar.in.h (wctob): New declaration.
38358         * lib/wctob.c: New file.
38359         * m4/wctob.m4: New file.
38360         * modules/wctob: New file.
38361         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
38362         HAVE_WCTOB.
38363         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
38364         * doc/posix-functions/wctob.texi: Document the new module.
38365
38366 2008-12-18  Bruno Haible  <bruno@clisp.org>
38367
38368         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
38369         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
38370
38371 2008-12-18  Simon Josefsson  <simon@josefsson.org>
38372
38373         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
38374         G. Christensen" <tgc@jupiterrise.com>.
38375
38376         * lib/flock.c: Need to include errno.h.  Reported by "Tom
38377         G. Christensen" <tgc@jupiterrise.com>.
38378
38379         * lib/flock.c: Need to include string.h.  Reported by "Tom
38380         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
38381         <ebb9@byu.net>.
38382
38383 2008-12-18  Bruno Haible  <bruno@clisp.org>
38384
38385         * m4/locale-ja.m4: New file, from GNU gettext.
38386
38387 2008-12-17  Bruno Haible  <bruno@clisp.org>
38388
38389         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
38390         Suggested by Eric Blake.
38391
38392 2008-12-17  Bruno Haible  <bruno@clisp.org>
38393
38394         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
38395
38396 2008-12-17  Bruno Haible  <bruno@clisp.org>
38397
38398         * lib/mbsinit.c: Include verify.h. Verify an assumption.
38399         * modules/mbsinit (Depends-on): Add verify.
38400         Suggested by Paul Eggert.
38401
38402 2008-12-17  Bruno Haible  <bruno@clisp.org>
38403
38404         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
38405         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
38406         gl_FUNC_MBRTOWC.
38407         * m4/mbiter.m4 (gl_MBITER): LIkewise.
38408         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
38409         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
38410         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
38411         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
38412         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
38413         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
38414         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
38415         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
38416         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
38417         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
38418         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
38419         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
38420         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
38421         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
38422         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
38423         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
38424         * modules/trim (configure.ac): Likewise.
38425
38426 2008-12-17  Bruno Haible  <bruno@clisp.org>
38427
38428         * modules/btowc-tests: New file.
38429         * tests/test-btowc1.sh: New file.
38430         * tests/test-btowc2.sh: New file.
38431         * tests/test-btowc.c: New file.
38432
38433         New module 'btowc'.
38434         * lib/wchar.in.h (btowc): New declaration.
38435         * lib/btowc.c: New file.
38436         * m4/btowc.m4: New file.
38437         * modules/btowc: New file.
38438         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
38439         HAVE_BTOWC.
38440         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
38441         * doc/posix-functions/btowc.texi: Document the new module.
38442
38443 2008-12-17  Bruno Haible  <bruno@clisp.org>
38444
38445         New module 'mbsinit'.
38446         * lib/wchar.in.h (mbsinit): New declaration.
38447         * lib/mbsinit.c: New file.
38448         * m4/mbsinit.m4: New file.
38449         * modules/mbsinit: New file.
38450         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
38451         HAVE_MBSINIT.
38452         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
38453         HAVE_MBSINIT.
38454         * doc/posix-functions/mbsinit.texi: Document the new module.
38455
38456 2008-12-16  Bruno Haible  <bruno@clisp.org>
38457
38458         * lib/unistd.in.h: Add comment.
38459         * tests/test-environ.c: Don't include <stdlib.h>.
38460
38461 2008-12-16  Bruno Haible  <bruno@clisp.org>
38462
38463         * lib/parse-duration.h (parse_duration): Document return value
38464         convention.
38465         * lib/parse-duration.c: Include specification header first. Add
38466         comments.
38467         (_): Remove macro.
38468         (parse_year_month_day, parse_hour_minute_second): Move side effects
38469         outside of strchr call.
38470         (parse_non_iso8601): Move side effects outside of isspace call.
38471         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
38472         call.
38473
38474 2008-12-16  Bruno Haible  <bruno@clisp.org>
38475
38476         * tests/test-parse-duration.sh: Produce no output when the test
38477         succeeds.
38478
38479 2008-12-16  Bruno Haible  <bruno@clisp.org>
38480
38481         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
38482         expressions.
38483
38484 2008-12-15  Bruno Haible  <bruno@clisp.org>
38485
38486         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
38487         * doc/glibc-functions/flistxattr.texi: Likewise.
38488         * doc/glibc-functions/fopencookie.texi: Likewise.
38489         * doc/glibc-functions/fremovexattr.texi: Likewise.
38490         * doc/glibc-functions/fsetxattr.texi: Likewise.
38491         * doc/glibc-functions/getxattr.texi: Likewise.
38492         * doc/glibc-functions/lgetxattr.texi: Likewise.
38493         * doc/glibc-functions/listxattr.texi: Likewise.
38494         * doc/glibc-functions/llistxattr.texi: Likewise.
38495         * doc/glibc-functions/lremovexattr.texi: Likewise.
38496         * doc/glibc-functions/lsetxattr.texi: Likewise.
38497         * doc/glibc-functions/removexattr.texi: Likewise.
38498         * doc/glibc-functions/setxattr.texi: Likewise.
38499         * doc/posix-functions/open_memstream.texi: Likewise.
38500
38501 2008-12-15  Eric Blake  <ebb9@byu.net>
38502
38503         Update doc for cygwin 1.7.
38504         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
38505         functions.
38506         * doc/posix-functions/fchmodat.texi: Likewise.
38507         * doc/posix-functions/fchownat.texi: Likewise.
38508         * doc/posix-functions/fdopendir.texi: Likewise.
38509         * doc/posix-functions/fmemopen.texi: Likewise.
38510         * doc/posix-functions/freeaddrinfo.texi: Likewise.
38511         * doc/posix-functions/fstatat.texi: Likewise.
38512         * doc/posix-functions/futimens.texi: Likewise.
38513         * doc/posix-functions/gai_strerror.texi: Likewise.
38514         * doc/posix-functions/getaddrinfo.texi: Likewise.
38515         * doc/posix-functions/getnameinfo.texi: Likewise.
38516         * doc/posix-functions/if_freenameindex.texi: Likewise.
38517         * doc/posix-functions/if_indextoname.texi: Likewise.
38518         * doc/posix-functions/if_nameindex.texi: Likewise.
38519         * doc/posix-functions/if_nametoindex.texi: Likewise.
38520         * doc/posix-functions/insque.texi: Likewise.
38521         * doc/posix-functions/linkat.texi: Likewise.
38522         * doc/posix-functions/llrint.texi: Likewise.
38523         * doc/posix-functions/llrintf.texi: Likewise.
38524         * doc/posix-functions/llrintl.texi: Likewise.
38525         * doc/posix-functions/lockf.texi: Likewise.
38526         * doc/posix-functions/lrintl.texi: Likewise.
38527         * doc/posix-functions/mkdirat.texi: Likewise.
38528         * doc/posix-functions/mkfifoat.texi: Likewise.
38529         * doc/posix-functions/mknodat.texi: Likewise.
38530         * doc/posix-functions/mq_close.texi: Likewise.
38531         * doc/posix-functions/mq_getattr.texi: Likewise.
38532         * doc/posix-functions/mq_notify.texi: Likewise.
38533         * doc/posix-functions/mq_open.texi: Likewise.
38534         * doc/posix-functions/mq_receive.texi: Likewise.
38535         * doc/posix-functions/mq_send.texi: Likewise.
38536         * doc/posix-functions/mq_setattr.texi: Likewise.
38537         * doc/posix-functions/mq_timedreceive.texi: Likewise.
38538         * doc/posix-functions/mq_timedsend.texi: Likewise.
38539         * doc/posix-functions/mq_unlink.texi: Likewise.
38540         * doc/posix-functions/open_memstream.texi: Likewise.
38541         * doc/posix-functions/openat.texi: Likewise.
38542         * doc/posix-functions/posix_fadvise.texi: Likewise.
38543         * doc/posix-functions/posix_fallocate.texi: Likewise.
38544         * doc/posix-functions/posix_madvise.texi: Likewise.
38545         * doc/posix-functions/posix_memalign.texi: Likewise.
38546         * doc/posix-functions/posix_openpt.texi: Likewise.
38547         * doc/posix-functions/readlinkat.texi: Likewise.
38548         * doc/posix-functions/remque.texi: Likewise.
38549         * doc/posix-functions/renameat.texi: Likewise.
38550         * doc/posix-functions/rintl.texi: Likewise.
38551         * doc/posix-functions/sem_unlink.texi: Likewise.
38552         * doc/posix-functions/shm_open.texi: Likewise.
38553         * doc/posix-functions/shm_unlink.texi: Likewise.
38554         * doc/posix-functions/signgam.texi: Likewise.
38555         * doc/posix-functions/sigset.texi: Likewise.
38556         * doc/posix-functions/stpcpy.texi: Likewise.
38557         * doc/posix-functions/stpncpy.texi: Likewise.
38558         * doc/posix-functions/strerror.texi: Likewise.
38559         * doc/posix-functions/strtod.texi: Likewise.
38560         * doc/posix-functions/symlinkat.texi: Likewise.
38561         * doc/posix-functions/unlinkat.texi: Likewise.
38562         * doc/posix-functions/utimensat.texi: Likewise.
38563         * doc/glibc-functions/bindresvport.texi: Likewise.
38564         * doc/glibc-functions/dn_expand.texi: Likewise.
38565         * doc/glibc-functions/exp10.texi: Likewise.
38566         * doc/glibc-functions/exp10f.texi: Likewise.
38567         * doc/glibc-functions/fgetxattr.texi: Likewise.
38568         * doc/glibc-functions/flistxattr.texi: Likewise.
38569         * doc/glibc-functions/fopencookie.texi: Likewise.
38570         * doc/glibc-functions/freeifaddrs.texi: Likewise.
38571         * doc/glibc-functions/fremovexattr.texi: Likewise.
38572         * doc/glibc-functions/fsetxattr.texi: Likewise.
38573         * doc/glibc-functions/getifaddrs.texi: Likewise.
38574         * doc/glibc-functions/getxattr.texi: Likewise.
38575         * doc/glibc-functions/lgetxattr.texi: Likewise.
38576         * doc/glibc-functions/listxattr.texi: Likewise.
38577         * doc/glibc-functions/llistxattr.texi: Likewise.
38578         * doc/glibc-functions/lremovexattr.texi: Likewise.
38579         * doc/glibc-functions/lsetxattr.texi: Likewise.
38580         * doc/glibc-functions/pow10.texi: Likewise.
38581         * doc/glibc-functions/pow10f.texi: Likewise.
38582         * doc/glibc-functions/rcmd_af.texi: Likewise.
38583         * doc/glibc-functions/removexattr.texi: Likewise.
38584         * doc/glibc-functions/res_init.texi: Likewise.
38585         * doc/glibc-functions/res_mkquery.texi: Likewise.
38586         * doc/glibc-functions/res_query.texi: Likewise.
38587         * doc/glibc-functions/res_querydomain.texi: Likewise.
38588         * doc/glibc-functions/res_send.texi: Likewise.
38589         * doc/glibc-functions/rresvport_af.texi: Likewise.
38590         * doc/glibc-functions/setxattr.texi: Likewise.
38591         * doc/glibc-functions/strcasestr.texi: Likewise.
38592
38593 2008-12-15  Bruno Haible  <bruno@clisp.org>
38594
38595         Fix compilation error on OSF/1 4.0.
38596         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
38597         <sys/time.h>, simply delegate to the system header.
38598         Reported by Daniel Richard G. <oss@teragram.com>.
38599
38600 2008-12-15  Bruno Haible  <bruno@clisp.org>
38601
38602         * doc/posix-functions/openat.texi: Mention the 'openat' module.
38603         * doc/posix-functions/fchmodat.texi: Likewise.
38604         * doc/posix-functions/fchownat.texi: Likewise.
38605         * doc/posix-functions/fdopendir.texi: Likewise.
38606         * doc/posix-functions/fstatat.texi: Likewise.
38607         * doc/posix-functions/mkdirat.texi: Likewise.
38608         * doc/posix-functions/unlinkat.texi: Likewise.
38609
38610 2008-12-14  Bruno Haible  <bruno@clisp.org>
38611
38612         Update doc for POSIX:2008.
38613         * doc/posix-functions/faccessat.texi: New file.
38614         * doc/posix-functions/fchmodat.texi: New file.
38615         * doc/posix-functions/fchownat.texi: New file.
38616         * doc/posix-functions/fdopendir.texi: New file.
38617         * doc/posix-functions/fstatat.texi: New file.
38618         * doc/posix-functions/futimens.texi: New file.
38619         * doc/posix-functions/linkat.texi: New file.
38620         * doc/posix-functions/mkdirat.texi: New file.
38621         * doc/posix-functions/mkfifoat.texi: New file.
38622         * doc/posix-functions/mknodat.texi: New file.
38623         * doc/posix-functions/open_wmemstream.texi: New file.
38624         * doc/posix-functions/openat.texi: New file.
38625         * doc/posix-functions/psiginfo.texi: New file.
38626         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
38627         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
38628         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
38629         * doc/posix-functions/readlinkat.texi: New file.
38630         * doc/posix-functions/renameat.texi: New file.
38631         * doc/posix-functions/strerror_l.texi: New file.
38632         * doc/posix-functions/symlinkat.texi: New file.
38633         * doc/posix-functions/unlinkat.texi: New file.
38634         * doc/posix-functions/utimensat.texi: New file.
38635         * doc/gnulib.texi (Function Substitutes): Add these subsections.
38636
38637 2008-12-14  Bruno Haible  <bruno@clisp.org>
38638
38639         Update doc for POSIX:2008.
38640         * doc/posix-functions/alphasort.texi: Renamed from
38641         doc/glibc-functions/alphasort.texi.
38642         * doc/posix-functions/dirfd.texi: Renamed from
38643         doc/glibc-functions/dirfd.texi.
38644         * doc/posix-functions/dprintf.texi: Renamed from
38645         doc/glibc-functions/dprintf.texi.
38646         * doc/posix-functions/duplocale.texi: Renamed from
38647         doc/glibc-functions/duplocale.texi.
38648         * doc/posix-functions/fexecve.texi: Renamed from
38649         doc/glibc-functions/fexecve.texi.
38650         * doc/posix-functions/fmemopen.texi: Renamed from
38651         doc/glibc-functions/fmemopen.texi.
38652         * doc/posix-functions/freelocale.texi: Renamed from
38653         doc/glibc-functions/freelocale.texi.
38654         * doc/posix-functions/getdate_err.texi: Renamed from
38655         doc/glibc-functions/getdate_err.texi.
38656         * doc/posix-functions/isalnum_l.texi: Renamed from
38657         doc/glibc-functions/isalnum_l.texi.
38658         * doc/posix-functions/isalpha_l.texi: Renamed from
38659         doc/glibc-functions/isalpha_l.texi.
38660         * doc/posix-functions/isblank_l.texi: Renamed from
38661         doc/glibc-functions/isblank_l.texi.
38662         * doc/posix-functions/iscntrl_l.texi: Renamed from
38663         doc/glibc-functions/iscntrl_l.texi.
38664         * doc/posix-functions/isdigit_l.texi: Renamed from
38665         doc/glibc-functions/isdigit_l.texi.
38666         * doc/posix-functions/isgraph_l.texi: Renamed from
38667         doc/glibc-functions/isgraph_l.texi.
38668         * doc/posix-functions/islower_l.texi: Renamed from
38669         doc/glibc-functions/islower_l.texi.
38670         * doc/posix-functions/isprint_l.texi: Renamed from
38671         doc/glibc-functions/isprint_l.texi.
38672         * doc/posix-functions/ispunct_l.texi: Renamed from
38673         doc/glibc-functions/ispunct_l.texi.
38674         * doc/posix-functions/isspace_l.texi: Renamed from
38675         doc/glibc-functions/isspace_l.texi.
38676         * doc/posix-functions/isupper_l.texi: Renamed from
38677         doc/glibc-functions/isupper_l.texi.
38678         * doc/posix-functions/iswalnum_l.texi: Renamed from
38679         doc/glibc-functions/iswalnum_l.texi.
38680         * doc/posix-functions/iswalpha_l.texi: Renamed from
38681         doc/glibc-functions/iswalpha_l.texi.
38682         * doc/posix-functions/iswblank_l.texi: Renamed from
38683         doc/glibc-functions/iswblank_l.texi.
38684         * doc/posix-functions/iswcntrl_l.texi: Renamed from
38685         doc/glibc-functions/iswcntrl_l.texi.
38686         * doc/posix-functions/iswctype_l.texi: Renamed from
38687         doc/glibc-functions/iswctype_l.texi.
38688         * doc/posix-functions/iswdigit_l.texi: Renamed from
38689         doc/glibc-functions/iswdigit_l.texi.
38690         * doc/posix-functions/iswgraph_l.texi: Renamed from
38691         doc/glibc-functions/iswgraph_l.texi.
38692         * doc/posix-functions/iswlower_l.texi: Renamed from
38693         doc/glibc-functions/iswlower_l.texi.
38694         * doc/posix-functions/iswprint_l.texi: Renamed from
38695         doc/glibc-functions/iswprint_l.texi.
38696         * doc/posix-functions/iswpunct_l.texi: Renamed from
38697         doc/glibc-functions/iswpunct_l.texi.
38698         * doc/posix-functions/iswspace_l.texi: Renamed from
38699         doc/glibc-functions/iswspace_l.texi.
38700         * doc/posix-functions/iswupper_l.texi: Renamed from
38701         doc/glibc-functions/iswupper_l.texi.
38702         * doc/posix-functions/iswxdigit_l.texi: Renamed from
38703         doc/glibc-functions/iswxdigit_l.texi.
38704         * doc/posix-functions/isxdigit_l.texi: Renamed from
38705         doc/glibc-functions/isxdigit_l.texi.
38706         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
38707         doc/glibc-functions/mbsnrtowcs.texi.
38708         * doc/posix-functions/mkdtemp.texi: Renamed from
38709         doc/glibc-functions/mkdtemp.texi.
38710         * doc/posix-functions/newlocale.texi: Renamed from
38711         doc/glibc-functions/newlocale.texi.
38712         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
38713         doc/glibc-functions/nl_langinfo_l.texi.
38714         * doc/posix-functions/open_memstream.texi: Renamed from
38715         doc/glibc-functions/open_memstream.texi.
38716         * doc/posix-functions/opterr.texi: Renamed from
38717         doc/glibc-functions/opterr.texi.
38718         * doc/posix-functions/optind.texi: Renamed from
38719         doc/glibc-functions/optind.texi.
38720         * doc/posix-functions/optopt.texi: Renamed from
38721         doc/glibc-functions/optopt.texi.
38722         * doc/posix-functions/psignal.texi: Renamed from
38723         doc/glibc-functions/psignal.texi.
38724         * doc/posix-functions/scandir.texi: Renamed from
38725         doc/glibc-functions/scandir.texi.
38726         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
38727         doc/glibc-functions/sched_get_priority_min.texi.
38728         * doc/posix-functions/signgam.texi: Renamed from
38729         doc/glibc-functions/signgam.texi.
38730         * doc/posix-functions/stpcpy.texi: Renamed from
38731         doc/glibc-functions/stpcpy.texi.
38732         * doc/posix-functions/stpncpy.texi: Renamed from
38733         doc/glibc-functions/stpncpy.texi.
38734         * doc/posix-functions/strcasecmp_l.texi: Renamed from
38735         doc/glibc-functions/strcasecmp_l.texi.
38736         * doc/posix-functions/strcoll_l.texi: Renamed from
38737         doc/glibc-functions/strcoll_l.texi.
38738         * doc/posix-functions/strfmon_l.texi: Renamed from
38739         doc/glibc-functions/strfmon_l.texi.
38740         * doc/posix-functions/strftime_l.texi: Renamed from
38741         doc/glibc-functions/strftime_l.texi.
38742         * doc/posix-functions/strncasecmp_l.texi: Renamed from
38743         doc/glibc-functions/strncasecmp_l.texi.
38744         * doc/posix-functions/strndup.texi: Renamed from
38745         doc/glibc-functions/strndup.texi.
38746         * doc/posix-functions/strnlen.texi: Renamed from
38747         doc/glibc-functions/strnlen.texi.
38748         * doc/posix-functions/strsignal.texi: Renamed from
38749         doc/glibc-functions/strsignal.texi.
38750         * doc/posix-functions/strxfrm_l.texi: Renamed from
38751         doc/glibc-functions/strxfrm_l.texi.
38752         * doc/posix-functions/timer_gettime.texi: Renamed from
38753         doc/glibc-functions/timer_gettime.texi.
38754         * doc/posix-functions/tolower_l.texi: Renamed from
38755         doc/glibc-functions/tolower_l.texi.
38756         * doc/posix-functions/toupper_l.texi: Renamed from
38757         doc/glibc-functions/toupper_l.texi.
38758         * doc/posix-functions/towctrans_l.texi: Renamed from
38759         doc/glibc-functions/towctrans_l.texi.
38760         * doc/posix-functions/towlower_l.texi: Renamed from
38761         doc/glibc-functions/towlower_l.texi.
38762         * doc/posix-functions/towupper_l.texi: Renamed from
38763         doc/glibc-functions/towupper_l.texi.
38764         * doc/posix-functions/uselocale.texi: Renamed from
38765         doc/glibc-functions/uselocale.texi.
38766         * doc/posix-functions/vdprintf.texi: Renamed from
38767         doc/glibc-functions/vdprintf.texi.
38768         * doc/posix-functions/wcpcpy.texi:
38769         Renamed from doc/glibc-functions/wcpcpy.texi.
38770         * doc/posix-functions/wcpncpy.texi: Renamed from
38771         doc/glibc-functions/wcpncpy.texi.
38772         * doc/posix-functions/wcscasecmp.texi: Renamed from
38773         doc/glibc-functions/wcscasecmp.texi.
38774         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
38775         doc/glibc-functions/wcscasecmp_l.texi.
38776         * doc/posix-functions/wcscoll_l.texi: Renamed from
38777         doc/glibc-functions/wcscoll_l.texi.
38778         * doc/posix-functions/wcsdup.texi: Renamed from
38779         doc/glibc-functions/wcsdup.texi.
38780         * doc/posix-functions/wcsncasecmp.texi: Renamed from
38781         doc/glibc-functions/wcsncasecmp.texi.
38782         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
38783         doc/glibc-functions/wcsncasecmp_l.texi.
38784         * doc/posix-functions/wcsnlen.texi: Renamed from
38785         doc/glibc-functions/wcsnlen.texi.
38786         * doc/posix-functions/wcsnrtombs.texi: Renamed from
38787         doc/glibc-functions/wcsnrtombs.texi.
38788         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
38789         doc/glibc-functions/wcsxfrm_l.texi.
38790         * doc/posix-functions/wctrans_l.texi: Renamed from
38791         doc/glibc-functions/wctrans_l.texi.
38792         * doc/posix-functions/wctype_l.texi: Renamed from
38793         doc/glibc-functions/wctype_l.texi.
38794         * doc/gnulib.texi (Function Substitutes): Add these subsections.
38795         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
38796         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
38797         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
38798         these subsections.
38799         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
38800         Remove sections.
38801
38802 2008-12-14  Bruno Haible  <bruno@clisp.org>
38803
38804         Update doc for POSIX:2008.
38805         * doc/posix-functions/*.texi: Update URL of POSIX specification.
38806
38807 2008-12-14  Bruno Haible  <bruno@clisp.org>
38808
38809         Update doc for POSIX:2008.
38810         * doc/pastposix-functions/bcmp.texi: Renamed from
38811         doc/posix-functions/bcmp.texi.
38812         * doc/pastposix-functions/bcopy.texi: Renamed from
38813         doc/posix-functions/bcopy.texi.
38814         * doc/pastposix-functions/bsd_signal.texi: Renamed from
38815         doc/posix-functions/bsd_signal.texi.
38816         * doc/pastposix-functions/bzero.texi: Renamed from
38817         doc/posix-functions/bzero.texi.
38818         * doc/pastposix-functions/ecvt.texi: Renamed from
38819         doc/posix-functions/ecvt.texi.
38820         * doc/pastposix-functions/fcvt.texi: Renamed from
38821         doc/posix-functions/fcvt.texi.
38822         * doc/pastposix-functions/ftime.texi: Renamed from
38823         doc/posix-functions/ftime.texi.
38824         * doc/pastposix-functions/gcvt.texi: Renamed from
38825         doc/posix-functions/gcvt.texi.
38826         * doc/pastposix-functions/getcontext.texi: Renamed from
38827         doc/posix-functions/getcontext.texi.
38828         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
38829         doc/posix-functions/gethostbyaddr.texi.
38830         * doc/pastposix-functions/gethostbyname.texi: Renamed from
38831         doc/posix-functions/gethostbyname.texi.
38832         * doc/pastposix-functions/getwd.texi: Renamed from
38833         doc/posix-functions/getwd.texi.
38834         * doc/pastposix-functions/h_errno.texi: Renamed from
38835         doc/posix-functions/h_errno.texi.
38836         * doc/pastposix-functions/index.texi: Renamed from
38837         doc/posix-functions/index.texi.
38838         * doc/pastposix-functions/makecontext.texi: Renamed from
38839         doc/posix-functions/makecontext.texi.
38840         * doc/pastposix-functions/mktemp.texi: Renamed from
38841         doc/posix-functions/mktemp.texi.
38842         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
38843         doc/posix-functions/pthread_attr_getstackaddr.texi.
38844         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
38845         doc/posix-functions/pthread_attr_setstackaddr.texi.
38846         * doc/pastposix-functions/rindex.texi: Renamed from
38847         doc/posix-functions/rindex.texi.
38848         * doc/pastposix-functions/scalb.texi: Renamed from
38849         doc/posix-functions/scalb.texi.
38850         * doc/pastposix-functions/setcontext.texi: Renamed from
38851         doc/posix-functions/setcontext.texi.
38852         * doc/pastposix-functions/swapcontext.texi: Renamed from
38853         doc/posix-functions/swapcontext.texi.
38854         * doc/pastposix-functions/ualarm.texi: Renamed from
38855         doc/posix-functions/ualarm.texi.
38856         * doc/pastposix-functions/usleep.texi: Renamed from
38857         doc/posix-functions/usleep.texi.
38858         * doc/pastposix-functions/vfork.texi: Renamed from
38859         doc/posix-functions/vfork.texi.
38860         * doc/pastposix-functions/wcswcs.texi: Renamed from
38861         doc/posix-functions/wcswcs.texi.
38862         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
38863         (Function Substitutes): Update.
38864
38865 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38866
38867         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
38868         m4/strerror.m4.
38869
38870 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38871             Bruno Haible  <bruno@clisp.org>
38872
38873         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
38874
38875 2008-12-13  Bruno Haible  <bruno@clisp.org>
38876
38877         * modules/strtoull (Depends-on): Remove unistd.
38878
38879 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38880
38881         * modules/strtoull (Depends-on): Add stdlib.
38882
38883 2008-12-11  Simon Josefsson  <simon@josefsson.org>
38884
38885         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
38886
38887 2008-12-10  Jim Meyering  <meyering@redhat.com>
38888
38889         gl_ASSERT: don't say assertions are disabled when they're not
38890         * m4/assert.m4 (gl_ASSERT): Do not make configure report
38891         "checking whether to enable assertions... no", when they are in
38892         fact enabled.  This is solely a bug in the output of configure.
38893         In spite of saying "no", NDEBUG was not defined in that case.
38894         Also, as noted by Eric Blake, leave assertions enabled upon
38895         --enable-assert=INVALID.
38896
38897 2008-12-10  Bruno Haible  <bruno@clisp.org>
38898
38899         Change MODULES.html to refer to POSIX:2008 where possible.
38900         * MODULES.html.sh (POSIX2008_URL): New variable.
38901         (posix_headers): Remove sys/timeb, ucontext.
38902         (posix2001_headers): New variable.
38903         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
38904         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
38905         index, makecontext, mktemp, pthread_attr_getstackaddr,
38906         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
38907         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
38908         (posix2001_functions): New variable.
38909         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
38910         otherwise.
38911
38912 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38913
38914         add missing include to parse-duration.c
38915         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
38916         * modules/parse-duration (Depends-on): Add xalloc.
38917
38918         fix sed script reading maint.mk
38919         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
38920         (syntax-check-rules): Use it.
38921
38922 2008-12-09  Bruno Haible  <bruno@clisp.org>
38923
38924         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
38925         MacOS X 10.4/PowerPC.
38926         Reported by Simon Josefsson.
38927
38928 2008-12-08  Jim Meyering  <meyering@redhat.com>
38929
38930         work around mingw's lack of some S_IF definitions
38931         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
38932         Reported by Simon Josefsson.
38933
38934 2008-12-08  Bruno Haible  <bruno@clisp.org>
38935
38936         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
38937         applied to variables. Needed on MacOS X 10.4/PowerPC.
38938         Reported by Simon Josefsson.
38939
38940 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
38941         and Eric Blake  <ebb9@byu.net>
38942
38943         assert: honor --enable-assert
38944         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
38945         order to honor --enable-assert, rather than treating it as a
38946         synonym for --disable-assert.
38947
38948 2008-12-08  Jim Meyering  <meyering@redhat.com>
38949
38950         * lib/posixtm.c: Remove now-useless declaration of mktime.
38951
38952         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
38953
38954 2008-12-07  Bruno Haible  <bruno@clisp.org>
38955
38956         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
38957         test_once): Mark functions as static.
38958         * tests/test-tls.c (test_tls): Likewise.
38959
38960 2008-12-07  Bruno Haible  <bruno@clisp.org>
38961
38962         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
38963         iconv_register_autodetect.
38964
38965 2008-12-07  Jim Meyering  <meyering@redhat.com>
38966
38967         posixtm.c: avoid a warning
38968         * lib/posixtm.c (posixtime): Don't initialize tm0.
38969         It's no longer needed to placate gcc4's -Wuninitialized,
38970         and the attempt to placate would elicit a new warning.
38971
38972         unicodeio.c: mark unused parameters
38973         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
38974         (fallback_failure_callback): Likewise.
38975
38976 2008-12-07  Bruno Haible  <bruno@clisp.org>
38977
38978         * gnulib-tool (func_create_testdir): When building the tests
38979         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
38980         Reported by Simon Josefsson.
38981
38982 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38983
38984         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
38985
38986 2008-12-06  Bruno Haible  <bruno@clisp.org>
38987
38988         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
38989         Suggested by Eric Blake.
38990
38991 2008-12-06  Bruno Haible  <bruno@clisp.org>
38992
38993         Fix a c-stack test failure on MacOS X.
38994         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
38995         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
38996         handler for SIGBUS as well.
38997         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
38998         install a signal handler for SIGBUS as well.
38999         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
39000
39001 2008-12-06  Bruno Haible  <bruno@clisp.org>
39002
39003         Advocacy documentation.
39004         * doc/gnulib-intro.texi (Benefits): New section.
39005         * doc/gnulib.texi: Update.
39006
39007 2008-12-06  Bruno Haible  <bruno@clisp.org>
39008
39009         Document the 'manywarnings' module.
39010         * doc/manywarnings.texi: New file.
39011         * doc/gnulib.texi: Include it.
39012
39013 2008-12-05  Eric Blake  <ebb9@byu.net>
39014
39015         tests: silence some gcc warnings
39016         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
39017         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
39018         type mismatches.
39019
39020 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39021             Bruno Haible  <bruno@clisp.org>
39022
39023         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
39024
39025 2008-11-29  Jim Meyering  <meyering@redhat.com>
39026
39027         unicodeio.c: mark unused parameters
39028         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
39029         (fallback_failure_callback): Likewise.
39030
39031         fts: fix a thinko
39032         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
39033         (set_stat_type): Return S_IF*-valued "type" directly.
39034         Prompted by James Youngman's spotting a related bug.
39035         Confirmed by further testing through find.
39036
39037         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
39038         * lib/fts.c (D_TYPE): Define.
39039         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
39040         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
39041         (s_ifmt_shift_bits): New function.
39042         (set_stat_type): New function.
39043         (fts_build): When not calling fts_stat, call set_stat_type
39044         to propagate dirent.d_type info to fts_read caller.
39045         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
39046         fts_statp->st_mode type information may be valid.
39047
39048 2008-11-28  Simon Josefsson  <simon@josefsson.org>
39049
39050         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
39051         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
39052         <sds@gnu.org>.
39053
39054 2008-11-20  Bruno Haible  <bruno@clisp.org>
39055
39056         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
39057         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
39058         INCLUDE_NEXT.
39059         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
39060         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
39061         * modules/math (Makefile.am): Substitute
39062         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
39063         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
39064
39065 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
39066             Bruno Haible  <bruno@clisp.org>
39067
39068         * lib/stdint.in.h: Define all type macros so that their expansion is
39069         a single typedef'ed token. Fixes a compilation failure in Boost which
39070         does "using ::int8_t;".
39071
39072 2008-11-18  Simon Josefsson  <simon@josefsson.org>
39073
39074         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
39075         gl_MANYWARN_ALL_GCC.
39076         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
39077         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
39078         * modules/manywarnings: New file.
39079         * MODULES.html.sh: Mention manywarnings module.
39080
39081 2008-11-18  Bruno Haible  <bruno@clisp.org>
39082
39083         * doc/gnulib-tool.texi (Unit tests): New section.
39084
39085 2008-11-18  Simon Josefsson  <simon@josefsson.org>
39086
39087         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
39088         paths like 'lib/po/foo.po'.
39089
39090 2008-11-17  Simon Josefsson  <simon@josefsson.org>
39091
39092         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
39093         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
39094
39095 2008-11-17  Simon Josefsson  <simon@josefsson.org>
39096
39097         * m4/warnings.m4: Use CPPFLAGS to really check whether the
39098         parameter works.
39099
39100 2008-11-17  Simon Josefsson  <simon@josefsson.org>
39101
39102         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
39103
39104 2008-11-17  Bruce Korb  <bkorb@gnu.org>
39105
39106         * modules/parse-duration-tests: New file.
39107         * tests/test-parse-duration.sh: New file.
39108         * tests/test-parse-duration.c: New file.
39109
39110         New module 'parse-duration'.
39111         * lib/parse-duration.h: New file.
39112         * lib/parse-duration.c: New file.
39113         * modules/parse-duration: New file.
39114
39115 2008-11-17  Bruno Haible  <bruno@clisp.org>
39116
39117         * tests/test-select-out.sh: Comment out the first pipe test.
39118         Reported by Simon Josefsson.
39119
39120 2008-11-17  Bruno Haible  <bruno@clisp.org>
39121
39122         * modules/getaddrinfo (Depends-on): Add servent, hostent.
39123         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
39124         gl_HOSTENT.
39125
39126 2008-11-17  Bruno Haible  <bruno@clisp.org>
39127
39128         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
39129         -lnetwork and -lnet. Needed for Haiku and BeOS.
39130
39131 2008-11-16  Bruno Haible  <bruno@clisp.org>
39132
39133         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
39134
39135 2008-11-16  Bruno Haible  <bruno@clisp.org>
39136
39137         Avoid test failure on Haiku.
39138         * tests/test-fsync.c: Include <errno.h>.
39139         (main): Don't require that fsync (0) fails.
39140
39141 2008-11-15  Bruno Haible  <bruno@clisp.org>
39142
39143         New module 'hostent'.
39144         * modules/hostent: New file.
39145         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
39146
39147 2008-11-15  Bruno Haible  <bruno@clisp.org>
39148
39149         New module 'servent'.
39150         * modules/servent: New file.
39151         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
39152
39153 2008-11-15  Bruno Haible  <bruno@clisp.org>
39154
39155         Avoid generating same test program with two different rules.
39156         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
39157         test-frexp to test-frexp-nolibm.
39158         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
39159         test-frexpl to test-frexpl-nolibm.
39160
39161 2008-11-15  Bruno Haible  <bruno@clisp.org>
39162
39163         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
39164         $(FREXPL_LIBM).
39165
39166 2008-11-15  Bruno Haible  <bruno@clisp.org>
39167
39168         * lib/netdb.in.h: Activate the definitions also when the system's
39169         <netdb.h> has 'struct addrinfo'.
39170         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
39171         EAI_OVERFLOW or AI_NUMERICSERV.
39172         * doc/posix-headers/netdb.texi: Document the problem.
39173
39174 2008-11-15  Bruno Haible  <bruno@clisp.org>
39175
39176         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
39177
39178         Make the 'sched' module work on platforms where <sched.h> exists but
39179         is incomplete (such as Haiku).
39180         * lib/sched.in.h; Include the system's <sched.h> if it exists.
39181         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
39182         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
39183         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
39184         HAVE_STRUCT_SCHED_PARAM.
39185         * modules/sched (Depends-on): Add include_next.
39186         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
39187         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
39188         * doc/posix-headers/sched.texi: Document the issue.
39189
39190 2008-11-13  Jim Meyering  <meyering@redhat.com>
39191
39192         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
39193         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
39194         test would fail due to the difference in the Report bugs to ...
39195         line.  The expected address is empty, "<>", while the actual
39196         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
39197
39198 2008-11-12  Bruno Haible  <bruno@clisp.org>
39199
39200         lstat: don't compile lstat.c on systems lacking lstat
39201         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
39202         which don't have lstat; this is handled by lib/sys_stat.in.h already.
39203         Reported by Daniel P. Berrange via Jim Meyering.
39204
39205 2008-11-12  Jim Meyering  <meyering@redhat.com>
39206
39207         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
39208
39209 2008-11-12  Simon Josefsson  <simon@josefsson.org>
39210
39211         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
39212         instead.
39213
39214 2008-11-12  Bruno Haible  <bruno@clisp.org>
39215
39216         * lib/unicodeio.c: Include unistr.h.
39217         (utf8_wctomb): Remove function.
39218         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
39219
39220 2008-11-12  Simon Josefsson  <simon@josefsson.org>
39221
39222         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
39223         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
39224         <bruno@clisp.org>.
39225         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
39226
39227 2008-11-12  Simon Josefsson  <simon@josefsson.org>
39228
39229         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
39230         * doc/gnulib.texi: Add section for warnings.
39231
39232 2008-11-11  Bruno Haible  <bruno@clisp.org>
39233
39234         * lib/sockets.h: Add a comment.
39235
39236 2008-11-11  Karl Berry  <karl@gnu.org>
39237
39238         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
39239
39240 2008-11-11  Eric Blake  <ebb9@byu.net>
39241
39242         fdl.texi: avoid git symlinks
39243         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
39244
39245 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
39246
39247         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
39248
39249 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
39250
39251         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
39252         (gl_WARN_ADD): Substitute $2 if literal.
39253
39254 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
39255
39256         * m4/warning.m4: Remove.
39257
39258 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
39259
39260         * m4/warnings.m4: Almost complete rewrite. :-)
39261
39262 2008-11-10  Simon Josefsson  <simon@josefsson.org>
39263
39264         * modules/warnings: New module.
39265         * m4/warnings.m4: New file.
39266         * MODULES.html.sh: Mention warnings module.
39267         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
39268         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39269
39270 2008-11-10  Eric Blake  <ebb9@byu.net>
39271
39272         fdl.texi: make a symlink to the latest version
39273         * doc/standards.texi: Revert today's earlier change.
39274         * doc/fdl-1.2.texi: Rename from old fdl.texi...
39275         * doc/fdl.texi: ...and replace this with a symlink to the newer
39276         fdl-1.3.texi.
39277
39278 2008-11-10  Bruno Haible  <bruno@clisp.org>
39279
39280         * tests/test-select-fd.c (main): Accept the result file name as fourth
39281         argument.
39282         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
39283         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
39284
39285 2008-11-10  Bruno Haible  <bruno@clisp.org>
39286
39287         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
39288         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
39289         as autoconf-substituted macros.
39290         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
39291         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
39292         gl_NETDB_H_DEFAULTS. Set these variables.
39293         * modules/netdb (Makefile.am): Substitute these variables.
39294
39295 2008-11-10  Eric Blake  <ebb9@byu.net>
39296
39297         standards.texi: include correct file for FDL 1.3
39298         * doc/standards.texi (GNU Free Documentation License): Change
39299         include file to pull in FDL 1.3, not 1.2.
39300
39301         fdl.texi: revert accidental change to license
39302         * doc/fdl.texi: This is FDL 1.2, not 1.3.
39303
39304 2008-11-10  Bruno Haible  <bruno@clisp.org>
39305
39306         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
39307         cross-compiling guesses also when the native compile gives no result.
39308
39309 2008-11-10  Bruno Haible  <bruno@clisp.org>
39310
39311         * lib/spawni.c (__spawni): Force variable into the stack.
39312
39313 2008-11-10  Bruno Haible  <bruno@clisp.org>
39314
39315         Add support for Haiku.
39316         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
39317         glibc and BeOS, but also on Haiku.
39318         * lib/fpurge.c (fpurge): Likewise.
39319         * lib/freadable.c (freadable): Likewise.
39320         * lib/freadahead.c (freadahead): Likewise.
39321         * lib/freading.c (freading): Likewise.
39322         * lib/freadptr.c (freadptr): Likewise.
39323         * lib/freadseek.c (freadptrinc): Likewise.
39324         * lib/fseeko.c (rpl_fseeko): Likewise.
39325         * lib/fseterr.c (fseterr): Likewise.
39326         * lib/fwritable.c (fwritable): Likewise.
39327         * lib/fwriting.c (fwriting): Likewise.
39328         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
39329
39330 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
39331
39332         * lib/config.charset: Treat Haiku like BeOS.
39333
39334 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
39335
39336         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
39337         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
39338
39339 2008-11-08  Bruno Haible  <bruno@clisp.org>
39340
39341         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
39342         AC_CACHE_CHECK.
39343
39344 2008-11-08  Bruno Haible  <bruno@clisp.org>
39345
39346         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
39347
39348 2008-11-08  Bruno Haible  <bruno@clisp.org>
39349
39350         * tests/test-select-fd.c: New file.
39351         * tests/test-select-in.sh: New file.
39352         * tests/test-select-out.sh: New file.
39353         * tests/test-select-stdin.c: New file.
39354         * modules/select-tests (Files): Add the new files.
39355         (Depends-on): Add gettimeofday.
39356         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
39357         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
39358         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
39359
39360 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
39361             Bruno Haible  <bruno@clisp.org>
39362
39363         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
39364
39365 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
39366
39367         * build-aux/pmccabe2html: Added support for C++ source files.
39368
39369 2008-11-05  Ben Pfaff  <blp@gnu.org>
39370
39371         Fix lib/close.c build on Windows.
39372         * modules/close (Files): Add lib/w32sock.h.
39373
39374 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
39375
39376         Accept Bison's NEWS format.
39377         * build-aux/announce-gen (print_news_deltas): Tweak
39378         $re_prefix.
39379
39380 2008-11-04  Bruno Haible  <bruno@clisp.org>
39381
39382         * modules/random_r (Maintainer): Add glibc.
39383
39384 2008-11-04  Simon Josefsson  <simon@josefsson.org>
39385
39386         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
39387         by karl@freefriends.org (Karl Berry).
39388         * doc/alloca.texi: Likewise.
39389         * doc/c-ctype.texi: Likewise.
39390         * doc/c-strcase.texi: Likewise.
39391         * doc/c-strcaseeq.texi: Likewise.
39392         * doc/c-strcasestr.texi: Likewise.
39393         * doc/c-strstr.texi: Likewise.
39394         * doc/c-strtod.texi: Likewise.
39395         * doc/c-strtold.texi: Likewise.
39396         * doc/ctime.texi: Likewise.
39397         * doc/error.texi: Likewise.
39398         * doc/fdl.texi: Likewise.
39399         * doc/gcd.texi: Likewise.
39400         * doc/getdate.texi: Likewise.
39401         * doc/gnulib-intro.texi: Likewise.
39402         * doc/gnulib-tool.texi: Likewise.
39403         * doc/gnulib.texi: Likewise.
39404         * doc/inet_ntoa.texi: Likewise.
39405         * doc/maintain.texi: Likewise.
39406         * doc/make-stds.texi: Likewise.
39407         * doc/quote.texi: Likewise.
39408         * doc/regexprops-generic.texi: Likewise.
39409         * doc/standards.texi: Likewise.
39410         * doc/verify.texi: Likewise.
39411         * doc/visibility.texi: Likewise.
39412         * doc/gnulib.texi (GNU Free Documentation License): Include
39413         fdl-1.3.texi instead of fdl.texi.
39414
39415 2008-11-04  Simon Josefsson  <simon@josefsson.org>
39416
39417         * doc/fdl-1.3.texi: New file, from
39418         <http://www.gnu.org/licenses/fdl-1.3.texi>.
39419         * modules/fdl-1.3: Add.
39420         * MODULES.html.sh: Add fdl-1.3.
39421
39422 2008-11-03  Bruno Haible  <bruno@clisp.org>
39423
39424         Make determination of absolute name of header file work with AIX xlc.
39425         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
39426         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
39427         preprocessing.
39428         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
39429         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
39430
39431 2008-11-03  Simon Josefsson  <simon@josefsson.org>
39432
39433         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
39434         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
39435         <ludo@gnu.org>.
39436
39437 2008-11-02  Bruno Haible  <bruno@clisp.org>
39438
39439         Mark 'strpbrk' obsolete.
39440         * modules/strpbrk (Status, Notice): New sections.
39441         * modules/strtok_r (Depends-on): Add strpbrk.
39442
39443 2008-11-02  Bruno Haible  <bruno@clisp.org>
39444
39445         Mark 'strdup' obsolete.
39446         * modules/strdup (Status, Notice): New sections.
39447         * modules/findprog (Depends-on): Add strdup.
39448         * modules/getaddrinfo (Depends-on): Likewise.
39449         * modules/localename (Depends-on): Likewise.
39450         * modules/relocatable-lib (Depends-on): Likewise.
39451         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
39452         * modules/relocatable-prog (Depends-on): Likewise.
39453         * modules/trim (Depends-on): Likewise.
39454         * modules/unictype/gen-ctype (Depends-on): Likewise.
39455         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
39456
39457 2008-11-02  Bruno Haible  <bruno@clisp.org>
39458
39459         Mark 'strcspn' obsolete.
39460         * modules/strcspn (Status, Notice): New sections.
39461
39462 2008-11-02  Bruno Haible  <bruno@clisp.org>
39463
39464         Mark 'rmdir' obsolete.
39465         * modules/rmdir (Status, Notice): New sections.
39466         * modules/clean-temp (Depends-on): Add rmdir.
39467         * modules/openat (Depends-on): Likewise.
39468
39469 2008-11-02  Bruno Haible  <bruno@clisp.org>
39470
39471         Mark 'raise' obsolete.
39472         * modules/raise (Status, Notice): New sections.
39473         (Include): Specify <signal.h>.
39474         * modules/stdio (Depends-on): Add raise.
39475         * modules/write (Depends-on): Likewise.
39476
39477 2008-11-02  Bruno Haible  <bruno@clisp.org>
39478
39479         Mark 'memset' obsolete.
39480         * modules/memset (Status, Notice): New sections.
39481
39482 2008-11-02  Bruno Haible  <bruno@clisp.org>
39483
39484         Mark 'memmove' obsolete.
39485         * modules/memmove (Status, Notice): New sections.
39486         * modules/argp (Depends-on): Add memmove.
39487         * modules/argz (Depends-on): Likewise.
39488         * modules/canonicalize (Depends-on): Likewise.
39489         * modules/canonicalize-lgpl (Depends-on): Likewise.
39490         * modules/fts (Depends-on): Likewise.
39491         * modules/getcwd (Depends-on): Likewise.
39492         * modules/human (Depends-on): Likewise.
39493         * modules/regex (Depends-on): Likewise.
39494         * modules/striconveh (Depends-on): Likewise.
39495         * modules/trim (Depends-on): Likewise.
39496         * modules/unistr/u8-move (Depends-on): Likewise.
39497         * modules/unistr/u16-move (Depends-on): Likewise.
39498         * modules/unistr/u32-move (Depends-on): Likewise.
39499
39500 2008-11-02  Bruno Haible  <bruno@clisp.org>
39501
39502         Mark 'memcpy' obsolete.
39503         * modules/memcpy (Status, Notice): New sections.
39504
39505 2008-11-02  Bruno Haible  <bruno@clisp.org>
39506
39507         Mark 'memcmp' obsolete.
39508         * modules/memcmp (Status, Notice): New sections.
39509         * modules/argmatch (Depends-on): Add memchr.
39510         * modules/backupfile (Depends-on): Likewise.
39511         * modules/c-strcasestr (Depends-on): Likewise.
39512         * modules/crypto/des (Depends-on): Likewise.
39513         * modules/csharpcomp (Depends-on): Likewise.
39514         * modules/fnmatch (Depends-on): Likewise.
39515         * modules/git-merge-changelog (Depends-on): Likewise.
39516         * modules/isnand (Depends-on): Likewise.
39517         * modules/isnand-nolibm (Depends-on): Likewise.
39518         * modules/isnanf (Depends-on): Likewise.
39519         * modules/isnanf-nolibm (Depends-on): Likewise.
39520         * modules/isnanl (Depends-on): Likewise.
39521         * modules/isnanl-nolibm (Depends-on): Likewise.
39522         * modules/mbchar (Depends-on): Likewise.
39523         * modules/memcoll (Depends-on): Likewise.
39524         * modules/quotearg (Depends-on): Likewise.
39525         * modules/regex (Depends-on): Likewise.
39526         * modules/relocatable-prog (Depends-on): Likewise.
39527         * modules/same (Depends-on): Likewise.
39528         * modules/signbit (Depends-on): Likewise.
39529         * modules/strcasestr-simple (Depends-on): Likewise.
39530         * modules/unictype/gen-ctype (Depends-on): Likewise.
39531         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
39532         * modules/uniname/uniname (Depends-on): Likewise.
39533         * modules/unistr/u8-cmp (Depends-on): Likewise.
39534
39535 2008-11-02  Bruno Haible  <bruno@clisp.org>
39536
39537         Mark 'memchr' obsolete.
39538         * modules/memchr (Status, Notice): New sections.
39539         * modules/argp (Depends-on): Add memchr.
39540         * modules/base64 (Depends-on): Likewise.
39541         * modules/c-strcasestr (Depends-on): Likewise.
39542         * modules/chdir-long (Depends-on): Likewise.
39543         * modules/fnmatch (Depends-on): Likewise.
39544         * modules/getsubopt (Depends-on): Likewise.
39545         * modules/git-merge-changelog (Depends-on): Likewise.
39546         * modules/glob (Depends-on): Likewise.
39547         * modules/strcasestr-simple (Depends-on): Likewise.
39548         * modules/strnlen (Depends-on): Likewise.
39549
39550 2008-11-02  Bruno Haible  <bruno@clisp.org>
39551
39552         Mark 'atexit' obsolete.
39553         * modules/atexit (Status, Notice): New sections.
39554         * modules/chdir-long (Depends-on): Add atexit.
39555         * modules/wait-process (Depends-on): Likewise.
39556
39557 2008-11-02  Bruno Haible  <bruno@clisp.org>
39558
39559         * gnulib-tool: New option --with-obsolete.
39560         (func_usage): Document it.
39561         (func_modules_transitive_closure): Drop obsolete dependencies if
39562         incobsolete is not true.
39563         (func_import): Read and save the incobsolete variable to the cache.
39564
39565 2008-11-02  Bruno Haible  <bruno@clisp.org>
39566
39567         * modules/TEMPLATE-EXTENDED: New field 'Status'.
39568         * gnulib-tool: New option --extract-status.
39569         (func_usage): Document it.
39570         (sed_extract_prog): Recognize it.
39571         (func_get_status): New function.
39572
39573 2008-10-30  Simon Josefsson  <simon@josefsson.org>
39574
39575         * modules/sockets (License): Change from LGPL to LGPLv2+.
39576
39577 2008-10-28  Simon Josefsson  <simon@josefsson.org>
39578
39579         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
39580
39581 2008-10-28  Simon Josefsson  <simon@josefsson.org>
39582
39583         * MODULES.html.sh (Support for systems lacking POSIX:2001):
39584         Mention times and sys_times.
39585         * modules/sys_times, modules/sys_times-tests: New modules.
39586         * modules/times, modules/times-tests: Likewise
39587         * m4/sys_times_h.m4: New file.
39588         * lib/sys_times.in.h: Likewise
39589         * lib/times.c: Likewise.
39590         * tests/test-sys_times.c: Likewise.
39591         * tests/test-times.c: Likewise.
39592         * doc/posix-headers/sys_times.texi: Update.
39593         * doc/posix-functions/times.texi: Update.
39594
39595 2008-10-28  Jim Meyering  <meyering@redhat.com>
39596
39597         * modules/tempname (Depends-on): Add lstat.
39598
39599         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
39600
39601 2008-10-28  Simon Josefsson  <simon@josefsson.org>
39602
39603         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
39604         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
39605         using idiom used elsewhere in gnulib.
39606
39607 2008-10-27  Jim Meyering  <meyering@redhat.com>
39608
39609         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
39610
39611 2008-10-27  Simon Josefsson  <simon@josefsson.org>
39612
39613         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
39614         TESTS_ENVIRONMENT, for shell scripts that needs to call built
39615         programs.
39616         * tests/test-argp-2.sh: Use $EXEEXT when needed.
39617
39618 2008-10-27  Simon Josefsson  <simon@josefsson.org>
39619
39620         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
39621
39622 2008-10-27  Bruno Haible  <bruno@clisp.org>
39623
39624         * tests/test-lstat.c: Include <stdio.h>.
39625
39626 2008-10-27  Simon Josefsson  <simon@josefsson.org>
39627
39628         * modules/lstat-tests: New module.
39629         * tests/test-lstat.c: New file.
39630
39631 2008-10-26  Jim Meyering  <meyering@redhat.com>
39632
39633         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
39634
39635 2008-10-26  Simon Josefsson  <simon@josefsson.org>
39636             Bruno Haible  <bruno@clisp.org>
39637
39638         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
39639         * modules/configmake (Include): Add a note that the include must come
39640         after all system headers.
39641         * lib/javaversion.c: Include configmake.h after all other includes.
39642
39643 2008-10-26  Bruno Haible  <bruno@clisp.org>
39644
39645         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
39646         HAVE_STRUCT_RANDOM_DATA to 1.
39647         (gl_STDLIB_H): Simplify.
39648
39649 2008-10-26  Simon Josefsson  <simon@josefsson.org>
39650
39651         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
39652         substitute HAVE_STRUCT_RANDOM_DATA.
39653         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
39654         random_data.
39655         * modules/stdlib (Makefile.am): Substitute
39656         HAVE_STRUCT_RANDOM_DATA.
39657
39658 2008-10-26  Simon Josefsson  <simon@josefsson.org>
39659
39660         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
39661         * doc/gnulib-intro.texi (Copyright): Likewise.
39662
39663 2008-10-26  Simon Josefsson  <simon@josefsson.org>
39664
39665         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
39666         findings.
39667
39668 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
39669             Bruno Haible  <bruno@clisp.org>
39670
39671         * lib/unistd.in.h: Include <winsock2.h>.
39672         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
39673         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
39674         Provide dummy declarations.
39675         (gethostname): Override.
39676         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
39677         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
39678         gl_PREREQ_SYS_H_WINSOCK2.
39679         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
39680         * doc/posix-functions/gethostname.texi: More details.
39681
39682 2008-10-25  Bruno Haible  <bruno@clisp.org>
39683
39684         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
39685         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
39686         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
39687
39688         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
39689         here ...
39690         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
39691         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
39692         gl_UNISTD_H_DEFAULTS.
39693
39694 2008-10-25  Eric Blake  <ebb9@byu.net>
39695
39696         signbit: avoid spurious compiler failure
39697         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
39698         declarations inside function.
39699
39700 2008-10-24  Simon Josefsson  <simon@josefsson.org>
39701             Bruno Haible  <bruno@clisp.org>
39702
39703         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
39704         * modules/random_r (Depends-on): Add stdint.
39705
39706 2008-10-24  Bruno Haible  <bruno@clisp.org>
39707
39708         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
39709         Eggert.
39710         * modules/strerror (License): Likewise.
39711
39712 2008-10-24  Jim Meyering  <meyering@redhat.com>
39713
39714         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
39715         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
39716
39717 2008-10-24  Eric Blake  <ebb9@byu.net>
39718
39719         getgroups: fix compilation when getgroups is available
39720         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
39721         but with <config.h> override of getgroups disabled.
39722
39723 2008-10-24  Simon Josefsson  <simon@josefsson.org>
39724
39725         * doc/gnulib.texi (Header files): Add note about C++ problems.
39726         Explained by Bruno Haible <bruno@clisp.org>.
39727
39728 2008-10-23  Bruno Haible  <bruno@clisp.org>
39729
39730         Define a dummy SA_NODEFER macro on Interix.
39731         * lib/signal.in.h (SA_NODEFER): Define fallback.
39732         Reported by Aleksey Cheusov <cheusov@tut.by> via
39733         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
39734
39735 2008-10-23  Bruno Haible  <bruno@clisp.org>
39736
39737         * modules/freadahead (License): Change to LGPLv2+.
39738         Suggested by Simon Josefsson.
39739
39740 2008-10-23  Jim Meyering  <meyering@redhat.com>
39741
39742         random_r: new module
39743         * modules/random_r: New file.
39744         * m4/random_r.m4: New file.
39745         * lib/random_r.c: New file, from glibc.
39746         * modules/random_r-tests: New file.
39747         * tests/test-random_r.c: New file.
39748         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
39749          Declare.
39750         (RAND_MAX): Define.
39751         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
39752         * modules/stdlib: Substitute them, too.
39753         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
39754         * doc/glibc-functions/initstate_r.texi: Mention the new module.
39755         * doc/glibc-functions/random_r.texi: Likewise.
39756         * doc/glibc-functions/setstate_r.texi: Likewise.
39757         * doc/glibc-functions/srandom_r.texi: Likewise.
39758         * config/srclist.txt: Mention it.
39759
39760 2008-10-23  David Lutterkort  <lutter@redhat.com>
39761
39762         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
39763         link requirement
39764
39765 2008-10-23  Jim Meyering  <meyering@redhat.com>
39766
39767         selinux-h: mark parameters of stub functions as intentionally unused
39768         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
39769         * lib/se-context.in.h: Likewise.
39770
39771 2008-10-22  Simon Josefsson  <simon@josefsson.org>
39772
39773         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
39774
39775 2008-10-22  Simon Josefsson  <simon@josefsson.org>
39776
39777         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
39778
39779 2008-10-22  Eric Blake  <ebb9@byu.net>
39780
39781         glthread/thread: avoid compiler warning
39782         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
39783         Add unreachable abort to silence compiler.
39784
39785 2008-10-22  Eric Blake  <ebb9@byu.net>
39786
39787         netdb: also supply struct addrinfo for cygwin 1.5.x
39788         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
39789         older cygwin.
39790         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
39791         cygwin.
39792         * doc/posix-headers/netdb.texi (netdb.h): Document this.
39793
39794 2008-10-22  Bruno Haible  <bruno@clisp.org>
39795
39796         * users.txt: Update entry about pspp.
39797
39798 2008-10-21  Bruno Haible  <bruno@clisp.org>
39799
39800         Simplification.
39801         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
39802         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
39803
39804         Simplification.
39805         * lib/ioctl.c (ioctl): Don't undefine.
39806         * lib/socket.c (socket): Don't undefine.
39807
39808         Remove unused module indicator macros.
39809         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
39810         GNULIB_$1 as a C macro.
39811
39812         * doc/posix-functions/close.texi: Undo last change.
39813         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
39814         Windows platforms.
39815
39816 2008-10-21  Bruno Haible  <bruno@clisp.org>
39817
39818         Add gethostname() declaration to <unistd.h>.
39819         * lib/unistd.in.h (gethostname): New declaration.
39820         * lib/gethostname.c: Include <unistd.h>.
39821         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
39822         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
39823         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
39824         and HAVE_GETHOSTNAME.
39825         * modules/gethostname (Depends-on): Add unistd.
39826         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
39827         (Include): Specify <unistd.h>.
39828         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
39829         HAVE_GETHOSTNAME.
39830         * tests/test-gethostname.c: Include <unistd.h> first.
39831
39832 2008-10-21  Bruno Haible  <bruno@clisp.org>
39833
39834         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
39835         * modules/select-tests (Depends-on): Likewise.
39836         Reported by Simon Josefsson.
39837
39838 2008-10-21  Simon Josefsson  <simon@josefsson.org>
39839
39840         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
39841         * lib/accept.c: New file, based on winsock.c.
39842         * lib/bind.c: New file, based on winsock.c.
39843         * lib/connect.c: New file, based on winsock.c.
39844         * lib/getpeername.c: New file, based on winsock.c.
39845         * lib/getsockname.c: New file, based on winsock.c.
39846         * lib/getsockopt.c: New file, based on winsock.c.
39847         * lib/ioctl.c: New file, based on winsock.c.
39848         * lib/listen.c: New file, based on winsock.c.
39849         * lib/recv.c: New file, based on winsock.c.
39850         * lib/recvfrom.c: New file, based on winsock.c.
39851         * lib/send.c: New file, based on winsock.c.
39852         * lib/sendto.c: New file, based on winsock.c.
39853         * lib/setsockopt.c: New file, based on winsock.c.
39854         * lib/shutdown.c: New file, based on winsock.c.
39855         * lib/socket.c: New file, based on winsock.c.
39856         * lib/w32sock.h: New file, based on winsock.c.
39857         * lib/winsock.c: Remove file.
39858         * modules/accept: Likewise.
39859         * modules/bind: Likewise.
39860         * modules/connect: Likewise.
39861         * modules/getpeername: Likewise.
39862         * modules/getsockname: Likewise.
39863         * modules/getsockopt: Likewise.
39864         * modules/ioctl: Likewise.
39865         * modules/listen: Likewise.
39866         * modules/recv: Likewise.
39867         * modules/recvfrom: Likewise.
39868         * modules/send: Likewise.
39869         * modules/sendto: Likewise.
39870         * modules/setsockopt: Likewise.
39871         * modules/shutdown: Likewise.
39872         * modules/socket: Use socket.c instead of winsock.c.
39873         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
39874         * doc/posix-functions/accept.texi: Doc fix.
39875         * doc/posix-functions/bind.texi: Doc fix.
39876         * doc/posix-functions/close.texi: Doc fix.
39877         * doc/posix-functions/connect.texi: Doc fix.
39878         * doc/posix-functions/getpeername.texi: Doc fix.
39879         * doc/posix-functions/getsockname.texi: Doc fix.
39880         * doc/posix-functions/getsockopt.texi: Doc fix.
39881         * doc/posix-functions/ioctl.texi: Doc fix.
39882         * doc/posix-functions/listen.texi: Doc fix.
39883         * doc/posix-functions/recv.texi: Doc fix.
39884         * doc/posix-functions/recvfrom.texi: Doc fix.
39885         * doc/posix-functions/send.texi: Doc fix.
39886         * doc/posix-functions/sendto.texi: Doc fix.
39887         * doc/posix-functions/setsockopt.texi: Doc fix.
39888         * doc/posix-functions/shutdown.texi: Doc fix.
39889         * doc/posix-functions/socket.texi: Doc fix.
39890
39891 2008-10-20  Bruno Haible  <bruno@clisp.org>
39892
39893         Take into account the role of SIGABRT_COMPAT on Windows 2008.
39894         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
39895         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
39896         as an alias for SIGABRT.
39897         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
39898         (sigaction): Map it to SIGABRT.
39899         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
39900
39901 2008-10-20  Bruno Haible  <bruno@clisp.org>
39902
39903         * lib/fts.c: Don't include lstat.h.
39904         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
39905
39906         Move the lstat() declaration to <sys/stat.h>.
39907         * lib/lstat.h: Remove file.
39908         * lib/sys_stat.in.h: Add special invocation convention.
39909         (lstat): New declaration.
39910         * lib/lstat.c (orig_lstat): New function.
39911         (rpl_lstat): Use orig_lstat instead of lstat.
39912         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
39913         AC_C_INLINE. Set REPLACE_LSTAT.
39914         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
39915         and REPLACE_LSTAT.
39916         * modules/lstat (Files): Remove lib/lstat.h.
39917         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
39918         (Include): Specify <sys/stat.h> instead of lstat.h.
39919         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
39920         REPLACE_LSTAT.
39921         * NEWS: Mention the change.
39922
39923 2008-10-20  Bruno Haible  <bruno@clisp.org>
39924
39925         * modules/posix_spawn-tests: New file.
39926         * tests/test-posix_spawn3.c: New file.
39927
39928 2008-10-20  Bruno Haible  <bruno@clisp.org>
39929
39930         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
39931         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
39932         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
39933         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
39934         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
39935
39936 2008-10-20  Bruno Haible  <bruno@clisp.org>
39937
39938         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
39939         of posix_spawn on AIX 5.3.
39940
39941 2008-10-20  Bruno Haible  <bruno@clisp.org>
39942
39943         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
39944
39945 2008-10-20  Bruno Haible  <bruno@clisp.org>
39946
39947         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
39948         of AC_LANG_PROGRAM.
39949
39950 2008-10-20  Simon Josefsson  <simon@josefsson.org>
39951
39952         * lib/netdb.in.h: Don't define GNU specific constants until they
39953         are supported or needed.  Reported by Bruno Haible
39954         <bruno@clisp.org>.
39955
39956 2008-10-20  Simon Josefsson  <simon@josefsson.org>
39957
39958         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
39959
39960 2008-10-20  Simon Josefsson  <simon@josefsson.org>
39961
39962         * lib/getaddrinfo.h: Remove file.
39963         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
39964         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
39965         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
39966         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
39967         * modules/netdb: Substitute GNULIB_GETADDRINFO.
39968         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
39969         * tests/test-getaddrinfo.c: Likewise.
39970         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
39971         * NEWS: Mention change.
39972
39973 2008-10-19  Bruno Haible  <bruno@clisp.org>
39974
39975         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
39976
39977 2008-10-19  Bruno Haible  <bruno@clisp.org>
39978
39979         * lib/wait-process.c: Include simply <sys/wait.h>.
39980         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
39981         WIFSTOPPED): Remove fallback definitions.
39982         * modules/wait-process (Depends-on): Add sys_wait.
39983
39984         New module 'sys_wait'.
39985         * modules/sys_wait: New file.
39986         * lib/sys_wait.in.h: New file, partially copied from
39987         lib/wait-process.c.
39988         * m4/sys_wait_h.m4: New file.
39989         * doc/posix-headers/sys_wait.texi: Mention the new module.
39990
39991 2008-10-19  Bruno Haible  <bruno@clisp.org>
39992
39993         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
39994
39995 2008-10-19  Bruno Haible  <bruno@clisp.org>
39996
39997         Assume that waitpid() fills an 'int' status, not a 'union wait'.
39998         * lib/wait-process.c (WAIT_T): Remove type.
39999         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
40000         (wait_subprocess): Update.
40001
40002 2008-10-19  Bruno Haible  <bruno@clisp.org>
40003
40004         New module 'atoll'.
40005         * modules/atoll: New file.
40006         * lib/stdlib.in.h (atoll): New declaration.
40007         * lib/atoll.c: New file, from glibc with modifications.
40008         * m4/atoll.m4: New file.
40009         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
40010         HAVE_ATOLL.
40011         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
40012         * doc/posix-functions/atoll.texi: Mention the new module.
40013
40014 2008-10-19  Bruno Haible  <bruno@clisp.org>
40015
40016         Add strtoull() declaration to <stdlib.h>.
40017         * lib/stdlib.in.h (strtoull): New declaration.
40018         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
40019         Set HAVE_STRTOULL.
40020         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
40021         HAVE_STRTOULL.
40022         * modules/strtoull (Depends-on): Add stdlib.
40023         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
40024         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
40025         HAVE_STRTOULL.
40026
40027 2008-10-19  Bruno Haible  <bruno@clisp.org>
40028
40029         Add strtoll() declaration to <stdlib.h>.
40030         * lib/stdlib.in.h (strtoll): New declaration.
40031         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
40032         Set HAVE_STRTOLL.
40033         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
40034         HAVE_STRTOLL.
40035         * modules/strtoll (Depends-on): Add stdlib.
40036         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
40037         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
40038
40039 2008-10-19  Bruno Haible  <bruno@clisp.org>
40040
40041         * modules/bcopy (Depends-on): Add strings.
40042         (Include): Specify <strings.h>.
40043
40044 2008-10-19  Bruno Haible  <bruno@clisp.org>
40045
40046         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
40047
40048 2008-10-19  Bruno Haible  <bruno@clisp.org>
40049
40050         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
40051         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
40052         mingw.
40053
40054 2008-10-19  Bruno Haible  <bruno@clisp.org>
40055
40056         * lib/atanl.c: Don't include isnanl.h.
40057         * lib/cosl.c: Likewise.
40058         * lib/ldexpl.c: Likewise.
40059         * lib/logl.c: Likewise.
40060         * lib/sinl.c: Likewise.
40061         * lib/sqrtl.c: Likewise.
40062         * lib/tanl.c: Likewise.
40063
40064         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
40065         * lib/isnanf.h: Remove file.
40066         * lib/isnand.h: Remove file.
40067         * lib/isnanl.h: Remove file.
40068         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
40069         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
40070         macros.
40071         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
40072         HAVE_ISNANF, don't define it as a C macro.
40073         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
40074         HAVE_ISNAND, don't define it as a C macro.
40075         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
40076         HAVE_ISNANL, don't define it as a C macro.
40077         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
40078         HAVE_ISNAN[FDL].
40079         * modules/isnanf (Files): Remove lib/isnanf.h.
40080         (Depends-on): Add math.
40081         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
40082         (Include): Specify <math.h> instead of isnanf.h.
40083         * modules/isnand (Files): Remove lib/isnand.h.
40084         (Depends-on): Add math.
40085         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
40086         (Include): Specify <math.h> instead of isnand.h.
40087         * modules/isnanl (Files): Remove lib/isnanl.h.
40088         (Depends-on): Add math.
40089         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
40090         (Include): Specify <math.h> instead of isnanl.h.
40091         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
40092         HAVE_ISNAN[FDL].
40093         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
40094         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
40095         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
40096         * NEWS: Mention the change.
40097
40098 2008-10-18  Bruno Haible  <bruno@clisp.org>
40099
40100         Add getusershell(), setusershell(), endusershell() declarations to
40101         <unistd.h>.
40102         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
40103         declarations.
40104         * lib/getusershell.c: Include unistd.h.
40105         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
40106         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
40107         HAVE_GETUSERSHELL.
40108         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
40109         and HAVE_GETUSERSHELL.
40110         * modules/getusershell (Depends-on): Add unistd, extensions.
40111         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
40112         (Include): Specify <unistd.h>.
40113         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
40114         HAVE_GETUSERSHELL.
40115
40116 2008-10-18  Bruno Haible  <bruno@clisp.org>
40117
40118         Add a getloadavg() declaration to <stdlib.h>.
40119         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
40120         getloadavg declaration.
40121         (getloadavg): New declaration.
40122         * lib/getloadavg.c: Include <stdlib.h> first.
40123         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
40124         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
40125         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
40126         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
40127         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
40128         * modules/getloadavg (Depends-on): Add stdlib, extensions.
40129         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
40130         (Include): Specify <stdlib.h>.
40131         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
40132         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
40133
40134 2008-10-18  Bruno Haible  <bruno@clisp.org>
40135
40136         * lib/dirchownmod.c: Don't include lchmod.h.
40137
40138         Move the lchmod() declaration to <sys/stat.h>.
40139         * lib/lchmod.h: Remove file.
40140         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
40141         (lchmod): New declaration, moved here from lib/lchown.h.
40142         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
40143         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
40144         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
40145         and HAVE_LCHMOD.
40146         * modules/lchmod (Files): Remove lib/lchmod.h.
40147         (Depends-on): Add sys_stat, extensions.
40148         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
40149         (Include): Specify <sys/stat.h> instead of lchmod.h.
40150         * modules/sys_stat (Depends-on): Add link-warning.
40151         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
40152         definition of GL_LINK_WARNING.
40153         * NEWS: Mention the change.
40154
40155 2008-10-18  Bruno Haible  <bruno@clisp.org>
40156
40157         * lib/fchdir.c: Don't include dirfd.h.
40158         * lib/fts.c: Likewise.
40159         * lib/getcwd.c: Likewise.
40160         * lib/glob.c: Likewise.
40161
40162         Move the dirfd() declaration to <dirent.h>.
40163         * lib/dirfd.h: Remove file.
40164         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
40165         (dirfd): New declaration.
40166         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
40167         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
40168         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
40169         HAVE_DECL_DIRFD.
40170         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
40171         HAVE_DECL_DIRFD.
40172         * modules/dirfd (Files): Remove lib/dirfd.h.
40173         (Depends-on): Add dirent, extensions.
40174         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
40175         (Include): Specify <dirent.h> instead of dirfd.h.
40176         * modules/dirent (Depends-on): Add link-warning.
40177         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
40178         definition of GL_LINK_WARNING.
40179         * NEWS: Mention the change.
40180
40181 2008-10-18  Bruno Haible  <bruno@clisp.org>
40182
40183         Move the euidaccess() declaration to <unistd.h>.
40184         * lib/euidaccess.h: Remove file.
40185         * lib/unistd.in.h (euidaccess): New declaration.
40186         * lib/euidaccess.c: Don't include euidaccess.h.
40187         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
40188         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
40189         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
40190         and HAVE_EUIDACCESS.
40191         * modules/euidaccess (Files): Remove lib/euidaccess.h.
40192         (Depends-on): Add unistd.
40193         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
40194         (Include): Specify <unistd.h> instead of euidaccess.h.
40195         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
40196         HAVE_EUIDACCESS.
40197         * NEWS: Mention the change.
40198
40199 2008-10-18  Bruno Haible  <bruno@clisp.org>
40200
40201         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
40202
40203         Move the getdomainname() declaration to <unistd.h>.
40204         * lib/getdomainname.h: Remove file.
40205         * lib/unistd.in.h (getdomainname): New declaration.
40206         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
40207         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
40208         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
40209         HAVE_GETDOMAINNAME.
40210         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
40211         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
40212         * modules/getdomainname (Files): Remove lib/getdomainname.h.
40213         (Depends-on): Add unistd, extensions.
40214         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
40215         (Includes): Specify <unistd.h> instead of getdomainname.h.
40216         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
40217         HAVE_GETDOMAINNAME.
40218         * NEWS: Mention the change.
40219
40220 2008-10-18  Bruno Haible  <bruno@clisp.org>
40221
40222         * modules/dirent: New file.
40223         * m4/dirent_h.m4: New file.
40224         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
40225         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
40226         * modules/fchdir (Files): Remove lib/dirent.in.h.
40227         (Depends-on): Add dirent.
40228         (Makefile.am): Move rules to modules/dirent.
40229         * doc/posix-headers/dirent.texi: Mention the new module.
40230
40231 2008-10-18  Bruno Haible  <bruno@clisp.org>
40232
40233         Avoid -Wunused-parameter warnings in public gnulib header files.
40234         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
40235         macro.
40236         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
40237
40238 2008-10-18  Bruno Haible  <bruno@clisp.org>
40239
40240         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
40241         * doc/glibc-functions/error.texi: Mention the module 'error'.
40242         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
40243         * doc/glibc-functions/getdomainname.texi: Mention the module
40244         'getdomainname'.
40245         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
40246         * doc/glibc-functions/getpagesize.texi: Mention the module
40247         'getpagesize'.
40248         * doc/glibc-functions/getusershell.texi: Mention the module
40249         'getusershell'.
40250         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
40251         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
40252         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
40253         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
40254         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
40255         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
40256         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
40257         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
40258         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
40259         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
40260         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
40261         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
40262         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
40263         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
40264
40265 2008-10-17  Bruno Haible  <bruno@clisp.org>
40266
40267         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
40268         HP-UX and IRIX, use -0.0L.
40269         * tests/test-ceill.c (minus_zero): Likewise.
40270         * tests/test-floorl.c (minus_zero): Likewise.
40271         * tests/test-frexpl.c (minus_zero): Likewise.
40272         * tests/test-isnan.c (minus_zerol): Likewise.
40273         * tests/test-isnanl.h (minus_zero): Likewise.
40274         * tests/test-ldexpl.c (minus_zero): Likewise.
40275         * tests/test-roundl.c (minus_zero): Likewise.
40276         * tests/test-signbit.c (minus_zerol): Likewise.
40277         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
40278         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
40279         * tests/test-truncl.c (minus_zero): Likewise.
40280         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
40281         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
40282         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
40283         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
40284
40285 2008-10-17  Bruno Haible  <bruno@clisp.org>
40286
40287         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
40288         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
40289         that it gets activated only for gcc >= 3.0.
40290         * lib/dirent.in.h: Likewise.
40291         * lib/errno.in.h: Likewise.
40292         * lib/fcntl.in.h: Likewise.
40293         * lib/float.in.h: Likewise.
40294         * lib/iconv.in.h: Likewise.
40295         * lib/inttypes.in.h: Likewise.
40296         * lib/locale.in.h: Likewise.
40297         * lib/math.in.h: Likewise.
40298         * lib/netdb.in.h: Likewise.
40299         * lib/netinet_in.in.h: Likewise.
40300         * lib/search.in.h: Likewise.
40301         * lib/signal.in.h: Likewise.
40302         * lib/spawn.in.h: Likewise.
40303         * lib/stdarg.in.h: Likewise.
40304         * lib/stdint.in.h: Likewise.
40305         * lib/stdio.in.h: Likewise.
40306         * lib/stdlib.in.h: Likewise.
40307         * lib/string.in.h: Likewise.
40308         * lib/strings.in.h: Likewise.
40309         * lib/sys_file.in.h: Likewise.
40310         * lib/sys_ioctl.in.h: Likewise.
40311         * lib/sys_select.in.h: Likewise.
40312         * lib/sys_socket.in.h: Likewise.
40313         * lib/sys_stat.in.h: Likewise.
40314         * lib/sys_time.in.h: Likewise.
40315         * lib/sysexits.in.h: Likewise.
40316         * lib/time.in.h: Likewise.
40317         * lib/unistd.in.h: Likewise.
40318         * lib/wchar.in.h: Likewise.
40319         * lib/wctype.in.h: Likewise.
40320         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
40321
40322 2008-10-17  Jim Meyering  <meyering@redhat.com>
40323
40324         ignore-value: don't depend on inline module
40325         * modules/ignore-value (Depends-on): Remove 'inline'.
40326         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
40327         Suggestion from Bruno Haible.
40328
40329 2008-10-17  Bruno Haible  <bruno@clisp.org>
40330
40331         New implementation of condition variables for Win32.
40332         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
40333         (gl_linked_waitqueue_t): New type.
40334         (gl_cond_t): Use it.
40335         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
40336         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
40337         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
40338         (glthread_cond_init_func, glthread_cond_wait_func,
40339         glthread_cond_timedwait_func, glthread_cond_signal_func,
40340         glthread_cond_broadcast_func, glthread_cond_destroy_func):
40341         Reimplemented on the basis of gl_linked_waitqueue_t.
40342         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
40343         gl_waitqueue_t.
40344         (gl_rwlock_t): Update.
40345         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
40346
40347 2008-10-17  Simon Josefsson  <simon@josefsson.org>
40348
40349         * modules/recvfrom (Depends-on): Add dependency on getpeername.
40350         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
40351
40352 2008-10-17  Jim Meyering  <meyering@redhat.com>
40353
40354         ignore-value: new module
40355         * modules/ignore-value: New file.
40356         * lib/ignore-value.h: New file.
40357         * MODULES.html.sh (Compiler warning management): New section,
40358         just for this module.  More to come.
40359
40360 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
40361
40362         open-safer.c: avoid 'signed and unsigned in conditional...' warning
40363         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
40364         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
40365
40366 2008-10-16  Jim Meyering  <meyering@redhat.com>
40367
40368         openat-die.c: avoid 'no previous prototype' warning
40369         * lib/openat-die.c: Include "openat.h".
40370         Reported by Reuben Thomas <rrt@sc3d.org>.
40371
40372 2008-10-16  Simon Josefsson  <simon@josefsson.org>
40373
40374         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
40375         * lib/netdb.in.h: Fix typo.
40376         Reported by Bruno Haible  <bruno@clisp.org>
40377
40378         * lib/netdb.in.h: Include sys/socket.h for platforms without
40379         netdb.h, to get structures like hostent on MinGW.
40380         * modules/netdb (Depends-on): Add sys_socket.
40381
40382 2008-10-15  Simon Josefsson  <simon@josefsson.org>
40383
40384         * modules/netdb, modules/netdb-tests: New file.
40385         * m4/netdb_h.m4: New file.
40386         * lib/netdb.in.h: Add, currently just an empty file pending
40387         definitions.
40388         * tests/test-netdb.c: New file.
40389         * doc/posix-headers/netdb.texi: Mention that we replace it if
40390         needed.
40391         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
40392         netdb.
40393
40394 2008-10-15  Simon Josefsson  <simon@josefsson.org>
40395
40396         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
40397         with code.
40398
40399 2008-10-13  Bruno Haible  <bruno@clisp.org>
40400
40401         * lib/glthread/cond.c (glthread_cond_wait_func,
40402         glthread_cond_timedwait_func): Add a comment.
40403
40404 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
40405
40406         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
40407         * tests/test-select.c: Likewise,
40408
40409 2008-10-13  Bruno Haible  <bruno@clisp.org>
40410
40411         * lib/glthread/cond.c (glthread_cond_wait_func,
40412         glthread_cond_timedwait_func): Fix variable name.
40413         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
40414
40415 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
40416
40417         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
40418         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
40419         struct sockaddr.sa_len.
40420         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
40421
40422 2008-10-13  Simon Josefsson  <simon@josefsson.org>
40423
40424         * build-aux/pmccabe2html: Add css and css_url parameters.
40425
40426 2008-10-12  Bruno Haible  <bruno@clisp.org>
40427
40428         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
40429         calling aclx_get.
40430         Reported by Rainer Tammer <tammer@tammer.net>.
40431
40432 2008-10-12  Bruno Haible  <bruno@clisp.org>
40433
40434         Use msvcrt aware primitives for creation/termination of Win32 threads.
40435         * lib/glthread/thread.c: Include <process.h>.
40436         (glthread_create_func): Use _beginthreadex instead of CreateThread.
40437         (wrapper_func): Update signature.
40438         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
40439
40440 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
40441             Bruno Haible  <bruno@clisp.org>
40442
40443         Provide a Win32 implementation of the 'cond' module.
40444         * lib/glthread/cond.h [USE_WIN32]: New implementation.
40445         * lib/glthread/cond.c (glthread_cond_init_func,
40446         glthread_cond_wait_func, glthread_cond_timedwait_func,
40447         glthread_cond_signal_func, glthread_cond_broadcast_func,
40448         glthread_cond_destroy_func) [USE_WIN32]: New functions.
40449         * modules/cond (Dependencies): Add gettimeofday.
40450
40451 2008-10-11  Bruno Haible  <bruno@clisp.org>
40452
40453         Make sleep work on older versions of mingw.
40454         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
40455         only whether it exists.
40456         * doc/posix-functions/sleep.texi: Mention the problem with older
40457         versions of mingw.
40458
40459 2008-10-11  Bruno Haible  <bruno@clisp.org>
40460
40461         New module 'shutdown'.
40462         * modules/shutdown: New file.
40463         * lib/sys_socket.in.h (shutdown): New declaration.
40464         * lib/winsock.c (shutdown): New function.
40465         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
40466         GNULIB_SHUTDOWN.
40467         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
40468         * doc/posix-functions/shutdown.texi: Document the new module.
40469
40470 2008-10-11  Jim Meyering  <meyering@redhat.com>
40471
40472         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
40473
40474 2008-10-11  Bruno Haible  <bruno@clisp.org>
40475
40476         New module 'fclose'.
40477         * modules/fclose: New file.
40478         * lib/stdio.in.h (fclose): New declaration.
40479         * lib/fclose.c: New file.
40480         * m4/fclose.m4: New file.
40481         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
40482         REPLACE_FCLOSE.
40483         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
40484         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
40485         REPLACE_FCLOSE.
40486         * modules/close (Depends-on): fclose.
40487         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
40488
40489 2008-10-11  Bruno Haible  <bruno@clisp.org>
40490
40491         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
40492         set errno and don't call _close.
40493
40494 2008-10-10  Bruno Haible  <bruno@clisp.org>
40495
40496         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
40497         ACL, not afterwards. Fixes test failure on Cygwin.
40498
40499 2008-10-09  Ben Pfaff  <blp@gnu.org>
40500
40501         * build-aux/announce-gen: Fix gnulib version related part of usage
40502         message.  Die with a useful error message if no tarballs are
40503         found.
40504
40505 2008-10-10  Jim Meyering  <meyering@redhat.com>
40506
40507         bootstrap: use git's --depth=N option only if it's supported
40508         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
40509         recognize the --depth option.  Reported by Pádraig Brady.
40510
40511 2008-10-09  Bruno Haible  <bruno@clisp.org>
40512
40513         New module 'ioctl'.
40514         * modules/ioctl: New file.
40515         * lib/sys_socket.in.h (ioctl): Remove declaration.
40516         * lib/winsock.c: Include <sys/ioctl.h>.
40517         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
40518         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
40519         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
40520         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
40521         * doc/posix-functions/ioctl.texi: Mention the new module.
40522
40523 2008-10-09  Bruno Haible  <bruno@clisp.org>
40524
40525         New module 'sys_ioctl'.
40526         * lib/sys_ioctl.in.h: New file.
40527         * m4/sys_ioctl_h.m4: New file.
40528         * modules/sys_ioctl: New file.
40529         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
40530
40531 2008-10-09  Bruno Haible  <bruno@clisp.org>
40532
40533         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
40534         * lib/winsock.c: Include <stdarg.h>.
40535         (rpl_ioctl): Change to second argument 'int' and then varargs.
40536
40537 2008-10-09  Bruno Haible  <bruno@clisp.org>
40538
40539         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
40540         when the sys_socket module is present and the system has <winsock2.h>.
40541
40542 2008-10-09  Bruno Haible  <bruno@clisp.org>
40543
40544         * doc/posix-functions/close.texi: Mention module 'close' instead of
40545         module 'sys_socket'.
40546
40547 2008-10-09  Bruno Haible  <bruno@clisp.org>
40548
40549         * doc/glibc-headers/sys_ioctl.texi: New file.
40550         * doc/gnulib.texi: Include it.
40551
40552 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
40553             Bruno Haible  <bruno@clisp.org>
40554
40555         Combine the two replacements of 'close'.
40556         * lib/sys_socket.in.h (close): Define to a reminder to include
40557         <unistd.h>.
40558         (_gl_close_fd_maybe_socket): New declaration.
40559         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
40560         * lib/winsock.c (close): Remove undefinition.
40561         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
40562         needed for the gnulib module 'close'.
40563         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
40564         define to an error symbol or to a warning, if suitable.
40565         * lib/close.c: Include <sys/socket.h>.
40566         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
40567         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
40568         UNISTD_H_HAVE_WINSOCK2_H.
40569         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
40570         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
40571         UNISTD_H_HAVE_WINSOCK2_H.
40572         * modules/sys_socket (Files): Add m4/unistd_h.m4.
40573         (configure.ac): Set a module indicator.
40574         (Makefile.am): Substitute GNULIB_CLOSE.
40575         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
40576         * modules/poll-tests (Depends-on): Add close.
40577         * modules/select-tests (Depends-on): Likewise.
40578
40579 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
40580             Bruno Haible  <bruno@clisp.org>
40581
40582         New module 'close'.
40583         * modules/close: New file.
40584         * lib/unistd.in.h (close): Move declaration out of the
40585         FCHDIR_REPLACEMENT scope.
40586         (_gl_unregister_fd): New declaration.
40587         * lib/close.c: New file.
40588         * lib/fchdir.c (rpl_close): Remove function.
40589         * m4/close.m4: New file.
40590         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
40591         close.
40592         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
40593         REPLACE_CLOSE.
40594         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
40595         REPLACE_CLOSE.
40596         * modules/fchdir (Depends-on): Add close.
40597
40598 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
40599             Bruno Haible  <bruno@clisp.org>
40600
40601         * lib/fcntl.in.h (open): Simplify conditionals.
40602         (_gl_register_fd): New declaration.
40603         * lib/fchdir.c (rpl_open): Remove function.
40604         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
40605         also.
40606         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
40607         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
40608         open.
40609
40610 2008-10-09  Jim Meyering  <meyering@redhat.com>
40611
40612         GNUmakefile: use the more name-space-friendly "_version"
40613         * top/GNUmakefile (_dummy): Update.
40614         (_version): Rename from "version".
40615
40616 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
40617             Bruno Haible  <bruno@clisp.org>
40618
40619         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
40620         rpl_close.
40621         (_gl_register_fd): New function, extracted from rpl_open.
40622         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
40623         (rpl_open, rpl_opendir): Use _gl_register_fd.
40624
40625 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
40626
40627         Fix organization of 'open' replacement.
40628         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
40629         (gl_FUNC_OPEN): Use it.
40630         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
40631
40632 2008-10-08  Bruno Haible  <bruno@clisp.org>
40633
40634         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
40635
40636 2008-10-08  Simon Josefsson  <simon@josefsson.org>
40637
40638         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
40639         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
40640         listen).
40641
40642 2008-10-08  Eric Blake  <ebb9@byu.net>
40643
40644         GNUmakefile: add 'make version' target
40645         * top/GNUmakefile (_curr-ver): Split version update rules...
40646         (version): ...into a target.
40647
40648 2008-10-07  Bruno Haible  <bruno@clisp.org>
40649
40650         Use a more portable replacement expression for -0.0L.
40651         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
40652         instead of -0.0L. Fix m4 quotation.
40653
40654         * tests/test-signbit.c: Include <float.h>.
40655         (minus_zero): New variable.
40656         (test_signbitl): Use minus_zero instead of -zero.
40657         * modules/signbit-tests (Depends-on): Add float.
40658
40659         * tests/test-ceill.c: Include <float.h>.
40660         (zero): Remove variable.
40661         (minus_zero): New variable.
40662         (main): Use minus_zero instead of -zero.
40663         * modules/ceill-tests (Depends-on): Add float.
40664
40665         * tests/test-floorl.c: Include <float.h>.
40666         (zero): Remove variable.
40667         (minus_zero): New variable.
40668         (main): Use minus_zero instead of -zero.
40669         * modules/floorl-tests (Depends-on): Add float.
40670
40671         * tests/test-roundl.c: Include <float.h>.
40672         (zero): Remove variable.
40673         (minus_zero): New variable.
40674         (main): Use minus_zero instead of -zero.
40675         * modules/roundl-tests (Depends-on): Add float.
40676
40677         * tests/test-truncl.c: Include <float.h>.
40678         (zero): Remove variable.
40679         (minus_zero): New variable.
40680         (main): Use minus_zero instead of -zero.
40681         * modules/truncl-tests (Depends-on): Add float.
40682
40683         * tests/test-frexpl.c (zero): Remove variable.
40684         (minus_zero): New variable.
40685         (main): Use minus_zero instead of -zero.
40686         * modules/frexpl-tests (Depends-on): Add float.
40687
40688         * tests/test-isnan.c (zerol): Remove variable.
40689         (minus_zerol): New variable.
40690         (test_long_double): Use minus_zerol instead of -zerol.
40691         * modules/isnan-tests (Depends-on): Add float.
40692
40693         * tests/test-isnanl.h (zero): Remove variable.
40694         (minus_zero): New variable.
40695         (main): Use minus_zero instead of -zero.
40696         * modules/isnanl-nolibm-tests (Depends-on): Add float.
40697         * modules/isnanl-tests (Depends-on): Add float.
40698
40699         * tests/test-ldexpl.c (zero): Remove variable.
40700         (minus_zero): New variable.
40701         (main): Use minus_zero instead of -zero.
40702         * modules/ldexpl-tests (Depends-on): Add float.
40703
40704         * tests/test-snprintf-posix.h (zerol): Remove variable.
40705         (minus_zerol): New variable.
40706         (test_function): Use minus_zerol instead of -zerol.
40707         * modules/snprintf-posix-tests (Depends-on): Add float.
40708         * modules/vsnprintf-posix-tests (Depends-on): Add float.
40709
40710         * tests/test-sprintf-posix.h (zerol): Remove variable.
40711         (minus_zerol): New variable.
40712         (test_function): Use minus_zerol instead of -zerol.
40713         * modules/sprintf-posix-tests (Depends-on): Add float.
40714         * modules/vsprintf-posix-tests (Depends-on): Add float.
40715
40716         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
40717         (minus_zerol): New variable.
40718         (test_function): Use minus_zerol instead of -zerol.
40719         * modules/vasnprintf-posix-tests (Depends-on): Add float.
40720
40721         * tests/test-vasprintf-posix.c (zerol): Remove variable.
40722         (minus_zerol): New variable.
40723         (test_function): Use minus_zerol instead of -zerol.
40724         * modules/vasprintf-posix-tests (Depends-on): Add float.
40725
40726 2008-10-07  Simon Josefsson  <simon@josefsson.org>
40727
40728         * MODULES.html.sh (Support for building documentation): Mention
40729         pmccabe2html.  Sort entries.
40730
40731         Add pmccabe2html module, from gnupdf.
40732         * build-aux/pmccabe.css: New file.
40733         * build-aux/pmccabe2html: New file.
40734         * m4/pmccabe2html.m4: New file.
40735         * modules/pmccabe2html: New file.
40736
40737 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
40738
40739         flock: new module
40740         * MODULES.html.sh: Add to list of modules.
40741         * lib/flock.c: flock implementation for Windows and Unix systems
40742         which have fcntl.
40743         * doc/glibc-functions/flock.texi: Update documentation.
40744         * lib/sys_file.in.h: <sys/file.h> header file.
40745         * m4/flock.m4: M4 macros.
40746         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
40747         * modules/flock: flock module.
40748         * modules/flock-tests: flock tests module.
40749         * modules/sys_file: sys/file.h module.
40750         * tests/test-flock.c: test suite for flock.
40751
40752 2008-10-06  Jim Meyering  <meyering@redhat.com>
40753
40754         bootstrap: check for LT_INIT more portably still ;-)
40755         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
40756         Spotted by Bruno Haible.
40757
40758 2008-10-06  Eric Blake  <ebb9@byu.net>
40759
40760         test-signbit: avoid tripping Irix cc bug on -0.0L
40761         * tests/test-signbit.c (minus_zerol): Delete, and replace with
40762         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
40763         entire testsuite consistent and avoids an Irix 6.2 bug.
40764
40765 2008-10-05  Bruno Haible  <bruno@clisp.org>
40766             Jim Meyering  <jim@meyering.net>
40767
40768         Add an option for ignoring EPIPE during close_stdout.
40769         * lib/closeout.h: Include <stdbool.h>.
40770         (close_stdout_set_ignore_EPIPE): New declaration.
40771         * lib/closeout.c: Include <stdbool.h>.
40772         (ignore_EPIPE): New variable.
40773         (close_stdout_set_ignore_EPIPE): New function.
40774         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
40775         * lib/close-stream.c (close_stream): Mention the possible EPIPE
40776         failure.
40777         * modules/closeout (Depends-on): Add stdbool.
40778
40779 2008-10-05  Bruno Haible  <bruno@clisp.org>
40780
40781         * modules/accept: New file.
40782         * modules/bind: New file.
40783         * modules/connect: New file.
40784         * modules/getpeername: New file.
40785         * modules/getsockname: New file.
40786         * modules/getsockopt: New file.
40787         * modules/listen: New file.
40788         * modules/recv: New file.
40789         * modules/recvfrom: New file.
40790         * modules/send: New file.
40791         * modules/sendto: New file.
40792         * modules/setsockopt: New file.
40793         * modules/socket: New file.
40794         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
40795         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
40796         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
40797         the particular module is requested. Add a link warning when the
40798         particular module is not requested.
40799         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
40800         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
40801         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
40802         the particular module is requested.
40803         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
40804         gl_SYS_SOCKET_H_DEFAULTS): New macros.
40805         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
40806         * modules/sys_socket (Depends-on): Add link-warning.
40807         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
40808         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
40809         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
40810         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
40811         GL_LINK_WARNING.
40812         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
40813         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
40814         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
40815         * doc/posix-functions/getpeername.texi: Mention the new module
40816         'getpeername'.
40817         * doc/posix-functions/getsockname.texi: Mention the new module
40818         'getsockname'.
40819         * doc/posix-functions/getsockopt.texi: Mention the new module
40820         'getsockopt'.
40821         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
40822         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
40823         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
40824         * doc/posix-functions/send.texi: Mention the new module 'send'.
40825         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
40826         * doc/posix-functions/setsockopt.texi: Mention the new module
40827         'setsockopt'.
40828         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
40829         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
40830         listen, connect, accept.
40831         * modules/select-tests (Depends-on): Likewise.
40832
40833 2008-10-05  Bruno Haible  <bruno@clisp.org>
40834
40835         * lib/winsock.c (strerror): Remove unused #undef.
40836         (rpl_close): Remove unused local variable.
40837
40838         * modules/sys_socket (Depends-on); Add errno.
40839
40840 2008-10-05  Bruno Haible  <bruno@clisp.org>
40841
40842         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
40843         (select): Add a link warning when the 'select' module is not used.
40844         * modules/sys_select (Depends-on): Add link-warning.
40845         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
40846         Suggested by Paolo Bonzini.
40847
40848 2008-10-05  Jim Meyering  <meyering@redhat.com>
40849
40850         bootstrap: check for LT_INIT more portably
40851         * build-aux/bootstrap: Avoid using grep -E, since it's not
40852         portable enough.  Suggestion from Bruno Haible.
40853
40854 2008-10-05  Bruno Haible  <bruno@clisp.org>
40855
40856         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
40857         as being fixed by gnulib.
40858
40859 2008-10-05  Bruno Haible  <bruno@clisp.org>
40860
40861         * modules/select-tests: New file, mostly copied from
40862         modules/sys_select-tests.
40863         * tests/test-select.c: New file, mostly copied from
40864         tests/test-sys_select.c.
40865         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
40866         * modules/sys_select-tests (Depends-on): Remove all dependencies.
40867         (Makefile.am): Remove test_sys_select_LDADD.
40868
40869         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
40870         to an undefined symbol, for an error message.
40871         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
40872         (gl_SYS_SELECT_H_DEFAULTS): New macro.
40873         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
40874         winsock-select.c here.
40875         * modules/sys_select (Files): Remove lib/winsock-select.c.
40876         (Depends-on): Remove alloca.
40877         (Makefile.am): Substitute GNULIB_SELECT.
40878         * modules/select: New file.
40879         * doc/posix-functions/select.texi: Update.
40880
40881 2008-10-05  Bruno Haible  <bruno@clisp.org>
40882
40883         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
40884         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
40885         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
40886         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
40887         getdtablesize.
40888         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
40889         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
40890
40891 2008-10-05  Bruno Haible  <bruno@clisp.org>
40892
40893         * modules/getdtablesize-tests: New file.
40894         * tests/test-getdtablesize.c: New file.
40895
40896         New module 'getdtablesize'.
40897         * lib/unistd.in.h (getdtablesize): New declaration.
40898         * lib/getdtablesize.c: New file.
40899         * m4/getdtablesize.m4: New file.
40900         * modules/getdtablesize: New file.
40901         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
40902         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
40903         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
40904         HAVE_GETDTABLESIZE.
40905         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
40906
40907 2008-10-05  Bruno Haible  <bruno@clisp.org>
40908
40909         * modules/sched (Makefile.am): Fix typo.
40910         Reported by Simon Josefsson.
40911
40912 2008-10-05  Jim Meyering  <meyering@redhat.com>
40913
40914         bootstrap: check for LT_INIT, too
40915         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
40916         are deprecated.  Suggestion from Ralf Wildenhues.
40917
40918 2008-10-05  Bruno Haible  <bruno@clisp.org>
40919
40920         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
40921         overriding them by ours.
40922         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
40923
40924 2008-10-05  Jim Meyering  <meyering@redhat.com>
40925
40926         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
40927         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
40928         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
40929
40930 2008-10-04  Bruno Haible  <bruno@clisp.org>
40931
40932         * modules/dup2 (License): Change to LGPLv2+.
40933         * modules/sleep (License): Likewise.
40934         * modules/perror (License): Likewise.
40935         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
40936         Blake.
40937         * modules/signal (License): Likewise.
40938         * modules/sigprocmask (License): Likewise.
40939         * modules/raise (License): Change to LGPLv2+, with approval by Jim
40940         Meyering.
40941
40942 2008-10-04  Bruno Haible  <bruno@clisp.org>
40943
40944         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
40945         Reported by Rainer Tammer <tammer@tammer.net>.
40946
40947 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
40948             Bruno Haible  <bruno@clisp.org>
40949
40950         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
40951         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
40952         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
40953
40954 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
40955
40956         filevercmp: new module
40957         * lib/filevercmp.h: New function filevercmp comparing version strings.
40958         * lib/filevercmp.c: Implementation of filevercmp function.
40959         * modules/filevercmp: Module metadata.
40960         * tests/test-filevercmp.c: Unit test for new module.
40961         * modules/filevercmp-tests: Unit test metadata.
40962         * MODULES.html.sh: Add filevercmp module.
40963
40964 2008-10-03  Bruno Haible  <bruno@clisp.org>
40965
40966         * lib/c-ctype.h: Add comment.
40967         Reported by Jim Meyering.
40968
40969 2008-10-02  Bruno Haible  <bruno@clisp.org>
40970
40971         * modules/posix_spawn-internal (Depends-on): Add 'open'.
40972
40973 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
40974
40975         * build-aux/bootstrap: Allow renaming bootstrap, and change the
40976         name of bootstrap.conf accordingly.
40977
40978 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
40979
40980         * build-aux/bootstrap: Install git-merge-changelog configuration
40981         items into .gitconfig if needed.
40982
40983 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
40984
40985         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
40986         git repository, and initialize/update it accordingly.
40987
40988 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
40989
40990         * modules/fsync-tests: New file.
40991         * tests/test-fsync.c: New file.
40992
40993         New module 'fsync'.
40994         * lib/fsync.c: New file.
40995         * m4/fsync.m4: New file.
40996         * modules/fsync: New file.
40997         * lib/unistd.in.h (fsync): New declaration.
40998         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
40999         GNULIB_FSYNC and HAVE_FSYNC.
41000         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
41001         * MODULES.html.sh (posix_functions): Add fsync.
41002         * doc/posix-functions/fsync.texi: Mention the new module.
41003
41004 2008-10-02  Jim Meyering  <meyering@redhat.com>
41005
41006         fts.c: sync with similar code from coreutils' remove.c
41007         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
41008         Guard also with "#if defined __linux__", since for now at least,
41009         this code is Linux-kernel-specific.
41010
41011 2008-10-02  Jim Meyering  <meyering@redhat.com>
41012
41013         fts: bug fixes
41014         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
41015         Include <sys/vfs.h>, not <sys/statfs.h>.
41016
41017         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
41018         Include <sys/vfs.h>, not <sys/statfs.h>.
41019
41020 2008-10-01  Bruno Haible  <bruno@clisp.org>
41021
41022         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
41023         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
41024         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
41025         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
41026         * doc/posix-functions/posix_spawnp.texi: Likewise.
41027         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
41028         whether posix_spawn actually works.
41029         * m4/pipe.m4 (gl_PIPE): Likewise.
41030         * modules/execute (Files): Add m4/posix_spawn.m4.
41031         * modules/pipe (Files): Add m4/posix_spawn.m4.
41032         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
41033
41034 2008-10-01  Jim Meyering  <meyering@redhat.com>
41035
41036         remove trailing spaces
41037         * NEWS: Likewise.
41038         * lib/poll.c (poll): Likewise.
41039         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
41040         * lib/winsock.c (rpl_close): Likewise.
41041         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
41042         * modules/yield: Likewise.
41043         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
41044         * tests/test-sys_select.c (connect_to_socket): Likewise.
41045
41046         fts.c: adjust a new interface to be more generally useful
41047         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
41048         (fts_build): Adjust caller.
41049
41050 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41051
41052         * modules/cond-tests: New file.
41053         * tests/test-cond.c: New file.
41054
41055 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41056             Bruno Haible  <bruno@clisp.org>
41057
41058         * modules/cond (Dependencies): Add errno, time.
41059         * lib/glthread/cond.h: Include <time.h>.
41060         (gl_cond_define, gl_cond_define_initialized): Use the same definition
41061         across platforms.
41062
41063 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41064             Bruno Haible  <bruno@clisp.org>
41065
41066         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
41067
41068 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41069             Bruno Haible  <bruno@clisp.org>
41070
41071         * modules/tls-tests (Depends-on): Add thread, yield.
41072         (configure.ac): Remove all checks.
41073         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
41074         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
41075         gl_thread_self): Remove definitions. Include glthread/thread.h and
41076         glthread/yield.h instead.
41077         (test_tls): Pass an additional NULL argument to gl_thread_join.
41078
41079 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41080             Bruno Haible  <bruno@clisp.org>
41081
41082         * modules/lock-tests (Depends-on): Add thread, yield.
41083         (configure.ac): Remove all checks.
41084         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
41085         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
41086         gl_thread_self): Remove definitions. Include glthread/thread.h and
41087         glthread/yield.h instead.
41088         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
41089         additional NULL argument to gl_thread_join.
41090
41091 2008-09-30  Bruno Haible  <bruno@clisp.org>
41092
41093         Fix the Win32 implementation of the 'thread' module.
41094         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
41095         pointer type.
41096         (gl_thread_self): Invoke gl_thread_self_func.
41097         (gl_thread_self_func): New declaration.
41098         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
41099         (do_init_self_key, init_self_key): New functions.
41100         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
41101         Remove some fields.
41102         (running_threads, running_lock): Remove variables.
41103         (get_current_thread_handle): New function.
41104         (gl_thread_self_func, wrapper_func, glthread_create_func,
41105         glthread_join_func, gl_thread_exit_func): Largely rewritten and
41106         simplified.
41107
41108 2008-09-30  Bruno Haible  <bruno@clisp.org>
41109
41110         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
41111         files.
41112
41113 2008-09-30  Jim Meyering  <meyering@redhat.com>
41114
41115         fts.m4: correct the test for statfs.f_type
41116         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
41117         when checking for statfs.f_type.
41118
41119 2008-09-15  Simon Josefsson  <simon@josefsson.org>
41120
41121         tests: avoid some compiler warnings
41122         * tests/test-memchr.c (main): Pass NULL indirectly.
41123         * tests/test-getdate.c (main): Remove unused variable 'ret'.
41124
41125 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
41126
41127         getdate.y: disallow countable dayshifts like "4 yesterday ago"
41128         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
41129         exactly specified dayshifts.
41130         (dayshift): New rule.
41131         (rel): Add dayshift.
41132         (relative_time_table) [tomorrow, yesterday, today, now]:
41133         Use tDAY_SHIFT in place of tDAY_UNIT.
41134         * tests/test-getdate.c: Add tests for now-disallowed countable
41135         dayshifts, e.g., "4 yesterday ago".
41136
41137 2008-09-29  Bruno Haible  <bruno@clisp.org>
41138
41139         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
41140         * tests/test-posix_spawn1.in.sh: Renamed from
41141         tests/test-posix_spawn.in.sh.
41142         * tests/test-posix_spawn2.c: New file.
41143         * tests/test-posix_spawn2.in.sh: New file.
41144         * modules/posix_spawnp-tests (Files): Update.
41145         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
41146
41147 2008-09-29  Bruno Haible  <bruno@clisp.org>
41148
41149         Propagate effects of putenv/setenv/unsetenv to child processes.
41150         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
41151         * lib/pipe.c (create_pipe): Likewise.
41152
41153 2008-09-29  Bruno Haible  <bruno@clisp.org>
41154
41155         Enable use of shell scripts as executables in mingw.
41156         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
41157         run the program as a shell script.
41158         * lib/pipe.c (create_pipe): Likewise.
41159         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
41160         resulting array.
41161
41162 2008-09-29  Eric Blake  <ebb9@byu.net>
41163
41164         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
41165
41166 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
41167
41168         * doc/posix-functions/accept.texi: Update mingw problems.
41169         * doc/posix-functions/bind.texi: Update mingw problems.
41170         * doc/posix-functions/close.texi: Update mingw problems.
41171         * doc/posix-functions/connect.texi: Update mingw problems.
41172         * doc/posix-functions/getpeername.texi: Update mingw problems.
41173         * doc/posix-functions/getsockname.texi: Update mingw problems.
41174         * doc/posix-functions/getsockopt.texi: Update mingw problems.
41175         * doc/posix-functions/ioctl.texi: Update mingw problems.
41176         * doc/posix-functions/listen.texi: Update mingw problems.
41177         * doc/posix-functions/recv.texi: Update mingw problems.
41178         * doc/posix-functions/recvfrom.texi: Update mingw problems.
41179         * doc/posix-functions/select.texi: Update mingw problems.
41180         * doc/posix-functions/send.texi: Update mingw problems.
41181         * doc/posix-functions/sendto.texi: Update mingw problems.
41182         * doc/posix-functions/setsockopt.texi: Update mingw problems.
41183         * doc/posix-functions/socket.texi: Update mingw problems.
41184
41185 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
41186             Bruno Haible  <bruno@clisp.org>
41187
41188         * lib/sys_select.in.h: Include sys/time.h.
41189         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
41190         * modules/sys_select: Depend on sys_time.
41191         * tests/test-sys_select.c: Test that sys/select.h defines struct
41192         timeval fully.
41193
41194 2008-09-29  Bruno Haible  <bruno@clisp.org>
41195
41196         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
41197         * lib/sys_select.in.h: Likewise.
41198
41199 2008-09-29  Bruno Haible  <bruno@clisp.org>
41200
41201         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
41202
41203 2008-09-29  Bruno Haible  <bruno@clisp.org>
41204
41205         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
41206         Set LIBSOCKET instead of augmenting LIBS.
41207         * modules/sockets (Link): New section.
41208         * modules/sockets-tests (test_sockets_LDADD): New variable.
41209         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
41210         * modules/poll-tests (test_poll_LDADD): New variable.
41211         * NEWS: Document the change.
41212
41213 2008-09-29  Bruno Haible  <bruno@clisp.org>
41214
41215         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
41216         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
41217         ARPA_INET_H directly.
41218         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
41219
41220 2008-09-28  Bruno Haible  <bruno@clisp.org>
41221
41222         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
41223         from gl_HEADER_SYS_SOCKET.
41224         (gl_HEADER_SYS_SOCKET): Invoke it.
41225         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
41226
41227 2008-09-28  Bruno Haible  <bruno@clisp.org>
41228
41229         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
41230         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
41231         Needed on OSF/1 4.0.
41232
41233 2008-09-28  Bruno Haible  <bruno@clisp.org>
41234
41235         Override open more carefully.
41236         * lib/open.c (orig_open): New function.
41237         (rpl_open): Use orig_open instead of open.
41238         * lib/fcntl.in.h: Add special invocation convention.
41239         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
41240         (gl_FUNC_OPEN): Invoke it.
41241
41242         Override freopen more carefully.
41243         * lib/freopen.c (orig_freopen): New function.
41244         (rpl_freopen): Use orig_freopen instead of freopen.
41245         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
41246         (gl_FUNC_FREOPEN): Invoke it.
41247
41248         Override fopen more carefully.
41249         * lib/fopen.c (orig_fopen): New function.
41250         (rpl_fopen): Use orig_fopen instead of fopen.
41251         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
41252         (gl_FUNC_FOPEN): Invoke it.
41253         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
41254
41255 2008-09-28  Bruno Haible  <bruno@clisp.org>
41256
41257         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
41258         SIGPIPE.
41259
41260 2008-09-28  Bruno Haible  <bruno@clisp.org>
41261
41262         * tests/test-sigaction.c (handler, main): Disable the check whether
41263         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
41264         glibc systems with LinuxThreads.
41265
41266 2008-09-28  Bruno Haible  <bruno@clisp.org>
41267
41268         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
41269
41270         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
41271         with AIX xlc.
41272         * lib/fcntl.in.h (open): Likewise.
41273         Reported by Rainer Tammer <tammer@tammer.net>.
41274
41275 2008-09-28  Bruno Haible  <bruno@clisp.org>
41276
41277         * modules/posix_spawnp-tests: New file.
41278         * tests/test-posix_spawn.c: New file.
41279         * tests/test-posix_spawn.in.sh: New file.
41280
41281         New module 'posix_spawnp'.
41282         * modules/posix_spawnp: New file.
41283         * lib/spawnp.c: New file, from GNU libc with modifications.
41284         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
41285
41286         New module 'posix_spawn'.
41287         * modules/posix_spawn: New file.
41288         * lib/spawn.c: New file, from GNU libc with modifications.
41289         * doc/posix-functions/posix_spawn.texi: Mention the new module.
41290
41291         New module 'posix_spawnattr_destroy'.
41292         * modules/posix_spawnattr_destroy: New file.
41293         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
41294         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
41295         module.
41296
41297         New module 'posix_spawnattr_setsigmask'.
41298         * modules/posix_spawnattr_setsigmask: New file.
41299         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
41300         modifications.
41301         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
41302         new module.
41303
41304         New module 'posix_spawnattr_getsigmask'.
41305         * modules/posix_spawnattr_getsigmask: New file.
41306         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
41307         modifications.
41308         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
41309         new module.
41310
41311         New module 'posix_spawnattr_setsigdefault'.
41312         * modules/posix_spawnattr_setsigdefault: New file.
41313         * lib/spawnattr_setdefault.c: New file, from GNU libc with
41314         modifications.
41315         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
41316         new module.
41317
41318         New module 'posix_spawnattr_getsigdefault'.
41319         * modules/posix_spawnattr_getsigdefault: New file.
41320         * lib/spawnattr_getdefault.c: New file, from GNU libc with
41321         modifications.
41322         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
41323         new module.
41324
41325         New module 'posix_spawnattr_setschedpolicy'.
41326         * modules/posix_spawnattr_setschedpolicy: New file.
41327         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
41328         modifications.
41329         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
41330         new module.
41331
41332         New module 'posix_spawnattr_getschedpolicy'.
41333         * modules/posix_spawnattr_getschedpolicy: New file.
41334         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
41335         modifications.
41336         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
41337         new module.
41338
41339         New module 'posix_spawnattr_setschedparam'.
41340         * modules/posix_spawnattr_setschedparam: New file.
41341         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
41342         modifications.
41343         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
41344         new module.
41345
41346         New module 'posix_spawnattr_getschedparam'.
41347         * modules/posix_spawnattr_getschedparam: New file.
41348         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
41349         modifications.
41350         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
41351         new module.
41352
41353         New module 'posix_spawnattr_setpgroup'.
41354         * modules/posix_spawnattr_setpgroup: New file.
41355         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
41356         modifications.
41357         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
41358         module.
41359
41360         New module 'posix_spawnattr_getpgroup'.
41361         * modules/posix_spawnattr_getpgroup: New file.
41362         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
41363         modifications.
41364         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
41365         module.
41366
41367         New module 'posix_spawnattr_setflags'.
41368         * modules/posix_spawnattr_setflags: New file.
41369         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
41370         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
41371         module.
41372
41373         New module 'posix_spawnattr_getflags'.
41374         * modules/posix_spawnattr_getflags: New file.
41375         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
41376         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
41377         module.
41378
41379         New module 'posix_spawnattr_init'.
41380         * modules/posix_spawnattr_init: New file.
41381         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
41382         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
41383         module.
41384
41385         New module 'posix_spawn_file_actions_destroy'.
41386         * modules/posix_spawn_file_actions_destroy: New file.
41387         * lib/spawn_faction_destroy.c: New file, from GNU libc with
41388         modifications.
41389         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
41390         the new module.
41391
41392         New module 'posix_spawn_file_actions_addopen'.
41393         * modules/posix_spawn_file_actions_addopen: New file.
41394         * lib/spawn_faction_addopen.c: New file, from GNU libc with
41395         modifications.
41396         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
41397         the new module.
41398
41399         New module 'posix_spawn_file_actions_adddup2'.
41400         * modules/posix_spawn_file_actions_adddup2: New file.
41401         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
41402         modifications.
41403         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
41404         the new module.
41405
41406         New module 'posix_spawn_file_actions_addclose'.
41407         * modules/posix_spawn_file_actions_addclose: New file.
41408         * lib/spawn_faction_addclose.c: New file, from GNU libc with
41409         modifications.
41410         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
41411         the new module.
41412
41413         New module 'posix_spawn_file_actions_init'.
41414         * modules/posix_spawn_file_actions_init: New file.
41415         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
41416         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
41417         new module.
41418
41419         New module 'posix_spawn-internal'.
41420         * modules/posix_spawn-internal: New file.
41421         * lib/spawn_int.h: New file, from GNU libc with modifications.
41422         * lib/spawni.c: New file, from GNU libc with modifications.
41423         * m4/posix_spawn.m4: New file.
41424
41425         New module 'spawn'.
41426         * modules/spawn: New file.
41427         * lib/spawn.in.h: New file, from GNU libc with modifications.
41428         * m4/spawn_h.m4: New file.
41429         * doc/posix-headers/spawn.texi: Mention the new module.
41430
41431 2008-09-28  Bruno Haible  <bruno@clisp.org>
41432
41433         * modules/sched-tests: New file.
41434         * tests/test-sched.c: New file.
41435
41436         New module 'sched'.
41437         * modules/sched: New file.
41438         * lib/sched.in.h: New file.
41439         * m4/sched_h.m4: New file.
41440         * doc/posix-headers/sched.texi: Mention the new module.
41441
41442 2008-09-27  Eric Blake  <ebb9@byu.net>
41443
41444         Fix previous patch, and tweak references to $0.
41445         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
41446         (func_version, func_gnulib_dir): Don't call this program
41447         gnulib-tool.
41448         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
41449         with using $0 in function.
41450         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
41451         (func_fatal_error): Reuse the name the user invoked us with.
41452
41453 2008-09-27  Bruno Haible  <bruno@clisp.org>
41454
41455         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
41456         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
41457         (gl_ICONV_H): Not here.
41458         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
41459         instead of assigning ICONV_H directly.
41460
41461         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
41462         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
41463         WCHAR_H directly.
41464
41465 2008-09-27  Bruno Haible  <bruno@clisp.org>
41466
41467         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
41468         * modules/arpa_inet (Depends-on): Add link-warning.
41469         (Makefile.am): Insert the definition of GL_LINK-WARNING.
41470         * modules/unistd (Makefile.am): Likewise.
41471
41472 2008-09-26  Bruno Haible  <bruno@clisp.org>
41473
41474         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
41475         variables.
41476         (func_version): Essentially copied from gnulib-tool.
41477         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
41478         func_readlink): Copied from gnulib-tool.
41479
41480 2008-09-26  Bruno Haible  <bruno@clisp.org>
41481
41482         * gnulib-tool (func_version): Change directory to $gnulib_dir before
41483         invoking git-version-gen.
41484
41485 2008-09-26  Bruno Haible  <bruno@clisp.org>
41486
41487         * posix-modules: Update to directory names changed on 2008-01-19.
41488         Remove commas in output before splitting into words. No more need to
41489         avoid 'ftruncate' since 2007-02-19.
41490
41491 2008-09-26  Bruno Haible  <bruno@clisp.org>
41492
41493         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
41494
41495 2008-09-26  Bruno Haible  <bruno@clisp.org>
41496
41497         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
41498         * modules/fwriteerror (Depends-on): Add errno.
41499
41500 2008-09-26  Bruno Haible  <bruno@clisp.org>
41501
41502         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
41503         * tests/test-vc-list-files-cvs.sh: Likewise.
41504
41505 2008-09-26  Bruno Haible  <bruno@clisp.org>
41506
41507         * doc/posix-headers/sys_resource.texi: Reorder items.
41508
41509 2008-09-26  Jim Meyering  <meyering@redhat.com>
41510
41511         fts: tweak inode comparison function
41512         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
41513         inode numbers, as documented.
41514
41515         fts: sort dirent entries on inode number before traversing
41516         This avoids a quadratic, seek-related performance penalty when
41517         operating on a directory containing many entries (measurable at 10k;
41518         3.5 hours at 2 million entries with a cold cache) on certain types
41519         of file systems, including ext3 and ext4, but not tmpfs.
41520         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
41521         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
41522         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
41523         (fs_handles_readdir_ordered_dirents_efficiently): New function.
41524         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
41525         (fts_build): Set the stat.st_ino member from D_INO.
41526         If it is likely to be useful, sort dirent entries on inode number.
41527
41528         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
41529         and the struct statfs.f_type member.
41530         * modules/fts (Depends-on): Add d-ino.
41531
41532 2008-09-26  Bruno Haible  <bruno@clisp.org>
41533
41534         * modules/sigpipe-die (Depends-on): Add sigpipe.
41535
41536         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
41537         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
41538         and GNULIB_STDIO_H_SIGPIPE are set.
41539         * lib/stdio-write.c: New file.
41540         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
41541         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
41542         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
41543         REPLACE_STDIO_WRITE_FUNCS.
41544         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
41545         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
41546         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
41547         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
41548         * modules/stdio (Files): Add lib/stdio-write.c.
41549         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
41550         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
41551         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
41552         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
41553         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
41554         REPLACE_FPRINTF_POSIX.
41555         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
41556         REPLACE_PRINTF_POSIX.
41557         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
41558         REPLACE_VFPRINTF_POSIX.
41559         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
41560         REPLACE_VPRINTF_POSIX.
41561         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
41562         SIGPIPE issue.
41563         * doc/posix-functions/fputc.texi: Likewise.
41564         * doc/posix-functions/fputs.texi: Likewise.
41565         * doc/posix-functions/fwrite.texi: Likewise.
41566         * doc/posix-functions/printf.texi: Likewise.
41567         * doc/posix-functions/putc.texi: Likewise.
41568         * doc/posix-functions/putchar.texi: Likewise.
41569         * doc/posix-functions/puts.texi: Likewise.
41570         * doc/posix-functions/vfprintf.texi: Likewise.
41571         * doc/posix-functions/vprintf.texi: Likewise.
41572
41573         * modules/safe-write (Depends-on): Add write.
41574
41575         * modules/sigpipe-tests: New file.
41576         * tests/test-sigpipe.c: New file.
41577         * tests/test-sigpipe.sh: New file.
41578
41579         * modules/write: New file.
41580         * lib/unistd.in.h: Include <sys/types.h>.
41581         (write): New declaration.
41582         * lib/write.c: New file.
41583         * m4/write.m4: New file.
41584         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
41585         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
41586         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
41587         GNULIB_WRITE, REPLACE_WRITE.
41588         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
41589         and the SIGPIPE issue.
41590
41591         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
41592         (raise): New declaration.
41593         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
41594         (ext_signal): New function.
41595         (rpl_raise): New function.
41596         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
41597         GNULIB_SIGNAL_H_SIGPIPE.
41598         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
41599         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
41600
41601         * modules/sigpipe: New file.
41602         * m4/sigpipe.m4: New file.
41603
41604 2008-09-25  Derek Price  <derek@ximbiot.com>
41605             Bruno Haible  <bruno@clisp.org>
41606
41607         * gnulib-tool (func_import): Report all license incompatibilities, not
41608         just the first one.
41609
41610 2008-09-25  Bruno Haible  <bruno@clisp.org>
41611
41612         * gnulib-tool (func_import): When computing the edits, consider not
41613         only the Makefile.ams that exist but also those that will be generated.
41614
41615 2008-09-25  Simon Josefsson  <simon@josefsson.org>
41616
41617         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
41618         fixes gnulib-tool --test warning about duplicate dependency.
41619
41620 2008-09-25  Bruno Haible  <bruno@clisp.org>
41621
41622         * gnulib-tool: Don't ask the user to perform edits in the generated
41623         Makefile.ams.
41624         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
41625         apply to the Makefile.am being generated.
41626         (func_emit_tests_Makefile_am): Execute edits that apply to the
41627         Makefile.am being generated.
41628         (func_import): Setup list of Makefile.am edits before emitting the
41629         Makefile.ams, not at the end.
41630         (func_create_testdir): Update.
41631         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
41632
41633 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41634
41635         * gnulib-tool (func_import): Store the --tests-base option in the
41636         comment in gnulib-cache.m4.
41637
41638 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
41639
41640         * NEWS: Document increased portability that sys_select now provides.
41641
41642         * lib/sys_select.in.h: Install select wrapper.
41643         * lib/sys_socket.in.h: Use more descriptive name when there is no
41644         select wrapper.
41645         * lib/winsock-select.c: New.
41646         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
41647         Require gl_HEADER_SYS_SOCKET.
41648         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
41649         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
41650         * tests/test-sys_select.c: Add functional tests.
41651
41652 2008-09-24  Eric Blake  <ebb9@byu.net>
41653
41654         open, fopen: close fd leak in last patch
41655         * lib/open.c (rpl_open): Close fd before returning error.
41656         * lib/fopen.c (rpl_fopen): Close fd before returning error.
41657         * doc/posix-functions/open.texi (open): Document that Irix also
41658         has the bug.
41659         * doc/posix-functions/fopen.texi (fopen): Likewise.
41660         Reported by Paolo Bonzini.
41661
41662 2008-09-24  Bruno Haible  <bruno@clisp.org>
41663
41664         Ensure that a filename ending in a slash cannot be used to access a
41665         non-directory.
41666         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
41667         to check whether it's really a directory.
41668         * lib/fopen.c: Include fcntl.h, unistd.h.
41669         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
41670         and fdopen().
41671         * modules/fopen (Depends-on): Add unistd.
41672         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
41673         * tests/test-fopen.c (main): Likewise.
41674         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
41675         * doc/posix-functions/fopen.texi: Likewise.
41676         Reported by Eric Blake.
41677
41678 2008-09-23  Eric Blake  <ebb9@byu.net>
41679
41680         c-stack: avoid compiler optimizations when provoking overflow
41681         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
41682         recursion harder to optimize, to ensure a stack overflow occurs.
41683         * tests/test-c-stack.c (recurse): Likewise.
41684         Borrowed from libsigsegv.
41685
41686         c-stack: work around Irix sigaltstack bug
41687         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
41688         whether sigaltstack uses wrong end of stack_t (copied in part from
41689         libsigsegv).
41690         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
41691         Irix bug, without requiring an over-allocation.
41692         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
41693         bug.
41694
41695         fopen: document mingw bug on directories
41696         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
41697         not allowing a stream visiting a directory, even though reading
41698         from such a stream is not portable.
41699
41700 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
41701
41702         * lib/poll.c: Rewrite.
41703         * modules/poll: Depend on alloca.
41704
41705 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
41706
41707         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
41708         instead define prototypes for a full set of wrappers.  Ensure
41709         that Cygwin does not use the compatibility code, which is only
41710         for MinGW.
41711         * lib/winsock.c: New.
41712         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
41713         * modules/sys_socket: Add lib/winsock.c.
41714
41715         * modules/poll-tests: Add errno and perror.
41716         * tests/test-poll.c: Use ioctl, not ioctlsocket.
41717
41718 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
41719
41720         * tests/test-poll.c: Downgrade minimum needed Winsock version.
41721
41722 2008-09-23  Bruno Haible  <bruno@clisp.org>
41723
41724         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
41725         * doc/glibc-functions/*: Likewise.
41726
41727 2008-09-23  Simon Josefsson  <simon@josefsson.org>
41728
41729         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
41730         success.
41731
41732 2008-09-22  Eric Blake  <ebb9@byu.net>
41733             Bruno Haible  <bruno@clisp.org>
41734
41735         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
41736         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
41737         supply %A but mishandle pseudo-NaN.
41738         Reported by Simon Josefsson.
41739
41740 2008-09-21  Bruno Haible  <bruno@clisp.org>
41741
41742         * tests/test-lock.c (main): Tweak skip message.
41743         * tests/test-tls.c (main): Likewise.
41744
41745 2008-09-21  Bruno Haible  <bruno@clisp.org>
41746
41747         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
41748         whether 'struct sigaction' has sa_sigaction here...
41749         (gl_PREREQ_SIG_HANDLER_H): ... not here.
41750         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
41751
41752 2008-09-21  Bruno Haible  <bruno@clisp.org>
41753
41754         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
41755         section.
41756         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
41757         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
41758         the new section.
41759         (Support for obsolete systems lacking POSIX:2001): New section.
41760         (String handling <string.h>): Move strdup to the new section.
41761         Suggested by Simon Josefsson and Paolo Bonzini.
41762
41763 2008-09-21  Bruno Haible  <bruno@clisp.org>
41764
41765         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
41766         exponents in %e and %g results on 'long double'. Needed for mingw's
41767         improved *printf functions.
41768         * tests/test-vasprintf-posix.c (test_function): Likewise.
41769         * tests/test-snprintf-posix.h (test_function): Likewise.
41770         * tests/test-sprintf-posix.h (test_function): Likewise.
41771         Reported by Eric Blake.
41772
41773 2008-09-21  Bruno Haible  <bruno@clisp.org>
41774
41775         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
41776         * tests/test-sprintf-posix.h (test_function): Likewise.
41777
41778 2008-09-21  Bruno Haible  <bruno@clisp.org>
41779
41780         * modules/getpass (Depends-on): Add strdup-posix.
41781
41782         New module 'strdup-posix'.
41783         * modules/strdup-posix: New file.
41784         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
41785         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
41786         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
41787         REPLACE_STRDUP.
41788         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
41789         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
41790         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
41791         strdup-posix.
41792
41793         * modules/strdup (Depends-on): Remove malloc-posix.
41794
41795 2008-09-20  Bruno Haible  <bruno@clisp.org>
41796
41797         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
41798         Wildenhues.
41799
41800 2008-09-20  Bruno Haible  <bruno@clisp.org>
41801
41802         Ensure that wint_t gets defined on IRIX 5.3.
41803         * lib/wchar.in.h (wint_t): Define if not defined by the system.
41804         * lib/wctype.in.h (wint_t): Likewise.
41805         (__wctype_wint_t): Remove type.
41806         (isw*): Use wint_t instead of __wctype_wint_t.
41807         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
41808         * modules/wchar (Files): Add m4/wint_t.m4.
41809         (Makefile.am): Substitute HAVE_WINT_T.
41810         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
41811         * tests/test-wctype.c: Check that wint_t is defined.
41812         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
41813         * doc/posix-headers/wctype.texi: Likewise.
41814         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
41815
41816 2008-09-18  Bruno Haible  <bruno@clisp.org>
41817
41818         * gnulib-tool (func_exit): Update comment.
41819
41820 2008-09-18  Simon Josefsson  <simon@josefsson.org>
41821
41822         * modules/getaddrinfo (Depends-on): Remove strdup, this module
41823         assumes strdup exists and does not depend on strdup to return
41824         ENOMEM on out of memory conditions.
41825
41826 2008-09-18  Bruno Haible  <bruno@clisp.org>
41827
41828         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
41829         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
41830         digits for the exponent.
41831
41832 2008-09-18  Jim Meyering  <meyering@redhat.com>
41833             Bruno Haible  <bruno@clisp.org>
41834
41835         * lib/vasnprintf.c (decimal_point_char): Define also if
41836         NEED_PRINTF_INFINITE_LONG_DOUBLE.
41837
41838 2008-09-16  Bruno Haible  <bruno@clisp.org>
41839         and Eric Blake  <ebb9@byu.net>
41840
41841         vasnprintf: support Irix 5.3
41842         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
41843         that mishandle long double infinity.
41844         Reported by Tom G. Christensen.
41845
41846 2008-09-16  Bruno Haible  <bruno@clisp.org>
41847
41848         * doc/glibc-functions/scandir.texi: Mention the function is missing on
41849         Solaris 9.
41850         * doc/glibc-functions/alphasort.texi: Likewise.
41851         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
41852
41853 2008-09-16  Jim Meyering  <meyering@redhat.com>
41854
41855         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
41856         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
41857         a umask modification leak out of a subshell.  Otherwise, the
41858         opensolaris /bin/sh would be accepted and thus cause unwarranted
41859         failures in the coreutils test suite.
41860
41861 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
41862
41863         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
41864         to succeed.
41865
41866 2008-09-16  Jim Meyering  <meyering@redhat.com>
41867
41868         avoid spurious test failure when library is built without ACL support
41869         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
41870         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
41871         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
41872         * tests/test-copy-acl.sh: Likewise.
41873
41874 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41875
41876         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
41877         based on character occurrence counts.
41878
41879 2008-09-15  Eric Blake  <ebb9@byu.net>
41880
41881         tests: avoid some compiler warnings
41882         * tests/test-memchr.c (main): Pass NULL indirectly.
41883         * tests/test-closein.c (main): Avoid unused variable.
41884
41885 2008-09-15  Bruno Haible  <bruno@clisp.org>
41886
41887         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
41888         are missing on OpenBSD 4.0 individually.
41889         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
41890
41891 2008-09-15  Bruno Haible  <bruno@clisp.org>
41892
41893         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
41894         * doc/posix-functions/strerror.texi: Mention also Cygwin.
41895         * doc/posix-functions/perror.texi: Likewise.
41896         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
41897         is missing.
41898         Reported by Eric Blake.
41899
41900         * lib/errno.in.h: Use replacement values >= 2000.
41901         Reported by Eric Blake.
41902
41903 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41904
41905         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
41906         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
41907         limit.
41908         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
41909         compareseq was aborted.
41910
41911 2008-09-14  Bruno Haible  <bruno@clisp.org>
41912
41913         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
41914         yvec_edit_count.
41915         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
41916         (fstrcmp_bounded): Simplify result computation accordingly.
41917
41918 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41919
41920         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
41921         (fstrcmp): Define in terms of fstrcmp_bounded.
41922         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
41923         lower_bound argument.
41924         Return quickly if the result is certainly < lower_bound.
41925         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
41926
41927 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41928
41929         * lib/diffseq.h (EARLY_ABORT): New macro.
41930         (compareseq): Change return type to bool. Return true when EARLY_ABORT
41931         evaluates to true.
41932
41933 2008-09-14  Bruno Haible  <bruno@clisp.org>
41934
41935         * modules/perror-tests: New file.
41936         * tests/test-perror.sh: New file.
41937         * tests/test-perror.c: New file.
41938
41939         New module 'perror'.
41940         * lib/stdio.in.h (perror): New declaration.
41941         * lib/perror.c: New file.
41942         * m4/perror.m4: New file.
41943         * modules/perror: New file.
41944         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
41945         * doc/posix-functions/perror.texi: Mention the perror module.
41946         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
41947         REPLACE_PERROR.
41948         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
41949         REPLACE_PERROR.
41950
41951 2008-09-14  Bruno Haible  <bruno@clisp.org>
41952
41953         * modules/stdio (Makefile.am): Reorder to match the order in
41954         lib/stdio.in.h.
41955         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
41956
41957 2008-09-13  Bruno Haible  <bruno@clisp.org>
41958
41959         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
41960
41961 2008-09-13  Bruno Haible  <bruno@clisp.org>
41962
41963         Extend strerror to cover the added errno values.
41964         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
41965         (rpl_strerror): Provide error messages for the added errno values and
41966         for the WSA* values.
41967         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
41968         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
41969         strerror.
41970         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
41971         * modules/strerror (Depends-on): Add errno.
41972         * doc/posix-functions/strerror.texi: Document the change.
41973         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
41974         and EOVERFLOW.
41975
41976 2008-09-13  Bruno Haible  <bruno@clisp.org>
41977
41978         * modules/EOVERFLOW: Remove file.
41979         * m4/eoverflow.m4: Remove file.
41980         * modules/EOVERFLOW-tests: Remove file.
41981         * tests/test-EOVERFLOW.c: Remove file.
41982         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
41983         * modules/ftell (Depends-on): Likewise.
41984         * modules/getdelim (Depends-on): Likewise.
41985         * modules/getugroups (Depends-on): Likewise.
41986         * modules/poll (Depends-on): Likewise.
41987         * modules/snprintf (Depends-on): Likewise.
41988         * modules/sprintf-posix (Depends-on): Likewise.
41989         * modules/vasnprintf (Depends-on): Likewise.
41990         * modules/vasprintf (Depends-on): Likewise.
41991         * modules/vfprintf-posix (Depends-on): Likewise.
41992         * modules/vsnprintf (Depends-on): Likewise.
41993         * modules/vsprintf-posix (Depends-on): Likewise.
41994         * modules/xvasprintf (Depends-on): Likewise.
41995         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
41996         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
41997         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
41998         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
41999         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
42000         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
42001         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
42002         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
42003         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
42004         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
42005         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
42006         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
42007         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
42008         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
42009         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
42010         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
42011         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
42012         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
42013         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
42014         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
42015         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
42016         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
42017         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
42018         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
42019         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
42020         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
42021         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
42022         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
42023         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
42024         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
42025         * MODULES.html.sh: Remove EOVERFLOW.
42026         * NEWS: Mention the change.
42027
42028 2008-09-13  Bruno Haible  <bruno@clisp.org>
42029
42030         * modules/errno-tests: New file.
42031         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
42032
42033         * lib/errno.in.h: New file.
42034         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
42035         * modules/errno: New file.
42036         * doc/posix-headers/errno.texi: Update documentation.
42037         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
42038
42039 2008-09-13  Bruno Haible  <bruno@clisp.org>
42040
42041         * tests/test-poll.c: Use #if for native Windows, rather than testing
42042         __MSVCRT__.
42043
42044 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42045             Bruno Haible  <bruno@clisp.org>
42046
42047         * lib/glob.c: Don't include <pwd.h> on native Windows.
42048         (WINDOWS32): New macro.
42049         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
42050
42051 2008-09-13  Bruno Haible  <bruno@clisp.org>
42052
42053         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
42054         (ETIMEDOUT): Remove macro.
42055         (glthread_cond_timedwait_multithreaded): New declaration.
42056         (glthread_cond_timedwait): Use it.
42057         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
42058         (glthread_cond_timedwait_multithreaded): New function.
42059
42060 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
42061
42062         * modules/poll-tests: Do not check for io.h.
42063         * tests/test-poll.c: Check for __MSVCRT__ instead.
42064
42065 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
42066
42067         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
42068         * modules/poll-tests: Add inet_pton, stdbool, sockets.
42069         * tests/test-poll.c: Use them.  Use _pipe on Windows.
42070
42071 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
42072
42073         * modules/poll-tests: New.
42074         * tests/test-poll.c: New.
42075
42076 2008-09-12  Eric Blake  <ebb9@byu.net>
42077
42078         frexp: test for NetBSD failure on -0.0
42079         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
42080         not all, bugs from NetBSD 3.0 have been fixed.
42081         * doc/posix-functions/frexp.texi (frexp): Document bug.
42082         Reported by Thomas Klausner.
42083
42084         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
42085         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
42086         literal -0.0.
42087         Reported by Jonathan C. Patschke <jp@centtech.com>.
42088
42089 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42090
42091         * lib/glthread/cond.h: Use dummy implementation also if
42092         USE_WIN32_THREADS.
42093
42094 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42095
42096         * modules/fnmatch-posix (License): Change to LGPLv2+.
42097         * modules/fnmatch-gnu (License): Likewise.
42098
42099 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42100
42101         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
42102
42103 2008-09-11  Jim Meyering  <meyering@redhat.com>
42104
42105         * users.txt: Add gtk-vnc.
42106
42107 2008-09-08  Simon Josefsson  <simon@josefsson.org>
42108
42109         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
42110         rotate amounts.
42111
42112         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
42113         required for 16-bit and 8-bit rotates.
42114         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
42115         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
42116         UINT8_MAX instead of hard-coded constants.
42117         Suggested by Paul Eggert.
42118
42119 2008-09-07  Bruno Haible  <bruno@clisp.org>
42120
42121         * tests/test-striconveh.c (main): Check behaviour when converting from
42122         UTF-7.
42123
42124         Make striconveh work better with stateful encodings.
42125         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
42126         that iconv does not increment the inptr when returning -1/EINVAL.
42127
42128 2008-09-07  Bruno Haible  <bruno@clisp.org>
42129
42130         * build-aux/config.rpath: Update according to libtool-2.2.6.
42131         * build-aux/config.libpath: Likewise.
42132
42133 2008-09-06  Bruno Haible  <bruno@clisp.org>
42134
42135         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
42136         * lib/freadptr.c (freadptr): Likewise.
42137         * lib/freadseek.c (freadptrinc): Likewise.
42138         Reported by Simon Josefsson.
42139
42140 2008-09-06  Bruno Haible  <bruno@clisp.org>
42141
42142         * modules/freadptr (License): Change to LGPLv2+.
42143         * modules/freadseek (License): Likewise.
42144         Suggested by Eric Blake.
42145
42146         * modules/memchr2 (License): Change to LGPLv2+.
42147         Approved by Eric Blake.
42148
42149 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42150             Bruno Haible  <bruno@clisp.org>
42151
42152         Make gnulib-tool work with native 'sed' on AIX.
42153         * gnulib-tool (sed_noop): New variable.
42154         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
42155         func_add_or_update, func_create_testdir): Use it to initialize sed
42156         script variables.
42157         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
42158
42159 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
42160             Bruno Haible  <bruno@clisp.org>
42161
42162         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
42163         also works after #include directives.
42164
42165 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
42166
42167         getdate.y: reject an out-of-range timezone value
42168         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
42169         the range [-24...+24].  When specified with only one or two digits,
42170         * tests/test-getdate.c: Tests for the fix.
42171         * doc/getdate.texi: Document this change.
42172
42173 2008-09-03  Bruno Haible  <bruno@clisp.org>
42174
42175         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
42176
42177 2008-09-02  Simon Josefsson  <simon@josefsson.org>
42178
42179         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
42180         <bruce.korb@gmail.com> with ideas from Ben Pfaff
42181         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
42182         Blake <ebb9@byu.net>.
42183
42184         * tests/test-bitrotate.c: Add more test vectors.
42185
42186 2008-09-02  Eric Blake  <ebb9@byu.net>
42187
42188         vasnprintf-posix: handle large precision via %.*d
42189         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
42190         when handling it ourselves.
42191         * tests/test-vasnprintf-posix.c (test_function): Add test.
42192         * tests/test-snprintf-posix.h (test_function): Likewise.
42193         * tests/test-sprintf-posix.h (test_function): Likewise.
42194         * tests/test-vasprintf-posix.c (test_function): Likewise.
42195         Reported by Alain Guibert.
42196
42197 2008-09-01  Eric Blake  <ebb9@byu.net>
42198
42199         c-stack: make configure-time check more robust
42200         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
42201         successful sigaction call.
42202         Reported by Tom G. Christensen.
42203
42204 2008-09-01  Bruno Haible  <bruno@clisp.org>
42205
42206         New module 'findprog-lgpl'.
42207         * modules/findprog-lgpl: New file.
42208         * lib/findprog-lgpl.c: New file.
42209         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
42210         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
42211         to decide whether to use strdup or xstrdup, concatenated_filename or
42212         xconcatenated_filename.
42213
42214 2008-09-01  Bruno Haible  <bruno@clisp.org>
42215
42216         Split module 'concat-filename' into 'concat-filename' (LGPL) and
42217         'xconcat-filename' (GPL).
42218         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
42219         (License): Change to LGPLv2+.
42220         * modules/xconcat-filename: New file.
42221         * lib/concat-filename.h (concatenated_filename): Change specification.
42222         (xconcatenated_filename): New declaration.
42223         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
42224         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
42225         memory situations.
42226         * lib/xconcat-filename.c: New file.
42227         * NEWS: Mention the change.
42228         * lib/findprog.c: Include concat-filename.h, not filename.h.
42229         (find_in_path): Use xconcatenated_filename instead of
42230         concatenated_filename.
42231         * lib/javacomp.c: Include concat-filename.h, not filename.h.
42232         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
42233         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
42234         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
42235         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
42236         instead of concatenated_filename.
42237         * lib/javaexec.c: Include concat-filename.h, not filename.h.
42238         (execute_java_class): Use xconcatenated_filename instead of
42239         concatenated_filename.
42240         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
42241         * modules/javacomp (Depends-on): Likewise.
42242         * modules/javaexec (Depends-on): Likewise.
42243
42244 2008-09-01  Bruno Haible  <bruno@clisp.org>
42245
42246         Split module 'filename' into 'filename' and 'concat-filename'.
42247         * modules/filename: Keep only lib/filename.h.
42248         (License): Change to LGPLv2+.
42249         * modules/concat-filename: New file, extracted from modules/filename.
42250         * lib/filename.h (concatenated_filename): Remove declaration.
42251         * lib/concat-filename.h: New file, extracted from lib/filename.h.
42252         * lib/concat-filename.c: Include concat-filename.h.
42253         * NEWS: Mention the change.
42254
42255 2008-09-01  Simon Josefsson  <simon@josefsson.org>
42256
42257         * lib/bitrotate.h (rotl8, rotr8): Add.
42258
42259         * modules/bitrotate (configure.ac): Need
42260         AC_REQUIRE([AC_C_INLINE]).
42261         (Description): Mention stdint.h.  Reported by Bruno Haible
42262         <bruno@clisp.org>.
42263
42264         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
42265         Paolo Bonzini <bonzini@gnu.org>.
42266
42267 2008-08-31  Bruno Haible  <bruno@clisp.org>
42268
42269         Assume Solaris specific bi-arch conventions on Solaris systems.
42270         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
42271         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
42272         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
42273         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
42274         like acl_libdirstem.
42275         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
42276         acl_libdirstem.
42277         * NEWS: Mention the change.
42278         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
42279
42280 2008-08-31  Jim Meyering  <meyering@redhat.com>
42281
42282         * lib/strftime.h: Add comments describing the two added arguments.
42283
42284         remove duplicate #include directives
42285         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
42286         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
42287
42288 2008-08-31  Bruno Haible  <bruno@clisp.org>
42289
42290         New module 'sigpipe-die'.
42291         * modules/sigpipe-die: New file.
42292         * lib/sigpipe-die.h: New file.
42293         * lib/sigpipe-die.c: New file.
42294         * MODULES.html.sh (Signal handling): Add sigpipe-die.
42295
42296 2008-08-31  Bruno Haible  <bruno@clisp.org>
42297
42298         Don't override previously installed signal handlers.
42299         * lib/fatal-signal.c (saved_sigactions): New variable.
42300         (uninstall_handlers): Reset the signal to the saved handler, not
42301         to SIG_DFL (except when ignored).
42302         (install_handlers): Save the previous handlers.
42303
42304 2008-08-30  Bruno Haible  <bruno@clisp.org>
42305
42306         * gnulib-tool (func_reset_sigpipe): New function.
42307         (func_get_automake_snippet, func_modules_transitive_closure,
42308         func_import): Invoke it before a join command that reads from stdin,
42309         to avoid "echo: write error: Broken pipe" error messages on stderr.
42310         Reported by Sam Steingold <sds@gnu.org>.
42311
42312 2008-08-30  Bruno Haible  <bruno@clisp.org>
42313
42314         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
42315         Code copied from m4/open.m4.
42316         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
42317         access and the filename ends in a slash. Code copied from lib/open.c.
42318         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
42319         * tests/test-fopen.c (main): Check against bug with trailing slash.
42320
42321 2008-08-29  Bruno Haible  <bruno@clisp.org>
42322
42323         Avoid some "gcc -pedantic" warnings.
42324         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
42325         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
42326         * lib/dirent.in.h: Likewise.
42327         * lib/fcntl.in.h: Likewise.
42328         * lib/float.in.h: Likewise.
42329         * lib/iconv.in.h: Likewise.
42330         * lib/inttypes.in.h: Likewise.
42331         * lib/locale.in.h: Likewise.
42332         * lib/math.in.h: Likewise.
42333         * lib/netinet_in.in.h: Likewise.
42334         * lib/search.in.h: Likewise.
42335         * lib/signal.in.h: Likewise.
42336         * lib/stdarg.in.h: Likewise.
42337         * lib/stdint.in.h: Likewise.
42338         * lib/stdio.in.h: Likewise.
42339         * lib/stdlib.in.h: Likewise.
42340         * lib/string.in.h: Likewise.
42341         * lib/strings.in.h: Likewise.
42342         * lib/sys_select.in.h: Likewise.
42343         * lib/sys_socket.in.h: Likewise.
42344         * lib/sys_stat.in.h: Likewise.
42345         * lib/sys_time.in.h: Likewise.
42346         * lib/sysexits.in.h: Likewise.
42347         * lib/time.in.h: Likewise.
42348         * lib/unistd.in.h: Likewise.
42349         * lib/wchar.in.h: Likewise.
42350         * lib/wctype.in.h: Likewise.
42351         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
42352         * modules/fchdir (Makefile.am): Likewise.
42353         * modules/fcntl (Makefile.am): Likewise.
42354         * modules/float (Makefile.am): Likewise.
42355         * modules/iconv_open (Makefile.am): Likewise.
42356         * modules/inttypes (Makefile.am): Likewise.
42357         * modules/locale (Makefile.am): Likewise.
42358         * modules/math (Makefile.am): Likewise.
42359         * modules/netinet_in (Makefile.am): Likewise.
42360         * modules/search (Makefile.am): Likewise.
42361         * modules/signal (Makefile.am): Likewise.
42362         * modules/stdarg (Makefile.am): Likewise.
42363         * modules/stdint (Makefile.am): Likewise.
42364         * modules/stdio (Makefile.am): Likewise.
42365         * modules/stdlib (Makefile.am): Likewise.
42366         * modules/string (Makefile.am): Likewise.
42367         * modules/strings (Makefile.am): Likewise.
42368         * modules/sys_select (Makefile.am): Likewise.
42369         * modules/sys_socket (Makefile.am): Likewise.
42370         * modules/sys_stat (Makefile.am): Likewise.
42371         * modules/sys_time (Makefile.am): Likewise.
42372         * modules/sysexits (Makefile.am): Likewise.
42373         * modules/time (Makefile.am): Likewise.
42374         * modules/unistd (Makefile.am): Likewise.
42375         * modules/wchar (Makefile.am): Likewise.
42376         * modules/wctype (Makefile.am): Likewise.
42377         Reported by Reuben Thomas <rrt@sc3d.org>.
42378
42379 2008-08-29  Bruno Haible  <bruno@clisp.org>
42380
42381         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
42382         any more.
42383
42384 2008-08-29  Simon Josefsson  <simon@josefsson.org>
42385
42386         * MODULES.html.sh (Misc): Add bitrotate.
42387
42388         * modules/bitrotate: New file.
42389
42390         * lib/bitrotate.h: New file.
42391
42392         * modules/bitrotate-tests: New file.
42393
42394         * tests/test-bitrotate.c: New file.
42395
42396         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
42397         on the bitrotate module.
42398
42399         * lib/arctwo.c: Use new bitrotate module.
42400
42401 2008-08-29  Jim Meyering  <meyering@redhat.com>
42402
42403         bootstrap: merge changes from coreutils
42404         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
42405         of copied files.  Remove a kludge, now that this is fixed.
42406         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
42407         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
42408         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
42409
42410 2008-08-29  Bruno Haible  <bruno@clisp.org>
42411
42412         * MODULES.html.sh: Remove --cvs-urls option.
42413
42414 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
42415
42416         maint.mk: adjust to file name change
42417         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
42418
42419 2008-08-28  Jim Meyering  <meyering@redhat.com>
42420
42421         * modules/getndelim2 (License): Relicense to LGPLv2+.
42422         Approved by Richard Stallman for the version of 1995, and by
42423         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
42424
42425 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
42426
42427         * lib/getdelim.c (flockfile, funlockfile): Make all of them
42428         dummy if one is not available.  Do not touch them if
42429         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
42430         (getc_maybe_unlocked): New.
42431         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
42432
42433 2008-08-26  Eric Blake  <ebb9@byu.net>
42434
42435         doc/INSTALL: resync from autoconf
42436         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
42437         (INSTALL_PRELUDE): Delete; this is done more efficiently by
42438         moving...
42439         * install.texi [!autoconf]: ...here.  Resync from autoconf.
42440         * INSTALL: Regenerate.
42441         * INSTALL.ISO: New file.
42442         * INSTALL.UTF-8: Likewise.
42443
42444 2008-08-26  Jim Meyering  <meyering@redhat.com>
42445
42446         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
42447         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
42448         these definitions conditional, so that they may be overridden, too.
42449
42450 2008-08-26  Bruno Haible  <bruno@clisp.org>
42451
42452         Generate INSTALL file variants with prettier quotes.
42453         * doc/Makefile (INSTALL_PRELUDE): New macro.
42454         (INSTALL): Use it.
42455         (INSTALL.ISO, INSTALL.UTF-8): New rules.
42456
42457 2008-08-26  Bruno Haible  <bruno@clisp.org>
42458
42459         Run makeinfo in an English locale.
42460         * doc/Makefile (MAKEINFO): New variable.
42461
42462 2008-08-26  Bruno Haible  <bruno@clisp.org>
42463
42464         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
42465         Suggested by Eric Blake.
42466
42467 2008-08-25  Bruno Haible  <bruno@clisp.org>
42468
42469         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
42470
42471 2008-08-25  Eric Blake  <ebb9@byu.net>
42472
42473         c-stack: test that stack overflow can be caught
42474         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
42475         that platform allows handling stack overflow; at least OS/2 EMX
42476         has sigaltstack, but crashes before transferring control to
42477         handler on stack overflow.
42478         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
42479         check for HAVE_STACK_OVERFLOW_HANDLING.
42480         Reported by Elbert Pol.
42481
42482 2008-08-25  Bruno Haible  <bruno@clisp.org>
42483
42484         * doc/posix-functions/strftime.texi: Fix description of strftime
42485         module.
42486
42487 2008-08-24  Bruno Haible  <bruno@clisp.org>
42488
42489         * tests/uniwidth/test-uc_width2.c: New file.
42490         * tests/uniwidth/test-uc_width2.sh: New file.
42491         * modules/uniwidth/width-tests (Files): Add the new files.
42492         (TESTS): Add uniwidth/test-uc_width2.sh.
42493         (TESTS_ENVIRONMENT): New variable.
42494         (check_PROGRAMS): Add test-uc_width2.
42495         (test_uc_width2_SOURCES): New variable.
42496
42497         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
42498         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
42499         not 0x00AB.
42500         Reported by Alexander V. Lukyanov <lav@netis.ru>.
42501
42502 2008-08-22  Eric Blake  <ebb9@byu.net>
42503
42504         test-lock, test-tls: mention why a test is skipped
42505         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
42506         skipped.
42507         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
42508
42509         count-one-bits: relax license
42510         * modules/count-one-bits (License): Relicense to LGPLv2+.
42511         Suggested by Ludovic Courtès, approved by Ben Pfaff.
42512
42513 2008-08-22  Andreas Schwab  <schwab@suse.de>
42514
42515         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
42516         Remove spurious space in assignment.
42517
42518 2008-08-21  Simon Josefsson  <simon@josefsson.org>
42519
42520         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
42521         Paul Eggert <eggert@CS.UCLA.EDU>.
42522
42523 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
42524
42525         * modules/gettext: Add m4/threadlib.m4.
42526
42527 2008-08-19  Eric Blake  <ebb9@byu.net>
42528
42529         test-c-stack: fix compilation failure on FreeBSD 5.0
42530         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
42531         headers before <sys/resource.h>.
42532         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
42533         the bug.
42534         Reported by Nelson H. F. Beebe.
42535
42536         strverscmp: migrate from "strverscmp.h" to <string.h>
42537         * modules/string (Makefile.am): Add new hooks.
42538         * modules/strverscmp (Files): Remove strverscmp.h.
42539         (Depends-on): Add string.
42540         (configure.ac): Add indicator.
42541         (Include): Mention new header.
42542         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
42543         defaults.
42544         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
42545         results.
42546         * lib/strverscmp.h: Delete.
42547         * lib/string.in.h (strverscmp): Provide declaration, when needed.
42548         * tests/test-strverscmp.c (includes): Adjust client.
42549         * lib/check-version.c (includes): Likewise.
42550         * NEWS: Document the change.
42551
42552         strverscmp: add unit test
42553         * modules/strverscmp-tests: New file.
42554         * tests/test-strverscmp.c: Likewise.
42555
42556 2008-08-19  Simon Josefsson  <simon@josefsson.org>
42557
42558         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
42559         regarding Windows crypto stuff, from Mono.
42560
42561 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
42562
42563         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
42564         if present, for intel RND.  Return error on failures.
42565
42566 2008-08-18  Ben Pfaff  <blp@gnu.org>
42567
42568         gitlog-to-changelog: give better diagnostic for failed pipe-open
42569         * build-aux/gitlog-to-changelog: Improve error message: suggest
42570         that the version of Git may be too old.
42571
42572 2008-08-18  Simon Josefsson  <simon@josefsson.org>
42573
42574         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
42575         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
42576
42577 2008-08-18  Bruno Haible  <bruno@clisp.org>
42578
42579         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
42580         pthread_in_use().
42581
42582 2008-08-18  Bruno Haible  <bruno@clisp.org>
42583
42584         * lib/glthread/threadlib.c: Include <pthread.h>.
42585
42586 2008-08-18  Bruno Haible  <bruno@clisp.org>
42587
42588         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
42589         glthread_recursive_lock_* macros.
42590         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
42591         Fix syntax error.
42592
42593 2008-08-18  Bruno Haible  <bruno@clisp.org>
42594
42595         * lib/glthread/thread.c: Avoid forcing a context switch right after
42596         thread creation.
42597
42598 2008-08-17  Bruno Haible  <bruno@clisp.org>
42599
42600         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
42601         * lib/glthread/thread.h: Provide Win32 specific implementation.
42602         * modules/thread (Files): Add lib/glthread/thread.c.
42603         (Depends-on): Add lock.
42604         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
42605
42606 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42607
42608         New module 'yield'.
42609         * modules/yield: New file.
42610         * lib/glthread/yield.h: New file.
42611         * m4/yield.m4: New file.
42612         * MODULES.html.sh (Multithreading): Add yield.
42613
42614 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42615
42616         New module 'thread'.
42617         * modules/thread: New file.
42618         * lib/glthread/thread.h: New file.
42619         * m4/thread.m4: New file.
42620         * MODULES.html.sh (Multithreading): Add thread.
42621
42622 2008-08-17  Bruno Haible  <bruno@clisp.org>
42623
42624         * lib/glthread/lock.h: Include <stdlib.h> always.
42625         * lib/glthread/tls.h: Likewise.
42626         * lib/glthread/cond.h: Likewise.
42627
42628 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42629
42630         New module 'cond'.
42631         * modules/cond: New file.
42632         * lib/glthread/cond.h: New file.
42633         * lib/glthread/cond.c: New file.
42634         * m4/cond.m4: New file.
42635         * MODULES.html.sh (Multithreading): Add cond.
42636
42637 2008-08-16  Eric Blake  <ebb9@byu.net>
42638
42639         c-stack: fix regression on Irix 5.3 from 2008-06-21
42640         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
42641         sa_sigaction...
42642         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
42643         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
42644         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
42645         * modules/signal (Makefile.am): Use the value.
42646         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
42647         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
42648         * doc/posix-headers/signal.texi (signal.h): Document this
42649         portability issue.
42650         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
42651         Reported by Tom G. Christensen.
42652
42653 2008-08-17  Bruno Haible  <bruno@clisp.org>
42654
42655         New module 'threadlib'.
42656         * modules/threadlib: New file.
42657         * lib/glthread/threadlib.c: New file, extracted from
42658         lib/glthread/lock.c.
42659         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
42660         functions.
42661         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
42662         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
42663         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
42664         macros.
42665         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
42666         (gl_DISABLE_THREADS): Remove macro.
42667         * modules/lock (Files): Remove build-aux/config.rpath.
42668         (Depends-on): Remove havelib. Add threadlib.
42669         (configure.ac-early): Remove section.
42670         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
42671         * modules/tls (Depends-on): Remove lock. Add threadlib.
42672         (Link): New section, copied from threadlib.
42673         * MODULES.html.sh (Multithreading): Add threadlib.
42674
42675 2008-08-14  Bruno Haible  <bruno@clisp.org>
42676
42677         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
42678         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
42679         glthread_rwlock_unlock, glthread_rwlock_destroy,
42680         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
42681         glthread_recursive_lock_destroy): Define as macros always.
42682         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
42683         glthread_lock_lock.
42684         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
42685         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
42686         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
42687         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
42688         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
42689         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
42690         (glthread_recursive_lock_lock_func): Renamed from
42691         glthread_recursive_lock_lock.
42692         (glthread_recursive_lock_unlock_func): Renamed from
42693         glthread_recursive_lock_unlock.
42694         (glthread_recursive_lock_destroy_func): Renamed from
42695         glthread_recursive_lock_destroy.
42696
42697 2008-08-14  Bruno Haible  <bruno@clisp.org>
42698
42699         * lib/glthread/lock.h: Renamed from lib/lock.h.
42700         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
42701         * lib/glthread/tls.h: Renamed from lib/tls.h.
42702         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
42703         * lib/fstrcmp.c: Update includes.
42704         * lib/strsignal.c: Update includes.
42705         * modules/lock (Files, Makefile.am): Update.
42706         (Include): Change to "glthread/lock.h".
42707         * modules/tls (Files, Makefile.am): Update.
42708         (Include): Change to "glthread/tls.h".
42709         * tests/test-lock.c: Update includes.
42710         * tests/test-tls.c: Update includes.
42711         * NEWS: Mention the renamed header files.
42712
42713 2008-08-11  Jim Meyering  <meyering@redhat.com>
42714
42715         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
42716
42717 2008-08-11  Eric Blake  <ebb9@byu.net>
42718
42719         test-c-stack: avoid C99-ism
42720         * tests/test-c-stack.c (main): Fix whitespace, move declaration
42721         before statement.
42722         Reported by Alain Guibert.
42723
42724 2008-08-10  Jim Meyering  <meyering@redhat.com>
42725
42726         ensure that return value of uinttostr et al are not ignored
42727         * lib/inttostr.h (__GNUC_PREREQ): Define.
42728         (__attribute_warn_unused_result__): Define.
42729         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
42730
42731 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
42732
42733         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
42734         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
42735
42736 2008-08-07  Jim Meyering  <meyering@redhat.com>
42737
42738         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
42739
42740         * modules/mkstemp (License): Relicense under LGPLv2+.
42741         * modules/tempname (License): Likewise.
42742
42743 2008-08-06  Bruno Haible  <bruno@clisp.org>
42744
42745         * lib/poll.c (poll): Further micro-optimization.
42746
42747 2008-08-06  Jim Meyering  <meyering@redhat.com>
42748
42749         inet_pton.c: use locale-independent tolower
42750         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
42751         (inet_pton6): Use c_tolower rather than tolower.
42752         * modules/inet_pton (Depends-on): Add c-ctype.
42753
42754 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
42755
42756         * lib/poll.c (poll): Avoid division when timeout is 0, cache
42757         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
42758
42759 2008-08-06  Jim Meyering  <meyering@redhat.com>
42760
42761         * modules/inet_pton (License): Relicense under LGPLv2+.
42762
42763 2008-08-03  Bruno Haible  <bruno@clisp.org>
42764
42765         Additional non-aborting API for lock and tls.
42766         * lib/lock.h: Include <errno.h>.
42767         (glthread_lock_init): New macro/function.
42768         (gl_lock_init): Define as wrapper around glthread_lock_init.
42769         (glthread_lock_lock): New macro/function.
42770         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
42771         (glthread_lock_unlock): New macro/function.
42772         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
42773         (glthread_lock_destroy): New macro/function.
42774         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
42775         (glthread_rwlock_init): New macro/function.
42776         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
42777         (glthread_rwlock_rdlock): New macro/function.
42778         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
42779         (glthread_rwlock_wrlock): New macro/function.
42780         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
42781         (glthread_rwlock_unlock): New macro/function.
42782         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
42783         (glthread_rwlock_destroy): New macro/function.
42784         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
42785         (glthread_recursive_lock_init): New macro/function.
42786         (gl_recursive_lock_init): Define as wrapper around
42787         glthread_recursive_lock_init.
42788         (glthread_recursive_lock_lock): New macro/function.
42789         (gl_recursive_lock_lock): Define as wrapper around
42790         glthread_recursive_lock_lock.
42791         (glthread_recursive_lock_unlock): New macro/function.
42792         (gl_recursive_lock_unlock): Define as wrapper around
42793         glthread_recursive_lock_unlock.
42794         (glthread_recursive_lock_destroy): New macro/function.
42795         (gl_recursive_lock_destroy): Define as wrapper around
42796         glthread_recursive_lock_destroy.
42797         (glthread_once): New macro/function.
42798         (gl_once): Define as wrapper around glthread_once.
42799         Update function declarations.
42800         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
42801         glthread_rwlock_init. Return error code.
42802         (glthread_rwlock_rdlock_multithreaded): Renamed from
42803         glthread_rwlock_rdlock. Return error code.
42804         (glthread_rwlock_wrlock_multithreaded): Renamed from
42805         glthread_rwlock_wrlock. Return error code.
42806         (glthread_rwlock_unlock_multithreaded): Renamed from
42807         glthread_rwlock_unlock. Return error code.
42808         (glthread_rwlock_destroy_multithreaded): Renamed from
42809         glthread_rwlock_destroy. Return error code.
42810         (glthread_recursive_lock_init_multithreaded): Renamed from
42811         glthread_recursive_lock_init. Return error code.
42812         (glthread_recursive_lock_lock_multithreaded): Renamed from
42813         glthread_recursive_lock_lock. Return error code.
42814         (glthread_recursive_lock_unlock_multithreaded): Renamed from
42815         glthread_recursive_lock_unlock. Return error code.
42816         (glthread_recursive_lock_destroy_multithreaded): Renamed from
42817         glthread_recursive_lock_destroy. Return error code.
42818         (glthread_once_call): Make static.
42819         (glthread_once_multithreaded): Renamed from glthread_once.
42820         * lib/tls.h: Include <errno.h>.
42821         (glthread_tls_key_init): New macro/function.
42822         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
42823         (glthread_tls_set): New macro/function.
42824         (gl_tls_set): Define as wrapper around glthread_tls_set.
42825         (glthread_tls_key_destroy): New macro/function.
42826         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
42827         Update function declarations.
42828         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
42829         glthread_tls_get.
42830         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
42831
42832 2008-08-04  Eric Blake  <ebb9@byu.net>
42833
42834         gnumakefile: use space, not TAB, outside of targets
42835         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
42836
42837 2008-08-02  Jim Meyering  <meyering@redhat.com>
42838
42839         getdate.y: avoid locale-dependent date parsing failure
42840         In Turkish locales, getdate would fail to recognize keywords
42841         containing a lowercase "i".  The solution is not to rely on
42842         locale-sensitive case-conversion.
42843         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
42844         (lookup_word): Use c_toupper in place of toupper.
42845         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
42846         Reported by Vefa Bicakci <bicave@superonline.com> in
42847         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
42848         * modules/getdate (Depends-on): Add c-ctype.
42849
42850 2008-08-02  Bruno Haible  <bruno@clisp.org>
42851
42852         * gnulib-tool (func_import): When updating or creating a .gitignore
42853         file, prepend each added line with a slash, and ignore leading slashes
42854         from the existing lines.
42855         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
42856
42857 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42858
42859         Portability fix for GNU make 3.79.1.
42860         * top/GNUmakefile: Avoid 'else COND', which older GNU make
42861         versions do not understand.
42862
42863 2008-08-01  Bruno Haible  <bruno@clisp.org>
42864
42865         Work around bug of HP-UX 10.20 cc with -0.0 literal.
42866         * tests/test-isnanf.h (zero): New variable.
42867         (main): Avoid literal -0.0f.
42868         * tests/test-isnand.h (zero): New variable.
42869         (main): Avoid literal -0.0.
42870         * tests/test-isnanl.h (zero): New variable.
42871         (main): Avoid literal -0.0L.
42872         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
42873         (test_float, test_double, test_long_double): Avoid literals -0.0f,
42874         -0.0, -0.0L.
42875         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
42876         (test_signbitd): Avoid literal -0.0.
42877         (test_signbitl): Avoid literal -0.0L.
42878         * tests/test-ceilf1.c (zero): New variable.
42879         (main): Avoid literal -0.0f.
42880         * tests/test-ceill.c (zero): New variable.
42881         (main): Avoid literal -0.0L.
42882         * tests/test-floorf1.c (zero): New variable.
42883         (main): Avoid literal -0.0f.
42884         * tests/test-floorl.c (zero): New variable.
42885         (main): Avoid literal -0.0L.
42886         * tests/test-roundf1.c (zero): New variable.
42887         (main): Avoid literal -0.0f.
42888         * tests/test-round1.c (zero): New variable.
42889         (main): Avoid literal -0.0.
42890         * tests/test-roundl.c (zero): New variable.
42891         (main): Avoid literal -0.0L.
42892         * tests/test-truncf1.c (zero): New variable.
42893         (main): Avoid literal -0.0f.
42894         * tests/test-trunc1.c (zero): New variable.
42895         (main): Avoid literal -0.0.
42896         * tests/test-truncl.c (zero): New variable.
42897         (main): Avoid literal -0.0L.
42898         * tests/test-frexp.c (zero): New variable.
42899         (main): Avoid literal -0.0.
42900         * tests/test-frexpl.c (zero): New variable.
42901         (main): Avoid literal -0.0L.
42902         * tests/test-ldexpl.c (zero): New variable.
42903         (main): Avoid literal -0.0L.
42904         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
42905         (zerod, zerol): New variables.
42906         (test_function): Avoid literals -0.0, -0.0L.
42907         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
42908         (zerod, zerol): New variables.
42909         (test_function): Avoid literals -0.0, -0.0L.
42910         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
42911         (zerod, zerol): New variables.
42912         (test_function): Avoid literals -0.0, -0.0L.
42913         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
42914         (zerod, zerol): New variables.
42915         (test_function): Avoid literals -0.0, -0.0L.
42916         * tests/test-strtod.c (zero): New variable.
42917         (main): Avoid literal -0.0.
42918         Reported by Jonathan C. Patschke <jp@centtech.com>.
42919
42920 2008-07-31  Jim Meyering  <meyering@redhat.com>
42921
42922         sha256.h: correct definition of SHA224_DIGEST_SIZE
42923         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
42924         Reported by Paulie Pena IV <paulie4@gmail.com>.
42925         Define as 224 / 8, rather than as a literal.
42926         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
42927         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
42928         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
42929
42930 2008-07-31  Bruno Haible  <bruno@clisp.org>
42931
42932         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
42933         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
42934         Reported by Jonathan Patschke <jp@centtech.com>.
42935
42936 2008-07-31  Bruno Haible  <bruno@clisp.org>
42937
42938         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
42939         Reported by Paolo Bonzini <bonzini@gnu.org>.
42940
42941 2008-07-30  Eric Blake  <ebb9@byu.net>
42942
42943         test-strtod: allow compilation without -lm
42944         * tests/test-strtod.c (main): Avoid link dependence on fabs.
42945         Reported by Dennis Clarke <blastwave@gmail.com>.
42946
42947 2008-07-28  Jim Meyering  <meyering@redhat.com>
42948
42949         bootstrap: work also when there are no .po files in po/
42950         * build-aux/bootstrap (update_po_files): Complete the change
42951         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
42952
42953 2008-07-27  Jim Meyering  <meyering@redhat.com>
42954
42955         * users.txt: Add zile.
42956
42957 2008-07-26  Ben Pfaff  <blp@gnu.org>
42958
42959         Add missing dependencies on new m4/exponent[fdl].m4 files.
42960         * modules/isnanf-nolibm: Add m4/exponentf.m4.
42961         * modules/isnand-nolibm: Add m4/exponentd.m4.
42962         * modules/isnanl-nolibm: Add m4/exponentl.m4.
42963         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
42964         m4/isnan[fdl].m4, because the macros actually used moved.
42965         Reported by Jim Meyering.
42966
42967 2008-07-14  Ben Pfaff  <blp@gnu.org>
42968
42969         Add isinf module.
42970         * lib/isinf.c: New file.
42971         * lib/math.in.h: Define isinf macro if we have decided to replace
42972         it.
42973         * m4/isinf.m4: New file.
42974         * m4/math_h.m4: Initialize and substitute variables for isinf
42975         module.
42976         * modules/isinf: New file.
42977         * modules/isinf-tests: New file.
42978         * modules/math: Add substitutions for new module.
42979         * tests/test-isinf.c: New file.
42980         * doc/posix-functions/isinf.texi: Mention new module.
42981         * MODULES.html.sh: Mention new module.
42982
42983 2008-07-14  Ben Pfaff  <blp@gnu.org>
42984
42985         Factor out some macros for use by additional modules.
42986         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
42987         exponentf.m4.
42988         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
42989         exponentd.m4.
42990         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
42991         file exponentl.m4.
42992         * m4/exponentf.m4: New file.
42993         * m4/exponentd.m4: New file.
42994         * m4/exponentl.m4: New file.
42995         * modules/isnanf: Use new file m4/exponentf.m4.
42996         * modules/isnand: Use new file m4/exponentd.m4.
42997         * modules/isnanl: Use new file m4/exponentl.m4.
42998
42999 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
43000
43001         mktime.c: normalize tp->tm_isdst value to -1/0/1.
43002         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
43003         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
43004         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
43005
43006         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
43007         readlink on platforms without PATH_MAX.
43008
43009 2008-07-21  Eric Blake  <ebb9@byu.net>
43010
43011         Warn, not fail, on stale version.
43012         * top/GNUmakefile (_curr-ver): Tone down previous patch.
43013
43014         Don't allow installation with stale devel version number.
43015         * top/GNUmakefile (_is-install-target): New macro.
43016         (_curr-ver): Forbid installation with stale version number.
43017
43018 2008-07-20  Bruno Haible  <bruno@clisp.org>
43019
43020         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
43021         TESTS_ENVIRONMENT.
43022         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
43023
43024 2008-07-20  Bruno Haible  <bruno@clisp.org>
43025
43026         * lib/c-stack.h (c_stack_action): Add documentation.
43027         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
43028
43029 2008-07-20  Bruno Haible  <bruno@clisp.org>
43030
43031         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
43032         * modules/readlink (License): Likewise.
43033
43034 2008-07-17  Eric Blake  <ebb9@byu.net>
43035
43036         * modules/c-stack (Link): Fix typo.
43037
43038         Make c-stack use libsigsegv, when available.
43039         * modules/c-stack (Depends-on): Add libsigsegv.
43040         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
43041         needed.
43042         * lib/c-stack.c (SIGSTKSZ): Define fallback.
43043         (segv_handler, overflow_handler, c_stack_action)
43044         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
43045         implementation when libsigsegv is available, but only when using
43046         the library is necessary.
43047         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
43048         comment, explaining why XSI check fails on Linux.
43049         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
43050         * tests/test-c-stack2.sh: Tweak skip message.
43051         * NEWS: Document new link-time requirements.
43052
43053 2008-07-16  Eric Blake  <ebb9@byu.net>
43054
43055         c-stack: Expose false positives when not using libsigsegv.
43056         * modules/c-stack-tests (Files): Expand test.
43057         * tests/test-c-stack.c (main): Add means to conditionally trigger
43058         non-overflow SIGSEGV.
43059         * tests/test-c-stack2.sh: New file.
43060
43061 2008-07-14  Bruno Haible  <bruno@clisp.org>
43062
43063         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
43064         Reported by Eric Blake.
43065
43066 2008-07-14  Sam Steingold  <sds@gnu.org>
43067             Bruno Haible  <bruno@clisp.org>
43068
43069         New module libsigsegv.
43070         * modules/libsigsegv: New file.
43071         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
43072         modifications.
43073         * MODULES.html.sh (Signal handling): New section.
43074
43075 2008-07-14  Bruno Haible  <bruno@clisp.org>
43076
43077         * modules/unictype/ctype-* (Description): Add the word "function".
43078         Improves the resulting doc in MODULES.html.
43079
43080 2008-07-12  Ben Pfaff  <blp@gnu.org>
43081
43082         Add longlong module.
43083         * modules/longlong: New file.
43084
43085 2008-07-12  Bruno Haible  <bruno@clisp.org>
43086
43087         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
43088         to empty.
43089
43090 2008-07-10  Ben Pfaff  <blp@gnu.org>
43091
43092         Add isnan module.
43093         * doc/posix-functions/isnan.texi: Mention new module.
43094         * lib/math.in.h: Define isnan macro if we have decided to replace
43095         it.
43096         * m4/isnan.m4: New file.
43097         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
43098         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
43099         also.
43100         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
43101         redundancy.
43102         * m4/math_h.m4: Initialize and substitute variables for isnan
43103         module.
43104         * modules/isnan: New file.
43105         * modules/isnan-tests: New file.
43106         * modules/math: Add substitutions for new module.
43107         * tests/test-isnan.c: New file.
43108         * MODULES.html.sh: Mention new module.
43109
43110 2008-07-10  Ben Pfaff  <blp@gnu.org>
43111
43112         Add isnanf module.
43113         * lib/isnanf.m4: New file.
43114         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
43115         (gl_HAVE_ISNANF_IN_LIBM): New macro.
43116         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
43117         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
43118         * modules/isnanf: New file.
43119         * modules/isnanf-tests: New file.
43120         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
43121         files.
43122         * tests/test-isnanf-nolibm.c: factored most of its contents into
43123         new file tests/test-isnanf.h.
43124         * tests/test-isnanf.h: New file.
43125         * tests/test-isnanf.c: New file.
43126         * MODULES.html.sh: Mention new module.
43127         * doc/glibc-functions/isnanf.texi: Mention new module.
43128
43129 2008-07-10  Ben Pfaff  <blp@gnu.org>
43130
43131         Add isnand module.
43132         * lib/isnand.h: New file.
43133         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
43134         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
43135         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
43136         functionality also.
43137         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
43138         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
43139         (gl_HAVE_ISNAND_IN_LIBM): New macro.
43140         * modules/isnand: New file.
43141         * modules/isnand-tests: New file.
43142         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
43143         files.
43144         * tests/test-isnand-nolibm.c: factored most of its contents into
43145         new file tests/test-isnand.h.
43146         * tests/test-isnand.h: New file.
43147         * tests/test-isnand.c: New file.
43148         * MODULES.html.sh: Mention new module.
43149
43150 2008-07-10  Ben Pfaff  <blp@gnu.org>
43151
43152         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
43153         * lib/isnand.h: Rename lib/isnand-nolibm.h.
43154         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
43155         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
43156         * modules/isnanf-nolibm: Update references to renamed files.
43157         * modules/isnand-nolibm: Likewise.
43158         * modules/isnanf-nolibm-tests: Likewise.
43159         * modules/isnand-nolibm-tests: Likewise.
43160         * lib/frexp.c: Likewise.
43161         * lib/isfinite.c: Likewise.
43162         * lib/signbitd.c: Likewise.
43163         * lib/signbitf.c: Likewise.
43164         * lib/vasnprintf.c: Likewise.
43165         * tests/test-ceilf1.c: Likewise.
43166         * tests/test-ceilf2.c: Likewise.
43167         * tests/test-floorf1.c: Likewise.
43168         * tests/test-floorf2.c: Likewise.
43169         * tests/test-frexp.c: Likewise.
43170         * tests/test-round1.c: Likewise.
43171         * tests/test-round2.c: Likewise.
43172         * tests/test-roundf1.c: Likewise.
43173         * tests/test-strtod.c: Likewise.
43174         * tests/test-trunc1.c: Likewise.
43175         * tests/test-trunc2.c: Likewise.
43176         * tests/test-truncf1.c: Likewise.
43177         * tests/test-truncf2.c: Likewise.
43178         * NEWS: Mention the renamed header files.
43179
43180 2008-07-11  Jim Meyering  <meyering@redhat.com>
43181
43182         vc-list-files: make the last-resort awk code more portable
43183         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
43184         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
43185         does not support it.
43186
43187 2008-07-10  Eric Blake  <ebb9@byu.net>
43188
43189         Work with tar's bootstrap.
43190         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
43191         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
43192         an m4 comment.
43193
43194 2008-07-09  Jim Meyering  <meyering@redhat.com>
43195
43196         posix-shell.m4: fix typo that made this test malfunction
43197         * m4/posix-shell.m4: Remove capitalization in variable name.
43198
43199 2008-07-08  Bruno Haible  <bruno@clisp.org>
43200
43201         * m4/onceonly.m4: Update comments.
43202         Reported by Ben Pfaff <blp@cs.stanford.edu>.
43203
43204 2008-07-04  Jim Meyering  <meyering@redhat.com>
43205
43206         * users.txt: Add vc-dwim.
43207         (bison, coreutils): Use the gitweb URL.
43208
43209 2008-07-03  Jim Meyering  <meyering@redhat.com>
43210
43211         * users.txt: Add libffcall.  From Sam Steingold.
43212
43213 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
43214
43215         getdate.y: do not ignore TZ with relative day, month or year offset
43216         * lib/getdate.y (get_date): Move the tz-handling block to follow the
43217         relative-date-handling, since otherwise, the latter would clobber the
43218         sole output (an updated Start value) of the tz-handling block.
43219         * tests/test-getdate.c: Tests for the fix
43220
43221 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43222
43223         Recognize 'foo_LIBRARIES += libgnu.a'.
43224         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
43225         makefile snippet has already specified an installation location,
43226         also using '+='.
43227
43228 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
43229
43230         getdate.y: factor out common actions
43231         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
43232         Use them in place of open-coded actions.
43233
43234 2008-07-01  Simon Josefsson  <simon@josefsson.org>
43235
43236         Add self-test for getdate module.
43237         * modules/getdate-tests: New file.
43238         * tests/test-getdate.c: New file.
43239
43240 2008-06-29  Bruno Haible  <bruno@clisp.org>
43241
43242         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
43243         .gitignore.
43244         Reported by Sylvain Beucler <beuc@beuc.net>.
43245
43246 2008-06-29  Bruno Haible  <bruno@clisp.org>
43247
43248         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
43249         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
43250
43251 2008-06-29  Bruno Haible  <bruno@clisp.org>
43252
43253         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
43254         EXTRA_DIST.
43255         Reported by Sylvain Beucler <beuc@beuc.net>.
43256
43257 2008-06-26  Jim Meyering  <meyering@redhat.com>
43258
43259         make several modules depend on the "open" module
43260         This provides slightly increased consistency when opening-for-write
43261         the name of a non-directory spelled with a trailing slash.
43262         * modules/chdir-safer: Likewise.
43263         * modules/chown: Likewise.
43264         * modules/clean-temp: Likewise.
43265         * modules/copy-file: Likewise.
43266         * modules/fchdir: Likewise.
43267         * modules/fcntl-safer: Likewise.
43268         * modules/pipe: Likewise.
43269         * modules/utime: Likewise.
43270         Prompted by Eric Blake and Bruno Haible.
43271
43272 2008-06-24  Andreas Schwab  <schwab@suse.de>
43273
43274         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
43275         literals can be used as initializers for global variables.
43276
43277 2008-06-23  Eric Blake  <ebb9@byu.net>
43278
43279         Make gnulib-cache.m4 easier to diff.
43280         * gnulib-tool (func_import): Allow newlines when reading cached
43281         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
43282
43283 2008-06-23  Bruno Haible  <bruno@clisp.org>
43284
43285         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
43286         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
43287         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
43288         m4/signalblocking.m4.
43289         (gl_PREREQ_SIGACTION): Don't invoke it.
43290         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
43291         gl_PREREQ_SIG_HANDLER_H.
43292         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
43293         Don't check for sigaction here.
43294
43295 2008-06-23  Bruno Haible  <bruno@clisp.org>
43296
43297         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
43298         (install_handlers): Don't set the SA_RESETHAND flag.
43299
43300 2008-06-23  Bruno Haible  <bruno@clisp.org>
43301
43302         * m4/sigaction.m4: Comment fixes.
43303         * lib/signal.in.h: Likewise.
43304
43305 2008-06-23  Eric Blake  <ebb9@byu.net>
43306
43307         Fix typo.
43308         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
43309
43310         Avoid SA_ namespace.
43311         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
43312         Reported by Ralf Wildenhues.
43313
43314         Avoid test failure due to SA_RESTORER.
43315         * tests/test-sigaction.c (SA_MASK): New macro.
43316         (main): Avoid failing due to extension flags being set.
43317         Reported by Jim Meyering.
43318
43319         Revert use of sig-handler.h in sigprocmask.c.
43320         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
43321         it requires the existence of struct sigaction.
43322         * lib/sigprocmask.c (handler_t): Restore typedef.
43323         (rpl_signal, old_handlers): Use local type.
43324
43325 2008-06-22  Bruno Haible  <bruno@clisp.org>
43326
43327         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
43328         conditionally.
43329         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
43330
43331 2008-06-22  Bruno Haible  <bruno@clisp.org>
43332
43333         * doc/posix-functions/siginterrupt.texi: Move note.
43334
43335         * lib/signal.in.h (SA_RESTART): New macro.
43336         * lib/sigaction.c: Update comment.
43337
43338         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
43339
43340         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
43341         (gl_PREREQ_SIGPROCMASK): Invoke it.
43342         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
43343
43344         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
43345
43346         * lib/sigprocmask.c: Update a comment.
43347
43348 2008-06-21  Eric Blake  <ebb9@byu.net>
43349
43350         Use sigaction module rather than signal().
43351         * modules/c-stack (Depends-on): Add sigaction.
43352         * modules/fatal-signal (Depends-on): Likewise.
43353         * modules/nanosleep (Depends-on): Likewise.
43354         * modules/sigprocmask (Files): Add sig-handler.h.
43355         * modules/sigaction (Files): Likewise.
43356         * lib/sig-handler.h (get_handler): New file, suggested by Paul
43357         Eggert.
43358         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
43359         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
43360         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
43361         (init_fatal_signals): Likewise.
43362         * lib/nanosleep.c (rpl_nanosleep): Likewise.
43363         (siginterrupt): Delete fallback.
43364         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
43365         instead.
43366         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
43367         siginterrupt.
43368
43369         New module sigaction, for mingw.
43370         * modules/sigaction: New module...
43371         * modules/sigaction-tests: ...and its test.
43372         * m4/sigaction.m4: New file.
43373         * lib/sigaction.c: Likewise.
43374         * tests/test-sigaction.c: Likewise.
43375         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
43376         * modules/signal (Makefile.am): Likewise.
43377         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
43378         needed.
43379         * doc/posix-headers/signal.texi (signal.h): Mention provided
43380         types.
43381         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
43382         that sigaction is preferable.
43383         * doc/posix-functions/sigaction.texi (sigaction): Mention new
43384         module.
43385         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
43386         sigaction.
43387
43388         Improve robustness of sigprocmask by overriding signal.
43389         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
43390         is in use.
43391         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
43392         (SIGKILL, SIGSTOP): Provide fallbacks.
43393         (rpl_signal): Implement.
43394         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
43395         signal can be called inside handlers.
43396
43397         Fix nanosleep module on mingw.
43398         * modules/nanosleep (Depends-on): Add sys_select.
43399         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
43400
43401         Fix licensing of sigprocmask.
43402         * modules/raise (License): Relicense as LGPL.
43403
43404 2008-06-21  Bruno Haible  <bruno@clisp.org>
43405
43406         * lib/propername.c (proper_name_utf8): Don't use the transliterated
43407         result if it contains question marks.
43408         Reported by Michael Geng <linux@michaelgeng.de>.
43409
43410 2008-06-19  Bruno Haible  <bruno@clisp.org>
43411
43412         Fix CVS-ism.
43413         * doc/gnulib.texi: Include updated-stamp.texi.
43414         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
43415         (updated-stamp.texi): New rule.
43416         (gnulib.info): Depend on it.
43417         * doc/.gitignore: Add updated-stamp.texi.
43418         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
43419
43420 2008-06-19  Bruno Haible  <bruno@clisp.org>
43421
43422         * doc/Makefile (gnulib.info): Update and simplify dependencies.
43423         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
43424
43425 2008-06-19  Eric Blake  <ebb9@byu.net>
43426
43427         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
43428         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
43429         Reported by Stepan Kasal.
43430
43431 2008-06-18  Bruno Haible  <bruno@clisp.org>
43432
43433         * lib/fatal-signal.c (init_fatal_signals): Add comment.
43434         Reported by Eric Blake.
43435
43436 2008-06-18  Eric Blake  <ebb9@byu.net>
43437
43438         Work around cygwin 1.5.25 strsignal bug.
43439         * tests/test-strsignal.c: Allow for const char *.
43440         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
43441
43442 2008-06-18  Simon Josefsson  <simon@josefsson.org>
43443
43444         * users.txt: Update URL to article and add author/date
43445         information.
43446
43447 2008-06-17  Bruno Haible  <bruno@clisp.org>
43448
43449         New macro gl_DISABLE_THREADS.
43450         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
43451         if the user did not pass --enable-threads or --disable-threads option.
43452         (gl_DISABLE_THREADS): New macro.
43453         Reported by Eric Blake <ebb9@byu.net>.
43454
43455 2008-06-17  Bruno Haible  <bruno@clisp.org>
43456
43457         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
43458         when the macro ignores it.
43459         Based on a patch by Eric Blake <ebb9@byu.net>.
43460
43461 2008-06-17  Bruno Haible  <bruno@clisp.org>
43462
43463         * modules/tls (License): Change to LGPLv2+.
43464         Reported by Eric Blake.
43465
43466 2008-06-17  Eric Blake  <ebb9@byu.net>
43467
43468         Simplify c-stack prerequisites.
43469         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
43470         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
43471         no longer requires <ucontext.h> to exist.  Optimize setrlimit
43472         check.
43473         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
43474         <sys/resource.h>.
43475
43476         Move c-stack test into testsuite.
43477         * modules/c-stack-tests: New file.
43478         * lib/c-stack.c [DEBUG]: Move test program...
43479         * tests/test-c-stack.c: ...into this new file.  Skip rather than
43480         fail test if sigaltstack is lacking.
43481         * tests/test-c-stack.sh: New driver file.
43482
43483 2008-06-16  Eric Blake  <ebb9@byu.net>
43484
43485         Use raise module consistently.
43486         * modules/fatal-signal (Depends-on): Add raise.
43487         * modules/sigprocmask (Depends-on): Likewise.
43488         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
43489         * lib/sigprocmask.c (sigprocmask): Likewise.
43490         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
43491         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
43492
43493         Fix compliance bug in sigpending.
43494         * lib/sigprocmask.c (sigpending): Return pending array via
43495         parameter, not return value.
43496
43497 2008-06-14  Eric Blake  <ebb9@byu.net>
43498
43499         Improve obstack-printf test code.
43500         * tests/test-obstack-printf.c (test_function): Fix comment, and
43501         simplify usage of obstack_* in macros.  Add a test for coverage.
43502         Reported by Bruno Haible.
43503
43504 2008-06-14  Bruno Haible  <bruno@clisp.org>
43505
43506         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
43507         array size as a constant, not as a const variable.
43508         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
43509         AC_USE_SYSTEM_EXTENSIONS.
43510         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
43511         Test whether the obstack_printf function actually exists.
43512         * modules/obstack-printf (Depends-on): Add extensions.
43513         (Include): Remove obstack.h.
43514         * modules/obstack-printf-posix (Depends-on): Add extensions.
43515         (Include): Remove obstack.h.
43516
43517 2008-06-13  Eric Blake  <ebb9@byu.net>
43518
43519         Add obstack-printf and obstack-printf-posix modules.
43520         * modules/obstack-printf: New file.
43521         * modules/obstack-printf-posix: Likewise.
43522         * MODULES.html.sh (Misc): Mention them.
43523         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
43524         Likewise.
43525         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
43526         Likewise.
43527         * modules/stdio (Makefile.am): Accomodate new modules.
43528         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
43529         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
43530         Declare.
43531         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
43532         functions.
43533         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
43534         (gl_REPLACE_OBSTACK_PRINTF): New macros
43535         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
43536         * tests/test-obstack-printf.c: New file.
43537         * modules/obstack-printf-tests: Likewise.
43538         * modules/obstack-printf-posix-tests: Likewise.
43539
43540 2008-06-11  Bruno Haible  <bruno@clisp.org>
43541
43542         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
43543         * lib/open.c: Include errno.h.
43544         (open): Fail when attempting to write to a file that has a trailing
43545         slash.
43546         * tests/test-open.c (main): Test against trailing slash bug.
43547         * doc/posix-functions/open.texi: Mention the trailing slash bug.
43548
43549 2008-06-10  Bruno Haible  <bruno@clisp.org>
43550
43551         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
43552         for $? to work inside the trap command, with various /bin/sh-s.
43553         * tests/test-vc-list-files-cvs.sh: Likewise.
43554
43555 2008-06-10  Bruno Haible  <bruno@clisp.org>
43556
43557         * lib/acl-internal.h: Don't include gettext.h here.
43558         * lib/set-mode-acl.c: Include gettext.h here.
43559         * lib/copy-acl.c: Likewise.
43560
43561 2008-06-10  Bruno Haible  <bruno@clisp.org>
43562
43563         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
43564         * lib/wait-process.c (wait_subprocess): Likewise.
43565         * lib/execute.h (execute): Add termsigp argument.
43566         * lib/execute.c (execute): Likewise.
43567         * lib/csharpcomp.c (compile_csharp_using_pnet,
43568         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
43569         * lib/csharpexec.c (execute_csharp_using_pnet,
43570         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
43571         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
43572         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
43573         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
43574         is_jikes_present): Update.
43575         * lib/javaexec.c (execute_java_class): Update.
43576         * lib/javaversion.c (execute_and_read_line): Update.
43577         * NEWS: Document the changes.
43578         Reported by Eric Blake.
43579
43580 2008-06-10  Eric Blake  <ebb9@byu.net>
43581
43582         Add missing include.
43583         * tests/test-strstr.c (includes): Add <signal.h>.
43584         * tests/test-strcasestr.c (includes): Likewise.
43585         * tests/test-memmem.c (includes): Likewise.
43586
43587 2008-06-10  Bruno Haible  <bruno@clisp.org>
43588
43589         * lib/wait-process.c (wait_subprocess): Add an assertion.
43590
43591 2008-06-10  Bruno Haible  <bruno@clisp.org>
43592
43593         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
43594
43595 2008-06-10  Bruno Haible  <bruno@clisp.org>
43596
43597         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
43598         using alarm().
43599         * tests/test-strcasestr.c (main): Likewise.
43600         * tests/test-strstr.c (main): Likewise.
43601
43602 2008-06-09  Bruno Haible  <bruno@clisp.org>
43603
43604         Work around the Solaris 10 ACE ACLs ABI change.
43605         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
43606         declare if ACL_NO_TRIVIAL is present.
43607         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
43608         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
43609         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
43610         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
43611         define if ACL_NO_TRIVIAL is present.
43612         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
43613         and use the current ABI.
43614         (file_has_acl): Use same #if condition as elsewhere.
43615         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
43616         in use, and use the current ABI.
43617         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
43618         Reported by Jim Meyering.
43619
43620 2008-06-09  Eric Blake  <ebb9@byu.net>
43621
43622         Work around environments that (stupidly) ignore SIGALRM.
43623         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
43624         before using alarm().
43625         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
43626         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
43627         Reported by Ian Beckwith <ianb@erislabs.net>.
43628
43629         Produce autobuild blurb earlier in log.
43630         * modules/autobuild (configure.ac-early): Move AB_INIT here.
43631
43632 2008-06-09  Jim Meyering  <meyering@redhat.com>
43633         and OndÅ™ej Vašík  <ovasik@redhat.com>
43634
43635         utimens.c: correct kernel bug work-around
43636         OndÅ™ej Vašík found that the invalid return value of 280 indicates
43637         failure, not success, and the kernel bug we're trying to work
43638         around affects not just the utimensat call, but also the fallback
43639         futimens call.
43640         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
43641         not success.
43642         [HAVE_FUTIMENS]: Use the same work-around, here.
43643
43644 2008-06-09  Jim Meyering  <meyering@redhat.com>
43645
43646         add more guards around definition of ACE_-related code
43647         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
43648         ALLOW and ACE_OWNER are also defined.
43649
43650 2008-06-08  Bruno Haible  <bruno@clisp.org>
43651
43652         * lib/acl-internal.h: Add me as co-author.
43653         * lib/file-has-acl.c: Likewise.
43654         * lib/set-mode-acl.c: Likewise.
43655         * lib/copy-acl.c: Likewise.
43656
43657 2008-06-08  Bruno Haible  <bruno@clisp.org>
43658
43659         Add support for AIX ACLs.
43660         * lib/acl-internal.h (acl_nontrivial): New declaration.
43661         * lib/file-has-acl.c (acl_nontrivial): New function.
43662         (file_has_acl): Add implementation using AIX 4 ACL API.
43663         * lib/set-mode-acl.c (qset_acl): Likewise.
43664         * lib/copy-acl.c (qcopy_acl): Likewise.
43665
43666 2008-06-08  Bruno Haible  <bruno@clisp.org>
43667
43668         Add support for HP-UX ACLs.
43669         * lib/acl-internal.h (acl_nontrivial): New declaration.
43670         * lib/file-has-acl.c (acl_nontrivial): New function.
43671         (file_has_acl): Add implementation using HP-UX 11 ACL API.
43672         * lib/set-mode-acl.c (qset_acl): Likewise.
43673         * lib/copy-acl.c (qcopy_acl): Likewise.
43674
43675 2008-06-08  Bruno Haible  <bruno@clisp.org>
43676
43677         Add support for Cygwin ACLs.
43678         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
43679         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
43680         the chmod_or_fchmod call.
43681         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
43682
43683 2008-06-08  Bruno Haible  <bruno@clisp.org>
43684
43685         Fix bug with setuid modes in Solaris 10+ code.
43686         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
43687         succeeded, when the mode contains some special bits.
43688
43689 2008-06-08  Bruno Haible  <bruno@clisp.org>
43690
43691         Add support for Solaris 7..10 ACLs.
43692         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
43693         declarations.
43694         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
43695         functions.
43696         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
43697         * lib/set-mode-acl.c (qset_acl): Likewise.
43698         * lib/copy-acl.c (qcopy_acl): Likewise.
43699
43700 2008-06-08  Bruno Haible  <bruno@clisp.org>
43701
43702         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
43703         declaration.
43704         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
43705         (acl_access_nontrivial): Remove MacOS X case.
43706         (file_has_acl): Use acl_extended_nontrivial.
43707         * lib/copy-acl.c (qcopy_acl): Likewise.
43708
43709 2008-06-08  Bruno Haible  <bruno@clisp.org>
43710
43711         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
43712
43713 2008-06-08  Jim Meyering  <meyering@redhat.com>
43714
43715         * modules/acl (Maintainer): Add Bruno Haible.
43716
43717 2008-06-07  Bruno Haible  <bruno@clisp.org>
43718
43719         Improve support for Tru64 ACLs.
43720         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
43721         ACL on OSF/1.
43722
43723 2008-06-07  Bruno Haible  <bruno@clisp.org>
43724
43725         Add support for MacOS X ACLs.
43726         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
43727         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
43728         * lib/set-mode-acl.c (qset_acl): Likewise.
43729         * lib/copy-acl.c (qcopy_acl): Likewise.
43730
43731 2008-06-07  Bruno Haible  <bruno@clisp.org>
43732
43733         Fix memory leak introduced on 2008-05-22.
43734         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
43735         use.
43736
43737 2008-06-07  Bruno Haible  <bruno@clisp.org>
43738
43739         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
43740         to construct an empty ACL.
43741
43742 2008-06-07  Bruno Haible  <bruno@clisp.org>
43743
43744         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
43745         precisely.
43746         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
43747
43748 2008-06-07  Bruno Haible  <bruno@clisp.org>
43749
43750         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
43751         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
43752
43753 2008-06-07  Bruno Haible  <bruno@clisp.org>
43754
43755         * doc/posix-functions/_setjmp.texi: Explain the use of this function
43756         regardless of POSIX.
43757         * doc/posix-functions/_longjmp.texi: Likewise.
43758         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
43759         SystemV platform in this case.
43760
43761 2008-06-06  Eric Blake  <ebb9@byu.net>
43762
43763         Document abort() bugs.
43764         * doc/posix-functions/abort.texi (abort): Mention anomalies.
43765
43766         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
43767         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
43768         sigsetjmp.
43769         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
43770         siglongjmp, but only as a macro.
43771         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
43772         is obsolete.
43773         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
43774
43775         Tweak documentation to cover cygwin argz bugs.
43776         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
43777         argz bug fix; no code change needed since no cygwin releases
43778         occurred between the last fix and the bug being tested.
43779         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
43780         module and recently fixed cygwin bugs.
43781         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
43782         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
43783         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
43784         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
43785         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
43786         Likewise.
43787         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
43788         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
43789         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
43790         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
43791         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
43792         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
43793         Likewise.
43794
43795         Avoid gcc warning on cygwin.
43796         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
43797         !ACL_NO_TRIVIAL]: Avoid unused variable.
43798
43799 2008-06-05  Eric Blake  <ebb9@byu.net>
43800
43801         Be tolerant of UNKNOWN version in gnulib-tool test dir.
43802         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
43803         git-version-gen fails to come up with a version.
43804         Reported by Simon Josefsson.
43805
43806 2008-06-05  Jim Meyering  <meyering@redhat.com>
43807             Paul Eggert  <eggert@cs.ucla.edu>
43808
43809         utimens.c: work around a probable Linux kernel bug
43810         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
43811         appears to be a kernel bug that causes utimensat to return 280
43812         instead of 0, indicating success.
43813
43814 2008-06-04  Bruno Haible  <bruno@clisp.org>
43815
43816         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
43817         2008-06-01 commit.
43818
43819 2008-06-04  Bruno Haible  <bruno@clisp.org>
43820
43821         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
43822         * lib/file-has-acl.c (acl_access_nontrivial): New function.
43823         (file_has_acl): Use it. Save errno afterwards.
43824         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
43825
43826 2008-06-03  Bruno Haible  <bruno@clisp.org>
43827
43828         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
43829         draft code. Simplify #ifs.
43830         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
43831         Put Solaris code after POSIX-draft code. Fix comments regarding
43832         Solaris 10, HP-UX. Mention Cygwin.
43833         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
43834
43835 2008-06-03  Eric Blake  <ebb9@byu.net>
43836
43837         Provide fallback for older kernels.
43838         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
43839         Provide runtime fallback if kernel lacks support.
43840         Reported by Mike Frysinger.
43841
43842 2008-06-02  Bruno Haible  <bruno@clisp.org>
43843
43844         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
43845         it exists.
43846
43847 2008-06-02  Bruno Haible  <bruno@clisp.org>
43848
43849         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
43850         * lib/copy-acl.c (qcopy_acl): Update comment.
43851
43852 2008-06-02  Bruno Haible  <bruno@clisp.org>
43853
43854         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
43855         like ACL APIs.
43856
43857 2008-06-02  Bruno Haible  <bruno@clisp.org>
43858
43859         * tests/test-file-has-acl.sh: Use different code for Cygwin.
43860         * tests/test-set-mode-acl.sh: Likewise.
43861         * tests/test-copy-acl.sh: Likewise.
43862         * tests/test-copy-file.sh: Likewise.
43863
43864 2008-06-02  Bruno Haible  <bruno@clisp.org>
43865
43866         * tests/test-file-has-acl.sh: Remove unused code.
43867
43868 2008-06-01  Bruno Haible  <bruno@clisp.org>
43869
43870         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
43871         (copy_acl): Just a wrapper around qcopy_acl that emits the error
43872         messages.
43873         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
43874
43875 2008-06-01  Bruno Haible  <bruno@clisp.org>
43876
43877         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
43878         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
43879         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
43880         APIs.
43881         * modules/acl-tests (configure.ac): Remove tests now contained in
43882         m4/acl.m4.
43883
43884 2008-06-02  Jim Meyering  <meyering@redhat.com>
43885
43886         announce-gen: use a better key-server host name
43887         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
43888         it may be more consistently reliable.  Suggested by Werner Koch
43889         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
43890
43891 2008-06-01  Bruno Haible  <bruno@clisp.org>
43892
43893         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
43894         Reported by Voroskoi Andras <voroskoi@gmail.com>.
43895
43896 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
43897
43898         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
43899
43900 2008-06-01  Bruno Haible  <bruno@clisp.org>
43901
43902         New ACL tests.
43903         * tests/test-file-has-acl.sh: New file.
43904         * tests/test-file-has-acl.c: New file.
43905         * tests/test-set-mode-acl.sh: New file.
43906         * tests/test-set-mode-acl.c: New file.
43907         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
43908         * tests/test-copy-acl.c: New file.
43909         * modules/acl-tests: New file, based on modules/copy-file-tests.
43910         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
43911         (Depends-on): Add acl-tests.
43912         (configure.ac): Remove checks.
43913         (Makefile.am): Don't create test-sameacls program here any more.
43914
43915 2008-06-01  Bruno Haible  <bruno@clisp.org>
43916
43917         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
43918         * tests/test-sameacls.c: Include progname.h.
43919         (main): Invoke set_program_name. Portability fixes for MacOS X,
43920         Solaris, HP-UX.
43921
43922 2008-06-01  Bruno Haible  <bruno@clisp.org>
43923
43924         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
43925         function.
43926         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
43927
43928 2008-06-01  Bruno Haible  <bruno@clisp.org>
43929
43930         * modules/rpmatch (Depends-on): Add strdup.
43931
43932 2008-06-01  Bruno Haible  <bruno@clisp.org>
43933
43934         * lib/pipe.c: Include unistd-safer.h.
43935         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
43936         * modules/pipe (Depends-on): Add unistd-safer.
43937
43938 2008-05-30  Simon Josefsson  <simon@josefsson.org>
43939
43940         * modules/autobuild (configure.ac): Call AB_INIT.
43941
43942 2008-05-30  Simon Josefsson  <simon@josefsson.org>
43943
43944         * tests/test-getaddrinfo.c: Don't print debug messages by default.
43945         Suggested by Bruno Haible <bruno@clisp.org>.
43946
43947 2008-05-30  Simon Josefsson  <simon@josefsson.org>
43948
43949         * tests/test-base64.c: Cast size_t to unsigned long when invoking
43950         printf.  Use %lu instead of %d.  Reported by Bruno Haible
43951         <bruno@clisp.org>.
43952
43953 2008-05-29  Eric Blake  <ebb9@byu.net>
43954
43955         Prefer new POSIX 200x interfaces over futimesat.
43956         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
43957         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
43958         when available.
43959         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
43960
43961 2008-05-28  Bruno Haible  <bruno@clisp.org>
43962
43963         * modules/stpcpy (License): Change to LGPLv2+.
43964         Requested by David Lutterkort <dlutter@redhat.com>.
43965
43966 2008-05-27  Bruno Haible  <bruno@clisp.org>
43967
43968         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
43969         current mingw.
43970         Reported by Jose E. Marchesi <jemarch@gnu.org>.
43971
43972 2008-05-27  Bruno Haible  <bruno@clisp.org>
43973
43974         * modules/iconv_open (Link): New section, from module 'iconv'.
43975         * modules/striconv (Link): Likewise.
43976         * modules/striconveh (Link): Likewise.
43977         * modules/xstriconv (Link): Likewise.
43978         * modules/unicodeio (Link): Likewise.
43979         * modules/propername (Link): Likewise.
43980         Reported by Jim Meyering.
43981
43982 2008-05-26  Jim Meyering  <meyering@redhat.com>
43983
43984         sha256: do not artificially restrict buffer length to be < 2^32
43985         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
43986         uint32_t to size_t.
43987         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
43988         to match.
43989
43990         avoid unaligned access errors, e.g., on sparc
43991         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
43992         direct access through a possibly-unaligned uint64* pointer.
43993         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
43994         direct access through a possibly-unaligned uint32* pointer.
43995         Prompted by this patch from Tom "spot" Callaway:
43996         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
43997
43998         sha512.c: fix typo in comment
43999         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
44000
44001 2008-05-25  Bruno Haible  <bruno@clisp.org>
44002
44003         * lib/set-mode-acl.c: Renamed from lib/acl.c.
44004         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
44005         (Makefile.am): Update lib_SOURCES.
44006
44007 2008-05-25  Bruno Haible  <bruno@clisp.org>
44008
44009         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
44010
44011 2008-05-25  Jim Meyering  <meyering@redhat.com>
44012
44013         useless-if-before-free: freed expr may have white-space differences
44014         * build-aux/useless-if-before-free: Recognize cases in which the
44015         freed expression differs from the tested one in embedded white
44016         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
44017         $1 was used, so we can't make any regexp shy.  Improved tests now
44018         detect this.
44019
44020         useless-if-before-free: accept white space in the expression.
44021         * build-aux/useless-if-before-free: For now, any white space
44022         in the expression must be identical in the free argument.
44023
44024         useless-if-before-free: efficiency tweak
44025         * build-aux/useless-if-before-free: Make the expression-matching
44026         regexp "shy".
44027         Make the *outer* regexp shy, not the expr-matching one.
44028
44029         update code-in-comment to accept cast of free arg
44030         * build-aux/useless-if-before-free: Update regexp.
44031
44032 2008-05-25  Bruno Haible  <bruno@clisp.org>
44033
44034         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
44035         * modules/copy-file-tests (Files, Makefile.am): Update.
44036         * tests/test-copy-file.c (func_test_copy): Update.
44037
44038 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
44039
44040         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
44041
44042 2008-05-23  Bruno Haible  <bruno@clisp.org>
44043
44044         Improve support for ACLs on OSF/1.
44045         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
44046         Remove fallback for unknown flavors of ACLs.
44047
44048 2008-05-22  Bruno Haible  <bruno@clisp.org>
44049
44050         Add support for ACLs on OSF/1.
44051         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
44052         replacements.
44053         (acl_free_text): New macro fallback.
44054         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
44055         acl_free.
44056         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
44057         acl_free_text function. Require AC_C_INLINE.
44058
44059 2008-05-22  Bruno Haible  <bruno@clisp.org>
44060
44061         Make copy_acl work on MacOS X 10.5.
44062         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
44063         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
44064         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
44065         If MODE_INSIDE_ACL, don't assume that every system has the same text
44066         representation for ACLs as FreeBSD.
44067         * lib/copy-acl.c (copy_acl): Add support for platforms with
44068         !MODE_INSIDE_ACL.
44069         * lib/file-has-acl.c (file_has_acl): Likewise.
44070         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
44071         FreeBSD, MacOS X, or IRIX, respectively.
44072
44073 2008-05-22  Bruno Haible  <bruno@clisp.org>
44074
44075         * lib/acl.h: Don't include <sys/acl.h>.
44076         (GETACLCNT): Move fallback to lib/acl-internal.h.
44077         * lib/acl-internal.h: Include <sys/acl.h> here.
44078         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
44079
44080 2008-05-22  Bruno Haible  <bruno@clisp.org>
44081
44082         Split off copy_acl function to separate file.
44083         * lib/copy-acl.c: New file, extracted from lib/acl.c.
44084         * lib/acl.c (copy_acl): Moved function to separate file.
44085         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
44086         * modules/acl (Files): Add lib/copy-acl.c.
44087         (Makefiles.am): Augment lib_SOURCES.
44088
44089 2008-05-22  Bruno Haible  <bruno@clisp.org>
44090
44091         * modules/copy-file-tests: New file.
44092         * tests/test-copy-file.sh: New file.
44093         * tests/test-copy-file.c: New file.
44094         * tests/test-copy-file-sameacls.c: New file.
44095
44096 2008-05-22  Eric Blake  <ebb9@byu.net>
44097
44098         Avoid gcc warning.
44099         * tests/test-memcmp.c (main): Pass NULL indirectly.
44100
44101 2008-05-21  Bruno Haible  <bruno@clisp.org>
44102
44103         Add reference doc about ACLs.
44104         * doc/acl-resources.txt: New file.
44105         * doc/acl-cygwin.txt: New file.
44106
44107 2008-05-21  Bruno Haible  <bruno@clisp.org>
44108
44109         Avoid one more warning from gcc.
44110         * lib/vasnprintf.c (IF_LINT): Update comments.
44111         (VASNPRINTF): Use it also for the 'prefix' array initializer.
44112
44113 2008-05-21  Jim Meyering  <meyering@redhat.com>
44114
44115         avoid a warning from gcc
44116         * lib/vasnprintf.c (IF_LINT): Define.
44117         (scale10_round_decimal_long_double):
44118         Use it to avoid a "may be used uninitialized" warning.
44119         (scale10_round_decimal_double): Likewise.
44120
44121 2008-05-21  Simon Josefsson  <simon@josefsson.org>
44122
44123         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
44124         declared.
44125
44126 2008-05-20  Bruno Haible  <bruno@clisp.org>
44127
44128         * tests/test-memcmp.c (main): Test also the sign of the result. Test
44129         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
44130
44131 2008-05-20  Simon Josefsson  <simon@josefsson.org>
44132
44133         * modules/memcmp-tests: New file.
44134         * tests/test-memcmp.c: New file.
44135
44136 2008-05-19  Bruno Haible  <bruno@clisp.org>
44137
44138         * modules/propername (Notice, configure.ac): Put quoted "..." into
44139         --keyword option.
44140         * lib/propername.h: Update comments accordingly.
44141         Reported by Eric Blake.
44142
44143 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
44144
44145         * modules/getpass-gnu (Depends-on): Add fseeko.
44146
44147 2008-05-19  Simon Josefsson  <simon@josefsson.org>
44148
44149         * modules/base64-tests: New file.
44150
44151 2008-05-19  Bo Borgerson <gigabo@gmail.com>
44152
44153         * lib/base64.c (base64_decode_ctx): If a decode context structure
44154         was passed in use it to ignore newlines.  If a context structure
44155         was _not_ passed in, continue to treat newlines as garbage (this
44156         is the historical behavior).  Formerly base64_decode.
44157         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
44158         takes a decode context structure.
44159         * lib/base64.h (base64_decode): Macro for four-argument calls.
44160         (base64_decode_alloc): Likewise.
44161         * lib/base64.c (base64_decode_ctx): If a decode context structure
44162         was passed in use it to ignore newlines.  If a context structure
44163         was _not_ passed in, continue to treat newlines as garbage (this
44164         is the historical behavior).  Formerly base64_decode.
44165         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
44166         takes a decode context structure.
44167         * lib/base64.h (base64_decode): Macro for four-argument calls.
44168         (base64_decode_alloc): Likewise.
44169
44170 2008-05-19  Jim Meyering  <meyering@redhat.com>
44171
44172         avoid a warning from gcc
44173         * lib/trim.c (IF_LINT): Define.
44174         (trim2): Use it to avoid a "may be used uninitialized" warning.
44175
44176         Fix doc typo.
44177         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
44178
44179 2008-05-19  Bruno Haible  <bruno@clisp.org>
44180
44181         * doc/glibc-functions/getpass.texi: Document limits of other
44182         implementations.
44183
44184 2008-05-19  Simon Josefsson  <simon@josefsson.org>
44185             Bruno Haible <bruno@clisp.org>
44186
44187         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
44188
44189 2008-05-18  Bruno Haible  <bruno@clisp.org>
44190
44191         * modules/propername: New file, from GNU gettext.
44192         * lib/propername.h: New file, from GNU gettext.
44193         * lib/propername.c: New file, from GNU gettext.
44194         * MODULES.html.sh (Internationalization functions): Add propername.
44195
44196 2008-05-16  Jim Meyering  <meyering@redhat.com>
44197             Bruno Haible  <bruno@clisp.org>
44198
44199         Avoid some warnings from "gcc -Wshadow".
44200         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
44201
44202 2008-05-15  Eric Blake  <ebb9@byu.net>
44203
44204         Extend previous patch to cygwin 1.7.0.
44205         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
44206         fast implementation in cygwin >= 1.7.0.
44207         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
44208         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
44209
44210 2008-05-15  Bruno Haible  <bruno@clisp.org>
44211
44212         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
44213         implementation in glibc >= 2.9.
44214         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
44215         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
44216
44217 2008-05-15  Bruno Haible  <bruno@clisp.org>
44218
44219         * MODULES.html.sh (Internationalization functions): Remove linebreak.
44220         (Unicode string functions): Add unilbrk/*.
44221         Reported by Karl Berry.
44222
44223 2008-05-15  Eric Blake  <ebb9@byu.net>
44224
44225         Fix violation of <stdbool.h> replacement in regex.
44226         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
44227         * lib/regexec.c (re_search_internal): Likewise.
44228         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
44229
44230 2008-05-15  Jim Meyering  <meyering@redhat.com>
44231
44232         avoid distracting test output when git or cvs is not found
44233         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
44234         * tests/test-vc-list-files-git.sh: Likewise.
44235
44236 2008-05-15  Eric Blake  <ebb9@byu.net>
44237
44238         Glibc finally accepted the memmem speedup code, bugzilla #5514.
44239         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
44240         glibc version.
44241         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
44242         * doc/posix-functions/strstr.texi (strstr): Likewise.
44243         * lib/str-two-way.h (MAX): Sychronize with glibc.
44244
44245 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
44246
44247         * lib/regcomp.c (optimize_utf8): Add a note on why we test
44248         opr.ctx_type.
44249         (calc_first): Initialize constraint field.
44250         (duplicate_node_closure): Use it instead of special casing ANCHORS.
44251         Fix grammar.
44252         (duplicate_node): Merge constraint field for all node types.
44253         (calc_eclosure_iter): Look at constraint field for all node types.
44254         * lib/regex_internal.c (create_cd_newstate): Don't look at
44255         opr.ctx_type.
44256
44257 2008-05-14  Bruno Haible  <bruno@clisp.org>
44258
44259         Help GCC to do better code generation.
44260         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
44261         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
44262         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
44263         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
44264         Declare with attribute 'malloc' if supported.
44265
44266 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
44267
44268         use "echo STR|wc -c" rather than unportable "expr length STR"
44269         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
44270         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
44271
44272 2008-05-14  Jim Meyering  <meyering@redhat.com>
44273
44274         use dd ibs=$n count=1 ... rather than less-portable head -c$n
44275         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
44276         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
44277         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
44278         via Collin Lasse.
44279
44280 2008-05-14  Eric Blake  <ebb9@byu.net>
44281
44282         Avoid quadratic growth in gl_LIBSOURCES.
44283         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
44284         Suggested by Bruno Haible.
44285
44286         Test xmemdup0.
44287         * modules/xmemdup0-tests: New file.
44288         * tests/test-xmemdup0.c: Likewise.
44289
44290 2008-05-13  Eric Blake  <ebb9@byu.net>
44291
44292         Split xmemdup0 into its own module.
44293         * modules/xmemdup0: New file.
44294         * lib/xmemdup0.h: Likewise.
44295         * lib/xmemdup0.c: Likewise.
44296         * MODULES.html.sh (Memory management functions): Add xmemdup0.
44297         * lib/xalloc.h (xmemdup0): Remove.
44298         * lib/xmalloc.c (xmemdup0): Likewise.
44299
44300 2008-05-13  Eric Blake  <ebb9@byu.net>
44301             Bruno Haible  <bruno@clisp.org>
44302
44303         Reduce number of forks required during autoconf.
44304         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
44305         and gl_LIBSOURCES_DIR.
44306         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
44307         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
44308         m4_syscmd per file.
44309         <m4_foreach_w>: Move...
44310         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
44311
44312 2008-05-13  Eric Blake  <ebb9@byu.net>
44313
44314         * gnulib-tool: Fix various comment typos.
44315
44316 2008-05-12  Bruno Haible  <bruno@clisp.org>
44317
44318         Tailor the linebreaking algorithm.
44319         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
44320
44321 2008-05-12  Bruno Haible  <bruno@clisp.org>
44322
44323         Update to Unicode 5.0.0.
44324         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
44325         LBP_JV, LBP_JT. Redistribute values.
44326         (unilbrk_table): Change size.
44327         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
44328         Unicode TR#14 rev. 22.
44329         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
44330         LBP_JV, LBP_JT. Redistribute values.
44331         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
44332         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
44333         Update.
44334         * lib/unilbrk/lbrkprop1.h: Regenerated.
44335         * lib/unilbrk/lbrkprop2.h: Regenerated.
44336         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
44337         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
44338         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
44339         Likewise.
44340         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
44341         Likewise.
44342         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
44343         result.
44344         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
44345         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
44346         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
44347         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
44348         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
44349         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
44350
44351 2008-05-11  Bruno Haible  <bruno@clisp.org>
44352
44353         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
44354
44355 2008-05-11  Bruno Haible  <bruno@clisp.org>
44356
44357         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
44358         * modules/unilbrk/gen-lbrk: New file.
44359
44360 2008-05-11  Bruno Haible  <bruno@clisp.org>
44361
44362         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
44363         * m4/sha512.m4 (gl_SHA512): Likewise.
44364
44365 2008-05-11  Jim Meyering  <meyering@redhat.com>
44366
44367         New modules: crypto/sha256, crypto/sha512 (from coreutils)
44368         * modules/crypto/sha256: New file.
44369         * modules/crypto/sha512: Likewise.
44370         * lib/sha256.c: Likewise.
44371         * lib/sha256.h: Likewise.
44372         * lib/sha512.c: Likewise.
44373         * lib/sha512.h: Likewise.
44374         * lib/u64.h: Likewise.
44375         * m4/sha256.m4: Likewise.
44376         * m4/sha512.m4: Likewise.
44377         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
44378
44379 2008-05-10  Bruno Haible  <bruno@clisp.org>
44380
44381         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
44382         (Input/Output <stdio.h>): Add xprintf.
44383         (Signal handling <signal.h>): Add strsignal.
44384         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
44385         (Core language properties): Add func.
44386         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
44387         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
44388         strings.
44389         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
44390         (Input/output): New section.
44391         (File system functions): Add openat-die, stat-macros.
44392         (Networking functions): Add sockets.
44393         (Unicode string functions): Add unictype/*.
44394         (Support for building libraries and executables): Add gperf.
44395         (Support for building documentation): Add agpl-3.0.
44396         (Misc): Add nocrash.
44397
44398 2008-05-10  Bruno Haible  <bruno@clisp.org>
44399
44400         * modules/unictype/gen-ctype: New file.
44401
44402 2008-05-10  Jim Meyering  <meyering@redhat.com>
44403
44404         Make chdir-safer.c more efficient on a system with no symlinks.
44405         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
44406         also if ELOOP is zero.  Suggested by Bruno Haible.
44407
44408         Make chdir-safer.c slightly safer.
44409         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
44410         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
44411
44412         Avoid compile failure on systems without ELOOP (like mingw).
44413         * lib/chdir-safer.c (ELOOP): Define if not already defined.
44414         Reported by Bruno Haible.
44415
44416 2008-05-10  Bruno Haible  <bruno@clisp.org>
44417
44418         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
44419         (is_utf8_encoding): Use a case-insensitive comparison.
44420         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
44421         streq.
44422
44423 2008-05-10  Bruno Haible  <bruno@clisp.org>
44424
44425         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
44426         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
44427         * lib/unilbrk/ulc-common.h (iconv_string_length,
44428         iconv_string_keeping_offsets): Remove declarations.
44429         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
44430         Don't include <iconv.h>, streq.h, xsize.h.
44431         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
44432         conversion.
44433         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
44434         <iconv.h>, streq.h, xsize.h.
44435         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
44436         conversion.
44437         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
44438         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
44439         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
44440         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
44441
44442 2008-05-10  Bruno Haible  <bruno@clisp.org>
44443
44444         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
44445         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
44446
44447         * modules/unilbrk/u32-width-linebreaks-tests: New file.
44448         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
44449
44450         * modules/unilbrk/u16-width-linebreaks-tests: New file.
44451         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
44452
44453         * modules/unilbrk/u8-width-linebreaks-tests: New file.
44454         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
44455
44456         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
44457         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
44458
44459         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
44460         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
44461
44462         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
44463         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
44464
44465         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
44466         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
44467
44468 2008-05-10  Bruno Haible  <bruno@clisp.org>
44469
44470         Split up 'linebreak' module.
44471         * lib/unilbrk.h: New file, based on lib/linebreak.h.
44472         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
44473         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
44474         modifications.
44475         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
44476         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
44477         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
44478         lib/linebreak.c.
44479         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
44480         lib/linebreak.c.
44481         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
44482         lib/linebreak.c.
44483         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
44484         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
44485         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
44486         lib/linebreak.c.
44487         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
44488         lib/linebreak.c.
44489         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
44490         lib/linebreak.c.
44491         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
44492         lib/linebreak.c.
44493         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
44494         lib/linebreak.c.
44495         * modules/unilbrk/base: New file.
44496         * modules/unilbrk/tables: New file.
44497         * modules/unilbrk/u8-possible-linebreaks: New file.
44498         * modules/unilbrk/u16-possible-linebreaks: New file.
44499         * modules/unilbrk/u32-possible-linebreaks: New file.
44500         * modules/unilbrk/ulc-common: New file.
44501         * modules/unilbrk/ulc-possible-linebreaks: New file.
44502         * modules/unilbrk/u8-width-linebreaks: New file.
44503         * modules/unilbrk/u16-width-linebreaks: New file.
44504         * modules/unilbrk/u32-width-linebreaks: New file.
44505         * modules/unilbrk/ulc-width-linebreaks: New file.
44506         * lib/linebreak.h: Remove file.
44507         * lib/linebreak.c: Remove file.
44508         * m4/linebreak.m4: Remove file.
44509         * modules/linebreak: Remove file.
44510         * NEWS: Mention the changes.
44511
44512 2008-05-09  Eric Blake  <ebb9@byu.net>
44513
44514         Add xmemdup0.
44515         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
44516         implementation.
44517         * lib/xmalloc.c (xmemdup0): New C implementation.
44518
44519 2008-05-08  Bruno Haible  <bruno@clisp.org>
44520
44521         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
44522
44523 2008-05-07  Eric Blake  <ebb9@byu.net>
44524
44525         Support cross-compilation of <wctype.h>.
44526         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
44527         AC_CACHE_CHECK.
44528
44529 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
44530
44531         * build-aux/vc-list-files: Add support for bzr.
44532
44533 2008-05-03  Jim Meyering  <meyering@redhat.com>
44534
44535         avoid failed assertion with tight malloc
44536         * tests/test-getndelim2.c: Correct an off-by-one assertion.
44537
44538 2008-05-03  Simon Josefsson  <simon@josefsson.org>
44539
44540         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
44541         are needed from arpa/inet.h.
44542         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
44543         Reported by Bruno Haible.
44544
44545 2008-05-02  Jim Meyering  <meyering@redhat.com>
44546
44547         avoid compilation error on FreeBSD 6
44548         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
44549
44550 2008-05-01  Jim Meyering  <meyering@redhat.com>
44551
44552         useless-if-before-free: correct --help's exit status description
44553         * build-aux/useless-if-before-free (usage): Like grep, exit 0
44554         for one or more matches, etc.  Reported by Bruno Haible.
44555
44556         vc-list-files: make the stand-alone gnulib test work
44557         * modules/vc-list-files-tests (configure.ac):
44558         Define and AC_SUBST abs_aux_dir.
44559         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
44560         $(abs_top_srcdir) to each script and having each of them
44561         duplicate the work of setting PATH, set PATH here, using
44562         the new variable, abs_aux_dir instead.
44563         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
44564         * tests/test-vc-list-files-git.sh: Likewise.
44565         Reported by Bruno Haible.
44566
44567 2008-05-01  Bruno Haible  <bruno@clisp.org>
44568
44569         * lib/getndelim2.c (getndelim2): Fix newsize computation during
44570         reallocation. Rename 'done' to 'found_delimiter'.
44571
44572 2008-05-01  Jim Meyering  <meyering@redhat.com>
44573
44574         vc-list-files: accommodate /bin/sh like the one from Solaris 10
44575         * build-aux/vc-list-files: Use `...`, not $(...).
44576
44577 2008-04-30  Jim Meyering  <meyering@redhat.com>
44578
44579         add tests for vc-list-files
44580         * modules/vc-list-files-tests: New module.
44581         * tests/test-vc-list-files-cvs.sh: New file.
44582         * tests/test-vc-list-files-git.sh: New file.
44583
44584         avoid a warning from gcc
44585         * lib/getndelim2.c (IF_LINT): Define.
44586         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
44587
44588         vc-list-files: work properly with build-aux/cvsu, too
44589         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
44590         to all cvs-based clauses.
44591
44592         vc-list-files: work properly in the CVS+awk case, too
44593         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
44594
44595         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
44596         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
44597         take more than one file argument, so .  Add quotes, just in case $dir
44598         ever contains a shell meta-character.  Prompted by Soren Hansen in
44599         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
44600
44601 2008-04-29  Eric Blake  <ebb9@byu.net>
44602
44603         Optimize getndelim2 to use block operations when possible.
44604         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
44605         freadseek, and memchr2.
44606         * lib/getndelim2.c (getndelim2): Use them for block reads.
44607
44608 2008-04-29  Bruno Haible  <bruno@clisp.org>
44609
44610         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
44611         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
44612         * modules/inet_ntop (Depends-on): Add extensions.
44613         * modules/inet_pton (Depends-on): Likewise.
44614         Reported by Simon Josefsson.
44615
44616 2008-04-29  Jim Meyering  <meyering@redhat.com>
44617
44618         When the is more than one match in a block, match all of them.
44619         * build-aux/useless-if-before-free: Iterate through each block
44620         until there are no more matches.
44621
44622         Fix broken useless-if-before-free script.
44623         * build-aux/useless-if-before-free: Fix typo: missing "?" after
44624         the expression to match cast of argument to free-like function.
44625
44626 2008-04-29  Eric Blake  <ebb9@byu.net>
44627
44628         Use new header.
44629         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
44630
44631 2008-04-29  Jim Meyering  <meyering@redhat.com>
44632
44633         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
44634         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
44635         by gnulib to exist and to declare e.g., inet_ntop.
44636         Don't include "inet_ntop.h", now removed.
44637
44638         * m4/arpa_inet_h.m4: Remove trailing blanks.
44639
44640 2008-04-29  Eric Blake  <ebb9@byu.net>
44641
44642         Silence valgrind on safe reads beyond potential array bounds.
44643         * lib/rawmemchr.valgrind: New file.
44644         * lib/strchrnul.valgrind: Likewise.
44645         * modules/rawmemchr (Files): Distribute new file.
44646         * modules/strchrnul (Files): Likewise.
44647         Suggested by Bruno Haible.
44648
44649 2008-04-29  Bruno Haible  <bruno@clisp.org>
44650
44651         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
44652         (inet_ntop, inet_pton): Change portability warning's wording.
44653         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
44654         Invoke gl_CHECK_NEXT_HEADERS.
44655         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
44656         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
44657         set ARPA_INET_H.
44658         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
44659         * modules/arpa_inet (Description): No longer only for systems that
44660         lack it.
44661         (Depends-on): Add include_next.
44662         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
44663         HAVE_ARPA_INET_H.
44664
44665 2008-04-29  Jim Meyering  <meyering@redhat.com>
44666
44667         * modules/mkdir (License): Re-license as LGPLv2+.
44668
44669 2008-04-29  Bruno Haible  <bruno@clisp.org>
44670
44671         * modules/rawmemchr (Maintainer): Set to Eric.
44672         * modules/strchrnul (Maintainer): Likewise.
44673
44674 2008-04-29  Simon Josefsson  <simon@josefsson.org>
44675
44676         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
44677         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
44678
44679         * modules/arpa_inet (arpa/inet.h): Use them.
44680
44681 2008-04-28  Eric Blake  <ebb9@byu.net>
44682
44683         Test getndelim2.
44684         * modules/getndelim2-tests: New file.
44685         * tests/test-getndelim2.c: Likewise.
44686         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
44687         stream.
44688         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
44689
44690         * MODULES.html.sh: Document new module.
44691
44692 2008-04-20  Bruno Haible  <bruno@clisp.org>
44693
44694         * lib/c-stack.c (die): Use raise.
44695         * modules/c-stack (Depends-on): Add raise.
44696
44697 2008-04-28  Bruno Haible  <bruno@clisp.org>
44698
44699         Expect rpmatch to be declared.
44700         * lib/yesno.c (rpmatch): Remove declaration.
44701
44702         Declare rpmatch.
44703         * lib/stdlib.in.h (rpmatch): New declaration.
44704         * lib/rpmatch.c: Include <stdlib.h> first.
44705         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
44706         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
44707         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
44708         HAVE_RPMATCH.
44709         * modules/rpmatch (Depends-on): Add stdlib, extensions.
44710         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
44711         (Include): Set to <stdlib.h>.
44712         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
44713         HAVE_RPMATCH.
44714         * NEWS: Document the change.
44715
44716 2008-04-28  Bruno Haible  <bruno@clisp.org>
44717
44718         Change rpmatch to use nl_langinfo when appropriate.
44719         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
44720         (N_): New macro.
44721         (localized_pattern): New function/macro.
44722         (try): Remove match, nomatch arguments. Copy the pattern into safe
44723         memory before caching it.
44724         (rpmatch): Use localized_pattern. Add translator comments.
44725         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
44726         Suggested by Eric Blake.
44727         * modules/rpmatch (Depends-on): Add stdbool.
44728
44729 2008-04-28  Eric Blake  <ebb9@byu.net>
44730
44731         Add rawmemchr module, matching glibc.
44732         * modules/string (Makefile.am): New indicator.
44733         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
44734         * lib/string.in.h (rawmemchr): Declare when appropriate.
44735         * modules/rawmemchr: New file.
44736         * m4/rawmemchr.m4: Likewise.
44737         * lib/rawmemchr.c: Likewise.
44738         * modules/rawmemchr-tests: Likewise.
44739         * tests/test-rawmemchr.c: Likewise.
44740         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
44741         module.
44742         * modules/strchrnul (Depends-on): Add rawmemchr.
44743         * lib/strchrnul.c (strchrnul): Optimize a corner case.
44744
44745         Whitespace cleanup.
44746         * tests/test-strchrnul.c: Reindent.
44747         * lib/strchrnul.c: Likewise.
44748
44749         Optimize and test strchrnul.
44750         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
44751         * modules/strchrnul-tests: New file.
44752         * tests/test-strchrnul.c: Likewise.
44753
44754         Remove intprops dependency.
44755         * modules/memchr (Depends-on): Remove intprops.
44756         * modules/memrchr (Depends-on): Likewise.
44757         * modules/memchr2 (Depends-on): Likewise.
44758         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
44759         * lib/memrchr.c (__memrchr): Likewise.
44760         * lib/memrchr2.c (memchr2): Likewise.
44761         Reported by Simon Josefsson.
44762
44763 2008-04-28  Simon Josefsson  <simon@josefsson.org>
44764
44765         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
44766         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44767
44768 2008-04-28  Simon Josefsson  <simon@josefsson.org>
44769
44770         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
44771
44772         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
44773
44774         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
44775
44776         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
44777         declarations.
44778         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
44779
44780         * m4/inet_pton.m4: Don't check for header files.
44781
44782         * m4/inet_ntop.m4: Don't check for header files.
44783
44784 2008-04-28  Simon Josefsson  <simon@josefsson.org>
44785
44786         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
44787         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
44788         trigger for cygwin).
44789         Reported by Bruno Haible  <bruno@clisp.org>.
44790
44791 2008-04-28  Bruno Haible  <bruno@clisp.org>
44792
44793         * doc/posix-functions/strdup.texi: Mention mingw problem.
44794
44795 2008-04-27  Bruno Haible  <bruno@clisp.org>
44796
44797         * modules/stat-time-tests (Depends-on): Add sleep.
44798         * tests/test-stat-time.c (force_unlink): New function.
44799         (cleanup): Use it.
44800         (test_mtime): Remove the ctime related tests.
44801         (test_ctime): New function, containing the ctime related tests.
44802         (main): Call test_ctime, except on native Windows platforms.
44803
44804 2008-04-27  Bruno Haible  <bruno@clisp.org>
44805
44806         * lib/rpmatch.c (rpmatch): Add some comments.
44807         Reported by James Youngman <jay@gnu.org>.
44808
44809 2008-04-27  Bruno Haible  <bruno@clisp.org>
44810
44811         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
44812         quiet NaNs.
44813
44814 2008-04-27  Bruno Haible  <bruno@clisp.org>
44815
44816         Make test-yesno.sh work on mingw.
44817         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
44818         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
44819         (main): Set stdin to binary mode.
44820         * modules/yesno-tests (Depends-on): Add binary-io.
44821
44822 2008-04-27  Bruno Haible  <bruno@clisp.org>
44823
44824         Fix 'isfinite' on x86, x86_64, ia64 platforms.
44825         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
44826         argument that lie outside the IEEE 854 domain.
44827         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
44828         (gl_ISFINITE): Use it.
44829         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
44830
44831 2008-04-27  Bruno Haible  <bruno@clisp.org>
44832
44833         Allow local renaming in config.h.
44834         * lib/memrchr.c (memrchr): Don't undefine outside libc.
44835
44836 2008-04-27  Bruno Haible  <bruno@clisp.org>
44837
44838         * lib/memchr.c (__memchr): Change type of 'i'.
44839         * lib/memchr2.c (memchr2): Likewise.
44840
44841 2008-04-26  Eric Blake  <ebb9@byu.net>
44842         and Bruno Haible  <bruno@clisp.org>
44843
44844         Optimize and test memrchr.
44845         * modules/memrchr (Depends-on): Add intprops.
44846         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
44847         * modules/memrchr-tests: New file.
44848         * tests/test-memrchr.c: New file.
44849
44850 2008-04-26  Bruno Haible  <bruno@clisp.org>
44851
44852         Add tentative support for DragonFly BSD.
44853         * lib/stdio-impl.h: Add macros for DragonFly BSD.
44854         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
44855         fp.
44856         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
44857         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
44858         * lib/fpurge.c (fpurge): Likewise.
44859         * lib/freadable.c (freaadable): Likewise.
44860         * lib/freadahead.c (freadahead): Likewise.
44861         * lib/freading.c (freading): Likewise.
44862         * lib/freadptr.c (freadptr): Likewise.
44863         * lib/freadseek.c (freadptrinc): Likewise.
44864         * lib/fseeko.c (fseeko): Likewise.
44865         * lib/fseterr.c (fseterr): Likewise.
44866         * lib/fwritable.c (fwritable): Likewise.
44867         * lib/fwriting.c (fwriting): Likewise.
44868
44869 2008-04-26  Bruno Haible  <bruno@clisp.org>
44870
44871         * lib/stdio-impl.h: New file.
44872         * lib/fbufmode.c: Include stdio-impl.h.
44873         (fbufmode): Use fp_, remove redundant #defines.
44874         * lib/fflush.c: Include stdio-impl.h.
44875         (clear_ungetc_buffer): Remove redundant #defines.
44876         * lib/fpurge.c: Include stdio-impl.h.
44877         (fpurge): Remove redundant #defines.
44878         * lib/freadable.c: Include stdio-impl.h.
44879         (freadable): Remove redundant #defines.
44880         * lib/freadahead.c: Include stdio-impl.h.
44881         (freadahead): Remove redundant #defines.
44882         * lib/freading.c: Include stdio-impl.h.
44883         (freading): Remove redundant #defines.
44884         * lib/freadptr.c: Include stdio-impl.h.
44885         (freadptr): Remove redundant #defines.
44886         * lib/freadseek.c: Include stdio-impl.h.
44887         (freadptrinc): Remove redundant #defines.
44888         * lib/fseeko.c: Include stdio-impl.h.
44889         (rpl_fseeko): Remove redundant #defines.
44890         * lib/fseterr.c: Include stdio-impl.h.
44891         (fseterr): Remove redundant #defines.
44892         * lib/fwritable.c: Include stdio-impl.h.
44893         (fwritable: Remove redundant #defines.
44894         * lib/fwriting.c: Include stdio-impl.h.
44895         (fwriting): Remove redundant #defines.
44896         * modules/fbufmode (Files): Add lib/stdio-impl.h.
44897         * modules/fflush (Files): Likewise.
44898         * modules/fpurge (Files): Likewise.
44899         * modules/freadable (Files): Likewise.
44900         * modules/freadahead (Files): Likewise.
44901         * modules/freading (Files): Likewise.
44902         * modules/freadptr (Files): Likewise.
44903         * modules/freadseek (Files): Likewise.
44904         * modules/fseeko (Files): Likewise.
44905         * modules/fseterr (Files): Likewise.
44906         * modules/fwritable (Files): Likewise.
44907         * modules/fwriting (Files): Likewise.
44908
44909 2008-04-26  Bruno Haible  <bruno@clisp.org>
44910
44911         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
44912         restore_seek_optimization, update_fpos_cache): New functions, extracted
44913         from rpl_fflush.
44914         (rpl_fflush): Use them.
44915         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
44916         (gl_REPLACE_FFLUSH): Use it.
44917
44918 2008-04-26  Bruno Haible  <bruno@clisp.org>
44919
44920         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
44921         on Solaris.
44922         * tests/test-xstrtoimax.sh: Likewise.
44923         * tests/test-xstrtoumax.sh: Likewise.
44924         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44925
44926 2008-04-26  Bruno Haible  <bruno@clisp.org>
44927
44928         * modules/memchr-tests: New file.
44929         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
44930
44931 2008-04-26  Eric Blake  <ebb9@byu.net>
44932             Bruno Haible  <bruno@clisp.org>
44933
44934         * lib/memchr.c: Include intprops.h.
44935         (__memchr): Optimize parallel detection of matching bytes. Rename local
44936         variables. Add explanatory comments.
44937
44938 2008-04-26  Bruno Haible  <bruno@clisp.org>
44939
44940         Fix module 'memchr', broken since 2000-10-28.
44941         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
44942
44943 2008-04-26  Bruno Haible  <bruno@clisp.org>
44944
44945         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
44946         comments.
44947
44948 2008-04-25  Eric Blake  <ebb9@byu.net>
44949
44950         Use native fstatat on cygwin 1.7.0.
44951         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
44952         first.
44953
44954 2008-04-23  Eric Blake  <ebb9@byu.net>
44955
44956         Improve memchr2 performance.
44957         * lib/memchr2.c (memchr2): Further optimize parallel detection of
44958         NUL bytes.
44959         * modules/memchr2 (Depends-on): Use intprops.h.
44960
44961 2008-04-23  Simon Josefsson  <simon@josefsson.org>
44962
44963         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
44964         an inline function instead of a CPP macro.  Patch by Ben Pfaff
44965         <blp@cs.stanford.edu>.
44966
44967 2008-04-23  Simon Josefsson  <simon@josefsson.org>
44968
44969         * lib/arpa_inet.in.h: New file.
44970
44971         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
44972         (Makefile.am): Sed in substitute header file.
44973
44974         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
44975         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
44976
44977         * modules/inet_ntop (configure.ac): Use
44978         gl_ARPA_INET_MODULE_INDICATOR.
44979
44980         * modules/inet_pton (configure.ac): Use
44981         gl_ARPA_INET_MODULE_INDICATOR.
44982
44983 2008-04-22  Jim Meyering  <meyering@redhat.com>
44984
44985         * modules/verify (License): Re-license as LGPLv2+.
44986
44987 2008-04-22  Simon Josefsson  <simon@josefsson.org>
44988
44989         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
44990         parameter to void* as per POSIX standard (MinGW uses char*).
44991
44992 2008-04-21  Bruno Haible  <bruno@clisp.org>
44993
44994         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
44995         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
44996         Define to replacements if REPLACE_ISWCNTRL is 1.
44997         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
44998         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
44999         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
45000         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
45001         what it fixes.
45002         * doc/posix-functions/iswalpha.texi: Likewise.
45003         * doc/posix-functions/iswblank.texi: Likewise.
45004         * doc/posix-functions/iswcntrl.texi: Likewise.
45005         * doc/posix-functions/iswdigit.texi: Likewise.
45006         * doc/posix-functions/iswgraph.texi: Likewise.
45007         * doc/posix-functions/iswlower.texi: Likewise.
45008         * doc/posix-functions/iswprint.texi: Likewise.
45009         * doc/posix-functions/iswpunct.texi: Likewise.
45010         * doc/posix-functions/iswspace.texi: Likewise.
45011         * doc/posix-functions/iswupper.texi: Likewise.
45012         * doc/posix-functions/iswxdigit.texi: Likewise.
45013         Reported by Alain Guibert.
45014
45015 2008-04-21  Bruno Haible  <bruno@clisp.org>
45016
45017         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
45018         Patch by Alain Guibert.
45019
45020 2008-04-21  Bruno Haible  <bruno@clisp.org>
45021
45022         Fix test failures on mingw.
45023         * tests/test-xstrtol.c (print_no_progname): New function.
45024         (main): Install it in error_print_progname hook.
45025         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
45026         * tests/test-xstrtoimax.sh: Likewise.
45027         * tests/test-xstrtoumax.sh: Likewise.
45028
45029 2008-04-21  Bruno Haible  <bruno@clisp.org>
45030
45031         Fix test failure on mingw.
45032         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
45033
45034 2008-04-21  Bruno Haible  <bruno@clisp.org>
45035
45036         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
45037         Actually assign a value.
45038
45039 2008-04-20  Bruno Haible  <bruno@clisp.org>
45040
45041         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
45042         take 2.
45043         * lib/canonicalize.c (canonicalize_file_name): Elide if the
45044         'canonicalize-lgpl' module is also used.
45045         * lib/canonicalize-lgpl.c: Undo last change.
45046         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
45047
45048 2008-04-20  Bruno Haible  <bruno@clisp.org>
45049
45050         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
45051         config.h. Provide _mkdir based fallback for mingw.
45052         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
45053         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
45054         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
45055         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
45056         rather than defining mkdir in config.h.
45057         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
45058         (gl_SYS_STAT_H_DEFAULTS): New macro.
45059         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
45060         HAVE_IO_H any more.
45061         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
45062         HAVE_DECL_MKDIR and HAVE_IO_H.
45063
45064 2008-04-20  Bruno Haible  <bruno@clisp.org>
45065
45066         * lib/isapipe.c: Port to native Windows platforms.
45067
45068 2008-04-20  Bruno Haible  <bruno@clisp.org>
45069
45070         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
45071
45072 2008-04-21  Eric Blake  <ebb9@byu.net>
45073
45074         Work around preprocessors that don't handle UINTMAX_MAX.
45075         * lib/memchr2.c (memchr2): Avoid embedded #if.
45076         Reported by Alain Guibert, fix suggested by Bruno Haible.
45077
45078 2008-04-21  Simon Josefsson  <simon@josefsson.org>
45079
45080         * doc/posix-functions/strftime.texi (strftime): Explain better
45081         Windows incompatibility.  Suggested by Micah Cowan
45082         <micah@cowan.name>.
45083
45084 2008-04-20  Bruno Haible  <bruno@clisp.org>
45085
45086         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
45087         unistr/u8-mblen.
45088
45089 2008-04-20  Bruno Haible  <bruno@clisp.org>
45090
45091         Fix test failure on platforms with non-GNU iconv.
45092         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
45093         (U_TO_U8): Use it, rather than u16_to_u8.
45094         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
45095         units at the end of the input string.
45096         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
45097
45098 2008-04-20  Bruno Haible  <bruno@clisp.org>
45099
45100         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
45101         when the resulting length is 0.
45102         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
45103
45104 2008-04-20  Bruno Haible  <bruno@clisp.org>
45105
45106         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
45107         works.
45108         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
45109
45110 2008-04-20  Bruno Haible  <bruno@clisp.org>
45111
45112         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
45113         * modules/tsearch-tests (configure.ac): Test for initstate function.
45114
45115 2008-04-20  Bruno Haible  <bruno@clisp.org>
45116
45117         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
45118         for nlink_t if missing.
45119         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
45120
45121 2008-04-19  Bruno Haible  <bruno@clisp.org>
45122
45123         Work around snprintf bug on Linux libc5.
45124         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
45125         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
45126         gl_SNPRINTF_SIZE1.
45127         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
45128         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
45129         that test failed.
45130         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
45131         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
45132         * modules/snprintf (Files): Add m4/printf.m4.
45133         * modules/vsnprintf (Files): Likewise.
45134         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
45135         * doc/posix-functions/vsnprintf.texi: Likewise.
45136
45137 2008-04-19  Bruno Haible  <bruno@clisp.org>
45138
45139         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
45140         from 0.0058 to less than 10^-7.
45141
45142 2008-04-19  Bruno Haible  <bruno@clisp.org>
45143
45144         Fix rounding when a precision is given.
45145         * lib/vasnprintf.c (is_borderline): New function.
45146         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
45147         9...9x.
45148         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
45149         %e, %g.
45150         * tests/test-vasprintf-posix.c (test_function): Likewise.
45151         * tests/test-snprintf-posix.h (test_function): Likewise.
45152         * tests/test-sprintf-posix.h (test_function): Likewise.
45153         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
45154         * tests/test-printf-posix.h (test_function): Likewise.
45155         * tests/test-printf-posix.output: Update.
45156         Reported by John Darrington <john@darrington.wattle.id.au> via
45157         Ben Pfaff <blp@cs.stanford.edu>.
45158
45159 2008-04-18  Simon Josefsson  <simon@josefsson.org>
45160
45161         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
45162         Suggested by Bruno Haible <bruno@clisp.org>.
45163
45164 2008-04-17  Bruno Haible  <bruno@clisp.org>
45165
45166         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
45167         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
45168         implementation.
45169         Patch by Bruce Merry <bmerry@gmail.com>.
45170
45171 2008-04-17  Simon Josefsson  <simon@josefsson.org>
45172
45173         * doc/posix-functions/strftime.texi (strftime): Mention that %e
45174         doesn't work under Windows.
45175
45176 2008-04-16  Bruno Haible  <bruno@clisp.org>
45177
45178         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
45179         New macros.
45180         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
45181         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
45182         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
45183         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
45184         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
45185         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
45186         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
45187         macros.
45188         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
45189         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
45190         Northern Sotho, Uighur.
45191
45192 2008-04-16  Bruno Haible  <bruno@clisp.org>
45193
45194         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
45195         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
45196         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
45197         Reported by Daniel Bergström <daniel@octocode.com>.
45198
45199 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
45200             Bruno Haible  <bruno@clisp.org>
45201
45202         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
45203         function.
45204         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
45205         New functions, mostly extracted from gl_locale_name_default.
45206         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
45207
45208 2008-04-16  Eric Blake  <ebb9@byu.net>
45209
45210         Adjust strtod detection to catch glibc 2.7 bug.
45211         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
45212         Reported by John Gatewood Ham.
45213
45214 2008-04-16  Bruno Haible  <bruno@clisp.org>
45215
45216         Add tentative support for Linux libc5.
45217         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
45218         * lib/fpurge.c (fpurge): Likewise.
45219         * lib/freadable.c (freadable): Likewise.
45220         * lib/freadahead.c (freadahead): Likewise.
45221         * lib/freading.c (freading): Likewise.
45222         * lib/freadptr.c (freadptr): Likewise.
45223         * lib/freadseek.c (freadptrinc): Likewise.
45224         * lib/fseeko.c (rpl_fseeko): Likewise.
45225         * lib/fseterr.c (fseterr): Likewise.
45226         * lib/fwritable.c (fwritable): Likewise.
45227         * lib/fwriting.c (fwriting): Likewise.
45228         Reported by Alain Guibert <alguibert+bts@free.fr>.
45229
45230 2008-04-15  Bruno Haible  <bruno@clisp.org>
45231
45232         * modules/mathl (configure.ac): Define module indicator.
45233
45234 2008-04-15  Bruno Haible  <bruno@clisp.org>
45235
45236         * lib/logl.c (logl): Remove unused variables.
45237
45238 2008-04-15  Bruno Haible  <bruno@clisp.org>
45239
45240         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
45241         fails.
45242
45243 2008-04-15  Bruno Haible  <bruno@clisp.org>
45244
45245         * lib/trim.c (trim2): Fix argument of isspace() macro.
45246
45247 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
45248
45249         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
45250         to 0.
45251         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
45252
45253 2008-04-14  Bruno Haible  <bruno@clisp.org>
45254
45255         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
45256         AC_LANG_PROGRAM argument.
45257         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
45258         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
45259         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
45260         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
45261         * m4/math_h.m4 (gl_MATH_H): Likewise.
45262         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
45263         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
45264         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
45265         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
45266         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
45267         * m4/regex.m4 (gl_REGEX): Likewise.
45268         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
45269         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
45270         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
45271         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
45272         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
45273         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
45274         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
45275         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
45276
45277 2008-04-14  Jim Meyering  <meyering@redhat.com>
45278
45279         test-strtod: fix typos: s/abs/fabs/
45280         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
45281
45282 2008-04-13  Bruno Haible  <bruno@clisp.org>
45283
45284         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
45285         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
45286         module is also used and while not building the reloc-wrapper.
45287
45288 2008-04-13  Bruno Haible  <bruno@clisp.org>
45289
45290         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
45291
45292 2008-04-13  Bruno Haible  <bruno@clisp.org>
45293
45294         Fix AIX compilation failure introduced on 2008-04-02.
45295         * tests/test-frexp.c (exp): Undefine before redefining.
45296         * tests/test-frexpl.c (exp): Likewise.
45297
45298 2008-04-13  Bruno Haible  <bruno@clisp.org>
45299
45300         Work around a HP-UX stdio bug.
45301         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
45302         * tests/test-ftello.c (main): Likewise.
45303         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
45304         * doc/posix-functions/ftello.texi: Likewise.
45305
45306 2008-04-13  Bruno Haible  <bruno@clisp.org>
45307
45308         Make test-signbit pass on HP-UX/hppa.
45309         * tests/test-signbit.c (minus_zerol): New variable.
45310         (test_signbitl): Use it.
45311
45312 2008-04-13  Bruno Haible  <bruno@clisp.org>
45313
45314         Make truncl work on OSF/1 4.0.
45315         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
45316         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
45317         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
45318         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
45319         HAVE_DECL_TRUNCL.
45320         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
45321         HAVE_DECL_TRUNCL.
45322         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
45323
45324 2008-04-13  Bruno Haible  <bruno@clisp.org>
45325
45326         * lib/unictype.h: Remove trailing comma from enumeration definitions.
45327
45328 2008-04-13  Bruno Haible  <bruno@clisp.org>
45329
45330         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
45331         expression, so as to avoid HP-UX 11 cc compiler bug.
45332
45333 2008-04-13  Bruno Haible  <bruno@clisp.org>
45334
45335         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
45336
45337 2008-04-13  Bruno Haible  <bruno@clisp.org>
45338
45339         * lib/git-merge-changelog.c: Remove empty declaration outside of
45340         functions.
45341
45342 2008-04-13  Bruno Haible  <bruno@clisp.org>
45343
45344         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
45345
45346 2008-04-13  Bruno Haible  <bruno@clisp.org>
45347
45348         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
45349         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
45350         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
45351         also if it exists but lacks definitions of the SHUT_* macros.
45352         * modules/sys_socket (Description): Update.
45353         Reported by Elbert Pol <e.pol@chello.nl>.
45354
45355 2008-04-13  Bruno Haible  <bruno@clisp.org>
45356
45357         * lib/localcharset.c (OS2): Don't redefine if already defined.
45358         Reported by Elbert Pol <e.pol@chello.nl>.
45359
45360 2008-04-13  Bruno Haible  <bruno@clisp.org>
45361
45362         * lib/binary-io.h [__EMX__]: Include <io.h>.
45363         Reported by Elbert Pol <e.pol@chello.nl>.
45364
45365 2008-04-12  Bruno Haible  <bruno@clisp.org>
45366
45367         * lib/fpucw.h: Enable the definitions also for x86_64.
45368         Needed for NetBSD/x86_64.
45369         Reported by Thomas Klausner <tk@giga.or.at>.
45370
45371 2008-04-12  Bruno Haible  <bruno@clisp.org>
45372
45373         * tests/test-strtod.c: Include isnand.h.
45374         (main): Use isnand instead of isnan.
45375         Reported by Jim Meyering.
45376
45377 2008-04-12  Bruno Haible  <bruno@clisp.org>
45378
45379         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
45380         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
45381
45382 2008-04-12  Jim Meyering  <meyering@redhat.com>
45383
45384         * m4/math_h.m4 (gl_MATH_H): Fix typos.
45385
45386 2008-04-12  Bruno Haible  <bruno@clisp.org>
45387
45388         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
45389         Reported by Elbert Pol <e.pol@chello.nl>.
45390
45391 2008-04-12  Eric Blake  <ebb9@byu.net>
45392
45393         Work around Solaris 10 math.h bug.
45394         * m4/math_h.m4 (gl_MATH_H): Check for bug.
45395         (gl_MATH_H_DEFAULTS): Set up default.
45396         * modules/math (Makefile.am): Replace new indicators.
45397         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
45398         * tests/test-math.c (main): Test this.
45399         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
45400         * doc/posix-headers/math.texi (math.h): Mention bug.
45401         Reported by Nelson H. F. Beebe and Jim Meyering.
45402
45403 2008-04-11  Bruno Haible  <bruno@clisp.org>
45404
45405         Adapt to future versions of Apple GCC.
45406         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
45407         Reported by Peter O'Gorman <peter@pogma.com>.
45408
45409 2008-04-11  Bruno Haible  <bruno@clisp.org>
45410
45411         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
45412
45413 2008-04-11  Bruno Haible  <bruno@clisp.org>
45414
45415         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
45416
45417         * modules/getaddrinfo-tests (Makefile.am): Define
45418         test_getaddrinfo_LDADD.
45419
45420 2008-04-11  Bruno Haible  <bruno@clisp.org>
45421
45422         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
45423         (init): Fix syntax error.
45424         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
45425         is declared.
45426
45427 2008-04-11  Bruno Haible  <bruno@clisp.org>
45428
45429         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
45430         * modules/glob (Depends-on): Add stdbool.
45431
45432 2008-04-11  Bruno Haible  <bruno@clisp.org>
45433
45434         * lib/trim.c: Include <string.h>.
45435
45436 2008-04-11  Eric Blake  <ebb9@byu.net>
45437
45438         Avoid compile failure on OS/2.
45439         * lib/regex_internal.h (internal_function): Disable optimization
45440         on OS/2 (__EMX__), where it caused compiler error.
45441         Reported by Elbert Pol.
45442
45443 2008-04-11  Bruno Haible  <bruno@clisp.org>
45444
45445         Flush the standard error stream before aborting. Needed on mingw.
45446         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
45447         * tests/test-array_list.c (ASSERT): Likewise.
45448         * tests/test-array_oset.c (ASSERT): Likewise.
45449         * tests/test-avltree_list.c (ASSERT): Likewise.
45450         * tests/test-avltree_oset.c (ASSERT): Likewise.
45451         * tests/test-avltreehash_list.c (ASSERT): Likewise.
45452         * tests/test-binary-io.c (ASSERT): Likewise.
45453         * tests/test-byteswap.c (ASSERT): Likewise.
45454         * tests/test-c-ctype.c (ASSERT): Likewise.
45455         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
45456         * tests/test-c-strcasestr.c (ASSERT): Likewise.
45457         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
45458         * tests/test-c-strstr.c (ASSERT): Likewise.
45459         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
45460         * tests/test-canonicalize.c (ASSERT): Likewise.
45461         * tests/test-carray_list.c (ASSERT): Likewise.
45462         * tests/test-ceilf1.c (ASSERT): Likewise.
45463         * tests/test-ceilf2.c (ASSERT): Likewise.
45464         * tests/test-ceill.c (ASSERT): Likewise.
45465         * tests/test-count-one-bits.c (ASSERT): Likewise.
45466         * tests/test-fbufmode.c (ASSERT): Likewise.
45467         * tests/test-fflush2.c (ASSERT): Likewise.
45468         * tests/test-floorf1.c (ASSERT): Likewise.
45469         * tests/test-floorf2.c (ASSERT): Likewise.
45470         * tests/test-floorl.c (ASSERT): Likewise.
45471         * tests/test-fopen.c (ASSERT): Likewise.
45472         * tests/test-fpending.c (ASSERT): Likewise.
45473         * tests/test-fprintf-posix.c (ASSERT): Likewise.
45474         * tests/test-fpurge.c (ASSERT): Likewise.
45475         * tests/test-freadable.c (ASSERT): Likewise.
45476         * tests/test-freadahead.c (ASSERT): Likewise.
45477         * tests/test-freading.c (ASSERT): Likewise.
45478         * tests/test-freadptr.c (ASSERT): Likewise.
45479         * tests/test-freadptr2.c (ASSERT): Likewise.
45480         * tests/test-freadseek.c (ASSERT): Likewise.
45481         * tests/test-freopen.c (ASSERT): Likewise.
45482         * tests/test-frexp.c (ASSERT): Likewise.
45483         * tests/test-frexpl.c (ASSERT): Likewise.
45484         * tests/test-fseek.c (ASSERT): Likewise.
45485         * tests/test-fseeko.c (ASSERT): Likewise.
45486         * tests/test-fstrcmp.c (ASSERT): Likewise.
45487         * tests/test-ftell.c (ASSERT): Likewise.
45488         * tests/test-ftello.c (ASSERT): Likewise.
45489         * tests/test-func.c (ASSERT): Likewise.
45490         * tests/test-fwritable.c (ASSERT): Likewise.
45491         * tests/test-fwriting.c (ASSERT): Likewise.
45492         * tests/test-getdelim.c (ASSERT): Likewise.
45493         * tests/test-getline.c (ASSERT): Likewise.
45494         * tests/test-i-ring.c (ASSERT): Likewise.
45495         * tests/test-iconv-utf.c (ASSERT): Likewise.
45496         * tests/test-iconv.c (ASSERT): Likewise.
45497         * tests/test-isfinite.c (ASSERT): Likewise.
45498         * tests/test-isnand.c (ASSERT): Likewise.
45499         * tests/test-isnanf.c (ASSERT): Likewise.
45500         * tests/test-isnanl.h (ASSERT): Likewise.
45501         * tests/test-ldexpl.c (ASSERT): Likewise.
45502         * tests/test-linked_list.c (ASSERT): Likewise.
45503         * tests/test-linkedhash_list.c (ASSERT): Likewise.
45504         * tests/test-localename.c (ASSERT): Likewise.
45505         * tests/test-lseek.c (ASSERT): Likewise.
45506         * tests/test-mbscasecmp.c (ASSERT): Likewise.
45507         * tests/test-mbscasestr1.c (ASSERT): Likewise.
45508         * tests/test-mbscasestr2.c (ASSERT): Likewise.
45509         * tests/test-mbscasestr3.c (ASSERT): Likewise.
45510         * tests/test-mbscasestr4.c (ASSERT): Likewise.
45511         * tests/test-mbschr.c (ASSERT): Likewise.
45512         * tests/test-mbscspn.c (ASSERT): Likewise.
45513         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
45514         * tests/test-mbspbrk.c (ASSERT): Likewise.
45515         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
45516         * tests/test-mbsrchr.c (ASSERT): Likewise.
45517         * tests/test-mbsspn.c (ASSERT): Likewise.
45518         * tests/test-mbsstr1.c (ASSERT): Likewise.
45519         * tests/test-mbsstr2.c (ASSERT): Likewise.
45520         * tests/test-mbsstr3.c (ASSERT): Likewise.
45521         * tests/test-memchr2.c (ASSERT): Likewise.
45522         * tests/test-memmem.c (ASSERT): Likewise.
45523         * tests/test-open.c (ASSERT): Likewise.
45524         * tests/test-printf-frexp.c (ASSERT): Likewise.
45525         * tests/test-printf-frexpl.c (ASSERT): Likewise.
45526         * tests/test-printf-posix.c (ASSERT): Likewise.
45527         * tests/test-quotearg.c (ASSERT): Likewise.
45528         * tests/test-rbtree_list.c (ASSERT): Likewise.
45529         * tests/test-rbtree_oset.c (ASSERT): Likewise.
45530         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
45531         * tests/test-round1.c (ASSERT): Likewise.
45532         * tests/test-roundf1.c (ASSERT): Likewise.
45533         * tests/test-roundl.c (ASSERT): Likewise.
45534         * tests/test-signbit.c (ASSERT): Likewise.
45535         * tests/test-sleep.c (ASSERT): Likewise.
45536         * tests/test-snprintf-posix.c (ASSERT): Likewise.
45537         * tests/test-snprintf.c (ASSERT): Likewise.
45538         * tests/test-sprintf-posix.c (ASSERT): Likewise.
45539         * tests/test-stat-time.c (ASSERT): Likewise.
45540         * tests/test-strcasestr.c (ASSERT): Likewise.
45541         * tests/test-strerror.c (ASSERT): Likewise.
45542         * tests/test-striconv.c (ASSERT): Likewise.
45543         * tests/test-striconveh.c (ASSERT): Likewise.
45544         * tests/test-striconveha.c (ASSERT): Likewise.
45545         * tests/test-strsignal.c (ASSERT): Likewise.
45546         * tests/test-strstr.c (ASSERT): Likewise.
45547         * tests/test-strtod.c (ASSERT): Likewise.
45548         * tests/test-trunc1.c (ASSERT): Likewise.
45549         * tests/test-trunc2.c (ASSERT): Likewise.
45550         * tests/test-truncf1.c (ASSERT): Likewise.
45551         * tests/test-truncf2.c (ASSERT): Likewise.
45552         * tests/test-truncl.c (ASSERT): Likewise.
45553         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
45554         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
45555         * tests/test-vasnprintf.c (ASSERT): Likewise.
45556         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
45557         * tests/test-vasprintf.c (ASSERT): Likewise.
45558         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
45559         * tests/test-vprintf-posix.c (ASSERT): Likewise.
45560         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
45561         * tests/test-vsnprintf.c (ASSERT): Likewise.
45562         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
45563         * tests/test-wcwidth.c (ASSERT): Likewise.
45564         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
45565         * tests/test-xprintf-posix.c (ASSERT): Likewise.
45566         * tests/test-xvasprintf.c (ASSERT): Likewise.
45567         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
45568         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
45569         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
45570         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
45571         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
45572         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
45573         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
45574         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
45575         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
45576         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
45577         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
45578         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
45579         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
45580         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
45581         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
45582         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
45583         * tests/unictype/test-block_list.c (ASSERT): Likewise.
45584         * tests/unictype/test-block_of.c (ASSERT): Likewise.
45585         * tests/unictype/test-block_test.c (ASSERT): Likewise.
45586         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
45587         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
45588         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
45589         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
45590         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
45591         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
45592         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
45593         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
45594         * tests/unictype/test-combining.c (ASSERT): Likewise.
45595         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
45596         * tests/unictype/test-digit.c (ASSERT): Likewise.
45597         * tests/unictype/test-mirror.c (ASSERT): Likewise.
45598         * tests/unictype/test-numeric.c (ASSERT): Likewise.
45599         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
45600         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
45601         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
45602         * tests/unictype/test-scripts.c (ASSERT): Likewise.
45603         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
45604         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
45605         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
45606         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
45607         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
45608         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
45609         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
45610         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
45611         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
45612         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
45613         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
45614         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
45615         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
45616         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
45617         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
45618         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
45619         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
45620         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
45621         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
45622         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
45623         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
45624         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
45625         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
45626         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
45627         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
45628         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
45629         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
45630         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
45631         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
45632         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
45633         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
45634         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
45635         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
45636         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
45637         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
45638         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
45639         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
45640         Reported by Eric Blake.
45641
45642 2008-04-11  Bruno Haible  <bruno@clisp.org>
45643
45644         * lib/wchar.in.h: Tweak comment.
45645
45646 2008-04-11  Bruno Haible  <bruno@clisp.org>
45647
45648         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
45649         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
45650         gl_COMMON.
45651         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
45652
45653 2008-04-11  Bruno Haible  <bruno@clisp.org>
45654
45655         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
45656
45657 2008-04-11  Simon Josefsson  <simon@josefsson.org>
45658
45659         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
45660         of attempting to use non-existing /dev/*random.  Based on patch
45661         from Adam Strzelecki <ono@java.pl> in
45662         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
45663
45664 2008-04-08  Bruno Haible  <bruno@clisp.org>
45665
45666         Add tentative support for emx+gcc.
45667         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
45668         * lib/fpurge.c (fpurge): Likewise.
45669         * lib/freadable.c (freadable): Likewise.
45670         * lib/freadahead.c (freadahead): Likewise.
45671         * lib/freading.c (freading): Likewise.
45672         * lib/freadptr.c (freadptr): Likewise.
45673         * lib/freadseek.c (freadptrinc): Likewise.
45674         * lib/fseeko.c (rpl_fseeko): Likewise.
45675         * lib/fseterr.c (fseterr): Likewise.
45676         * lib/fwritable.c (fwritable): Likewise.
45677         * lib/fwriting.c (fwriting): Likewise.
45678         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
45679
45680 2008-04-09  Eric Blake  <ebb9@byu.net>
45681
45682         Avoid some autoconf warnings.
45683         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
45684         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
45685         * m4/afs.m4 (gl_AFS): Likewise.
45686         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
45687         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
45688         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
45689         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
45690         (gl_INTEGER_TYPE_SUFFIX): Likewise.
45691         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
45692         (AC_CHECK_DECLS_ONCE): Likewise.
45693         Rename file...
45694         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
45695         gnulib-tool requires autoconf 2.59 or better.
45696         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
45697
45698 2008-04-08  Eric Blake  <ebb9@byu.net>
45699
45700         Use 'git describe --match' if present (added in git 1.5.5).
45701         * build-aux/git-version-gen: Limit result to tags that match 'v*'
45702         if possible.
45703
45704 2008-04-08  Bruno Haible  <bruno@clisp.org>
45705
45706         Add tentative support for OpenServer.
45707         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
45708         _ptr, _cnt.
45709         * lib/fpurge.c (fpurge): Likewise.
45710         * lib/freadable.c (freadable): Likewise.
45711         * lib/freadahead.c (freadahead): Likewise.
45712         * lib/freading.c (freading): Likewise.
45713         * lib/freadptr.c (freadptr): Likewise.
45714         * lib/freadseek.c (freadptrinc): Likewise.
45715         * lib/fseeko.c (rpl_fseeko): Likewise.
45716         * lib/fseterr.c (fseterr): Likewise.
45717         * lib/fwritable.c (fwritable): Likewise.
45718         * lib/fwriting.c (fwriting): Likewise.
45719         Reported by Roger Cornelius <rac@tenzing.org> and
45720         Brian K. White <brian@aljex.com>.
45721
45722 2008-04-06  Jim Meyering  <meyering@redhat.com>
45723
45724         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
45725
45726 2008-04-06  Bruno Haible  <bruno@clisp.org>
45727
45728         Avoid possible error with non-ASCII bytes in UTF-8 locales.
45729         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
45730         * tests/test-printf-posix.sh: Likewise.
45731         * tests/test-vfprintf-posix.sh: Likewise.
45732         * tests/test-vprintf-posix.sh: Likewise.
45733         * tests/test-xprintf-posix.sh: Likewise.
45734
45735 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45736
45737         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
45738         hide error from 'ls', needed on OS/2.
45739         Report by Elbert Pol <elbert.pol@gmail.com>.
45740
45741 2008-04-04  Eric Blake  <ebb9@byu.net>
45742
45743         Make test-fseeko.c failures meaningful.
45744         * tests/test-fseeko.c: Print line number on failure.
45745         * tests/test-fseek.c: Likewise.
45746         Reported by Nelson H. F. Beebe.
45747
45748         Improve strtod bug detection check.
45749         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
45750         required for Solaris 10.
45751         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
45752
45753 2008-04-04  Bruno Haible  <bruno@clisp.org>
45754
45755         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
45756         by m4/setenv.m4.
45757
45758 2008-04-03  Eric Blake  <ebb9@byu.net>
45759
45760         Ensure sane .version contents.
45761         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
45762         version string.
45763         * build-aux/git-version-gen: Improve documentation.
45764
45765         Make GNU make output nicer.
45766         * top/GNUmakefile [!_have-Makefile]: Add dependency on
45767         MAKECMDGOALS to enforce message for all command line targets.  Set
45768         srcdir for use in maint.mk.
45769
45770         Another maintainer tweak.
45771         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
45772         a target that regenerates version.
45773
45774 2008-04-03  Jim Meyering  <meyering@redhat.com>
45775
45776         vc-list-files: don't cause coreutils "make po-check" failure
45777         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
45778
45779 2008-04-03  Eric Blake  <ebb9@byu.net>
45780
45781         Allow VPATH usage of vc-list-files.
45782         * build-aux/vc-list-files (scriptversion): Add timestamp.
45783         (options): Add --help, --version, -C.
45784         (CVS): Support installed cvsu.
45785
45786 2008-04-02  Bruno Haible  <bruno@clisp.org>
45787
45788         Avoid some "statement with no effect" warnings from gcc.
45789         * tests/test-wctype.c (main): Explicitly ignore unused values.
45790         Reported by Jim Meyering.
45791
45792 2008-04-02  Jim Meyering  <meyering@redhat.com>
45793
45794         Avoid some warnings from "gcc -Wshadow".
45795         * tests/test-frexp.c (exp): Define to a different identifier.
45796         * tests/test-frexpl.c (exp): Likewise.
45797
45798 2008-04-03  Jim Meyering  <meyering@redhat.com>
45799
45800         bootstrap: remove dangling *.[ch] symlinks from lib
45801         * build-aux/bootstrap [dangling symlink removal]: Move find's
45802         -depth option to precede all others, to avoid a warning.
45803         Remove *.[ch] files too, and from "$source_base" (usually lib/).
45804
45805 2008-04-02  Bruno Haible  <bruno@clisp.org>
45806
45807         Avoid some warnings from "gcc -Wshadow".
45808         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
45809         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
45810         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
45811         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
45812         Reported by Jim Meyering.
45813
45814 2008-04-01  Bruno Haible  <bruno@clisp.org>
45815
45816         Fix test to work on IRIX 6.5 with cc.
45817         * tests/test-math.c (numeric_equal): New function.
45818         (main): Use it.
45819
45820 2008-04-01  Bruno Haible  <bruno@clisp.org>
45821
45822         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
45823
45824 2008-04-01  Bruno Haible  <bruno@clisp.org>
45825
45826         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
45827         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
45828         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
45829         (Depends-on): Remove math.
45830
45831         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
45832         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
45833         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
45834         (Depends-on): Remove math.
45835
45836         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
45837         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
45838         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
45839         (Depends-on): Remove math.
45840         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
45841         (Depends-on): Remove math.
45842
45843         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
45844         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
45845         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
45846         (Depends-on): Remove math.
45847         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
45848         (Depends-on): Remove math.
45849
45850         * tests/test-round1.c: Include nan.h.
45851         (main): Use NaNd instead of NAN.
45852         * modules/round-tests (Files): Add tests/nan.h.
45853
45854         * tests/test-trunc1.c: Include nan.h.
45855         (main): Use NaNd instead of NAN.
45856         * modules/trunc-tests (Files): Add tests/nan.h.
45857
45858         * tests/test-roundf1.c: Include nan.h.
45859         (main): Use NaNf instead of NAN.
45860         * modules/roundf-tests (Files): Add tests/nan.h.
45861
45862         * tests/test-truncf1.c: Include nan.h.
45863         (main): Use NaNf instead of NAN.
45864         * modules/truncf-tests (Files): Add tests/nan.h.
45865
45866         * tests/test-ceilf1.c: Include nan.h.
45867         (main): Use NaNf instead of NAN.
45868         * modules/ceilf-tests (Files): Add tests/nan.h.
45869
45870         * tests/test-floorf1.c: Include nan.h.
45871         (main): Use NaNf instead of NAN.
45872         * modules/floorf-tests (Files): Add tests/nan.h.
45873
45874         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
45875         (main): Use NaNf instead of NAN.
45876         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
45877
45878         * tests/test-isnand.c: Include nan.h instead of <math.h>.
45879         (main): Use NaNd instead of NAN.
45880         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
45881
45882         * tests/test-frexp.c: Include nan.h.
45883         (main): Use NaNd instead of NAN.
45884         * modules/frexp-tests (Files): Add tests/nan.h.
45885
45886         * lib/isnan.c: Don't include <math.h>.
45887         (FUNC): Don't use NAN macro.
45888         * modules/isnand-nolibm (Depends-on): Remove math.
45889         * modules/isnanf-nolibm (Depends-on): Remove math.
45890         * modules/isnanl (Depends-on): Remove math.
45891         * modules/isnanl-nolibm (Depends-on): Remove math.
45892
45893         * tests/nan.h: New file.
45894
45895 2008-04-01  Eric Blake  <ebb9@byu.net>
45896
45897         Fix typos.
45898         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
45899         values to be the right type.
45900
45901         For now, cater to gnulib strtod inaccuracies.
45902         * tests/test-strtod.c (main): Allow 1-ulp error on expected
45903         fractional results.  While not as nice from a QoI perspective, it
45904         is a quicker patch than correctly implementing decimal to binary
45905         rounding.
45906
45907 2008-03-31  Eric Blake  <ebb9@byu.net>
45908
45909         Guarantee a definition of NAN.
45910         * lib/math.in.h (NAN): Define if missing.
45911         * tests/test-math.c (main): Test it.
45912         * doc/posix-headers/math.texi (math.h): Document this.
45913         * lib/isnan.c (rpl_isnand): Use it.
45914         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
45915         * tests/test-floorf1.c (NaN): Likewise.
45916         * tests/test-frexp.c (NaN): Likewise.
45917         * tests/test-isnand.c (NaN): Likewise.
45918         * tests/test-isnanf.c (NaN): Likewise.
45919         * tests/test-round1.c (NaN): Likewise.
45920         * tests/test-roundf1.c (NaN): Likewise.
45921         * tests/test-snprintf-posix.h (NaN): Likewise.
45922         * tests/test-sprintf-posix.h (NaN): Likewise.
45923         * tests/test-trunc1.c (NaN): Likewise.
45924         * tests/test-truncf1.c (NaN): Likewise.
45925         * tests/test-vasnprintf-posix.c (NaN): Likewise.
45926         * tests/test-vasprintf-posix.c (NaN): Likewise.
45927         * modules/isnand-nolibm (Depends-on): Add math.
45928         * modules/isnanf-nolibm (Depends-on): Likewise.
45929         * modules/isnanl (Depends-on): Likewise.
45930         * modules/isnanl-nolibm (Depends-on): Likewise.
45931         * modules/snprintf-posix-tests (Depends-on): Likewise.
45932         * modules/sprintf-posix-tests (Depends-on): Likewise.
45933         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
45934         * modules/vsprintf-posix-tests (Depends-on): Likewise.
45935         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
45936         * modules/vasprintf-posix-tests (Depends-on): Likewise.
45937
45938 2008-03-31  Bruno Haible  <bruno@clisp.org>
45939
45940         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
45941         * doc/posix-functions/strtod.texi: Likewise.
45942
45943 2008-03-31  Bruno Haible  <bruno@clisp.org>
45944
45945         * tests/test-strtod.c (main): Don't use C99 syntax.
45946
45947 2008-03-31  Bruno Haible  <bruno@clisp.org>
45948
45949         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
45950         Reported by Eric Blake.
45951
45952 2008-03-31  Jim Meyering  <meyering@redhat.com>
45953
45954         Don't compare actual signbit return values.
45955         * tests/test-strtod.c (main): Rather, compare only their
45956         zero/non-zero nature.
45957
45958 2008-03-31  Eric Blake  <ebb9@byu.net>
45959
45960         More strtod documentation.
45961         * doc/posix-functions/strtod.texi (strtod): Interpret more test
45962         failures as distinct bugs.
45963
45964 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
45965
45966         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
45967         Problem reported by Erik Benada in
45968         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
45969
45970 2008-03-30  Bruno Haible  <bruno@clisp.org>
45971
45972         * tests/test-strtod.c: Add comments about which assertion fails on which
45973         platform.
45974         * doc/posix-functions/strtod.texi: Add info about many more platforms.
45975
45976 2008-03-30  Eric Blake  <ebb9@byu.net>
45977
45978         Test signbit behavior on zeros.
45979         * tests/test-signbit.c (test_signbitf): Add tests for zero.
45980         (test_signbitd, test_signbitl): Likewise.
45981
45982         More strtod touchups.
45983         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
45984         sign of negative underflow, for now.  Use .5, not .1.
45985         * doc/posix-functions/strtod.texi (strtod): Mention these
45986         limitations.
45987         Reported by Jim Meyering.
45988
45989 2008-03-30  Bruno Haible  <bruno@clisp.org>
45990
45991         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
45992         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
45993
45994 2008-03-30  Bruno Haible  <bruno@clisp.org>
45995
45996         Avoid failure when attempting to return empty iconv results on some
45997         platforms.
45998         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
45999         allocation, don't report ENOMEM when the resulting string is empty.
46000
46001 2008-03-30  Bruno Haible  <bruno@clisp.org>
46002
46003         Fix buffer overrun.
46004         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
46005         Don't consider the width for tmp_length. Check count against tmp_length
46006         before doing the padding. Ensure enough allocation during padding.
46007
46008 2008-03-30  Eric Blake  <ebb9@byu.net>
46009
46010         strtod touchups.
46011         * lib/strtod.c (strtod): Avoid compiler warnings.
46012         Reported by Jim Meyering.
46013
46014 2008-03-30  Bruno Haible  <bruno@clisp.org>
46015
46016         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
46017         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
46018         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
46019         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
46020         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
46021         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
46022         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
46023         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
46024
46025         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
46026         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
46027         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
46028         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
46029         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
46030         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
46031         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
46032         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
46033
46034         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
46035         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
46036         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
46037         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
46038         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
46039         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
46040         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
46041         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
46042
46043         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
46044         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
46045
46046         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
46047         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
46048
46049         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
46050         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
46051
46052         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
46053         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
46054         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
46055
46056         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
46057         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
46058         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
46059
46060         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
46061         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
46062         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
46063
46064         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
46065         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
46066         * modules/vasprintf (Depends-on): Add EOVERFLOW.
46067
46068         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
46069         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
46070         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
46071         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
46072         (Depends-on): Add EOVERFLOW.
46073         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
46074         (Depends-on): Add EOVERFLOW.
46075         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
46076         (Depends-on): Add EOVERFLOW.
46077         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
46078         (Depends-on): Add EOVERFLOW.
46079         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
46080         (Depends-on): Add EOVERFLOW.
46081         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
46082         (Depends-on): Add EOVERFLOW.
46083         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
46084         (Depends-on): Add EOVERFLOW.
46085         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
46086         (Depends-on): Add EOVERFLOW.
46087
46088         * lib/sprintf.c (EOVERFLOW): Remove fallback.
46089         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
46090         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
46091
46092         * lib/snprintf.c (EOVERFLOW): Remove fallback.
46093         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
46094         * modules/snprintf (Depends-on): Add EOVERFLOW.
46095
46096         * lib/poll.c (EOVERFLOW): Remove fallback.
46097         * modules/poll (Depends-on): Add EOVERFLOW.
46098
46099         * lib/getugroups.c (EOVERFLOW): Remove fallback.
46100         * modules/getugroups (Depends-on): Add EOVERFLOW.
46101
46102         * lib/getdelim.c (EOVERFLOW): Remove fallback.
46103         * modules/getdelim (Depends-on): Add EOVERFLOW.
46104
46105         * lib/ftell.c (EOVERFLOW): Remove fallback.
46106         * modules/ftell (Depends-on): Add EOVERFLOW.
46107
46108         * lib/fprintf.c (EOVERFLOW): Remove fallback.
46109         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
46110         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
46111
46112         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
46113
46114         * modules/EOVERFLOW-tests: New file.
46115         * tests/test-EOVERFLOW.c: New file.
46116
46117         * modules/EOVERFLOW: New file.
46118         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
46119
46120 2008-03-30  Bruno Haible  <bruno@clisp.org>
46121
46122         Fix bug introduced on 2007-06-10.
46123         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
46124         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
46125
46126 2008-03-30  Bruno Haible  <bruno@clisp.org>
46127
46128         Improve freadseek's efficiency after ungetc.
46129         * lib/freadseek.c: Include freadahead.h.
46130         (freadptrinc): New function, extracted from freadseek.
46131         (freadseek): Use it in a loop. Use freadahead to determine the number
46132         of loop iterations.
46133         * modules/freadseek (Depends-on): Add freadahead.
46134         (configure.ac): Require AC_C_INLINE.
46135
46136 2008-03-30  Bruno Haible  <bruno@clisp.org>
46137
46138         * lib/freadseek.c (freadseek): Don't ignore the return value of
46139         freadptr.
46140
46141 2008-03-29  Eric Blake  <ebb9@byu.net>
46142
46143         Add hex float support.
46144         * modules/strtod (Depends-on): Add c-ctype.
46145         (Link): Mention POW_LIB.
46146         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
46147         whitespace between 'e' and exponent.
46148         * tests/test-strtod.c (main): Enable hex float tests.
46149         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
46150         now provides.
46151
46152         Document various strtod bugs, with some fixes.
46153         * doc/posix-functions/strtod.texi (strtod): Document bugs with
46154         "-0x", "inf", "nan", and hex constants.
46155         * doc/posix-functions/atof.texi (atof): Likewise.
46156         * modules/stdlib (Makefile.am): Support strtod.
46157         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
46158         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
46159         detect additional strtod bugs.
46160         * lib/stdlib.in.h (rpl_strtod): Add declarations.
46161         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
46162         bool where appropriate.  Parse 'inf' and 'nan'.
46163         * tests/test-strtod.c: New file.
46164         * modules/strtod (Depends-on): Add stdbool, stdlib.
46165         (configure.ac): Turn on module indicator.
46166         * modules/strtod-tests: New module.
46167
46168 2008-03-29  Eric Blake  <ebb9@byu.net>
46169
46170         Fix ftell on mingw.
46171         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
46172         * modules/ftell-tests (Depends-on): Add binary-io.
46173         * modules/ftello-tests (Depends-on): Likewise.
46174         * tests/test-ftell.c (main): Enhance test to cover behavior after
46175         ungetc.  Enforce binary mode.
46176         * tests/test-ftello.c (main): Likewise.
46177
46178         Pass test-freadseek on cygwin.
46179         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
46180         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
46181         ungetc buffer.
46182
46183         * tests/test-fflush2.c (main): Fix typo.
46184
46185 2008-03-29  Bruno Haible  <bruno@clisp.org>
46186
46187         * tests/test-fflush2.c (main): Temporarily disable the contents of
46188         this test.
46189         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
46190         Reported by Eric Blake.
46191
46192 2008-03-28  Simon Josefsson  <simon@josefsson.org>
46193
46194         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
46195         (GC_SHA224_DIGEST_SIZE): Add.
46196
46197         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
46198         (gc_hash_digest_length): Likewise.
46199         (gc_hash_buffer): Likewise.
46200
46201 2008-03-25  Bruno Haible  <bruno@clisp.org>
46202
46203         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
46204         detail which gettext release to use.
46205         Reported by Simon Josefsson.
46206
46207 2008-03-26  Jim Meyering  <meyering@redhat.com>
46208
46209         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
46210         * modules/gnumakefile (clean-GNUmakefile): Also, use
46211         test ... && ... || : syntax rather than if-then ... fi.
46212
46213         gnumakefile: Don't double-quote-expand $(VPATH) value.
46214         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
46215
46216 2008-03-24  Eric Blake  <ebb9@byu.net>
46217
46218         Alter GNUmakefile to install into top directory.
46219         * modules/maintainer-makefile: Split, and add dependency...
46220         * modules/gnumakefile: to this new module.
46221         * build-aux/GNUmakefile: Move...
46222         * top/GNUmakefile: ...here.
46223         * build-aux/maint.mk: Move...
46224         * top/maint.mk: ...here.
46225         * MODULES.html.sh (Support for maintaining...): Document new
46226         module.
46227
46228 2008-03-23  Bruno Haible  <bruno@clisp.org>
46229
46230         * gnulib-tool: New options --vc-files, --no-vc-files.
46231         (func_usage): Document them.
46232         (vc_files): New variable.
46233         (func_import): Consider vc_files.
46234         (func_create_testdir): Set vc_files to empty.
46235         Suggested by Jim Meyering and Karl Berry.
46236
46237 2008-03-23  Bruno Haible  <bruno@clisp.org>
46238
46239         Fix regex compilation error on HP-UX 11.
46240         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
46241         * modules/regex (Files): Add m4/mbstate_t.m4.
46242         Reported by Ton Voon <ton.voon@altinity.com>.
46243
46244 2008-03-23  Bruno Haible  <bruno@clisp.org>
46245
46246         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
46247
46248 2008-03-23  Eric Blake  <ebb9@byu.net>
46249             Bruno Haible  <bruno@clisp.org>
46250
46251         Install files from top/ in the destination directory.
46252         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
46253         augmentation also for the files from top/.
46254         (func_import, func_create_testdir): Rewrite file names:
46255         top/filename -> filename.
46256
46257 2008-03-23  Bruno Haible  <bruno@clisp.org>
46258
46259         Tweak "gnulib --version" output.
46260         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
46261
46262 2008-03-23  Bruno Haible  <bruno@clisp.org>
46263
46264         Tweak "gnulib --version" output.
46265         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
46266         rather than contents of ChangeLog, when possible.
46267
46268 2008-03-21  Eric Blake  <ebb9@byu.net>
46269
46270         More --version tweaks.
46271         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
46272         date of last ChangeLog entry.
46273
46274 2008-03-21  Jim Meyering  <meyering@redhat.com>
46275
46276         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
46277
46278 2008-03-20  Eric Blake  <ebb9@byu.net>
46279
46280         VPATH fix.
46281         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
46282
46283 2008-03-20  Simon Josefsson  <simon@josefsson.org>
46284
46285         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
46286         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
46287
46288 2008-03-20  Eric Blake  <ebb9@byu.net>
46289
46290         Sync GNUmakefile with coreutils.
46291         * build-aux/GNUmakefile (have-Makefile): Rename...
46292         (_have-Makefile): ...to this, for namespace consideration.
46293         (GNUmakefile.cfg): Include, if present.
46294         (_autoreconf): Define a default.
46295         (_is-dist-target): New rule for rebuilds to pick up intra-release
46296         version.
46297         (maint-cfg.mk): Rename...
46298         (cfg.mk): ...to this.
46299
46300 2008-03-18  Jim Meyering  <meyering@redhat.com>
46301
46302         New script and module: mktempd
46303         * MODULES.html.sh (maint+release support): Add mktempd.
46304         * build-aux/mktempd: New file.
46305         * modules/mktempd: New file.
46306
46307 2008-03-15  Jim Meyering  <meyering@redhat.com>
46308
46309         Undo last change.
46310         * lib/sha1.c, lib/md5.c: 63 != ~63.
46311         Reported by Andreas Schwab.
46312
46313         sha1.c, md5.c: Hoist a redundant expression.
46314         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
46315         "ctx->buflen" only once, before calling *_process_block.
46316         * lib/md5.c (md5_process_bytes): Likewise.
46317
46318 2008-03-14  Eric Blake  <ebb9@byu.net>
46319
46320         Bump copyright year in files generated by gnulib-tool.
46321         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
46322         gnulib-tool, rather than hard-coding it.
46323
46324         Fix 'gnulib-tool --version' output to work with git.
46325         * gnulib-tool (func_gnulib_dir): New function, extracted from...
46326         (startup): ...here.
46327         (func_version): Use it to invoke git-version-gen, rather than
46328         relying on CVS keyword expansion.  Modernize wording.
46329         (cvsdatestamp, last_checkin_date, version): Kill unused
46330         variables.
46331
46332 2008-03-12  Jim Meyering  <meyering@redhat.com>
46333
46334         Recognize optional cast of the argument to free.
46335         * build-aux/useless-if-before-free: Update regexps.
46336
46337         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
46338
46339 2008-03-11  Bruno Haible  <bruno@clisp.org>
46340
46341         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
46342         by a single package.
46343         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
46344         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
46345         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
46346         Reported by Sam Steingold <sds@gnu.org>.
46347
46348 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
46349
46350         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
46351         repositories.
46352
46353 2008-03-11  Bruno Haible  <bruno@clisp.org>
46354
46355         Avoid conflicts between local macro definitions.
46356         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
46357         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
46358
46359 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
46360             Bruno Haible  <bruno@clisp.org>
46361
46362         Make va_copy work with some version of xlc on AIX 5.1.
46363         * lib/stdarg.in.h: New file.
46364         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
46365         On AIX, use a <stdarg.h> file substitute.
46366         * modules/stdarg (Files): Add lib/stdarg.in.h.
46367         (Depends-on): Add include_next.
46368         (Makefile.am): Build a stdarg.h substitute if requested.
46369         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
46370
46371 2008-03-10  Bruno Haible  <bruno@clisp.org>
46372
46373         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
46374         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
46375         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
46376
46377 2008-03-10  Bruno Haible  <bruno@clisp.org>
46378
46379         * modules/stdlib (Depends-on): Add include_next, remove
46380         absolute-header.
46381
46382 2008-03-09  Bruno Haible  <bruno@clisp.org>
46383
46384         * lib/freadahead.h (freadahead): Document more precisely.
46385         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
46386         the sum of both buffer sizes.
46387         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
46388         * NEWS: Document the change.
46389
46390 2008-03-09  Bruno Haible  <bruno@clisp.org>
46391
46392         Extend freadptr to return also the buffer size.
46393         * lib/freadptr.h (freadptr): Add sizep argument.
46394         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
46395         (freadptr): Add sizep argument. Determine buffer size like freadahead
46396         does.
46397         * tests/test-freadptr.c: Don't include freadahead.h.
46398         (main): Adapt for new calling convention of freadptr.
46399         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
46400         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
46401         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
46402         tests/test-freadptr2.sh.
46403         (Depends): Remove freadahead.
46404         (TESTS): Add test-freadptr2.sh.
46405         (check_PROGRAMS): Add test-freadptr2.
46406
46407 2008-03-09  Bruno Haible  <bruno@clisp.org>
46408
46409         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
46410         Report and solution by Simon Josefsson.
46411
46412 2008-03-06  Bruno Haible  <bruno@clisp.org>
46413
46414         Make fflush after ungetc work on BSD platforms.
46415         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
46416         * tests/test-fflush2.c: New file.
46417         * tests/test-fflush2.sh: New file.
46418         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
46419         tests/test-fflush2.c.
46420         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
46421         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
46422
46423 2008-03-06  Eric Blake  <ebb9@byu.net>
46424
46425         Likewise for ftello.
46426         * modules/ftello (Dependencies): Add extensions.
46427         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
46428
46429 2008-03-06  Bruno Haible  <bruno@clisp.org>
46430
46431         * modules/fseeko (Dependencies): Add extensions.
46432         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
46433         Needed on glibc systems.
46434
46435 2008-03-06  Bruno Haible  <bruno@clisp.org>
46436
46437         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
46438         email address.
46439         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
46440
46441 2008-03-06  Bruno Haible  <bruno@clisp.org>
46442
46443         * users.txt: Add libgnupdf.
46444
46445 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
46446
46447         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
46448         (Header File Substitutes, Function Substitutes,
46449         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
46450         (Build robot for gnulib): Fix typo.
46451
46452 2008-03-06  Bruno Haible  <bruno@clisp.org>
46453
46454         * doc/gnulib-tool.texi (VCS Issues): Small updates.
46455         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
46456
46457 2008-03-06  Bruno Haible  <bruno@clisp.org>
46458
46459         * doc/func.texi: New file, extracted from doc/gnulib.texi.
46460         * doc/gnulib.texi: Include it.
46461
46462 2008-03-06  Simon Josefsson  <simon@josefsson.org>
46463
46464         * modules/func (License): Change license to unlimited; there was
46465         no LGPL parts in the module anyway.
46466
46467 2008-03-06  Simon Josefsson  <simon@josefsson.org>
46468
46469         * modules/__func__: Renamed to modules/func.
46470         * modules/__func__-tests: Renamed to modules/func-tests.
46471         * tests/test-__func__.c: Renamed to tests/test-func.c.
46472         * m4/__func__.m4: Renamed to m4/func.m4.
46473         * doc/gnulib.texi (__func__): Section renamed to func.
46474         Suggested by Eric Blake <ebb9@byu.net>.
46475
46476 2008-03-06  Simon Josefsson  <simon@josefsson.org>
46477
46478         * doc/gnulib.texi (__func__): Use C99 terminology when talking
46479         about __func__.  Make example self-contained.  Suggested by Eric
46480         Blake <ebb9@byu.net>.
46481
46482         * tests/test-__func__.c (main): Avoid extraneous () around __func.
46483         Suggested by Eric Blake <ebb9@byu.net>.
46484
46485 2008-03-06  Simon Josefsson  <simon@josefsson.org>
46486
46487         * modules/__func__: New file.
46488         * modules/__func__-tests: New file.
46489         * tests/test-__func__.c: New file.
46490         * m4/__func__.m4: New file.
46491         * doc/gnulib.texi (__func__): Document __func__ module.
46492
46493 2008-03-05  Simon Josefsson  <simon@josefsson.org>
46494
46495         * modules/byteswap (License): Re-license as LGPLv2+.
46496
46497 2008-03-05  Simon Josefsson  <simon@josefsson.org>
46498
46499         * doc/Makefile: Add pdf target.
46500
46501 2008-03-05  Simon Josefsson  <simon@josefsson.org>
46502
46503         * modules/inline (License): Use 'unlimited', since there are only
46504         *.m4 files in this module.
46505
46506 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
46507             Bruno Haible  <bruno@clisp.org>
46508
46509         Add support for HP C 7.1 on OpenVMS 8.3.
46510         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
46511
46512 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
46513
46514         Update VMS specifics.
46515         * lib/getopt.c [VMS]: Remove include of unixlib.h.
46516
46517 2008-03-02  Jim Meyering  <meyering@redhat.com>
46518
46519         Remove the last dependency on the "free" module.
46520         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
46521         Reported by Bob Proulx.
46522
46523         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
46524
46525         Remove useless "if" tests before free.  Deprecate "free" module.
46526         * doc/posix-functions/free.texi: Mention that this
46527         module is no longer useful.
46528         * modules/free (Notice): Say this module is obsolete.
46529         * modules/readutmp (Depends-on): Remove free.
46530         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
46531         * lib/putenv.c (putenv): Likewise.
46532         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
46533         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
46534         * tests/test-c-strcasestr.c (main): Likewise.
46535         * tests/test-c-strstr.c (main): Likewise.
46536         * tests/test-mbscasestr1.c (main): Likewise.
46537         * tests/test-mbscasestr2.c (main): Likewise.
46538         * tests/test-mbsstr1.c (main): Likewise.
46539         * tests/test-mbsstr2.c (main): Likewise.
46540         * tests/test-memmem.c (main): Likewise.
46541         * tests/test-strcasestr.c (main): Likewise.
46542         * tests/test-striconv.c (main): Likewise.
46543         * tests/test-striconveh.c (main): Likewise.
46544         * tests/test-striconveha.c (main): Likewise.
46545         * tests/test-strstr.c (main): Likewise.
46546
46547         * build-aux/git-version-gen: Adjust a comment and the Usage string.
46548
46549         bootstrap: sync from coreutils again
46550         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
46551
46552 2008-03-01  Jim Meyering  <meyering@redhat.com>
46553
46554         bootstrap: sync from coreutils
46555         * build-aux/bootstrap (update_po_files): Copy a .po file into place
46556         also when the target doesn't exist.
46557
46558 2008-03-01  Eric Blake  <ebb9@byu.net>
46559
46560         Fix bugs in last patch.
46561         * lib/memchr2.c (memchr2): Fix typo.
46562         * tests/test-memchr2.c: Test previous bug, and don't use GNU
46563         extension.
46564         Reported by Bruce Korb.
46565
46566         New module 'memchr2'.
46567         * modules/memchr2: New file.
46568         * modules/memchr2-tests: Likewise.
46569         * lib/memchr2.h: Likewise.
46570         * lib/memchr2.c: Likewise, based on memchr.c.
46571         * tests/test-memchr2.c: New test.
46572         * MODULES.html.sh (String handling): Add memchr2.
46573
46574 2008-02-29  Bruno Haible  <bruno@clisp.org>
46575
46576         * modules/freadseek-tests: New file.
46577         * tests/test-freadseek.sh: New file.
46578         * tests/test-freadseek.c: New file.
46579
46580         New module 'freadseek'.
46581         * modules/freadseek: New file.
46582         * lib/freadseek.h: New file.
46583         * lib/freadseek.c: New file.
46584         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
46585
46586 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
46587
46588         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
46589         wydawca.
46590
46591         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
46592         program_invocation_name and program_invocation_short_name are
46593         present.
46594
46595 2008-02-28  Bruno Haible  <bruno@clisp.org>
46596
46597         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
46598         * tests/test-freadptr.sh: Also test non-seekable stdin.
46599
46600 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
46601
46602         * build-aux/bootstrap (source_base, m4_base)
46603         (doc_base, tests_base): New variables.
46604         (gnulib_tool_options): Do not hardcode base directories, use
46605         the above variables instead.
46606
46607 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
46608
46609         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
46610
46611 2008-02-28  Bruno Haible  <bruno@clisp.org>
46612
46613         * modules/freadptr-tests: New file.
46614         * tests/test-freadptr.sh: New file.
46615         * tests/test-freadptr.c: New file.
46616
46617         New module 'freadptr'.
46618         * modules/freadptr: New file.
46619         * lib/freadptr.h: New file.
46620         * lib/freadptr.c: New file.
46621         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
46622
46623 2008-02-26  Karl Berry  <karl@freefriends.org>
46624
46625         Sync from Libtool:
46626         * libltdl/argz.c (argz_add, argz_count): New functions.
46627         * libltdl/argz.in.h: Declare them.
46628         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
46629
46630 2008-02-22  Bruno Haible  <bruno@clisp.org>
46631
46632         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
46633         is a pointer type.  Needed for HP-UX 10.
46634         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
46635         * doc/posix-functions/gmtime_r.texi: Likewise.
46636         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
46637
46638 2008-02-24  Bruno Haible  <bruno@clisp.org>
46639
46640         * modules/environ-tests: New file.
46641         * tests/test-environ.c: New file.
46642
46643         New module 'environ'.
46644         * modules/environ: New file.
46645         * lib/unistd.in.h (environ): New declaration.
46646         * m4/environ.m4: New file.
46647         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
46648         after use.
46649         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
46650         HAVE_DECL_ENVIRON.
46651         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
46652         HAVE_DECL_ENVIRON.
46653         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
46654         wrong claim that 'environ' is missing on some systems.
46655         * modules/execute (Depends-on): Add environ.
46656         * lib/execute.c (environ): Remove fallback declaration.
46657         * modules/pipe (Depends-on): Add environ.
46658         * lib/pipe.c (environ): Remove fallback declaration.
46659         * modules/setenv (Depends-on): Add environ.
46660         * lib/setenv.c (environ): Remove fallback declaration.
46661         * modules/unsetenv (Depends-on): Add environ.
46662         * lib/unsetenv.c (environ): Remove fallback declaration.
46663         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
46664         m4/environ.m4.
46665         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
46666         (gl_PREREQ_UNSETENV): Likewise.
46667
46668 2008-02-24  Bruno Haible  <bruno@clisp.org>
46669
46670         * doc/posix-functions/environ.texi: Document the MacOS X problem.
46671
46672 2008-02-20  Bob Proulx  <bob@proulx.com>
46673
46674         Enable use of older two part flavor 'git describe'.
46675         * build-aux/git-version-gen: If using the older two part flavor of
46676         git version then recreate the third part now present in the
46677         newer three part flavor of git describe.
46678
46679 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
46680
46681         * lib/fts.c (fts_build): Typo correction to comment.
46682
46683 2008-02-17  Bruno Haible  <bruno@clisp.org>
46684
46685         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
46686         generating no-op conflicts.
46687
46688 2008-02-17  Bruno Haible  <bruno@clisp.org>
46689
46690         Speed up by 10%.
46691         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
46692         result_entries, rather than an index-based loop.
46693
46694 2008-02-17  Bruno Haible  <bruno@clisp.org>
46695
46696         Speed up by 25%.
46697         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
46698         'hashcode_cached'.
46699         (entry_create): New function.
46700         (entry_hashcode): Use the cached hashcode if possible.
46701         (read_changelog_file, try_split_merged_entry): Use entry_create.
46702
46703 2008-02-17  Bruno Haible  <bruno@clisp.org>
46704
46705         Speed up from O(n^2) to O(n) for long ChangeLog files.
46706         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
46707         (read_changelog_file): Change implementation of entries_reversed list
46708         to rbtreehash.
46709         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
46710
46711 2008-02-17  Bruno Haible  <bruno@clisp.org>
46712
46713         New option --split-merged-entry.
46714         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
46715         (find_paragraph_end, try_split_merged_entry): New functions.
46716         (long_options): Add option --split-merged-entry.
46717         (usage): Document option --split-merged-entry.
46718         (main): Implement option --split-merged-entry.
46719         Reported by Eric Blake.
46720
46721 2008-02-17  Bruno Haible  <bruno@clisp.org>
46722
46723         * lib/git-merge-changelog.c: Include c-strstr.h.
46724         (main): Support the "git pull --rebase" situation.
46725         * modules/git-merge-changelog (Depends-on): Add c-strstr.
46726         Reported by Eric Blake.
46727
46728 2008-02-16  Eric Blake  <ebb9@byu.net>
46729
46730         Avoid doubling \ in common case of "c-maybe" quoting style.
46731         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
46732         eliding outer quotes.
46733         * lib/quotearg.h: Document this.
46734         * tests/test-quotearg.c (result_strings, inputs, results_g)
46735         (flag_results, locale_results): Test it by adding a new string to
46736         each test group.
46737         (compare_strings): Test new string.
46738
46739 2008-02-13  Eric Blake  <ebb9@byu.net>
46740
46741         Avoid trigraph quoting in default output.
46742         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
46743         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
46744         unless explicitly requested.
46745         * tests/test-quotearg.c (flag_results, main): Add additional tests.
46746
46747 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
46748
46749         Don't rely on signed integer overflowing to negative value.
46750         * lib/getugroups.c (getugroups): Include <limits.h>.
46751         Instead, compare against INT_MAX, and increment only if the test passes.
46752
46753 2008-02-13  Jim Meyering  <meyering@redhat.com>
46754         and Eric Blake  <ebb9@byu.net>
46755
46756         Avoid shadowing warning and compile errors on Linux.
46757         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
46758         forwarding macros on Linux.
46759         (dcgettext): Define a stub, for Linux.
46760         (results_g, main): Avoid warnings.
46761
46762 2008-02-12  Eric Blake  <ebb9@byu.net>
46763
46764         Silence warning in last patch.
46765         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
46766
46767         Quotearg part 4: add tests, fix c-maybe colon quoting.
46768         * lib/quotearg.h: Improve documentation.
46769         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
46770         escapes when adding outer quotes.  When quoting trigraphs, use
46771         valid C notation.  When quoting NUL, omit extra characters if next
46772         character is not digit.  Alter prototype.
46773         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
46774         callers.
46775         * modules/quotearg-tests: New module.
46776         * tests/test-quotearg.c: New test.
46777
46778 2008-02-07  Eric Blake  <ebb9@byu.net>
46779
46780         Quotearg part 3: add flag to control outer quote elision.
46781         * lib/quotearg.h (c_maybe_quoting_style): New style.
46782         (enum quoting_flags): Better documentation of flags.
46783         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
46784         c-maybe style.
46785         (quotearg_buffer_restyled): Handle new flag to elide outer
46786         quotes.
46787
46788         Quotearg part 2: add flag that can control NUL elision.
46789         * lib/quotearg.h (set_quoting_flags): New prototype.
46790         * lib/quotearg.c (struct quoting_options): Add flag field.
46791         (set_quoting_flags): New function.
46792         (quotearg_buffer_restyled): Add flags parameter.
46793         (quotearg_alloc_mem): Set the flag if length cannot be returned.
46794         (quotearg_n_options): Set the flag, since length cannot be
46795         returned.
46796         (quoting_options_from_style): Default flags correctly.
46797
46798         Quotearg part 1: more wrappers, restore quotearg_char state.
46799         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
46800         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
46801         (quotearg_colon_mem): New wrappers.
46802         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
46803         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
46804         functions.
46805         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
46806         (quotearg_colon_mem): New functions.
46807
46808 2008-02-11  Bruno Haible  <bruno@clisp.org>
46809
46810         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
46811         library in the current directory: it does not work with parallel make.
46812         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
46813
46814 2008-02-11  Bruno Haible  <bruno@clisp.org>
46815
46816         * .gitattributes: New file.
46817
46818 2008-02-11  Jim Meyering  <meyering@redhat.com>
46819
46820         useless-if-before-free: Fix reversed exit values.
46821         * build-aux/useless-if-before-free: Use correct values
46822         for EXIT_MATCH and EXIT_NO_MATCH.
46823
46824         * build-aux/useless-if-before-free: Close stdout carefully.
46825
46826 2008-02-10  Bruno Haible  <bruno@clisp.org>
46827
46828         New module 'git-merge-changelog'.
46829         * modules/git-merge-changelog: New file.
46830         * lib/git-merge-changelog.c: New file.
46831
46832 2008-02-10  Jim Meyering  <meyering@redhat.com>
46833
46834         useless-if-before-free: New option: --list (-l).
46835
46836         useless-if-before-free: Don't exit immediately upon open failure.
46837         * build-aux/useless-if-before-free: Exit 2 for errors.
46838         Upon failure to open a file, don't exit immediately.
46839         Rather, just warn and continue with any remaining files.
46840
46841 2008-02-10  Bruno Haible  <bruno@clisp.org>
46842
46843         New abstract list operation 'node_set_value'.
46844         * lib/gl_list.h (gl_list_node_set_value): New function.
46845         (struct gl_list_implementation): New field node_set_value.
46846         * lib/gl_list.c (gl_list_node_set_value): New function.
46847         * lib/gl_array_list.c (gl_array_node_set_value): New function.
46848         (gl_array_list_implementation): Update.
46849         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
46850         (gl_carray_list_implementation): Update.
46851         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
46852         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
46853         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
46854         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
46855         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
46856         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
46857         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
46858         Update.
46859         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
46860         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
46861         (gl_sublist_list_implementation): Update.
46862
46863 2008-02-10  Bruno Haible  <bruno@clisp.org>
46864
46865         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
46866         Needed when ELEMENT is #defined to 'some_type *'.
46867
46868 2008-02-10  Jim Meyering  <meyering@redhat.com>
46869
46870         New script and module: useless-if-before-free
46871         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
46872         * build-aux/useless-if-before-free: New file.
46873         * modules/useless-if-before-free: New file.
46874
46875         * build-aux/gitlog-to-changelog: Use committer date, not author date.
46876
46877         xstrtol_error: Fix typo.
46878         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
46879         s/exit_failure/exit_status/.
46880
46881 2008-02-09  Jim Meyering  <meyering@redhat.com>
46882
46883         New script and module: gitlog-to-changelog
46884         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
46885         * modules/gitlog-to-changelog: New file.
46886         * build-aux/gitlog-to-changelog: New file.
46887
46888 2008-02-08  Jim Meyering  <meyering@redhat.com>
46889
46890         Avoid two "parameter unused" warnings.
46891         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
46892         Mark "st" as used.
46893
46894         Use "git COMMAND", not "git-COMMAND".
46895         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
46896         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
46897         * build-aux/git-version-gen: Use "git status", not "git-status".
46898
46899 2008-02-07  Bruno Haible  <bruno@clisp.org>
46900
46901         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
46902         Avoids a crash on Windows Vista.
46903         Reported by Adam Strzelecki <ono@java.pl> via
46904         Simon Josefsson <simon@josefsson.org>.
46905
46906 2008-02-06  Bruno Haible  <bruno@clisp.org>
46907
46908         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
46909         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
46910         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
46911         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
46912         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
46913         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
46914         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
46915         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
46916         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
46917         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
46918         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
46919         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
46920         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
46921         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
46922         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
46923         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
46924         left-adjust flag.
46925         * tests/test-snprintf-posix.h (test_function): Likewise.
46926         * tests/test-sprintf-posix.h (test_function): Likewise.
46927         * tests/test-vasprintf-posix.c (test_function): Likewise.
46928         * doc/posix-functions/fprintf.texi: Update.
46929         * doc/posix-functions/printf.texi: Update.
46930         * doc/posix-functions/snprintf.texi: Update.
46931         * doc/posix-functions/sprintf.texi: Update.
46932         * doc/posix-functions/vfprintf.texi: Update.
46933         * doc/posix-functions/vprintf.texi: Update.
46934         * doc/posix-functions/vsnprintf.texi: Update.
46935         * doc/posix-functions/vsprintf.texi: Update.
46936         Reported by Peter Fales <psfales@alcatel-lucent.com>.
46937
46938 2008-02-06  Bruno Haible  <bruno@clisp.org>
46939
46940         Fix bug introduced on 2008-01-26.
46941         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
46942
46943 2008-02-06  Bruno Haible  <bruno@clisp.org>
46944
46945         Fix bug introduced on 2007-06-10.
46946         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
46947         !NEED_PRINTF_FLAG_ZERO.
46948
46949 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
46950
46951         getloadavg: use libperfstat on AIX5
46952         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
46953
46954 2008-02-03  Bruno Haible  <bruno@clisp.org>
46955
46956         * lib/diffseq.h: Add comments about required #includes.
46957         Reported by Michael Biggs <gnulib@doubleplum.net>.
46958
46959 2008-02-01  Bruno Haible  <bruno@clisp.org>
46960
46961         * users.txt: Add gnuit.
46962
46963 2008-01-31  Bruno Haible  <bruno@clisp.org>
46964
46965         * lib/md4.c (set_uint32): Mark as inline.
46966         * lib/md5.c (set_uint32): Likewise.
46967         * lib/sha1.c (set_uint32): Likewise.
46968         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
46969         * m4/md5.m4 (gl_MD5): Likewise.
46970         * m4/sha1.m4 (gl_SHA1): Likewise.
46971
46972 2008-01-31  Jim Meyering  <meyering@redhat.com>
46973
46974         Use "sizeof VAR", rather than a literal "4".
46975         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
46976         * lib/md4.c (md4_read_ctx): Likewise.
46977         * lib/sha1.c (sha1_read_ctx): Likewise.
46978
46979 2008-01-31  Simon Josefsson  <simon@josefsson.org>
46980
46981         * tests/test-sha1.c: New file, based on test-md5.c.
46982
46983         * modules/crypto/sha1-tests: New file.
46984
46985 2008-01-31  Simon Josefsson  <simon@josefsson.org>
46986
46987         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
46988
46989 2008-01-31  Jim Meyering  <meyering@redhat.com>
46990
46991         Prefer "sizeof v" over the equivalent "4".
46992         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
46993         * lib/md5.c (set_uint32): Likewise.
46994         * lib/sha1.c (set_uint32): Likewise.
46995
46996 2008-01-31  Simon Josefsson  <simon@josefsson.org>
46997
46998         * lib/sha1.c (set_uint32): Mark function as static.
46999
47000 2008-01-31  Simon Josefsson  <simon@josefsson.org>
47001
47002         md2: clarify comments to say that alignment is not required.
47003         * lib/md2.h: Remove warning about alignment in comment.
47004         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
47005         never been required.
47006
47007 2008-01-31  Simon Josefsson  <simon@josefsson.org>
47008
47009         md4: adapt alignment constraint fix from sha1.
47010         * lib/md4.c (set_uint32): New function, from sha1.c
47011         (md4_read_ctx): Use it.
47012         (md4_finish_ctx): Doc fix.
47013         * lib/md4.h: Doc fix.
47014
47015 2008-01-31  Simon Josefsson  <simon@josefsson.org>
47016
47017         md5: adapt alignment constraint fix from sha1.
47018         * lib/md5.c (set_uint32): New function, from sha1.c
47019         (md5_read_ctx): Use it.
47020         (md5_finish_ctx): Doc fix.
47021         * lib/md5.h: Doc fix.
47022
47023 2008-01-30  Peter Palfrader  <weasel@debian.org>
47024
47025         sha1: remove the result buffer alignment constraint
47026         * lib/sha1.c (set_uint32): New function.
47027         (sha1_read_ctx): Rewrite to remove the result buffer alignment
47028         constraint.
47029         (sha1_finish_ctx): Remove comment warning about alignment constraint.
47030         * lib/sha1.h: Likewise.
47031
47032 2008-01-30  Andreas Schwab  <schwab@suse.de>
47033             Bruno Haible  <bruno@clisp.org>
47034
47035         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
47036         correct definition of LDBL_MIN_EXP.
47037
47038 2008-01-30  Karl Berry  <karl@gnu.org>
47039
47040         * config/srclist-update: try to preserve x bit on updates.
47041         * config/srclistvars.sh: update for karl.
47042
47043 2008-01-29  Jim Meyering  <meyering@redhat.com>
47044
47045         vasnprintf.c: Avoid warning about unused label
47046         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
47047         "overflow" label definition and associated code with the
47048         same cpp condition that guards the sole use of that label.
47049
47050 2008-01-26  Bruno Haible  <bruno@clisp.org>
47051
47052         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
47053         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
47054         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
47055         * lib/isnanl-nolibm.h (isnanl): Likewise.
47056         Reported by Paul Eggert <eggert@cs.ucla.edu>.
47057
47058 2008-01-26  Bruno Haible  <bruno@clisp.org>
47059
47060         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
47061         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
47062
47063 2008-01-26  Bruno Haible  <bruno@clisp.org>
47064
47065         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
47066         GCC >= 4.0 built-in.
47067         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
47068
47069 2008-01-26  Bruno Haible  <bruno@clisp.org>
47070
47071         Rename isnan, applicable to 'double' only, to isnand.
47072         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
47073         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
47074         (configure.ac): Update.
47075         (Include): Replace "isnan.h" with "isnand.h".
47076         * m4/isnand.m4: Renamed from m4/isnan.m4.
47077         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
47078         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
47079         instead of isnan.c.
47080         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
47081         instead of HAVE_ISNAN_IN_LIBC.
47082         (isnand): Renamed from isnan.
47083         * lib/isnand.c: New file.
47084         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
47085         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
47086         (Makefile.am): Update.
47087         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
47088         Include isnand.h instead of isnan.h.
47089         (main): Test isnand instead of isnan.
47090         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
47091         isnan-nolibm.
47092         * modules/frexp (Depends-on): Likewise.
47093         * modules/frexp-tests (Depends-on): Likewise.
47094         * modules/frexp-nolibm (Depends-on): Likewise.
47095         * modules/frexp-nolibm-tests (Depends-on): Likewise.
47096         * modules/isfinite (Depends-on): Likewise.
47097         * modules/round-tests (Depends-on): Likewise.
47098         * modules/signbit (Depends-on): Likewise.
47099         * modules/signbit-tests (Depends-on): Likewise.
47100         * modules/snprintf-posix (Depends-on): Likewise.
47101         * modules/sprintf-posix (Depends-on): Likewise.
47102         * modules/trunc-tests (Depends-on): Likewise.
47103         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
47104         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
47105         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
47106         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
47107         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
47108         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
47109         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
47110         * modules/vasnprintf-posix (Depends-on): Likewise.
47111         * modules/vasprintf-posix (Depends-on): Likewise.
47112         * modules/vfprintf-posix (Depends-on): Likewise.
47113         * modules/vsnprintf-posix (Depends-on): Likewise.
47114         * modules/vsprintf-posix (Depends-on): Likewise.
47115         * lib/frexp.c: Include isnand.h instead of isnan.h.
47116         (ISNAN): Set to isnand instead of isnan.
47117         * lib/isfinite.c: Include isnand.h instead of isnan.h.
47118         (gl_isfinited): Use isnand instead of isnan.
47119         * lib/signbitd.c: Include isnand.h instead of isnan.h.
47120         (gl_signbitd): Use isnand instead of isnan.
47121         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
47122         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
47123         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
47124         (main): Use isnand instead of isnan.
47125         * tests/test-round1.c: Include isnand.h.
47126         (main): Use isnand instead of isnan.
47127         * tests/test-round2.c: Include isnand.h instead of isnan.h.
47128         (ISNAN): Set to isnand instead of isnan.
47129         * tests/test-trunc1.c: Include isnand.h.
47130         (main): Use isnand instead of isnan.
47131         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
47132         (equal): Use isnand instead of isnan.
47133         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
47134         isnand-nolibm.
47135         * NEWS: Mention the change.
47136
47137 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
47138             Bruno Haible  <bruno@clisp.org>
47139
47140         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
47141         the GCC builtins for signbits are present and set
47142         REPLACE_SIGNBIT_USING_GCC if so.
47143         * lib/math.in.h (signbit): Define using GCC builtins if
47144         REPLACE_SIGNBIT_USING_GCC is set.
47145         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
47146         REPLACE_SIGNBIT_USING_GCC.
47147         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
47148
47149 2008-01-25  Jim Meyering  <meyering@redhat.com>
47150
47151         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
47152         * lib/poll.c: Include <config.h>, not "config.h".
47153         * tests/test-getaddrinfo.c: Likewise.
47154
47155 2008-01-25  Simon Josefsson  <simon@josefsson.org>
47156
47157         * modules/sockets-tests: New file.
47158
47159 2008-01-24  Simon Josefsson  <simon@josefsson.org>
47160
47161         * modules/sockets: New module, can be used to call WSA_Startup and
47162         WSA_Cleanup when needed.
47163
47164         * lib/sockets.h, lib/sockets.c: New files.
47165
47166         * m4/sockets.m4: New file.
47167
47168         * tests/test-sockets.c: New file.
47169
47170 2008-01-19  Bruno Haible  <bruno@clisp.org>
47171
47172         * doc/posix-headers: Renamed from doc/headers.
47173         * doc/posix-functions: Renamed from doc/functions.
47174         * doc/gnulib.texi: Update.
47175
47176 2008-01-19  Bruno Haible  <bruno@clisp.org>
47177
47178         * doc/glibc-functions/strcasestr.texi: Include contents of
47179         doc/functions/strcasestr.texi, fixing the list of platforms.
47180         * doc/functions/strcasestr.texi: Remove file.
47181
47182 2008-01-19  Bruno Haible  <bruno@clisp.org>
47183
47184         * doc/glibc-functions/memmem.texi: Include contents of
47185         doc/functions/memmem.texi.
47186         * doc/functions/memmem.texi: Remove file.
47187
47188 2008-01-18  Bruno Haible  <bruno@clisp.org>
47189
47190         * doc/glibc-functions/*.texi: New files.
47191         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
47192         to use the new files.
47193
47194 2008-01-17  Bruno Haible  <bruno@clisp.org>
47195
47196         * tests/test-gethostname.c (main): Fix printf statement.
47197
47198 2008-01-17  Simon Josefsson  <simon@josefsson.org>
47199
47200         * modules/gethostname-tests: New file.
47201
47202         * tests/test-gethostname.c: New file.
47203
47204 2008-01-17  Simon Josefsson  <simon@josefsson.org>
47205
47206         * lib/gethostname.c: Include string.h unconditionally, strncpy is
47207         used by the UNAME case.  Reported by Bruno Haible
47208         <bruno@clisp.org>.
47209
47210 2008-01-17  Eric Blake  <ebb9@byu.net>
47211
47212         Convert c-strcasestr to be more efficient.
47213         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
47214         (Depends-on): Add c-strcase, remove malloca, strnlen.
47215         * tests/test-c-strcasestr.c (main): Enhance test.
47216         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
47217
47218 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
47219
47220         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
47221         Use it in creating po/Makevars.
47222
47223 2008-01-15  Simon Josefsson  <simon@josefsson.org>
47224
47225         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
47226         Applications that requires it should initialize libgcrypt
47227         manually.
47228
47229 2008-01-16  Simon Josefsson  <simon@josefsson.org>
47230
47231         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
47232
47233 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
47234
47235         Fix problem with getdate on mingw32 reported by Simon Josefsson
47236         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
47237         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
47238         tzname", when deciding whether to declare tzname.
47239         * lib/strftime.c (tzname): Likewise.
47240
47241 2008-01-15  Bruno Haible  <bruno@clisp.org>
47242
47243         Work around a MacOS X 10.5 bug in frexpl().
47244         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
47245         * doc/functions/frexpl.texi: Document the bug.
47246         Reported by Elias Pipping <pipping@gentoo.org>.
47247
47248 2008-01-14  Eric Blake  <ebb9@byu.net>
47249
47250         Touch up previous patch.
47251         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
47252         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
47253
47254         Convert strcasestr module to use Two-Way algorithm.
47255         * modules/strcasestr-simple: New module, based on the old
47256         strcasestr, but with Two-Way rather than KMP.
47257         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
47258         * lib/string.in.h (rpl_strcasestr): Declare.
47259         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
47260         performance.
47261         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
47262         * modules/string (Makefile.am): Support strcasestr.
47263         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
47264         * modules/strcasestr-tests (Depends-on): Check for alarm.
47265         * tests/test-strcasestr.c: Augment test.
47266         * lib/str-two-way.h: Clean up stray macro.
47267         * NEWS: Document new module.
47268         * MODULES.html.sh (string handling): Likewise.
47269         * doc/functions/strcasestr.texi: New file.
47270         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
47271         here, since it is not a POSIX function.
47272
47273 2008-01-14  Colin Watson  <cjwatson@debian.org>
47274             Bruno Haible  <bruno@clisp.org>
47275
47276         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
47277         works fine; if not, set REPLACE_STRSIGNAL.
47278         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
47279         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
47280         REPLACE_STRSIGNAL.
47281         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
47282         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
47283         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
47284
47285 2008-01-14  Bruno Haible  <bruno@clisp.org>
47286
47287         * modules/strsignal (Include): Change to <string.h>.
47288
47289 2008-01-14  Colin Watson  <cjwatson@debian.org>
47290
47291         * modules/argp (Notice): Add a notice recommending to change
47292         XGETTEXT_OPTIONS.
47293         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
47294
47295 2008-01-13  Colin Watson  <cjwatson@debian.org>
47296
47297         * modules/strsignal-tests: New file.
47298         * tests/test-strsignal.c: New file.
47299
47300         * lib/strsignal.c: New file, from glibc with modifications.
47301         * lib/siglist.h: New file, from glibc with modifications.
47302         * lib/string.in.h (strsignal): New declaration.
47303         * m4/strsignal.m4: New file.
47304         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
47305         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
47306         * modules/strsignal: New file.
47307         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
47308         HAVE_DECL_STRSIGNAL.
47309
47310 2008-01-13  Bruno Haible  <bruno@clisp.org>
47311
47312         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
47313         locale encoding is not ASCII. Needed for OpenBSD 4.0.
47314         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
47315         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
47316
47317 2008-01-13  Bruno Haible  <bruno@clisp.org>
47318
47319         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
47320         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
47321         * lib/argp.h (__attribute__): Likewise.
47322         * lib/c-stack.c (__attribute__): Likewise.
47323         * lib/error.h (__attribute__): Likewise.
47324         * lib/fts.c (__attribute__): Likewise.
47325         * lib/openat.h (__attribute__): Likewise.
47326         * lib/stdio.in.h (__attribute__): Likewise.
47327         * lib/string.in.h (__attribute__): Likewise.
47328         * lib/utimens.c (__attribute__): Likewise.
47329         * lib/vasnprintf.h (__attribute__): Likewise.
47330         * lib/xalloc.h (__attribute__): Likewise.
47331         * lib/xprintf.h (__attribute__): Likewise.
47332         * lib/xstrtol.h (__attribute__): Likewise.
47333         * lib/xvasprintf.h (__attribute__): Likewise.
47334
47335 2008-01-12  Bruno Haible  <bruno@clisp.org>
47336
47337         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
47338         * doc/glibc-headers/a.out.texi: New file.
47339         * doc/glibc-headers/aliases.texi: New file.
47340         * doc/glibc-headers/alloca.texi: New file.
47341         * doc/glibc-headers/ar.texi: New file.
47342         * doc/glibc-headers/argp.texi: New file.
47343         * doc/glibc-headers/argz.texi: New file.
47344         * doc/glibc-headers/byteswap.texi: New file.
47345         * doc/glibc-headers/crypt.texi: New file.
47346         * doc/glibc-headers/endian.texi: New file.
47347         * doc/glibc-headers/envz.texi: New file.
47348         * doc/glibc-headers/err.texi: New file.
47349         * doc/glibc-headers/error.texi: New file.
47350         * doc/glibc-headers/execinfo.texi: New file.
47351         * doc/glibc-headers/fpu_control.texi: New file.
47352         * doc/glibc-headers/fstab.texi: New file.
47353         * doc/glibc-headers/fts.texi: New file.
47354         * doc/glibc-headers/getopt.texi: New file.
47355         * doc/glibc-headers/ieee754.texi: New file.
47356         * doc/glibc-headers/ifaddrs.texi: New file.
47357         * doc/glibc-headers/libintl.texi: New file.
47358         * doc/glibc-headers/mcheck.texi: New file.
47359         * doc/glibc-headers/mntent.texi: New file.
47360         * doc/glibc-headers/obstack.texi: New file.
47361         * doc/glibc-headers/paths.texi: New file.
47362         * doc/glibc-headers/printf.texi: New file.
47363         * doc/glibc-headers/pty.texi: New file.
47364         * doc/glibc-headers/resolv.texi: New file.
47365         * doc/glibc-headers/shadow.texi: New file.
47366         * doc/glibc-headers/sysexits.texi: New file.
47367         * doc/glibc-headers/ttyent.texi: New file.
47368
47369 2008-01-12  Jim Meyering  <meyering@redhat.com>
47370
47371         announce-gen: emit Gnulib's git-based version string.
47372         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
47373         New option --gnulib-version=V, where V is expected to be
47374         the output of running git describe in the gnulib directory.
47375         (get_tool_versions): Request feedback on xdelta.  I suspect it's
47376         not useful, and plan to stop publishing an xdelta file with each
47377         coreutils release.
47378
47379         * build-aux/announce-gen: Also check for lzma-compressed files.
47380
47381 2008-01-11  Bruno Haible  <bruno@clisp.org>
47382
47383         * tests/test-memmem.c (main): Increase maximum allowed time.
47384         * tests/test-strstr.c (main): Likewise.
47385
47386 2008-01-11  Bruno Haible  <bruno@clisp.org>
47387
47388         * doc/functions/memmem.texi: Add more precisions about platforms.
47389         * doc/functions/strstr.texi: Likewise.
47390
47391 2008-01-10  Eric Blake  <ebb9@byu.net>
47392
47393         * m4/strstr.m4: Delete cruft from copy-n-paste.
47394         Reported by Bruno Haible.
47395
47396 2008-01-10  Bruno Haible  <bruno@clisp.org>
47397
47398         Make c-strstr rely on strstr.
47399         * lib/c-strstr.c: Don't include str-kmp.h.
47400         (c_strstr): Define in terms of strstr.
47401         * modules/c-strstr (Files): Remove lib/str-kmp.h.
47402         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
47403
47404 2008-01-10  Bruno Haible  <bruno@clisp.org>
47405
47406         * doc/gnulib.texi (String Functions in C Locale): New section.
47407         * doc/c-ctype.texi: New file.
47408         * doc/c-strcase.texi: New file.
47409         * doc/c-strcaseeq.texi: New file.
47410         * doc/c-strcasestr.texi: New file.
47411         * doc/c-strstr.texi: New file.
47412         * doc/c-strtod.texi: New file.
47413         * doc/c-strtold.texi: New file.
47414
47415 2008-01-10  Eric Blake  <ebb9@byu.net>
47416
47417         * lib/relocatable.h: Fix a comment.
47418
47419 2008-01-10  Eric Blake  <ebb9@byu.net>
47420
47421         Share two-way algorithm.
47422         * lib/str-two-way.h: New file, merged from...
47423         * lib/memmem.c: ...here...
47424         * lib/strstr.c: ...and here.
47425         * modules/memmem (Files): Use it.
47426         * modules/strstr (Files): Likewise.
47427
47428         Avoid quadratic strstr implementations.
47429         * lib/strstr.c: New file.
47430         * m4/strstr.m4: Likewise.
47431         * modules/strstr: Likewise.
47432         * modules/strstr-tests: Likewise.
47433         * tests/test-strstr.c: Likewise.
47434         * lib/string.in.h (rpl_strstr): Declare.
47435         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
47436         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
47437         * modules/string (Makefile.am): Likewise.
47438         * MODULES.html.sh (string handling): Mention new module.
47439         * doc/functions/strstr.texi (strstr): Document the bug.
47440
47441 2008-01-10  Bruno Haible  <bruno@clisp.org>
47442
47443         * lib/relocatable.h (relocate): State whether result is freshly
47444         allocated or not.
47445         * lib/relocatable.c (relocate): Return a freshly allocated string
47446         instead of a pointer to a privately held string.
47447         Reported by Sylvain Beucler <beuc@gnu.org>.
47448
47449 2008-01-10  Colin Watson  <cjwatson@debian.org>
47450
47451         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
47452         s/S_ISNLK/S_ISLNK/.
47453
47454 2008-01-09  Bruno Haible  <bruno@clisp.org>
47455
47456         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
47457         and other files.
47458         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
47459         if it's only a guess.
47460         * modules/memmem: Simplify by depending on memmem-simple.
47461
47462 2008-01-09  Bruno Haible  <bruno@clisp.org>
47463
47464         Work around OpenBSD 4.0 tdelete() bug.
47465         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
47466         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
47467         macros and don't redefine the enum values.
47468         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
47469         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
47470         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
47471
47472 2008-01-09  Bruno Haible  <bruno@clisp.org>
47473
47474         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
47475         (main): Don't perform the tests if setlocale did not install a UTF-8
47476         locale. Needed on OpenBSD 4.0.
47477         * modules/wcwidth-tests (Depends-on): Add localcharset.
47478
47479 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
47480
47481         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
47482         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
47483         * NEWS: announce this.
47484         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
47485
47486 2008-01-09  Simon Josefsson  <simon@josefsson.org>
47487         and Eric Blake  <ebb9@byu.net>
47488
47489         Add memmem-simple module.
47490         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
47491         (gl_FUNC_MEMMEM): Separate performance from presence checks.
47492         * modules/memmem-simple: New file.
47493         * modules/memmem (Description): Tweak.
47494         * MODULES.html.sh (string handling): Mention new module.
47495         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
47496         addressed by memmem-simple.
47497         * NEWS: Document the difference.
47498
47499 2008-01-09  Eric Blake  <ebb9@byu.net>
47500
47501         Give gcc some memmem optimization hints.
47502         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
47503         (strcasestr): Declare as pure.
47504         * modules/memmem (Maintainer): Claim my implementation.
47505
47506 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47507
47508         Support AIX 6.1 and higher.
47509         * build-aux/config.libpath: Likewise.
47510         * build-aux/config.rpath: Likewise.
47511
47512 2008-01-08  Jim Meyering  <meyering@redhat.com>
47513             Bruno Haible  <bruno@clisp.org>
47514
47515         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
47516         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
47517         Reported by Peter Fales in
47518         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
47519
47520 2008-01-08  Bruno Haible  <bruno@clisp.org>
47521
47522         * modules/unictype/category-of (Depends-on): Add
47523         unictype/category-none.
47524         * modules/unictype/category-and-tests (Depends-on): Add
47525         unictype/category-{L,N,Lu,Nd}.
47526         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
47527         * modules/unictype/category-or-tests (Depends-on): Add
47528         unictype/category-{L,N}.
47529         * modules/unictype/category-name-tests (Depends-on): Add
47530         unictype/category-{Z,Nl}.
47531         Reported by Simon Josefsson.
47532
47533 2008-01-08  Bruno Haible  <bruno@clisp.org>
47534
47535         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
47536         convention better.
47537         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
47538         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
47539         Reported by Peter Miller <millerp@canb.auug.org.au>.
47540
47541 2008-01-08  Eric Blake  <ebb9@byu.net>
47542
47543         Rewrite memmem to guarantee linear complexity without malloc.
47544         * lib/memmem.c (memmem): Use Two-Way rather than
47545         Knuth-Morris-Pratt, to allow O(1) space usage.
47546         (critical_factorization, two_way_short_needle)
47547         (two_way_long_needle): New functions.
47548         (knuth_morris_pratt): Delete.
47549         * modules/memmem (Depends-on): No longer need malloca or stdbool.
47550         Add stdint.
47551         * tests/test-memmem.c (main): Add tests for periodic needle and
47552         sublinear performance.
47553         * doc/functions/memmem.texi (memmem): Document other deficiencies
47554         in cygwin and older glibc.
47555
47556 2008-01-08  Bruno Haible  <bruno@clisp.org>
47557
47558         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
47559         augmentation.
47560
47561 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
47562
47563         Add a configure time option: --disable-acl.
47564         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
47565         AC_ARG_ENABLE(acl).
47566
47567 2008-01-06  Simon Josefsson  <simon@josefsson.org>
47568
47569         * tests/test-localename.c: Don't include obsolete "setenv.h".
47570
47571         * modules/localename-tests (Depends-on): Need unsetenv.
47572
47573 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47574
47575         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
47576
47577 2008-01-06  Colin Watson  <cjwatson@debian.org>
47578
47579         * users.txt: Add man-db.
47580
47581 2008-01-07  Bruno Haible  <bruno@clisp.org>
47582
47583         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
47584         previous section name.
47585
47586 2008-01-07  Bruno Haible  <bruno@clisp.org>
47587
47588         * lib/progname.c (set_program_name): Don't strip off a leading
47589         "lt-" prefix outside a .libs directory.
47590         Suggested by Paul Eggert.
47591
47592 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
47593             Bruno Haible  <bruno@clisp.org>
47594
47595         Improve memory cleanup in 'relocatable' module.
47596         * lib/relocatable.h (compute_curr_prefix): Change return type to
47597         'char *'.
47598         * lib/relocatable.c (compute_curr_prefix): Change return type to
47599         'char *'. Free curr_installdir after use.
47600         (relocate): Free curr_prefix_better after use.
47601         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
47602
47603 2008-01-01  Bruno Haible  <bruno@clisp.org>
47604
47605         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
47606         failure on older glibc systems.
47607         Reported by Peter Fales <psfales@alcatel-lucent.com>.
47608
47609 2008-01-05  Eric Blake  <ebb9@byu.net>
47610
47611         Avoid quadratic system memmem.
47612         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
47613         Reported by Ralf Wildenhues.
47614
47615         Fix memmem test for mingw.
47616         * modules/memmem-tests (configure.ac): Check for alarm.
47617         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
47618         it.
47619         * doc/functions/memmem.texi: New file.
47620         * doc/gnulib.texi (Function Substitutes): Add memmem.
47621         Reported by Bruno Haible.
47622
47623 2008-01-04  Bruno Haible  <bruno@clisp.org>
47624
47625         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
47626         Require gl_HEADER_STRINGS_H_DEFAULTS, not
47627         gl_HEADER_STRING_H_DEFAULTS.
47628
47629 2008-01-04  Eric Blake  <ebb9@byu.net>
47630
47631         Shorten duration of memmem test.
47632         * tests/test-memmem.c (main): Use alarm to declare failure if test
47633         is taking too long.
47634         Reported by Ralf Wildenhues.
47635
47636 2007-12-21  Simon Josefsson  <simon@josefsson.org>
47637
47638         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
47639         string, needed by strerror.
47640
47641 2008-01-03  Colin Watson  <cjwatson@debian.org>
47642             Bruno Haible  <bruno@clisp.org>
47643
47644         * doc/gnulib-tool.texi (Localization): New section.
47645
47646 2008-01-02  Bruno Haible  <bruno@clisp.org>
47647
47648         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
47649         variables to 'unsigned char *' type.
47650         Reported by Paul Eggert.
47651
47652 2008-01-02  Jim Meyering  <jim@meyering.net>
47653
47654         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
47655
47656 2007-12-31  Jim Meyering  <jim@meyering.net>
47657
47658         Avoid use of private FTS type name.
47659         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
47660
47661 2007-12-30  Karl Berry  <karl@gnu.org>
47662
47663         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
47664         work around defect in Texinfo and/or the standalone Info browser.
47665
47666 2007-12-30  Bruno Haible  <bruno@clisp.org>
47667
47668         Unify 5 copies of the KMP code.
47669         * lib/str-kmp.h: New file.
47670         * lib/c-strcasestr.c: Include str-kmp.h.
47671         (knuth_morris_pratt): Remove function.
47672         (c_strcasestr): Update.
47673         * lib/c-strstr.c: Include str-kmp.h.
47674         (knuth_morris_pratt): Remove function.
47675         (c_strcasestr): Update.
47676         * lib/mbscasestr.c: Include str-kmp.h.
47677         (knuth_morris_pratt_unibyte): Remove function.
47678         * lib/mbsstr.c: Include str-kmp.h.
47679         (knuth_morris_pratt_unibyte): Remove function.
47680         * lib/strcasestr.c: Include str-kmp.h.
47681         (knuth_morris_pratt): Remove function.
47682         (strcasestr): Update.
47683         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
47684         * modules/c-strstr (Files): Likewise.
47685         * modules/mbscasestr (Files): Likewise.
47686         * modules/mbsstr (Files): Likewise.
47687         * modules/strcasestr (Files): Likewise.
47688         Suggested by Paul Eggert.
47689
47690 2007-12-30  Bruno Haible  <bruno@clisp.org>
47691
47692         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
47693         defined.
47694
47695 2007-12-30  Bruno Haible  <bruno@clisp.org>
47696
47697         * lib/xmalloca.h: Include xalloc.h.
47698         (xnmalloca): New macro.
47699
47700 2007-12-30  Bruno Haible  <bruno@clisp.org>
47701
47702         * lib/malloca.h (nmalloca): New macro.
47703         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
47704         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
47705         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
47706         knuth_morris_pratt_multibyte): Likewise.
47707         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
47708         knuth_morris_pratt_multibyte): Likewise.
47709         * lib/memmem.c (knuth_morris_pratt): Likewise.
47710         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
47711
47712 2007-12-25  Bruno Haible  <bruno@clisp.org>
47713
47714         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
47715         * lib/glob.c: Don't include openat.h.
47716         (link_exists2_p): Add back the code that deals with the
47717         !GLOB_ALTDIRFUNC case.
47718         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
47719         let it do the filename concatenation.
47720         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
47721         * modules/glob (Depends-on): Remove openat.
47722
47723 2007-12-31  Bruno Haible  <bruno@clisp.org>
47724
47725         * modules/dirfd (License): Change to LGPLv2+.
47726         Approved by Jim Meyering.
47727
47728 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
47729
47730         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
47731         when multiplying M by sizeof (size_t).
47732
47733 2007-12-10  Martin Lambers  <marlam@marlam.de>
47734
47735         Override getpagesize on mingw.
47736         * lib/getpagesize.c: New file.
47737         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
47738         * modules/getpagesize (Files): Add lib/getpagesize.c.
47739         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
47740         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
47741         REPLACE_GETPAGESIZE.
47742         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
47743
47744 2007-12-25  Bruno Haible  <bruno@clisp.org>
47745
47746         * modules/localcharset (Notice): New field.
47747         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
47748         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
47749
47750 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
47751             Bruno Haible  <bruno@clisp.org>
47752
47753         Avoid using the syntax symbol() in formatted documentation.
47754         * MODULES.html.sh (func_module): When replacing symbol() with a
47755         hyperlink, remove the parentheses. Show an error if some remain.
47756         Recognize and render the '...' syntax.
47757         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
47758         Rework. Add paragraph about GCC's inlining.
47759         * doc/alloca.texi: Likewise.
47760         * doc/error.texi: Remove parentheses from symbol reference.
47761         * doc/gnulib-intro.texi: Likewise.
47762         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
47763         * modules/fnmatch (Description): Reword to say "the ... function".
47764         * modules/full-read (Description): Likewise.
47765         * modules/full-write (Description): Likewise.
47766         * modules/safe-read (Description): Likewise.
47767         * modules/safe-write (Description): Likewise.
47768         * modules/strchrnul (Description): Likewise.
47769         * modules/trim (Description): Likewise.
47770         * modules/error (Description): Remove parentheses from symbol
47771         references.
47772         * modules/verror (Description): Likewise.
47773         Reported by Karl Berry.
47774
47775 2007-12-25  Bruno Haible  <bruno@clisp.org>
47776
47777         Fixup after 2007-10-16 commit.
47778         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
47779
47780 2007-12-24  Bruno Haible  <bruno@clisp.org>
47781
47782         Make --enable-relocatable work with DESTDIR.
47783         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
47784         to compute installdir from destprog.
47785         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
47786         also set the RELOC_DESTDIR variable.
47787         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
47788
47789 2007-12-24  Bruno Haible  <bruno@clisp.org>
47790
47791         Fix link error due to xalloc_die().
47792         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
47793         of xreadlink.
47794         * lib/relocwrapper.c: Update comments.
47795         * build-aux/install-reloc: Remove xreadlink.c from file list.
47796         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
47797         xreadlink.c.
47798         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
47799
47800 2007-12-24  Bruno Haible  <bruno@clisp.org>
47801
47802         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
47803         * lib/setenv.h: Remove file.
47804         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
47805         lib/setenv.h.
47806         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
47807         (Depends-on): Add stdlib.
47808         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
47809         gl_FUNC_UNSETENV.
47810         (Include): Replace setenv.h with <stdlib.h>.
47811         * modules/unsetenv: New file.
47812         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
47813         * lib/unsetenv.c: Include <stdlib.h> first.
47814         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
47815         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
47816         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
47817         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
47818         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
47819         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
47820         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
47821         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
47822         * doc/functions/unsetenv.texi: Update.
47823         * modules/xsetenv (Depends-on): Add unsetenv.
47824         * modules/getdate (Depends-on): Likewise.
47825         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
47826         * lib/xsetenv.c: Don't include setenv.h.
47827         * lib/getdate.y: Likewise.
47828         * lib/relocwrapper.c: Likewise.
47829         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
47830         (Depends-on): Add stdlib.
47831         * NEWS: Mention the changes.
47832         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
47833
47834 2007-12-23  Bruno Haible  <bruno@clisp.org>
47835
47836         * lib/memmem.c (memmem): Use lowercase variable names. Tab
47837         indentation.
47838
47839 2007-12-23  Bruno Haible  <bruno@clisp.org>
47840
47841         * lib/c-strcasestr.c: Add more comments.
47842         * lib/c-strstr.c: Likewise.
47843         * lib/mbscasestr.c: Likewise.
47844         * lib/mbsstr.c: Likewise.
47845         * lib/strcasestr.c: Likewise.
47846         * lib/memmem.c: Likewise.
47847
47848 2007-12-23  Bruno Haible  <bruno@clisp.org>
47849
47850         * tests/test-memmem.c: Include <string.h> first.
47851
47852 2007-12-22  Bruno Haible  <bruno@clisp.org>
47853
47854         * gnulib-tool (func_create_testdir): Change $auxdir while generating
47855         the contents of $testsbase.
47856         Reported by Ralf Wildenhues.
47857
47858 2007-12-22  Bruno Haible  <bruno@clisp.org>
47859
47860         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
47861         two variables local_ldadd_before, local_ldadd_last.
47862
47863 2007-12-20  Eric Blake  <ebb9@byu.net>
47864
47865         Work around circular library issue when cross-compiling.
47866         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
47867         that progname.o does not need to pull in rpl_memcmp.
47868
47869 2007-12-19  Eric Blake  <ebb9@byu.net>
47870
47871         Fix memmem to avoid O(n^2) worst-case complexity.
47872         * lib/memmem.c (knuth_morris_pratt): New function.
47873         (memmem): Use it if first few naive iterations fail.
47874         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
47875         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
47876         * modules/memchr (License): Likewise.
47877         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
47878         malloca.
47879         * tests/test-memmem.c: Rewrite, borrowing ideas from
47880         test-mbsstr1.c; the old version wouldn't even compile!
47881         * modules/memmem-tests: New file.
47882         * lib/string.in.h (rpl_memmem): Add declaration.
47883         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
47884         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
47885         REPLACE_MEMMEM.
47886
47887 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
47888
47889         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
47890         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
47891         before any system include files, and undef after them all.  This
47892         should fix a problem on VMS reported by John E. Malmberg in
47893         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
47894
47895 2007-12-17  Eric Blake  <ebb9@byu.net>
47896
47897         Revert addition of verify, for BSD/OS.
47898         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
47899         can't handle large files, for the sake of obsolete platforms.
47900         * modules/fseeko (Depends-on): Remove verify.
47901         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
47902         * doc/functions/ftello.texi (ftello): Likewise.
47903         * doc/functions/fgetpos.texi (fgetpos): Likewise.
47904         Reported by Larry Jones.
47905
47906 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
47907
47908         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
47909         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
47910
47911 2007-12-17  Jim Meyering  <meyering@redhat.com>
47912
47913         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
47914         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
47915         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
47916         * modules/getcwd (Depends-on): Add openat.
47917         Reported by Petr Salinger.
47918
47919 2007-12-17  Bruno Haible  <bruno@clisp.org>
47920
47921         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
47922         avoid a segmentation fault of the configure test on x86_64 systems.
47923
47924 2007-12-15  Jim Meyering  <meyering@redhat.com>
47925
47926         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
47927
47928 2007-12-13  Eric Blake  <ebb9@byu.net>
47929
47930         Another fseek test.
47931         * tests/test-fseek.c (main): Also test ungetc handling.
47932         * tests/test-fseeko.c (main): Likewise.
47933         * modules/fseeko (Depends-on): Add verify.
47934         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
47935         large.
47936         Reported by Larry Jones.
47937
47938         Fix fseeko on mingw.
47939         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
47940         seek.
47941
47942         Beef up fseek tests.
47943         * tests/test-fseek.c (main): Also test eof handling.
47944         * tests/test-fseeko.c (main): Likewise.
47945         Reported by Larry Jones.
47946
47947 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
47948
47949         Fix fseeko on BSD-based platforms.
47950         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
47951         successful seek.
47952
47953 2007-12-12  Eric Blake  <ebb9@byu.net>
47954
47955         Allow circular dependency of separate libtests.a
47956         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
47957         when use_libtests.
47958
47959 2007-12-11  Eric Blake  <ebb9@byu.net>
47960
47961         Fix bug with -0.0L in previous patch.
47962         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
47963         * tests/test-isnan.c (main): Also test on zeroes.
47964         * tests/test-isnanf.c (main): Likewise.
47965         * tests/test-isnanl.h (main): Likewise.
47966
47967         Detect pseudo-denormals on x86 even when cross-compiling.
47968         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
47969         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
47970         invalid bit patterns that happen to satisfy ==.
47971
47972         Avoid link failures with separate libtests.a.
47973         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
47974         last, to satisfy circular dependencies.
47975
47976 2007-12-11  Eric Blake  <ebb9@byu.net>
47977         and Bruno Haible  <bruno@clisp.org>
47978
47979         Fix OpenBSD 4.0 <float.h> handling of long double.
47980         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
47981         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
47982         * doc/headers/float.texi (float.h): Document OpenBSD bug.
47983
47984 2007-12-11  Jim Meyering  <meyering@redhat.com>
47985
47986         * users.txt: Add libvirt.
47987
47988         Support versions of autoconf prior to 2.59c.
47989         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
47990         if it is not already defined.
47991
47992 2007-12-09  Bruno Haible  <bruno@clisp.org>
47993
47994         Let 'gnulib-tool --import' collect sources needed for the tests in
47995         tests/ rather than in lib/.
47996         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
47997         argument. If true, add rules to generate libtests.a, and put libtests.a
47998         into $(LDADD). Consider source files in subdirectories and set
47999         uses_subdirs.
48000         (func_emit_initmacro_start, func_emit_initmacro_end,
48001         func_emit_initmacro_done): Pass all arguments explicitly.
48002         (func_import): Determine two module lists main_modules,
48003         testsrelated_modules. Determine use_libtests. Determine two variables
48004         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
48005         instead of just sed_transform_lib_file. Determine two variables
48006         main_files and testsrelated_files. Compute 'files' as the union of
48007         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
48008         func_add_or_update. In the generated gnulib-comp.m4, collect the
48009         object files for tests/ in different variables than those for lib/.
48010         Substitute LIBTESTS_LIBDEPS.
48011         (func_create_testdir): Combine the uses_subdirs results from
48012         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
48013
48014 2007-12-09  Bruno Haible  <bruno@clisp.org>
48015
48016         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
48017         the build-aux directory.
48018
48019 2007-12-09  Bruno Haible  <bruno@clisp.org>
48020
48021         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
48022         introduced on 2006-09-09.
48023
48024 2007-12-07  Jim Meyering  <meyering@redhat.com>
48025
48026         Let these macros work also with autoconf-2.59.
48027         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
48028         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
48029         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
48030
48031 2007-12-06  Jim Meyering  <meyering@redhat.com>
48032
48033         Avoid a configure-time syntax error in gl_FUNC_ACL.
48034         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
48035         function in each branch, before testing the cache variable.
48036
48037 2007-12-04  Eric Blake  <ebb9@byu.net>
48038
48039         Make scripts executable.
48040         * build-aux/config.guess: Add execute permissions.
48041         * build-aux/config.sub: Likewise.
48042         * build-aux/gendocs.sh: Likewise.
48043
48044         Fix frexp on mingw.
48045         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
48046         cross-compiling.
48047         * doc/functions/frexp.texi (frexp): Document the bug.
48048
48049         Make cygwin fseeko check more reliable.
48050         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
48051         version numbers, rather than unrelated feature check.
48052         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
48053         * doc/functions/ftello.texi (ftello): Likewise.
48054         Reported by Bruno Haible.
48055
48056         * m4/strerror.m4: Bump version number.
48057
48058 2007-12-03  Bruno Haible  <bruno@clisp.org>
48059
48060         * doc/functions/mprotect.texi: Mention the mingw problem.
48061
48062 2007-12-03  Eric Blake  <ebb9@byu.net>
48063
48064         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
48065         REPLACE_STRERROR is initialized before this macro.
48066
48067 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
48068
48069         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
48070         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
48071         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
48072         put -lsec in even for programs other than 'ls'.  This fixes a problem
48073         for gettext reported by Bruno Haible in
48074         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
48075         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
48076         Add support for Solaris 10.  This isn't efficient, but should get the
48077         job done for now.
48078
48079 2007-12-03  James Youngman  <jay@gnu.org>
48080
48081         * doc/regexprops-generic.texi: change "an close-group" to "a
48082         close-group" and "illegal" to "not allowed".
48083
48084 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48085
48086         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
48087         pr_byname.h. Needed for the rare case when the maintainer has done
48088         "make maintainer-clean" in the source directory and then attempts a
48089         build outside the source directory.
48090         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
48091         scripts_byname.h.
48092
48093 2007-12-02  Martin Lambers <marlam@marlam.de>
48094             Bruno Haible  <bruno@clisp.org>
48095
48096         * lib/getpagesize.h: Remove file.
48097         * lib/unistd.in.h: Include declaration of getpagesize here.
48098         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
48099         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
48100         HAVE_SYS_PARAM_H.
48101         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
48102         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
48103         * modules/getpagesize (Files): Remove lib/getpagesize.h.
48104         (Depends-on): Add unistd.
48105         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
48106         (Include): Use <unistd.h> instead of getpagesize.h.
48107         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
48108         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
48109         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
48110         gl_GETPAGESIZE invocation, already handled by module dependency.
48111         * lib/pagealign_alloc.c: Don't include getpagesize.h.
48112
48113 2007-12-02  Bruno Haible  <bruno@clisp.org>
48114
48115         * modules/strings-tests: New file.
48116         * tests/test-strings.c: New file.
48117
48118         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
48119         * lib/strings.in.h: New file.
48120         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
48121         * m4/strings_h.m4: New file.
48122         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
48123         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
48124         * modules/strings: New file.
48125         * modules/string (Makefile.am): Update.
48126         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
48127         Reported by Karl Berry.
48128
48129 2007-12-01  Eric Blake  <ebb9@byu.net>
48130
48131         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
48132         accomodate fix in cygwin 1.5.25.
48133
48134 2007-12-01  Jim Meyering  <meyering@redhat.com>
48135
48136         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
48137         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
48138         that would inhibit utf8-optimization of a regexp containing line-
48139         or buffer-anchors, e.g., `^', `$'.
48140
48141 2007-11-30  Bruno Haible  <bruno@clisp.org>
48142
48143         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
48144         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
48145         glthread_recursive_lock_init.
48146         * lib/lock.c (glthread_recursive_lock_init)
48147         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
48148         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
48149
48150 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
48151
48152         New function qset_acl, like set_acl but with syscall semantics.
48153         * lib/acl.h (qset_acl): New decl.
48154         * lib/acl.c (qset_acl): New function.
48155         (set_acl): Use new function.  Use more-consistent diagnostics.
48156
48157 2007-11-28  Jim Meyering  <meyering@redhat.com>
48158
48159         * modules/physmem (License): Change from GPL to LGPLv2+.
48160
48161 2007-11-26  Bruno Haible  <bruno@clisp.org>
48162
48163         * lib/vasnprintf.c (decode_long_double): Don't abort if the
48164         'long double' type has excess precision.
48165         Reported by Jim Meyering in
48166         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
48167
48168 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48169
48170         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
48171         Sync from <http://gnu.org/licenses>.
48172         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
48173         with license text from same location.
48174         * doc/maintain.texi, doc/standards.texi:  Sync from
48175         <http://savannah.gnu.org/projects/gnustandards>.
48176
48177 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
48178         and Jim Meyering  <meyering@redhat.com>
48179
48180         Adjust getdate' grammar to accept a slightly more regular language.
48181         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
48182         Before, the former was rejected.
48183         * lib/getdate.y (digits_to_date_time): New function, factored
48184         out of ...
48185         (number): ...here.  Just call digits_to_date_time.
48186         (hybrid): New non-terminal to handle an <unsigned number,
48187         signed relative offset> sequence consistently.
48188
48189 2007-11-18  Jim Meyering  <meyering@redhat.com>
48190
48191         Pull my changes from coreutils:
48192         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
48193         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
48194         use of $gnulib_tool_option_extras, so that it's separated from the
48195         preceding argument.
48196
48197         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
48198         * build-aux/bootstrap (cp_mark_as_generated): Create any required
48199         parent destination directories before copying a file into place.
48200
48201 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
48202
48203         bootstrap: work also with 4-argument variant of AC_INIT
48204         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
48205
48206 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
48207
48208         Port test-getaddrinfo to Solaris.
48209         Problem reported by Bruno Haible in
48210         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
48211         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
48212         explanation of setting 'hints'.
48213         Don't reject an implementation merely because it returns EAI_SERVICE.
48214         (EAI_SERVICE): Define to 0 if not defined.
48215
48216 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
48217
48218         The license of gnu-make and posix-shell is now "GPLed build tool".
48219         * modules/gnu-make (License): Likewise.
48220         * modules/posix-shell (License): Likewise.
48221
48222         New module posix-shell, for determining a POSIX shell
48223         or perhaps something that is close enough to a POSIX shell.
48224         * m4/posix-shell.m4: New file.
48225         * modules/posix-shell: New file.
48226
48227         * MODULES.html.sh: Mention new module.
48228
48229         New module gnu-make, for determining whether we're using GNU Make.
48230         * m4/gnu-make.m4: New file.
48231         * modules/gnu-make: New file.
48232         * MODULES.html.sh: Mention new module.
48233
48234 2007-11-14  Jim Meyering  <meyering@redhat.com>
48235
48236         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
48237         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
48238         use this macro to create a function _definition_.
48239         Remove useless "#undef ARGMATCH_DIE".
48240
48241 2007-11-14  Bruno Haible  <bruno@clisp.org>
48242
48243         * lib/config.charset: Update for OpenBSD 4.1.
48244         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
48245
48246 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
48247
48248         Document 64-bit #if problems in stdint.texi.
48249         * doc/headers/stdint.texi (stdint.h): Mention problems with
48250         64-bit-#if, and how to work around them.
48251
48252         Don't insist on 'long long int' support in the preprocessor.  It
48253         breaks too many things.  For example, PRIdMAX still uses a 'long
48254         long int' format with the latest Sun compiler, even though
48255         HAVE_LONG_LONG_INT isn't defined due to that compiler's
48256         preprocessor problem.  This causes the latest coreutils to dump
48257         core on Solaris 10 sparc with the Sun C compiler.
48258         Instead, fix the 2007-10-16 problem in a different way, by evaluating
48259         the troublesome expressions at configure-time, not at #if-time.
48260         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
48261         preprocessor.
48262         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
48263         compile-time C checks, done at 'configure'-time.
48264         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
48265         * modules/inttypes (Makefile): Substitute the new symbols that
48266         gl_INTTYPES_H now generates.
48267         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
48268
48269 2007-11-12  Bruno Haible  <bruno@clisp.org>
48270
48271         Tests for Unicode character classification functions.
48272
48273         * modules/unictype/bidicategory-byname-tests: New file.
48274         * modules/unictype/bidicategory-name-tests: New file.
48275         * modules/unictype/bidicategory-of-tests: New file.
48276         * modules/unictype/bidicategory-test-tests: New file.
48277         * modules/unictype/block-list-tests: New file.
48278         * modules/unictype/block-of-tests: New file.
48279         * modules/unictype/block-test-tests: New file.
48280         * modules/unictype/category-C-tests: New file.
48281         * modules/unictype/category-Cc-tests: New file.
48282         * modules/unictype/category-Cf-tests: New file.
48283         * modules/unictype/category-Cn-tests: New file.
48284         * modules/unictype/category-Co-tests: New file.
48285         * modules/unictype/category-Cs-tests: New file.
48286         * modules/unictype/category-L-tests: New file.
48287         * modules/unictype/category-Ll-tests: New file.
48288         * modules/unictype/category-Lm-tests: New file.
48289         * modules/unictype/category-Lo-tests: New file.
48290         * modules/unictype/category-Lt-tests: New file.
48291         * modules/unictype/category-Lu-tests: New file.
48292         * modules/unictype/category-M-tests: New file.
48293         * modules/unictype/category-Mc-tests: New file.
48294         * modules/unictype/category-Me-tests: New file.
48295         * modules/unictype/category-Mn-tests: New file.
48296         * modules/unictype/category-N-tests: New file.
48297         * modules/unictype/category-Nd-tests: New file.
48298         * modules/unictype/category-Nl-tests: New file.
48299         * modules/unictype/category-No-tests: New file.
48300         * modules/unictype/category-P-tests: New file.
48301         * modules/unictype/category-Pc-tests: New file.
48302         * modules/unictype/category-Pd-tests: New file.
48303         * modules/unictype/category-Pe-tests: New file.
48304         * modules/unictype/category-Pf-tests: New file.
48305         * modules/unictype/category-Pi-tests: New file.
48306         * modules/unictype/category-Po-tests: New file.
48307         * modules/unictype/category-Ps-tests: New file.
48308         * modules/unictype/category-S-tests: New file.
48309         * modules/unictype/category-Sc-tests: New file.
48310         * modules/unictype/category-Sk-tests: New file.
48311         * modules/unictype/category-Sm-tests: New file.
48312         * modules/unictype/category-So-tests: New file.
48313         * modules/unictype/category-Z-tests: New file.
48314         * modules/unictype/category-Zl-tests: New file.
48315         * modules/unictype/category-Zp-tests: New file.
48316         * modules/unictype/category-Zs-tests: New file.
48317         * modules/unictype/category-and-not-tests: New file.
48318         * modules/unictype/category-and-tests: New file.
48319         * modules/unictype/category-byname-tests: New file.
48320         * modules/unictype/category-name-tests: New file.
48321         * modules/unictype/category-none-tests: New file.
48322         * modules/unictype/category-of-tests: New file.
48323         * modules/unictype/category-or-tests: New file.
48324         * modules/unictype/category-test-withtable-tests: New file.
48325         * modules/unictype/combining-class-tests: New file.
48326         * modules/unictype/ctype-alnum-tests: New file.
48327         * modules/unictype/ctype-alpha-tests: New file.
48328         * modules/unictype/ctype-blank-tests: New file.
48329         * modules/unictype/ctype-cntrl-tests: New file.
48330         * modules/unictype/ctype-digit-tests: New file.
48331         * modules/unictype/ctype-graph-tests: New file.
48332         * modules/unictype/ctype-lower-tests: New file.
48333         * modules/unictype/ctype-print-tests: New file.
48334         * modules/unictype/ctype-punct-tests: New file.
48335         * modules/unictype/ctype-space-tests: New file.
48336         * modules/unictype/ctype-upper-tests: New file.
48337         * modules/unictype/ctype-xdigit-tests: New file.
48338         * modules/unictype/decimal-digit-tests: New file.
48339         * modules/unictype/digit-tests: New file.
48340         * modules/unictype/mirror-tests: New file.
48341         * modules/unictype/numeric-tests: New file.
48342         * modules/unictype/property-alphabetic-tests: New file.
48343         * modules/unictype/property-ascii-hex-digit-tests: New file.
48344         * modules/unictype/property-bidi-arabic-digit-tests: New file.
48345         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
48346         * modules/unictype/property-bidi-block-separator-tests: New file.
48347         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
48348         * modules/unictype/property-bidi-common-separator-tests: New file.
48349         * modules/unictype/property-bidi-control-tests: New file.
48350         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
48351         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
48352         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
48353         * modules/unictype/property-bidi-european-digit-tests: New file.
48354         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
48355         * modules/unictype/property-bidi-left-to-right-tests: New file.
48356         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
48357         * modules/unictype/property-bidi-other-neutral-tests: New file.
48358         * modules/unictype/property-bidi-pdf-tests: New file.
48359         * modules/unictype/property-bidi-segment-separator-tests: New file.
48360         * modules/unictype/property-bidi-whitespace-tests: New file.
48361         * modules/unictype/property-byname-tests: New file.
48362         * modules/unictype/property-combining-tests: New file.
48363         * modules/unictype/property-composite-tests: New file.
48364         * modules/unictype/property-currency-symbol-tests: New file.
48365         * modules/unictype/property-dash-tests: New file.
48366         * modules/unictype/property-decimal-digit-tests: New file.
48367         * modules/unictype/property-default-ignorable-code-point-tests: New file.
48368         * modules/unictype/property-deprecated-tests: New file.
48369         * modules/unictype/property-diacritic-tests: New file.
48370         * modules/unictype/property-extender-tests: New file.
48371         * modules/unictype/property-format-control-tests: New file.
48372         * modules/unictype/property-grapheme-base-tests: New file.
48373         * modules/unictype/property-grapheme-extend-tests: New file.
48374         * modules/unictype/property-grapheme-link-tests: New file.
48375         * modules/unictype/property-hex-digit-tests: New file.
48376         * modules/unictype/property-hyphen-tests: New file.
48377         * modules/unictype/property-id-continue-tests: New file.
48378         * modules/unictype/property-id-start-tests: New file.
48379         * modules/unictype/property-ideographic-tests: New file.
48380         * modules/unictype/property-ids-binary-operator-tests: New file.
48381         * modules/unictype/property-ids-trinary-operator-tests: New file.
48382         * modules/unictype/property-ignorable-control-tests: New file.
48383         * modules/unictype/property-iso-control-tests: New file.
48384         * modules/unictype/property-join-control-tests: New file.
48385         * modules/unictype/property-left-of-pair-tests: New file.
48386         * modules/unictype/property-line-separator-tests: New file.
48387         * modules/unictype/property-logical-order-exception-tests: New file.
48388         * modules/unictype/property-lowercase-tests: New file.
48389         * modules/unictype/property-math-tests: New file.
48390         * modules/unictype/property-non-break-tests: New file.
48391         * modules/unictype/property-not-a-character-tests: New file.
48392         * modules/unictype/property-numeric-tests: New file.
48393         * modules/unictype/property-other-alphabetic-tests: New file.
48394         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
48395         * modules/unictype/property-other-grapheme-extend-tests: New file.
48396         * modules/unictype/property-other-id-continue-tests: New file.
48397         * modules/unictype/property-other-id-start-tests: New file.
48398         * modules/unictype/property-other-lowercase-tests: New file.
48399         * modules/unictype/property-other-math-tests: New file.
48400         * modules/unictype/property-other-uppercase-tests: New file.
48401         * modules/unictype/property-paired-punctuation-tests: New file.
48402         * modules/unictype/property-paragraph-separator-tests: New file.
48403         * modules/unictype/property-pattern-syntax-tests: New file.
48404         * modules/unictype/property-pattern-white-space-tests: New file.
48405         * modules/unictype/property-private-use-tests: New file.
48406         * modules/unictype/property-punctuation-tests: New file.
48407         * modules/unictype/property-quotation-mark-tests: New file.
48408         * modules/unictype/property-radical-tests: New file.
48409         * modules/unictype/property-sentence-terminal-tests: New file.
48410         * modules/unictype/property-soft-dotted-tests: New file.
48411         * modules/unictype/property-space-tests: New file.
48412         * modules/unictype/property-terminal-punctuation-tests: New file.
48413         * modules/unictype/property-test-tests: New file.
48414         * modules/unictype/property-titlecase-tests: New file.
48415         * modules/unictype/property-unassigned-code-value-tests: New file.
48416         * modules/unictype/property-unified-ideograph-tests: New file.
48417         * modules/unictype/property-uppercase-tests: New file.
48418         * modules/unictype/property-variation-selector-tests: New file.
48419         * modules/unictype/property-white-space-tests: New file.
48420         * modules/unictype/property-xid-continue-tests: New file.
48421         * modules/unictype/property-xid-start-tests: New file.
48422         * modules/unictype/property-zero-width-tests: New file.
48423         * modules/unictype/scripts-tests: New file.
48424         * modules/unictype/syntax-c-ident-tests: New file.
48425         * modules/unictype/syntax-c-whitespace-tests: New file.
48426         * modules/unictype/syntax-java-ident-tests: New file.
48427         * modules/unictype/syntax-java-whitespace-tests: New file.
48428         * tests/unictype/test-bidi_byname.c: New file.
48429         * tests/unictype/test-bidi_name.c: New file.
48430         * tests/unictype/test-bidi_of.c: New file.
48431         * tests/unictype/test-bidi_test.c: New file.
48432         * tests/unictype/test-block_list.c: New file.
48433         * tests/unictype/test-block_of.c: New file.
48434         * tests/unictype/test-block_test.c: New file.
48435         * tests/unictype/test-categ_and.c: New file.
48436         * tests/unictype/test-categ_and_not.c: New file.
48437         * tests/unictype/test-categ_byname.c: New file.
48438         * tests/unictype/test-categ_name.c: New file.
48439         * tests/unictype/test-categ_none.c: New file.
48440         * tests/unictype/test-categ_of.c: New file.
48441         * tests/unictype/test-categ_or.c: New file.
48442         * tests/unictype/test-categ_test_withtable.c: New file.
48443         * tests/unictype/test-combining.c: New file.
48444         * tests/unictype/test-decdigit.c: New file.
48445         * tests/unictype/test-digit.c: New file.
48446         * tests/unictype/test-mirror.c: New file.
48447         * tests/unictype/test-numeric.c: New file.
48448         * tests/unictype/test-pr_byname.c: New file.
48449         * tests/unictype/test-pr_test.c: New file.
48450         * tests/unictype/test-predicate-part1.h: New file.
48451         * tests/unictype/test-predicate-part2.h: New file.
48452         * tests/unictype/test-scripts.c: New file.
48453         * tests/unictype/test-sy_c_ident.c: New file.
48454         * tests/unictype/test-sy_java_ident.c: New file.
48455
48456         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
48457         for Unicode 5.0.0.
48458         * tests/unictype/test-categ_Cc.c: Likewise.
48459         * tests/unictype/test-categ_Cf.c: Likewise.
48460         * tests/unictype/test-categ_Cn.c: Likewise.
48461         * tests/unictype/test-categ_Co.c: Likewise.
48462         * tests/unictype/test-categ_Cs.c: Likewise.
48463         * tests/unictype/test-categ_L.c: Likewise.
48464         * tests/unictype/test-categ_Ll.c: Likewise.
48465         * tests/unictype/test-categ_Lm.c: Likewise.
48466         * tests/unictype/test-categ_Lo.c: Likewise.
48467         * tests/unictype/test-categ_Lt.c: Likewise.
48468         * tests/unictype/test-categ_Lu.c: Likewise.
48469         * tests/unictype/test-categ_M.c: Likewise.
48470         * tests/unictype/test-categ_Mc.c: Likewise.
48471         * tests/unictype/test-categ_Me.c: Likewise.
48472         * tests/unictype/test-categ_Mn.c: Likewise.
48473         * tests/unictype/test-categ_N.c: Likewise.
48474         * tests/unictype/test-categ_Nd.c: Likewise.
48475         * tests/unictype/test-categ_Nl.c: Likewise.
48476         * tests/unictype/test-categ_No.c: Likewise.
48477         * tests/unictype/test-categ_P.c: Likewise.
48478         * tests/unictype/test-categ_Pc.c: Likewise.
48479         * tests/unictype/test-categ_Pd.c: Likewise.
48480         * tests/unictype/test-categ_Pe.c: Likewise.
48481         * tests/unictype/test-categ_Pf.c: Likewise.
48482         * tests/unictype/test-categ_Pi.c: Likewise.
48483         * tests/unictype/test-categ_Po.c: Likewise.
48484         * tests/unictype/test-categ_Ps.c: Likewise.
48485         * tests/unictype/test-categ_S.c: Likewise.
48486         * tests/unictype/test-categ_Sc.c: Likewise.
48487         * tests/unictype/test-categ_Sk.c: Likewise.
48488         * tests/unictype/test-categ_Sm.c: Likewise.
48489         * tests/unictype/test-categ_So.c: Likewise.
48490         * tests/unictype/test-categ_Z.c: Likewise.
48491         * tests/unictype/test-categ_Zl.c: Likewise.
48492         * tests/unictype/test-categ_Zp.c: Likewise.
48493         * tests/unictype/test-categ_Zs.c: Likewise.
48494         * tests/unictype/test-ctype_alnum.c: Likewise.
48495         * tests/unictype/test-ctype_alpha.c: Likewise.
48496         * tests/unictype/test-ctype_blank.c: Likewise.
48497         * tests/unictype/test-ctype_cntrl.c: Likewise.
48498         * tests/unictype/test-ctype_digit.c: Likewise.
48499         * tests/unictype/test-ctype_graph.c: Likewise.
48500         * tests/unictype/test-ctype_lower.c: Likewise.
48501         * tests/unictype/test-ctype_print.c: Likewise.
48502         * tests/unictype/test-ctype_punct.c: Likewise.
48503         * tests/unictype/test-ctype_space.c: Likewise.
48504         * tests/unictype/test-ctype_upper.c: Likewise.
48505         * tests/unictype/test-ctype_xdigit.c: Likewise.
48506         * tests/unictype/test-decdigit.h: Likewise.
48507         * tests/unictype/test-digit.h: Likewise.
48508         * tests/unictype/test-numeric.h: Likewise.
48509         * tests/unictype/test-pr_alphabetic.c: Likewise.
48510         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
48511         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
48512         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
48513         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
48514         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
48515         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
48516         * tests/unictype/test-pr_bidi_control.c: Likewise.
48517         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
48518         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
48519         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
48520         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
48521         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
48522         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
48523         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
48524         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
48525         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
48526         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
48527         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
48528         * tests/unictype/test-pr_combining.c: Likewise.
48529         * tests/unictype/test-pr_composite.c: Likewise.
48530         * tests/unictype/test-pr_currency_symbol.c: Likewise.
48531         * tests/unictype/test-pr_dash.c: Likewise.
48532         * tests/unictype/test-pr_decimal_digit.c: Likewise.
48533         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
48534         * tests/unictype/test-pr_deprecated.c: Likewise.
48535         * tests/unictype/test-pr_diacritic.c: Likewise.
48536         * tests/unictype/test-pr_extender.c: Likewise.
48537         * tests/unictype/test-pr_format_control.c: Likewise.
48538         * tests/unictype/test-pr_grapheme_base.c: Likewise.
48539         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
48540         * tests/unictype/test-pr_grapheme_link.c: Likewise.
48541         * tests/unictype/test-pr_hex_digit.c: Likewise.
48542         * tests/unictype/test-pr_hyphen.c: Likewise.
48543         * tests/unictype/test-pr_id_continue.c: Likewise.
48544         * tests/unictype/test-pr_id_start.c: Likewise.
48545         * tests/unictype/test-pr_ideographic.c: Likewise.
48546         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
48547         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
48548         * tests/unictype/test-pr_ignorable_control.c: Likewise.
48549         * tests/unictype/test-pr_iso_control.c: Likewise.
48550         * tests/unictype/test-pr_join_control.c: Likewise.
48551         * tests/unictype/test-pr_left_of_pair.c: Likewise.
48552         * tests/unictype/test-pr_line_separator.c: Likewise.
48553         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
48554         * tests/unictype/test-pr_lowercase.c: Likewise.
48555         * tests/unictype/test-pr_math.c: Likewise.
48556         * tests/unictype/test-pr_non_break.c: Likewise.
48557         * tests/unictype/test-pr_not_a_character.c: Likewise.
48558         * tests/unictype/test-pr_numeric.c: Likewise.
48559         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
48560         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
48561         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
48562         * tests/unictype/test-pr_other_id_continue.c: Likewise.
48563         * tests/unictype/test-pr_other_id_start.c: Likewise.
48564         * tests/unictype/test-pr_other_lowercase.c: Likewise.
48565         * tests/unictype/test-pr_other_math.c: Likewise.
48566         * tests/unictype/test-pr_other_uppercase.c: Likewise.
48567         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
48568         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
48569         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
48570         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
48571         * tests/unictype/test-pr_private_use.c: Likewise.
48572         * tests/unictype/test-pr_punctuation.c: Likewise.
48573         * tests/unictype/test-pr_quotation_mark.c: Likewise.
48574         * tests/unictype/test-pr_radical.c: Likewise.
48575         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
48576         * tests/unictype/test-pr_soft_dotted.c: Likewise.
48577         * tests/unictype/test-pr_space.c: Likewise.
48578         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
48579         * tests/unictype/test-pr_titlecase.c: Likewise.
48580         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
48581         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
48582         * tests/unictype/test-pr_uppercase.c: Likewise.
48583         * tests/unictype/test-pr_variation_selector.c: Likewise.
48584         * tests/unictype/test-pr_white_space.c: Likewise.
48585         * tests/unictype/test-pr_xid_continue.c: Likewise.
48586         * tests/unictype/test-pr_xid_start.c: Likewise.
48587         * tests/unictype/test-pr_zero_width.c: Likewise.
48588         * tests/unictype/test-sy_c_whitespace.c: Likewise.
48589         * tests/unictype/test-sy_java_whitespace.c: Likewise.
48590
48591 2007-11-12  Bruno Haible  <bruno@clisp.org>
48592
48593         Unicode character classification functions.
48594         * lib/unictype.h: New file.
48595         * modules/unictype/base: New file.
48596         * modules/unictype/category-L: New file.
48597         * modules/unictype/category-Lu: New file.
48598         * modules/unictype/category-Ll: New file.
48599         * modules/unictype/category-Lt: New file.
48600         * modules/unictype/category-Lm: New file.
48601         * modules/unictype/category-Lo: New file.
48602         * modules/unictype/category-M: New file.
48603         * modules/unictype/category-Mn: New file.
48604         * modules/unictype/category-Mc: New file.
48605         * modules/unictype/category-Me: New file.
48606         * modules/unictype/category-N: New file.
48607         * modules/unictype/category-Nd: New file.
48608         * modules/unictype/category-Nl: New file.
48609         * modules/unictype/category-No: New file.
48610         * modules/unictype/category-P: New file.
48611         * modules/unictype/category-Pc: New file.
48612         * modules/unictype/category-Pd: New file.
48613         * modules/unictype/category-Ps: New file.
48614         * modules/unictype/category-Pe: New file.
48615         * modules/unictype/category-Pi: New file.
48616         * modules/unictype/category-Pf: New file.
48617         * modules/unictype/category-Po: New file.
48618         * modules/unictype/category-S: New file.
48619         * modules/unictype/category-Sm: New file.
48620         * modules/unictype/category-Sc: New file.
48621         * modules/unictype/category-Sk: New file.
48622         * modules/unictype/category-So: New file.
48623         * modules/unictype/category-Z: New file.
48624         * modules/unictype/category-Zs: New file.
48625         * modules/unictype/category-Zl: New file.
48626         * modules/unictype/category-Zp: New file.
48627         * modules/unictype/category-C: New file.
48628         * modules/unictype/category-Cc: New file.
48629         * modules/unictype/category-Cf: New file.
48630         * modules/unictype/category-Cs: New file.
48631         * modules/unictype/category-Co: New file.
48632         * modules/unictype/category-Cn: New file.
48633         * modules/unictype/category-or: New file.
48634         * modules/unictype/category-of: New file.
48635         * modules/unictype/category-test: New file.
48636         * modules/unictype/category-test-withtable: New file.
48637         * modules/unictype/category-byname: New file.
48638         * modules/unictype/category-none: New file.
48639         * modules/unictype/category-and: New file.
48640         * modules/unictype/category-and-not: New file.
48641         * modules/unictype/category-name: New file.
48642         * modules/unictype/combining-class: New file.
48643         * modules/unictype/category-all: New file.
48644         * modules/unictype/bidicategory-all: New file.
48645         * modules/unictype/bidicategory-byname: New file.
48646         * modules/unictype/bidicategory-name: New file.
48647         * modules/unictype/bidicategory-of: New file.
48648         * modules/unictype/bidicategory-test: New file.
48649         * modules/unictype/decimal-digit: New file.
48650         * modules/unictype/digit: New file.
48651         * modules/unictype/numeric: New file.
48652         * modules/unictype/mirror: New file.
48653         * modules/unictype/property-white-space: New file.
48654         * modules/unictype/property-alphabetic: New file.
48655         * modules/unictype/property-other-alphabetic: New file.
48656         * modules/unictype/property-not-a-character: New file.
48657         * modules/unictype/property-default-ignorable-code-point: New file.
48658         * modules/unictype/property-other-default-ignorable-code-point: New
48659         file.
48660         * modules/unictype/property-deprecated: New file.
48661         * modules/unictype/property-logical-order-exception: New file.
48662         * modules/unictype/property-variation-selector: New file.
48663         * modules/unictype/property-private-use: New file.
48664         * modules/unictype/property-unassigned-code-value: New file.
48665         * modules/unictype/property-uppercase: New file.
48666         * modules/unictype/property-other-uppercase: New file.
48667         * modules/unictype/property-lowercase: New file.
48668         * modules/unictype/property-other-lowercase: New file.
48669         * modules/unictype/property-titlecase: New file.
48670         * modules/unictype/property-soft-dotted: New file.
48671         * modules/unictype/property-id-start: New file.
48672         * modules/unictype/property-other-id-start: New file.
48673         * modules/unictype/property-id-continue: New file.
48674         * modules/unictype/property-other-id-continue: New file.
48675         * modules/unictype/property-xid-start: New file.
48676         * modules/unictype/property-xid-continue: New file.
48677         * modules/unictype/property-pattern-white-space: New file.
48678         * modules/unictype/property-pattern-syntax: New file.
48679         * modules/unictype/property-join-control: New file.
48680         * modules/unictype/property-grapheme-base: New file.
48681         * modules/unictype/property-grapheme-extend: New file.
48682         * modules/unictype/property-other-grapheme-extend: New file.
48683         * modules/unictype/property-grapheme-link: New file.
48684         * modules/unictype/property-bidi-control: New file.
48685         * modules/unictype/property-bidi-left-to-right: New file.
48686         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
48687         * modules/unictype/property-bidi-arabic-right-to-left: New file.
48688         * modules/unictype/property-bidi-european-digit: New file.
48689         * modules/unictype/property-bidi-eur-num-separator: New file.
48690         * modules/unictype/property-bidi-eur-num-terminator: New file.
48691         * modules/unictype/property-bidi-arabic-digit: New file.
48692         * modules/unictype/property-bidi-common-separator: New file.
48693         * modules/unictype/property-bidi-block-separator: New file.
48694         * modules/unictype/property-bidi-segment-separator: New file.
48695         * modules/unictype/property-bidi-whitespace: New file.
48696         * modules/unictype/property-bidi-non-spacing-mark: New file.
48697         * modules/unictype/property-bidi-boundary-neutral: New file.
48698         * modules/unictype/property-bidi-pdf: New file.
48699         * modules/unictype/property-bidi-embedding-or-override: New file.
48700         * modules/unictype/property-bidi-other-neutral: New file.
48701         * modules/unictype/property-hex-digit: New file.
48702         * modules/unictype/property-ascii-hex-digit: New file.
48703         * modules/unictype/property-ideographic: New file.
48704         * modules/unictype/property-unified-ideograph: New file.
48705         * modules/unictype/property-radical: New file.
48706         * modules/unictype/property-ids-binary-operator: New file.
48707         * modules/unictype/property-ids-trinary-operator: New file.
48708         * modules/unictype/property-zero-width: New file.
48709         * modules/unictype/property-space: New file.
48710         * modules/unictype/property-non-break: New file.
48711         * modules/unictype/property-iso-control: New file.
48712         * modules/unictype/property-format-control: New file.
48713         * modules/unictype/property-dash: New file.
48714         * modules/unictype/property-hyphen: New file.
48715         * modules/unictype/property-punctuation: New file.
48716         * modules/unictype/property-line-separator: New file.
48717         * modules/unictype/property-paragraph-separator: New file.
48718         * modules/unictype/property-quotation-mark: New file.
48719         * modules/unictype/property-sentence-terminal: New file.
48720         * modules/unictype/property-terminal-punctuation: New file.
48721         * modules/unictype/property-currency-symbol: New file.
48722         * modules/unictype/property-math: New file.
48723         * modules/unictype/property-other-math: New file.
48724         * modules/unictype/property-paired-punctuation: New file.
48725         * modules/unictype/property-left-of-pair: New file.
48726         * modules/unictype/property-combining: New file.
48727         * modules/unictype/property-composite: New file.
48728         * modules/unictype/property-decimal-digit: New file.
48729         * modules/unictype/property-numeric: New file.
48730         * modules/unictype/property-diacritic: New file.
48731         * modules/unictype/property-extender: New file.
48732         * modules/unictype/property-ignorable-control: New file.
48733         * modules/unictype/property-test: New file.
48734         * modules/unictype/property-byname: New file.
48735         * modules/unictype/property-all: New file.
48736         * modules/unictype/scripts: New file.
48737         * modules/unictype/scripts-all: New file.
48738         * modules/unictype/block-of: New file.
48739         * modules/unictype/block-test: New file.
48740         * modules/unictype/block-list: New file.
48741         * modules/unictype/block-all: New file.
48742         * modules/unictype/syntax-c-whitespace: New file.
48743         * modules/unictype/syntax-java-whitespace: New file.
48744         * modules/unictype/syntax-c-ident: New file.
48745         * modules/unictype/syntax-java-ident: New file.
48746         * modules/unictype/ctype-alnum: New file.
48747         * modules/unictype/ctype-alpha: New file.
48748         * modules/unictype/ctype-cntrl: New file.
48749         * modules/unictype/ctype-digit: New file.
48750         * modules/unictype/ctype-graph: New file.
48751         * modules/unictype/ctype-lower: New file.
48752         * modules/unictype/ctype-print: New file.
48753         * modules/unictype/ctype-punct: New file.
48754         * modules/unictype/ctype-space: New file.
48755         * modules/unictype/ctype-upper: New file.
48756         * modules/unictype/ctype-xdigit: New file.
48757         * modules/unictype/ctype-blank: New file.
48758         * lib/unictype/bidi_byname.c: New file.
48759         * lib/unictype/bidi_name.c: New file.
48760         * lib/unictype/bidi_of.c: New file.
48761         * lib/unictype/bidi_test.c: New file.
48762         * lib/unictype/bitmap.h: New file.
48763         * lib/unictype/block_test.c: New file.
48764         * lib/unictype/blocks.c: New file.
48765         * lib/unictype/categ_C.c: New file.
48766         * lib/unictype/categ_Cc.c: New file.
48767         * lib/unictype/categ_Cf.c: New file.
48768         * lib/unictype/categ_Cn.c: New file.
48769         * lib/unictype/categ_Co.c: New file.
48770         * lib/unictype/categ_Cs.c: New file.
48771         * lib/unictype/categ_L.c: New file.
48772         * lib/unictype/categ_Ll.c: New file.
48773         * lib/unictype/categ_Lm.c: New file.
48774         * lib/unictype/categ_Lo.c: New file.
48775         * lib/unictype/categ_Lt.c: New file.
48776         * lib/unictype/categ_Lu.c: New file.
48777         * lib/unictype/categ_M.c: New file.
48778         * lib/unictype/categ_Mc.c: New file.
48779         * lib/unictype/categ_Me.c: New file.
48780         * lib/unictype/categ_Mn.c: New file.
48781         * lib/unictype/categ_N.c: New file.
48782         * lib/unictype/categ_Nd.c: New file.
48783         * lib/unictype/categ_Nl.c: New file.
48784         * lib/unictype/categ_No.c: New file.
48785         * lib/unictype/categ_P.c: New file.
48786         * lib/unictype/categ_Pc.c: New file.
48787         * lib/unictype/categ_Pd.c: New file.
48788         * lib/unictype/categ_Pe.c: New file.
48789         * lib/unictype/categ_Pf.c: New file.
48790         * lib/unictype/categ_Pi.c: New file.
48791         * lib/unictype/categ_Po.c: New file.
48792         * lib/unictype/categ_Ps.c: New file.
48793         * lib/unictype/categ_S.c: New file.
48794         * lib/unictype/categ_Sc.c: New file.
48795         * lib/unictype/categ_Sk.c: New file.
48796         * lib/unictype/categ_Sm.c: New file.
48797         * lib/unictype/categ_So.c: New file.
48798         * lib/unictype/categ_Z.c: New file.
48799         * lib/unictype/categ_Zl.c: New file.
48800         * lib/unictype/categ_Zp.c: New file.
48801         * lib/unictype/categ_Zs.c: New file.
48802         * lib/unictype/categ_and.c: New file.
48803         * lib/unictype/categ_and_not.c: New file.
48804         * lib/unictype/categ_byname.c: New file.
48805         * lib/unictype/categ_name.c: New file.
48806         * lib/unictype/categ_none.c: New file.
48807         * lib/unictype/categ_of.c: New file.
48808         * lib/unictype/categ_or.c: New file.
48809         * lib/unictype/categ_test.c: New file.
48810         * lib/unictype/combining.c: New file.
48811         * lib/unictype/ctype_alnum.c: New file.
48812         * lib/unictype/ctype_alpha.c: New file.
48813         * lib/unictype/ctype_blank.c: New file.
48814         * lib/unictype/ctype_cntrl.c: New file.
48815         * lib/unictype/ctype_digit.c: New file.
48816         * lib/unictype/ctype_graph.c: New file.
48817         * lib/unictype/ctype_lower.c: New file.
48818         * lib/unictype/ctype_print.c: New file.
48819         * lib/unictype/ctype_punct.c: New file.
48820         * lib/unictype/ctype_space.c: New file.
48821         * lib/unictype/ctype_upper.c: New file.
48822         * lib/unictype/ctype_xdigit.c: New file.
48823         * lib/unictype/decdigit.c: New file.
48824         * lib/unictype/digit.c: New file.
48825         * lib/unictype/identsyntaxmap.h: New file.
48826         * lib/unictype/mirror.c: New file.
48827         * lib/unictype/numeric.c: New file.
48828         * lib/unictype/pr_alphabetic.c: New file.
48829         * lib/unictype/pr_ascii_hex_digit.c: New file.
48830         * lib/unictype/pr_bidi_arabic_digit.c: New file.
48831         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
48832         * lib/unictype/pr_bidi_block_separator.c: New file.
48833         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
48834         * lib/unictype/pr_bidi_common_separator.c: New file.
48835         * lib/unictype/pr_bidi_control.c: New file.
48836         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
48837         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
48838         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
48839         * lib/unictype/pr_bidi_european_digit.c: New file.
48840         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
48841         * lib/unictype/pr_bidi_left_to_right.c: New file.
48842         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
48843         * lib/unictype/pr_bidi_other_neutral.c: New file.
48844         * lib/unictype/pr_bidi_pdf.c: New file.
48845         * lib/unictype/pr_bidi_segment_separator.c: New file.
48846         * lib/unictype/pr_bidi_whitespace.c: New file.
48847         * lib/unictype/pr_byname.c: New file.
48848         * lib/unictype/pr_byname.gperf: New file.
48849         * lib/unictype/pr_combining.c: New file.
48850         * lib/unictype/pr_composite.c: New file.
48851         * lib/unictype/pr_currency_symbol.c: New file.
48852         * lib/unictype/pr_dash.c: New file.
48853         * lib/unictype/pr_decimal_digit.c: New file.
48854         * lib/unictype/pr_default_ignorable_code_point.c: New file.
48855         * lib/unictype/pr_deprecated.c: New file.
48856         * lib/unictype/pr_diacritic.c: New file.
48857         * lib/unictype/pr_extender.c: New file.
48858         * lib/unictype/pr_format_control.c: New file.
48859         * lib/unictype/pr_grapheme_base.c: New file.
48860         * lib/unictype/pr_grapheme_extend.c: New file.
48861         * lib/unictype/pr_grapheme_link.c: New file.
48862         * lib/unictype/pr_hex_digit.c: New file.
48863         * lib/unictype/pr_hyphen.c: New file.
48864         * lib/unictype/pr_id_continue.c: New file.
48865         * lib/unictype/pr_id_start.c: New file.
48866         * lib/unictype/pr_ideographic.c: New file.
48867         * lib/unictype/pr_ids_binary_operator.c: New file.
48868         * lib/unictype/pr_ids_trinary_operator.c: New file.
48869         * lib/unictype/pr_ignorable_control.c: New file.
48870         * lib/unictype/pr_iso_control.c: New file.
48871         * lib/unictype/pr_join_control.c: New file.
48872         * lib/unictype/pr_left_of_pair.c: New file.
48873         * lib/unictype/pr_line_separator.c: New file.
48874         * lib/unictype/pr_logical_order_exception.c: New file.
48875         * lib/unictype/pr_lowercase.c: New file.
48876         * lib/unictype/pr_math.c: New file.
48877         * lib/unictype/pr_non_break.c: New file.
48878         * lib/unictype/pr_not_a_character.c: New file.
48879         * lib/unictype/pr_numeric.c: New file.
48880         * lib/unictype/pr_other_alphabetic.c: New file.
48881         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
48882         * lib/unictype/pr_other_grapheme_extend.c: New file.
48883         * lib/unictype/pr_other_id_continue.c: New file.
48884         * lib/unictype/pr_other_id_start.c: New file.
48885         * lib/unictype/pr_other_lowercase.c: New file.
48886         * lib/unictype/pr_other_math.c: New file.
48887         * lib/unictype/pr_other_uppercase.c: New file.
48888         * lib/unictype/pr_paired_punctuation.c: New file.
48889         * lib/unictype/pr_paragraph_separator.c: New file.
48890         * lib/unictype/pr_pattern_syntax.c: New file.
48891         * lib/unictype/pr_pattern_white_space.c: New file.
48892         * lib/unictype/pr_private_use.c: New file.
48893         * lib/unictype/pr_punctuation.c: New file.
48894         * lib/unictype/pr_quotation_mark.c: New file.
48895         * lib/unictype/pr_radical.c: New file.
48896         * lib/unictype/pr_sentence_terminal.c: New file.
48897         * lib/unictype/pr_soft_dotted.c: New file.
48898         * lib/unictype/pr_space.c: New file.
48899         * lib/unictype/pr_terminal_punctuation.c: New file.
48900         * lib/unictype/pr_test.c: New file.
48901         * lib/unictype/pr_titlecase.c: New file.
48902         * lib/unictype/pr_unassigned_code_value.c: New file.
48903         * lib/unictype/pr_unified_ideograph.c: New file.
48904         * lib/unictype/pr_uppercase.c: New file.
48905         * lib/unictype/pr_variation_selector.c: New file.
48906         * lib/unictype/pr_white_space.c: New file.
48907         * lib/unictype/pr_xid_continue.c: New file.
48908         * lib/unictype/pr_xid_start.c: New file.
48909         * lib/unictype/pr_zero_width.c: New file.
48910         * lib/unictype/scripts.c: New file.
48911         * lib/unictype/sy_c_ident.c: New file.
48912         * lib/unictype/sy_c_whitespace.c: New file.
48913         * lib/unictype/sy_java_ident.c: New file.
48914         * lib/unictype/sy_java_whitespace.c: New file.
48915
48916         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
48917         Unicode 5.0.0.
48918         * lib/unictype/blocks.h: Likewise.
48919         * lib/unictype/categ_C.h: Likewise.
48920         * lib/unictype/categ_Cc.h: Likewise.
48921         * lib/unictype/categ_Cf.h: Likewise.
48922         * lib/unictype/categ_Cn.h: Likewise.
48923         * lib/unictype/categ_Co.h: Likewise.
48924         * lib/unictype/categ_Cs.h: Likewise.
48925         * lib/unictype/categ_L.h: Likewise.
48926         * lib/unictype/categ_Ll.h: Likewise.
48927         * lib/unictype/categ_Lm.h: Likewise.
48928         * lib/unictype/categ_Lo.h: Likewise.
48929         * lib/unictype/categ_Lt.h: Likewise.
48930         * lib/unictype/categ_Lu.h: Likewise.
48931         * lib/unictype/categ_M.h: Likewise.
48932         * lib/unictype/categ_Mc.h: Likewise.
48933         * lib/unictype/categ_Me.h: Likewise.
48934         * lib/unictype/categ_Mn.h: Likewise.
48935         * lib/unictype/categ_N.h: Likewise.
48936         * lib/unictype/categ_Nd.h: Likewise.
48937         * lib/unictype/categ_Nl.h: Likewise.
48938         * lib/unictype/categ_No.h: Likewise.
48939         * lib/unictype/categ_P.h: Likewise.
48940         * lib/unictype/categ_Pc.h: Likewise.
48941         * lib/unictype/categ_Pd.h: Likewise.
48942         * lib/unictype/categ_Pe.h: Likewise.
48943         * lib/unictype/categ_Pf.h: Likewise.
48944         * lib/unictype/categ_Pi.h: Likewise.
48945         * lib/unictype/categ_Po.h: Likewise.
48946         * lib/unictype/categ_Ps.h: Likewise.
48947         * lib/unictype/categ_S.h: Likewise.
48948         * lib/unictype/categ_Sc.h: Likewise.
48949         * lib/unictype/categ_Sk.h: Likewise.
48950         * lib/unictype/categ_Sm.h: Likewise.
48951         * lib/unictype/categ_So.h: Likewise.
48952         * lib/unictype/categ_Z.h: Likewise.
48953         * lib/unictype/categ_Zl.h: Likewise.
48954         * lib/unictype/categ_Zp.h: Likewise.
48955         * lib/unictype/categ_Zs.h: Likewise.
48956         * lib/unictype/categ_of.h: Likewise.
48957         * lib/unictype/combining.h: Likewise.
48958         * lib/unictype/ctype_alnum.h: Likewise.
48959         * lib/unictype/ctype_alpha.h: Likewise.
48960         * lib/unictype/ctype_blank.h: Likewise.
48961         * lib/unictype/ctype_cntrl.h: Likewise.
48962         * lib/unictype/ctype_digit.h: Likewise.
48963         * lib/unictype/ctype_graph.h: Likewise.
48964         * lib/unictype/ctype_lower.h: Likewise.
48965         * lib/unictype/ctype_print.h: Likewise.
48966         * lib/unictype/ctype_punct.h: Likewise.
48967         * lib/unictype/ctype_space.h: Likewise.
48968         * lib/unictype/ctype_upper.h: Likewise.
48969         * lib/unictype/ctype_xdigit.h: Likewise.
48970         * lib/unictype/decdigit.h: Likewise.
48971         * lib/unictype/digit.h: Likewise.
48972         * lib/unictype/mirror.h: Likewise.
48973         * lib/unictype/numeric.h: Likewise.
48974         * lib/unictype/pr_alphabetic.h: Likewise.
48975         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
48976         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
48977         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
48978         * lib/unictype/pr_bidi_block_separator.h: Likewise.
48979         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
48980         * lib/unictype/pr_bidi_common_separator.h: Likewise.
48981         * lib/unictype/pr_bidi_control.h: Likewise.
48982         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
48983         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
48984         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
48985         * lib/unictype/pr_bidi_european_digit.h: Likewise.
48986         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
48987         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
48988         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
48989         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
48990         * lib/unictype/pr_bidi_pdf.h: Likewise.
48991         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
48992         * lib/unictype/pr_bidi_whitespace.h: Likewise.
48993         * lib/unictype/pr_combining.h: Likewise.
48994         * lib/unictype/pr_composite.h: Likewise.
48995         * lib/unictype/pr_currency_symbol.h: Likewise.
48996         * lib/unictype/pr_dash.h: Likewise.
48997         * lib/unictype/pr_decimal_digit.h: Likewise.
48998         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
48999         * lib/unictype/pr_deprecated.h: Likewise.
49000         * lib/unictype/pr_diacritic.h: Likewise.
49001         * lib/unictype/pr_extender.h: Likewise.
49002         * lib/unictype/pr_format_control.h: Likewise.
49003         * lib/unictype/pr_grapheme_base.h: Likewise.
49004         * lib/unictype/pr_grapheme_extend.h: Likewise.
49005         * lib/unictype/pr_grapheme_link.h: Likewise.
49006         * lib/unictype/pr_hex_digit.h: Likewise.
49007         * lib/unictype/pr_hyphen.h: Likewise.
49008         * lib/unictype/pr_id_continue.h: Likewise.
49009         * lib/unictype/pr_id_start.h: Likewise.
49010         * lib/unictype/pr_ideographic.h: Likewise.
49011         * lib/unictype/pr_ids_binary_operator.h: Likewise.
49012         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
49013         * lib/unictype/pr_ignorable_control.h: Likewise.
49014         * lib/unictype/pr_iso_control.h: Likewise.
49015         * lib/unictype/pr_join_control.h: Likewise.
49016         * lib/unictype/pr_left_of_pair.h: Likewise.
49017         * lib/unictype/pr_line_separator.h: Likewise.
49018         * lib/unictype/pr_logical_order_exception.h: Likewise.
49019         * lib/unictype/pr_lowercase.h: Likewise.
49020         * lib/unictype/pr_math.h: Likewise.
49021         * lib/unictype/pr_non_break.h: Likewise.
49022         * lib/unictype/pr_not_a_character.h: Likewise.
49023         * lib/unictype/pr_numeric.h: Likewise.
49024         * lib/unictype/pr_other_alphabetic.h: Likewise.
49025         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
49026         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
49027         * lib/unictype/pr_other_id_continue.h: Likewise.
49028         * lib/unictype/pr_other_id_start.h: Likewise.
49029         * lib/unictype/pr_other_lowercase.h: Likewise.
49030         * lib/unictype/pr_other_math.h: Likewise.
49031         * lib/unictype/pr_other_uppercase.h: Likewise.
49032         * lib/unictype/pr_paired_punctuation.h: Likewise.
49033         * lib/unictype/pr_paragraph_separator.h: Likewise.
49034         * lib/unictype/pr_pattern_syntax.h: Likewise.
49035         * lib/unictype/pr_pattern_white_space.h: Likewise.
49036         * lib/unictype/pr_private_use.h: Likewise.
49037         * lib/unictype/pr_punctuation.h: Likewise.
49038         * lib/unictype/pr_quotation_mark.h: Likewise.
49039         * lib/unictype/pr_radical.h: Likewise.
49040         * lib/unictype/pr_sentence_terminal.h: Likewise.
49041         * lib/unictype/pr_soft_dotted.h: Likewise.
49042         * lib/unictype/pr_space.h: Likewise.
49043         * lib/unictype/pr_terminal_punctuation.h: Likewise.
49044         * lib/unictype/pr_titlecase.h: Likewise.
49045         * lib/unictype/pr_unassigned_code_value.h: Likewise.
49046         * lib/unictype/pr_unified_ideograph.h: Likewise.
49047         * lib/unictype/pr_uppercase.h: Likewise.
49048         * lib/unictype/pr_variation_selector.h: Likewise.
49049         * lib/unictype/pr_white_space.h: Likewise.
49050         * lib/unictype/pr_xid_continue.h: Likewise.
49051         * lib/unictype/pr_xid_start.h: Likewise.
49052         * lib/unictype/pr_zero_width.h: Likewise.
49053         * lib/unictype/scripts.h: Likewise.
49054         * lib/unictype/scripts_byname.gperf: Likewise.
49055         * lib/unictype/sy_c_ident.h: Likewise.
49056         * lib/unictype/sy_c_whitespace.h: Likewise.
49057         * lib/unictype/sy_java_ident.h: Likewise.
49058         * lib/unictype/sy_java_whitespace.h: Likewise.
49059
49060         * lib/unictype/Makefile: New file.
49061         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
49062         glibc.
49063         * lib/unictype/3level.h: New file, copied from glibc.
49064         * lib/unictype/3levelbit.h: New file.
49065
49066 2007-11-11  Bruno Haible  <bruno@clisp.org>
49067
49068         * modules/gperf: New file.
49069         * modules/iconv_open (Depends-on): Add it.
49070         (Makefile.am): Remove the GPERF definition.
49071
49072 2007-11-11  Bruno Haible  <bruno@clisp.org>
49073
49074         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
49075         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
49076
49077 2007-11-11  Bruno Haible  <bruno@clisp.org>
49078
49079         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
49080         (usage): Remove function.
49081
49082 2007-11-11  Bruno Haible  <bruno@clisp.org>
49083
49084         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
49085         gl_FUNC_CEILF_LIBS.
49086         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
49087         gl_FUNC_CEIL_LIBS.
49088         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
49089         gl_FUNC_CEILL_LIBS.
49090         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
49091         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
49092         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
49093
49094 2007-11-11  Bruno Haible  <bruno@clisp.org>
49095
49096         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
49097         roundf were declared but do not exist on functions.
49098         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
49099         roundl were declared but do not exist on functions.
49100         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
49101         HAVE_FLOORL_AND_CEILL, respectively.
49102         Needed for Sun C on Solaris 10.
49103
49104 2007-11-11  Bruno Haible  <bruno@clisp.org>
49105
49106         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
49107         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
49108         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
49109         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
49110         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
49111         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
49112         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
49113         HAVE_DECL_ROUNDF.
49114         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
49115         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
49116         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
49117         of HAVE_DECL_ROUND*.
49118         * modules/math (Makefile.am): Update.
49119
49120 2007-11-10  Bruno Haible  <bruno@clisp.org>
49121
49122         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
49123         ptrdiff_t as m4/intl.m4.
49124
49125 2007-11-10  Jim Meyering  <meyering@redhat.com>
49126
49127         Avoid link failure for the argmatch test.
49128         * tests/test-argmatch.c (usage): Define function to avoid a link
49129         failure: argmatch_die requires a usage function.
49130
49131 2007-11-09  Bruno Haible  <bruno@clisp.org>
49132
49133         * doc/functions/snprintf.texi: Mention BeOS deficiency.
49134         * doc/functions/vsnprintf.texi: Likewise.
49135         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
49136         with a size argument < 2.
49137
49138 2007-11-09  Bruno Haible  <bruno@clisp.org>
49139
49140         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
49141         buffer. Fixes an inefficiency introduced on 2007-11-03.
49142
49143 2007-11-09  Bruno Haible  <bruno@clisp.org>
49144
49145         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
49146         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
49147
49148 2007-11-08  Jim Meyering  <meyering@redhat.com>
49149
49150         Change cache variable name prefix "jm_" to "gl_" everywhere.
49151         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
49152         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
49153         * m4/uptime.m4: s/gl_/jm_/
49154
49155 2007-11-07  Bruno Haible  <bruno@clisp.org>
49156
49157         Update to GNU gettext 0.17.
49158         * m4/intl.m4: Update to GNU gettext 0.17.
49159         * m4/po.m4: Likewise.
49160         * modules/gettext (Files): Remove m4/ulonglong.m4.
49161         (configure.ac): Require gettext infrastructure from version 0.17.
49162
49163 2007-11-06  Bruno Haible  <bruno@clisp.org>
49164
49165         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
49166         symbolic values are not defined in a public header.
49167         * lib/freadable.c (freadable) [QNX]: Likewise.
49168         * lib/freadahead.c (freadahead) [QNX]: Likewise.
49169         * lib/freading.c (freading) [QNX]: Likewise.
49170         * lib/fseterr.c (fseterr) [QNX]: Likewise.
49171         * lib/fwritable.c (fwritable) [QNX]: Likewise.
49172         * lib/fwriting.c (fwriting) [QNX]: Likewise.
49173         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
49174         Reported by Alain Magloire.
49175
49176         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
49177
49178 2007-11-05  Bruno Haible  <bruno@clisp.org>
49179
49180         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
49181         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
49182         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
49183         Reported by Eric Blake.
49184
49185 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49186             Bruno Haible  <bruno@clisp.org>
49187
49188         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
49189         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
49190         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
49191         (malloc): Undefine also before including <stdlib.h>.
49192         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
49193         Needed on OSF/1 4.0.
49194
49195 2007-11-05  Jim Meyering  <meyering@redhat.com>
49196
49197         git-version-gen: sync from coreutils.
49198         * build-aux/git-version-gen: Add comments.
49199         Change the first '-' to '.' in the snapshot version string,
49200         e.g., 6.9-377-08144 -> 6.9.377-08144
49201         Remove first parameter.
49202         Don't declare a version "-dirty" merely because a time
49203         stamp has changed.
49204
49205 2007-11-04  Bruno Haible  <bruno@clisp.org>
49206
49207         * lib/lock.h: Protect all macro definitions containing an 'if'
49208         statement through a "do { ... } while (0)".
49209         * lib/tls.h: Likewise.
49210
49211 2007-11-04  Bruno Haible  <bruno@clisp.org>
49212
49213         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
49214
49215 2007-11-04  Bruno Haible  <bruno@clisp.org>
49216
49217         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
49218         * modules/fprintf-posix (Depends-on): Add nocrash.
49219         * modules/snprintf-posix (Depends-on): Likewise.
49220         * modules/sprintf-posix (Depends-on): Likewise.
49221         * modules/vasnprintf-posix (Depends-on): Likewise.
49222         * modules/vasprintf-posix (Depends-on): Likewise.
49223         * modules/vfprintf-posix (Depends-on): Likewise.
49224         * modules/vsnprintf-posix (Depends-on): Likewise.
49225         * modules/vsprintf-posix (Depends-on): Likewise.
49226         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
49227         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
49228         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
49229         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
49230         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
49231         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
49232         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
49233
49234 2007-11-04  Bruno Haible  <bruno@clisp.org>
49235
49236         * modules/nocrash: New file.
49237         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
49238         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
49239
49240 2007-11-04  Bruno Haible  <bruno@clisp.org>
49241
49242         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
49243         precision handling.
49244         * tests/test-vasprintf-posix.c (test_function): Likewise.
49245         * tests/test-snprintf-posix.h (test_function): Likewise.
49246         * tests/test-sprintf-posix.h (test_function): Likewise.
49247
49248         Fix *printf behaviour for large precisions on mingw and BeOS.
49249         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
49250         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
49251         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
49252         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
49253         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
49254         gl_PRINTF_PRECISION and test its result. Invoke
49255         gl_PREREQ_VASNPRINTF_PRECISION.
49256         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
49257         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
49258         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
49259         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
49260         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
49261         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49262         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
49263         * doc/functions/fprintf.texi: Update.
49264         * doc/functions/printf.texi: Update.
49265         * doc/functions/snprintf.texi: Update.
49266         * doc/functions/sprintf.texi: Update.
49267         * doc/functions/vfprintf.texi: Update.
49268         * doc/functions/vprintf.texi: Update.
49269         * doc/functions/vsnprintf.texi: Update.
49270         * doc/functions/vsprintf.texi: Update.
49271
49272 2007-11-04  Bruno Haible  <bruno@clisp.org>
49273
49274         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
49275
49276 2007-11-04  Bruno Haible  <bruno@clisp.org>
49277
49278         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
49279         Reported by Sylvain Beucler <beuc@gnu.org>.
49280
49281 2007-11-03  Bruno Haible  <bruno@clisp.org>
49282
49283         * tests/test-fprintf-posix2.sh: New file.
49284         * tests/test-fprintf-posix2.c: New file.
49285         * modules/fprintf-posix-tests (Files): Add them.
49286         (TESTS): Add test-fprintf-posix2.sh.
49287         (configure.ac): Check for getrlimit and setrlimit.
49288         (check_PROGRAMS): Add test-fprintf-posix2.
49289
49290         * tests/test-printf-posix2.sh: New file.
49291         * tests/test-printf-posix2.c: New file.
49292         * modules/printf-posix-tests (Files): Add them.
49293         (TESTS): Add test-printf-posix2.sh.
49294         (configure.ac): Check for getrlimit and setrlimit.
49295         (check_PROGRAMS): Add test-printf-posix2.
49296
49297         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
49298         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
49299         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
49300         (decode_double): New function, copied from decode_long_double.
49301         (scale10_round_decimal_decoded): New function, extracted from
49302         scale10_round_decimal_long_double.
49303         (scale10_round_decimal_long_double): Use it.
49304         (scale10_round_decimal_double): New function.
49305         (floorlog10): New function.
49306         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
49307         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
49308         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
49309         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
49310         gl_PRINTF_ENOMEM and test its result. Invoke
49311         gl_PREREQ_VASNPRINTF_ENOMEM.
49312         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
49313         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
49314         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
49315         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
49316         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
49317         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49318         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
49319         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
49320         * modules/snprintf-posix (Depends-on): Likewise.
49321         * modules/sprintf-posix (Depends-on): Likewise.
49322         * modules/vasnprintf-posix (Depends-on): Likewise.
49323         * modules/vasprintf-posix (Depends-on): Likewise.
49324         * modules/vfprintf-posix (Depends-on): Likewise.
49325         * modules/vsnprintf-posix (Depends-on): Likewise.
49326         * modules/vsprintf-posix (Depends-on): Likewise.
49327         * doc/functions/fprintf.texi: Update.
49328         * doc/functions/printf.texi: Update.
49329         * doc/functions/snprintf.texi: Update.
49330         * doc/functions/sprintf.texi: Update.
49331         * doc/functions/vfprintf.texi: Update.
49332         * doc/functions/vprintf.texi: Update.
49333         * doc/functions/vsnprintf.texi: Update.
49334         * doc/functions/vsprintf.texi: Update.
49335
49336 2007-11-03  Bruno Haible  <bruno@clisp.org>
49337
49338         * modules/frexp-nolibm-tests: New file.
49339
49340         * modules/frexp-nolibm: New file.
49341         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
49342
49343 2007-11-03  Bruno Haible  <bruno@clisp.org>
49344
49345         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
49346         value is C99 compliant.
49347         Needed for OSF/1 5.1.
49348
49349 2007-11-03  Bruno Haible  <bruno@clisp.org>
49350
49351         Fix out-of-memory handling of vasnprintf.
49352         * lib/printf-parse.c: Include <errno.h>.
49353         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
49354         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
49355         is already set.
49356
49357 2007-11-02  Eric Blake  <ebb9@byu.net>
49358
49359         Fix tests on cygwin.
49360         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
49361
49362 2007-11-01  Bruno Haible  <bruno@clisp.org>
49363
49364         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
49365         warning.
49366         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
49367         needed for POSIX compatibility.
49368
49369 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
49370
49371         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
49372         for compatibility with GNU.
49373
49374 2007-11-01  Bruno Haible  <bruno@clisp.org>
49375
49376         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
49377         (putenv): Renamed from rpl_putenv. Change argument type from
49378         'const char *' to 'char *'.
49379         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
49380         of defining putenv in config.h, just set REPLACE_PUTENV.
49381         * modules/putenv (Depends-on): Add stdlib.
49382         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
49383         (Include): Use <stdlib.h>.
49384         * lib/stdlib.in.h (putenv): New declaration.
49385         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
49386         REPLACE_PUTENV.
49387         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
49388         REPLACE_PUTENV.
49389         Needed for MacOS X 10.5.0.
49390         Reported by Peter O'Gorman <peter@pogma.com>.
49391
49392 2007-11-01  Jim Meyering  <meyering@redhat.com>
49393
49394         Treat an empty date string exactly like "0".
49395         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
49396         if the remaining date string (to be parsed) is empty, use "0".
49397         Reported by Mischa Molhoek and discussed in this thread:
49398         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
49399
49400 2007-10-31  Bruno Haible  <bruno@clisp.org>
49401
49402         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
49403         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
49404         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
49405         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
49406         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
49407         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
49408
49409 2007-10-31  Bruno Haible  <bruno@clisp.org>
49410
49411         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
49412         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
49413         (AC_TYPE_LONG_LONG_INT): Use it.
49414         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
49415         it as well.
49416         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
49417         to m4/longlong.m4.
49418         * modules/stdint (Files): Remove m4/ulonglong.m4.
49419         * modules/strtoull (Files): Use m4/longlong.m4 instead of
49420         m4/ulonglong.m4.
49421         * modules/strtoumax (Files): Likewise.
49422
49423 2007-10-30  Bruno Haible  <bruno@clisp.org>
49424
49425         * modules/xvasprintf-posix: New file.
49426         Suggested by Eric Blake.
49427
49428 2007-10-30  Bruno Haible  <bruno@clisp.org>
49429
49430         * modules/xprintf-posix-tests: New file.
49431         * tests/test-xprintf-posix.sh: New file.
49432         * tests/test-xprintf-posix.c: New file.
49433         * tests/test-xfprintf-posix.c: New file.
49434
49435         * modules/xprintf-posix: New file.
49436
49437 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49438
49439         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
49440         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
49441         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
49442
49443 2007-10-29  Bruno Haible  <bruno@clisp.org>
49444
49445         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
49446         contain the special marker '_cv_'.
49447         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
49448         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
49449         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
49450         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
49451         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
49452         Reported by Ralf Wildenhues.
49453
49454 2007-10-29  Bruno Haible  <bruno@clisp.org>
49455
49456         * gnulib-tool (func_import): When --lgpl is not specified, set
49457         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
49458         GPLv3.
49459         Reported by Simon Josefsson.
49460
49461 2007-10-28  Bruno Haible  <bruno@clisp.org>
49462
49463         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
49464         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
49465         HAVE_DECL_ISFINITE.
49466         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
49467         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
49468         HAVE_DECL_ISFINITE.
49469
49470 2007-10-28  Bruno Haible  <bruno@clisp.org>
49471
49472         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
49473         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
49474
49475 2007-10-28  Bruno Haible  <bruno@clisp.org>
49476
49477         Fix link errors with Sun C 5.0 on Solaris 10.
49478         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
49479         function is declared but not present in the compiler's libm.
49480         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
49481         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
49482         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
49483         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
49484         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
49485         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
49486         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
49487         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
49488         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
49489         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
49490         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
49491         HAVE_DECL_FLOORL.
49492
49493 2007-10-28  Bruno Haible  <bruno@clisp.org>
49494
49495         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
49496         gl_FUNC_FLOORL. Cache the result.
49497         (gl_FUNC_FLOORL): Use it.
49498         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
49499         gl_FUNC_CEILL. Cache the result.
49500         (gl_FUNC_CEILL): Use it.
49501
49502         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
49503         gl_FUNC_FLOOR. Cache the result.
49504         (gl_FUNC_FLOOR): Use it.
49505         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
49506         gl_FUNC_CEIL. Cache the result.
49507         (gl_FUNC_CEIL): Use it.
49508
49509         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
49510         gl_FUNC_FLOORF. Cache the result.
49511         (gl_FUNC_FLOORF): Use it.
49512         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
49513         gl_FUNC_CEILF. Cache the result.
49514         (gl_FUNC_CEILF): Use it.
49515
49516 2007-10-28  Bruno Haible  <bruno@clisp.org>
49517
49518         * gnulib-tool: Allow specifying the LGPL version number through
49519         --lgpl=2 or --lgpl=3.
49520         (func_usage): Document --lgpl with argument.
49521         Handle --lgpl=... arguments.
49522         (func_import): Recognize also gl_LGPL calls with an argument. When
49523         --lgpl=2 is used and the module's license is just LGPL, report an
49524         error. Set sed_transform_lib_file according to the lgpl variable. In
49525         the generated files, use --lgpl or gl_LGPL invocations with argument,
49526         if necessary.
49527         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
49528         an LGPv2+ license.
49529         * doc/gnulib-tool.texi (Modified imports): Update explanation of
49530         gl_LGPL macro.
49531
49532 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49533             Bruno Haible  <bruno@clisp.org>
49534
49535         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
49536         (u16_uctomb_aux): Likewise.
49537         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
49538         !HAVE_INLINE.
49539         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
49540
49541 2007-10-28  Bruno Haible  <bruno@clisp.org>
49542
49543         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
49544         Invoke AM_GETTEXT_OPTION if it exists.
49545         * modules/vasprintf: Likewise.
49546         * modules/verror: Likewise.
49547         * modules/xprintf: Likewise.
49548         * modules/xvasprintf: Likewise.
49549
49550 2007-10-27  Ben Pfaff  <blp@gnu.org>
49551
49552         * lib/math.in.h: Define isfinite macro and prototypes for
49553         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
49554         implementations.
49555         * m4/math_h.m4: New substitutions for isfinite module.
49556         * lib/isfinite.c: New file.
49557         * m4/isfinite.m4: New file.
49558         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
49559         * modules/isfinite: New file.
49560         * modules/isfinite-tests: New file.
49561         * tests/tests-isfinite.c: New file.
49562         * doc/functions/isfinite.texi: Mention isfinite module.
49563         * MODULES.html.sh: Mention new module.
49564
49565 2007-10-27  Ben Pfaff  <blp@gnu.org>
49566
49567         Ralf Wildenhues reported that Tru64 4.0D declares the round
49568         functions but does not have definitions.
49569         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
49570         cannot be found in any library, set the output variable to
49571         "missing" instead of "".
49572         * m4/round.m4: Also use our substitute if we cannot find round in
49573         any library, even if it is declared.
49574         * m4/roundf.m4: Likewise for roundf.
49575         * m4/roundl.m4: Likewise for roundl.
49576         * lib/math.in.h: Undefine roundf, round, roundl before defining
49577         their replacements, to allow for hypothetical systems where these
49578         may be defined as macros but not available in libraries.
49579
49580 2007-10-27  Bruno Haible  <bruno@clisp.org>
49581
49582         * doc/gnulib.texi: Invoke @firstparagraphindent.
49583         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
49584         changes in gnulib.
49585         (Source changes): New section.
49586
49587 2007-10-26  Bruno Haible  <bruno@clisp.org>
49588
49589         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
49590         borrowed from autoconf.
49591
49592 2007-10-26  Bruno Haible  <bruno@clisp.org>
49593
49594         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
49595         strerror returned the empty string. Needed on HP-UX 11.00.
49596
49597 2007-10-24  Micah Cowan  <micah@cowan.name>
49598
49599         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
49600         * build-aux/bootstrap: Remove support for now-unnecessary option,
49601         --cvs-user, and envvars CVS_USER, CVS_RSH.
49602
49603 2007-10-24  Jim Meyering  <meyering@redhat.com>
49604
49605         Avoid diagnostics from sha1sum when there is no cached checksum.
49606         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
49607         if the po.s1 file hasn't been created yet.
49608
49609         * build-aux/bootstrap: Sync from coreutils:
49610         2007-10-24  Jim Meyering  <meyering@redhat.com>
49611         Get gnulib from the git repository, not from an obsolete cvs one.
49612         * build-aux/bootstrap: Suggestion from Micah Cowan.
49613         2007-10-04  Jim Meyering  <jim@meyering.net>
49614         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
49615         (update_po_files): Work also when there are no .po files in po/.
49616
49617 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
49618
49619         * README: Append ".git" to git and cg examples.
49620         Problem reported by Benoit Sigoure.
49621
49622 2007-10-23  Micah Cowan  <micah@cowan.name>
49623
49624         * users.txt: Add wget.
49625
49626 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49627
49628         Fix linking of some unistdio tests on FreeBSD.
49629         * modules/unistdio/u16-vsnprintf-tests
49630         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
49631         * modules/unistdio/u16-vsprintf-tests
49632         (test_u16_vsnprintf1_LDADD): Likewise.
49633         * modules/unistdio/u32-vsnprintf-tests
49634         (test_u32_vsnprintf1_LDADD): Likewise.
49635         * modules/unistdio/u32-vsprintf-tests
49636         (test_u32_vsprintf1_LDADD): Likewise.
49637         * modules/unistdio/u8-vsnprintf-tests
49638         (test_u8_vsnprintf1_LDADD): Likewise.
49639         * modules/unistdio/u8-vsprintf-tests
49640         (test_u8_vsprintf1_LDADD): Likewise.
49641         * modules/unistdio/ulc-vsnprintf-tests
49642         (test_ulc_vsnprintf1_LDADD): Likewise.
49643         * modules/unistdio/ulc-vsprintf-tests
49644         (test_ulc_vsprintf1_LDADD): Likewise.
49645
49646         Fix linking of some uniconv tests on FreeBSD.
49647         * modules/uniconv/u16-conv-from-enc-tests
49648         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
49649         * modules/uniconv/u16-conv-to-enc-tests
49650         (test_u16_conv_to_enc_LDADD): Likewise.
49651         * modules/uniconv/u16-strconv-from-enc-tests
49652         (test_u16_strconv_from_enc_LDADD): Likewise.
49653         * modules/uniconv/u16-strconv-to-enc-tests
49654         (test_u16_strconv_to_enc_LDADD): Likewise.
49655         * modules/uniconv/u32-conv-from-enc-tests
49656         (test_u32_conv_from_enc_LDADD): Likewise.
49657         * modules/uniconv/u32-conv-to-enc-tests
49658         (test_u32_conv_to_enc_LDADD): Likewise.
49659         * modules/uniconv/u32-strconv-from-enc-tests
49660         (test_u32_strconv_from_enc_LDADD): Likewise.
49661         * modules/uniconv/u32-strconv-to-enc-tests
49662         (test_u32_strconv_to_enc_LDADD): Likewise.
49663         * modules/uniconv/u8-conv-from-enc-tests
49664         (test_u8_conv_from_enc_LDADD): Likewise.
49665         * modules/uniconv/u8-conv-to-enc-tests
49666         (test_u8_conv_to_enc_LDADD): Likewise.
49667         * modules/uniconv/u8-strconv-from-enc-tests
49668         (test_u8_strconv_from_enc_LDADD): Likewise.
49669         * modules/uniconv/u8-strconv-to-enc-tests
49670         (test_u8_strconv_to_enc_LDADD): Likewise.
49671
49672 2007-10-22  Bruno Haible  <bruno@clisp.org>
49673
49674         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
49675         size.
49676
49677 2007-10-22  Eric Blake  <ebb9@byu.net>
49678
49679         Tweak x*printf documentation.
49680         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
49681         variable name and comments.
49682         Suggested by Bruno Haible.
49683
49684 2007-10-22  Bruno Haible  <bruno@clisp.org>
49685
49686         * lib/acl.c (copy_acl): Fix file name in comment.
49687
49688 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
49689
49690         Fix Tru64 problem with stdbool.h.
49691         * lib/stdbool.in.h (false, true):
49692         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
49693         Don't declare as an enum in this situation; it runs afoul of Tru64.
49694         Problem reported by Steven M. Schweda in
49695         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
49696
49697 2007-10-22  Eric Blake  <ebb9@byu.net>
49698
49699         Also wrap vf?printf.
49700         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
49701         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
49702         (xvprintf, xvfprintf): New functions.
49703
49704 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49705
49706         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
49707         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
49708
49709         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
49710         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
49711
49712 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
49713
49714         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
49715         by Bruno Haible.
49716
49717 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49718
49719         * lib/getloadavg.c
49720         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
49721         Undef `sys' after including sys/table.h, for Tru64 4.0D.
49722
49723         * tests/test-i-ring.c: Work for C89.
49724
49725 2007-10-22  Bruno Haible  <bruno@clisp.org>
49726
49727         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
49728         -1u, in preprocessor expression, so that we don't test for the bug
49729         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
49730         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
49731
49732 2007-10-22  Eric Blake  <ebb9@byu.net>
49733
49734         * tests/test-yesno.sh: Silence stderr during test.
49735
49736 2007-10-22  Simon Josefsson  <simon@josefsson.org>
49737
49738         * modules/crypto/gc-camellia: New file.
49739
49740         * m4/gc-camellia.m4: New file.
49741
49742         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
49743
49744         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
49745
49746 2007-10-22  Simon Josefsson  <simon@josefsson.org>
49747
49748         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
49749         --help to stdout.  Reported by sms@antinode.org (Steven
49750         M. Schweda).
49751
49752 2007-10-22  Simon Josefsson  <simon@josefsson.org>
49753
49754         * users.txt: Fix link to libksba.
49755
49756 2007-10-21  Ben Pfaff  <blp@gnu.org>
49757
49758         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
49759         round.c roundf implementation that depends on floorf and ceilf to
49760         be tested unconditionally.
49761
49762 2007-10-21  Ben Pfaff  <blp@gnu.org>
49763
49764         * m4/check-libm-func.m4: Removed.
49765         * m4/check-math-lib.m4: New file.
49766         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
49767         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
49768         definition and lack of AC_LIBOBJ([roundf]).
49769         * m4/roundl.m4: Ditto, and similarly for roundl.
49770         * modules/round: Reference new m4 file.
49771         * modules/roundf: Ditto.
49772         * modules/roundl: Ditto.
49773         * tests/test-round2.c (main): Use ROUND instead of round.
49774         Bug report from Bruno Haible.
49775
49776 2007-10-21  Bruno Haible  <bruno@clisp.org>
49777
49778         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
49779         context.
49780
49781 2007-10-21  Bruno Haible  <bruno@clisp.org>
49782
49783         * tests/test-wcwidth.c (main): Allow negative result for some control
49784         characters.
49785
49786         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
49787         Needed on OSF/1 5.1.
49788
49789 2007-10-21  Bruno Haible  <bruno@clisp.org>
49790
49791         * tests/test-floorf1.c: Include isnanf.h.
49792         (main): Use isnanf() instead of isnan().
49793         * tests/test-ceilf1.c: Include isnanf.h.
49794         (main): Use isnanf() instead of isnan().
49795         * tests/test-truncf1.c: Include isnanf.h.
49796         (main): Use isnanf() instead of isnan().
49797         * tests/test-roundf1.c: Include isnanf.h.
49798         (main): Use isnanf() instead of isnan().
49799
49800 2007-10-21  Eric Blake  <ebb9@byu.net>
49801
49802         * users.txt: Update URL for m4.
49803
49804 2007-10-21  Bruno Haible  <bruno@clisp.org>
49805
49806         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
49807
49808 2007-10-21  Bruno Haible  <bruno@clisp.org>
49809
49810         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
49811         Git's management files if the CVS files are not present.
49812
49813 2007-10-20  Bruno Haible  <bruno@clisp.org>
49814
49815         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
49816         gcc-3.4.x.
49817
49818 2007-10-20  Ben Pfaff  <blp@gnu.org>
49819
49820         * lib/math.in.h: Declare round, roundf, roundl if we are providing
49821         implementations.
49822         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
49823         * lib/round.c: New file.
49824         * lib/roundf.c: New file.
49825         * lib/roundl.c: New file.
49826         * m4/round.m4: New file.
49827         * m4/roundf.m4: New file.
49828         * m4/roundl.m4: New file.
49829         * m4/check-libm-func-m4: New file.
49830         * modules/math: Replace round, roundf, roundl related @VARS@ in
49831         math.in.h.
49832         * modules/round: New file.
49833         * modules/round-tests: New file.
49834         * modules/roundf: New file.
49835         * modules/roundf-tests: New file.
49836         * modules/roundl: New file.
49837         * modules/roundl-tests: New file.
49838         * tests/test-round1.c: New file.
49839         * tests/test-round2.c: New file.
49840         * tests/test-roundf1.c: New file.
49841         * tests/test-roundf2.c: New file.
49842         * tests/test-roundl.c: New file.
49843         * doc/functions/round.texi: Mention round module.
49844         * doc/functions/roundf.texi: Mention roundf module.
49845         * doc/functions/roundl.texi: Mention roundl module.
49846         * MODULES.html.sh: Mention new modules.
49847         Thanks to Bruno Haible for suggestions.
49848
49849 2007-10-20  Jim Meyering  <meyering@redhat.com>
49850
49851         * lib/xprintf.c: Include <config.h> unconditionally.
49852
49853         Change xprintf's license to GPL.
49854         * modules/xprintf (License): s/LGPL/GPL/, since this module
49855         depends on modules (exit and exitfail) which are GPL.
49856         Suggestion from Bruno Haible.
49857
49858         xprintf fixes.
49859         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
49860         Use a clearer diagnostic.
49861         Patch from Bruno Haible.
49862
49863 2007-10-20  Bruno Haible  <bruno@clisp.org>
49864
49865         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
49866         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
49867         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49868
49869 2007-10-20  Bruno Haible  <bruno@clisp.org>
49870
49871         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
49872         precision in the comparison result > x - 1 or similar.
49873         * tests/test-ceilf2.c (correct_result_p): Likewise.
49874         * tests/test-truncf2.c (correct_result_p): Likewise.
49875         * tests/test-trunc2.c (correct_result_p): Likewise.
49876         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49877
49878 2007-10-20  Bruno Haible  <bruno@clisp.org>
49879
49880         * modules/ceil: New file.
49881         * m4/ceil.m4: New file.
49882         * doc/functions/ceil.texi: Mention the 'ceil' module.
49883
49884 2007-10-20  Bruno Haible  <bruno@clisp.org>
49885
49886         * modules/floor: New file.
49887         * m4/floor.m4: New file.
49888         * doc/functions/floor.texi: Mention the 'floor' module.
49889
49890 2007-10-20  Bruno Haible  <bruno@clisp.org>
49891
49892         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
49893         of %a.
49894         * modules/floorf-tests (Depends-on): Likewise.
49895         * modules/truncf-tests (Depends-on): Likewise.
49896         * modules/trunc-tests (Depends-on): Likewise.
49897         Reported by Ben Pfaff.
49898
49899 2007-10-19  Jim Meyering  <meyering@redhat.com>
49900
49901         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
49902         Don't bother testing specific errno values.  Just test ferror.
49903
49904         New module: xprintf
49905         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
49906
49907 2007-10-19  Bruno Haible  <bruno@clisp.org>
49908
49909         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
49910         syntax.
49911         * modules/javaexec (Makefile.am): Likewise.
49912         * modules/relocatable-prog (Makefile.am): Likewise.
49913         Suggested by Jim Meyering.
49914
49915 2007-10-18  Bruno Haible  <bruno@clisp.org>
49916
49917         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
49918         Reported by Jim Meyering.
49919
49920 2007-10-18  Eric Blake  <ebb9@byu.net>
49921
49922         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
49923
49924 2007-10-18  Bruno Haible  <bruno@clisp.org>
49925
49926         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
49927         the format string into writable memory. Needed in Fortify conditions.
49928
49929 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
49930             Bruno Haible  <bruno@clisp.org>
49931
49932         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
49933         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
49934         * modules/trim (Depends-on): Add mbchar.
49935         (configure.ac): Add gl_FUNC_MBRTOWC.
49936         (Makefile.am): Augment lib_SOURCES.
49937
49938 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
49939
49940         Modify glob.c to use fstatat and dirfd, to simplify it.
49941         Suggested by Eric Blake.
49942         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
49943         Don't include <stdbool.h>; not used.
49944         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
49945         (link_exists_p): Simplify implementation, since we can now assume
49946         dirfd and fstatat.
49947         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
49948
49949 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49950
49951         * gnulib-tool (func_get_dependencies): Fix sed script to
49952         match only tests.
49953
49954 2007-10-17  Bruno Haible  <bruno@clisp.org>
49955
49956         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
49957         allow locale names without encoding suffix.
49958         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
49959         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
49960
49961 2007-10-16  Bruno Haible  <bruno@clisp.org>
49962
49963         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
49964         * lib/getgroups.c (getgroups): Likewise.
49965         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
49966
49967 2007-10-16  Bruno Haible  <bruno@clisp.org>
49968
49969         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
49970         * modules/malloc-posix (License): Likewise.
49971         * modules/realloc-posix (License): Likewise.
49972         * modules/calloc-posix (License): Likewise.
49973         * modules/intprops (License): Change from GPL to LGPL, with
49974         Paul Eggert's approval.
49975
49976 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
49977
49978         Merge glibc changes into lib/glob.c.
49979
49980         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
49981         2007-10-15 04:59:03 UTC.  Here are the changes:
49982
49983         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
49984
49985         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
49986
49987         * lib/glob.c: Add some branch prediction throughout.
49988
49989         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
49990
49991         [BZ #5103]
49992         * lib/glob.c (glob): Recognize patterns starting \/.
49993
49994         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
49995
49996         [BZ #3996]
49997         * lib/glob.c (attribute_hidden): Define if not defined.
49998         (glob): Unescape dirname, filename or username when needed and not
49999         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
50000         is NULL.  Handle unescaped [ in pattern without closing ].
50001         Don't pass GLOB_CHECK down to recursive glob for directories.
50002         (__glob_pattern_type): New function.
50003         (__glob_pattern_p): Implement using __glob_pattern_type.
50004         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
50005         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
50006         Remove unreachable code.
50007
50008         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
50009
50010         * lib/glob.c (glob_in_dir): Add some comments and asserts to
50011         explain why there are no leaks.
50012
50013         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
50014
50015         [BZ #3253]
50016         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
50017         time, rather allocate increasingly bigger arrays of pointers, if
50018         possible with alloca, if too large with malloc.
50019
50020 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
50021
50022         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
50023         Problem reported by H.Merijn Brand in
50024         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
50025         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
50026         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
50027
50028 2007-10-15  Bruno Haible  <bruno@clisp.org>
50029
50030         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
50031         with explicit rpl_ prefix.
50032         * lib/fopen.c (fopen): Likewise.
50033         * lib/freopen.c (freopen): Likewise.
50034         * lib/iconv.c (iconv): Likewise.
50035         * lib/iconv_close.c (iconv_close): Likewise.
50036
50037 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50038
50039         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
50040
50041 2007-10-15  Bruno Haible  <bruno@clisp.org>
50042
50043         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
50044         <stddef.h> instead of <stdlib.h> since we only need NULL.
50045         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50046
50047 2007-10-15  Bruno Haible  <bruno@clisp.org>
50048
50049         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
50050         Replace paragraph talking about LIBOBJS.
50051         Reported by Colin Watson <cjwatson@debian.org>.
50052
50053 2007-10-15  Bruno Haible  <bruno@clisp.org>
50054
50055         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
50056         <stdlib.h> before using NULL.
50057
50058 2007-10-15  Simon Josefsson  <simon@josefsson.org>
50059
50060         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
50061         Reported by Albert Chin <china@thewrittenword.com>.
50062
50063 2007-10-14  Bruno Haible  <bruno@clisp.org>
50064
50065         * modules/iconv_open-utf-tests: New file.
50066         * tests/test-iconv-utf.c: New file.
50067
50068         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
50069         * modules/iconv_open-utf: New file.
50070         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
50071         (iconv, iconv_close): New declarations.
50072         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
50073         be defined.
50074         (iconv_open): Add special handling of conversion between UTF-8 and
50075         UTF-{16,32}{BE,LE}.
50076         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
50077         * lib/iconv_close.c: New file.
50078         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
50079         gl_FUNC_ICONV_OPEN.
50080         (gl_FUNC_ICONV_OPEN): Use it.
50081         (gl_FUNC_ICONV_OPEN_UTF): New macro.
50082         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
50083         and REPLACE_ICONV_UTF.
50084         * modules/iconv_open (Depends-on): Add c-strcase.
50085         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
50086         ICONV_CONST.
50087         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
50088
50089 2007-10-13  Albert Chin  <china@thewrittenword.com>
50090             Bruno Haible  <bruno@clisp.org>
50091
50092         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
50093         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
50094
50095 2007-10-13  Bruno Haible  <bruno@clisp.org>
50096
50097         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
50098         defined, use the ISO C99 inline semantics.
50099         * lib/argp.h (ARGP_EI): Likewise.
50100
50101 2007-10-13  Bruno Haible  <bruno@clisp.org>
50102
50103         Handle 'inline' change in gcc 4.3.0.
50104         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
50105         argp_fmtstream_write, argp_fmtstream_set_lmargin,
50106         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
50107         argp_fmtstream_point): Disable 'extern' declaration if the function
50108         definition is going to be provided inline.
50109         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
50110         semantics, not the ISO C99 inline semantics.
50111         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
50112         'extern' declaration if the function definition is going to be provided
50113         inline.
50114         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
50115         the GNU C inline semantics, not the ISO C99 inline semantics. With
50116         GCC 4.2, avoid a warning.
50117
50118 2007-10-13  Bruno Haible  <bruno@clisp.org>
50119
50120         * lib/freading.h (freading): Enable the use of __freading for
50121         glibc >= 2.7.
50122         * lib/freading.c (freading): Likewise.
50123
50124 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
50125
50126         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
50127         "warning: C99 inline functions are not supported; using GNU89".
50128
50129 2007-10-12  Bruno Haible  <bruno@clisp.org>
50130
50131         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
50132         of 2.
50133         * tests/test-ceilf2.c: New file.
50134         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
50135
50136         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
50137         * modules/ceilf-tests: Update.
50138
50139 2007-10-12  Bruno Haible  <bruno@clisp.org>
50140
50141         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
50142         of 2.
50143         * tests/test-floorf2.c: New file.
50144         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
50145
50146         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
50147         * modules/floorf-tests: Update.
50148
50149 2007-10-12  Bruno Haible  <bruno@clisp.org>
50150
50151         * tests/test-trunc2.c: New file.
50152         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
50153
50154         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
50155         * modules/trunc-tests: Update.
50156
50157 2007-10-12  Bruno Haible  <bruno@clisp.org>
50158
50159         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
50160         of 2.
50161         * tests/test-truncf2.c: New file.
50162         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
50163
50164         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
50165         * modules/truncf-tests: Update.
50166
50167 2007-10-11  Eric Blake  <ebb9@byu.net>
50168
50169         Don't claim strerror is broken on Interix.
50170         * doc/functions/strerror.texi (strerror): Known broken systems are
50171         now Solaris 8, and not Interix.
50172         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
50173         Interix on cross-compile.
50174         Reported by Martin Koeppe in
50175         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
50176
50177 2007-10-11  Bruno Haible  <bruno@clisp.org>
50178
50179         * modules/i-ring-tests: New file.
50180         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
50181         instead of assert.
50182
50183 2007-10-11  Bruno Haible  <bruno@clisp.org>
50184
50185         * modules/filenamecat-tests: New file.
50186         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
50187         * lib/filenamecat.c: Remove test code.
50188
50189 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
50190
50191         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
50192
50193         * lib/strerror.c: Include <string.h> always, to test interface,
50194         and to remove the need for the dummy.
50195         Include intprops.h to compute width instead of doing it ourselves
50196         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
50197         (strerror): Define it to return NULL if there's no system strerror.
50198         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
50199         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
50200         ancient pre-strerror Unix systems well any more.  Saying "unknown
50201         system error" is enough.
50202         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
50203         simpler strerror.c implementation.
50204         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
50205         Simplify the tests to reflect the simpler strerror implementation.
50206         * modules/strerror (Depends-on): Add intprops.
50207
50208 2007-10-09  Eric Blake  <ebb9@byu.net>
50209
50210         Silence test-fpending.
50211         * modules/fpending-tests (Files): Add wrapper script.
50212         * tests/test-fpending.sh: New file.
50213
50214 2007-10-09  Bruno Haible  <bruno@clisp.org>
50215
50216         * MODULES.html.sh (func_module): Don't create a hyperlink for
50217         function names like 'printf_frexp'.
50218         (Misc): Add crc, memxor.
50219         (Characteristics of floating types): New section.
50220         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
50221         isnanf-nolibm, signbit, trunc, truncf, truncl.
50222         (Enhancements for ISO C 99 functions): New subsection Input/output.
50223         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
50224         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
50225         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
50226         (Compatibility checks for POSIX:2001 functions): Add clock-time.
50227         (Enhancements for POSIX:2001 functions): Add chdir-long.
50228         (File system functions): Add areadlink, chdir-safer, read-file.
50229         Remove cycle-check.
50230         (File system as inode set): New section.
50231         (Date and time): Add gethrxtime.
50232         (Multithreading): Add openmp.
50233         (Internationalization functions): Add localename.
50234         (Unicode string functions): Add unistr/u*-mbsnlen.
50235         (Support for maintaining and releasing projects): Add git-version-gen.
50236         (Lone files): Remove directories.
50237
50238 2007-10-08  Ben Pfaff  <blp@gnu.org>
50239
50240         * lib/xmalloca.h: Fix typo in comment.
50241
50242 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
50243
50244         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
50245         when avoiding problems with integer overflow.  Use a portable test
50246         instead.
50247
50248 2007-10-08  Simon Josefsson  <simon@josefsson.org>
50249
50250         * modules/dummy (License): Change to LGPLv2+.
50251         * modules/float (License): Likewise
50252         * modules/realloc (License): Likewise
50253         * modules/stdlib (License): Likewise
50254
50255 2007-10-07  Bruno Haible  <bruno@clisp.org>
50256
50257         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
50258         * floor.c (TWO_MANT_DIG): Likewise.
50259         * ceil.c (TWO_MANT_DIG): Likewise.
50260         Reported by Ben Pfaff.
50261
50262 2007-10-07  Bruno Haible  <bruno@clisp.org>
50263
50264         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
50265         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
50266         * lib/frexp.c (FUNC): Likewise.
50267         * lib/printf-frexp.h (printf_frexp): Likewise.
50268         * lib/printf-frexpl.h (printf_frexpl): Likewise.
50269         * lib/printf-frexp.c (FUNC): Likewise.
50270         Suggested by Jim Meyering.
50271
50272 2007-10-07  Jim Meyering  <meyering@redhat.com>
50273
50274         Make xnanosleep's integer overflow test more robust.
50275         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
50276         so that gcc-4.3.0 doesn't optimize away this test for overflow.
50277
50278 2007-10-07  Bruno Haible  <bruno@clisp.org>
50279
50280         * NEWS: Mention the license change.
50281
50282         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
50283         abbreviations in the modules files.
50284
50285         Change copyright notice from GPLv2+ to GPLv3+.
50286         * README: Change copyright notice.
50287         * MODULES.html.sh: Likewise.
50288         * build-aux/bootstrap.conf: Likewise.
50289         * build-aux/config.libpath: Likewise.
50290         * build-aux/csharpcomp.sh.in: Likewise.
50291         * build-aux/csharpexec.sh.in: Likewise.
50292         * build-aux/install-reloc: Likewise.
50293         * build-aux/javacomp.sh.in: Likewise.
50294         * build-aux/javaexec.sh.in: Likewise.
50295         * build-aux/ldd.sh.in: Likewise.
50296         * build-aux/reloc-ldflags: Likewise.
50297         * build-aux/relocatable.sh.in: Likewise.
50298         * build-aux/x-to-1.in: Likewise.
50299         * check-module: Likewise.
50300         * config/srclistvars.sh: Likewise.
50301         * gnulib-tool: Likewise.
50302         * lib/acl-internal.h: Likewise.
50303         * lib/acl.c: Likewise.
50304         * lib/acl.h: Likewise.
50305         * lib/acl_entries.c: Likewise.
50306         * lib/areadlink-with-size.c: Likewise.
50307         * lib/areadlink.c: Likewise.
50308         * lib/areadlink.h: Likewise.
50309         * lib/argmatch.c: Likewise.
50310         * lib/argmatch.h: Likewise.
50311         * lib/argp-ba.c: Likewise.
50312         * lib/argp-eexst.c: Likewise.
50313         * lib/argp-fmtstream.c: Likewise.
50314         * lib/argp-fmtstream.h: Likewise.
50315         * lib/argp-fs-xinl.c: Likewise.
50316         * lib/argp-help.c: Likewise.
50317         * lib/argp-namefrob.h: Likewise.
50318         * lib/argp-parse.c: Likewise.
50319         * lib/argp-pin.c: Likewise.
50320         * lib/argp-pv.c: Likewise.
50321         * lib/argp-pvh.c: Likewise.
50322         * lib/argp-xinl.c: Likewise.
50323         * lib/argp.h: Likewise.
50324         * lib/at-func.c: Likewise.
50325         * lib/atanl.c: Likewise.
50326         * lib/backupfile.c: Likewise.
50327         * lib/backupfile.h: Likewise.
50328         * lib/basename.c: Likewise.
50329         * lib/binary-io.h: Likewise.
50330         * lib/byteswap.in.h: Likewise.
50331         * lib/c-stack.c: Likewise.
50332         * lib/c-stack.h: Likewise.
50333         * lib/c-strcasestr.c: Likewise.
50334         * lib/c-strcasestr.h: Likewise.
50335         * lib/c-strstr.c: Likewise.
50336         * lib/c-strstr.h: Likewise.
50337         * lib/c-strtod.c: Likewise.
50338         * lib/calloc.c: Likewise.
50339         * lib/canon-host.c: Likewise.
50340         * lib/canon-host.h: Likewise.
50341         * lib/canonicalize-lgpl.c: Likewise.
50342         * lib/canonicalize.c: Likewise.
50343         * lib/canonicalize.h: Likewise.
50344         * lib/ceil.c: Likewise.
50345         * lib/ceilf.c: Likewise.
50346         * lib/ceill.c: Likewise.
50347         * lib/chdir-long.c: Likewise.
50348         * lib/chdir-long.h: Likewise.
50349         * lib/chdir-safer.c: Likewise.
50350         * lib/chdir-safer.h: Likewise.
50351         * lib/chown.c: Likewise.
50352         * lib/classpath.c: Likewise.
50353         * lib/classpath.h: Likewise.
50354         * lib/clean-temp.c: Likewise.
50355         * lib/clean-temp.h: Likewise.
50356         * lib/cloexec.c: Likewise.
50357         * lib/close-stream.c: Likewise.
50358         * lib/closein.c: Likewise.
50359         * lib/closein.h: Likewise.
50360         * lib/closeout.c: Likewise.
50361         * lib/closeout.h: Likewise.
50362         * lib/concat-filename.c: Likewise.
50363         * lib/copy-file.c: Likewise.
50364         * lib/copy-file.h: Likewise.
50365         * lib/count-one-bits.h: Likewise.
50366         * lib/crc.c: Likewise.
50367         * lib/crc.h: Likewise.
50368         * lib/creat-safer.c: Likewise.
50369         * lib/csharpcomp.c: Likewise.
50370         * lib/csharpcomp.h: Likewise.
50371         * lib/csharpexec.c: Likewise.
50372         * lib/csharpexec.h: Likewise.
50373         * lib/cycle-check.c: Likewise.
50374         * lib/cycle-check.h: Likewise.
50375         * lib/diacrit.c: Likewise.
50376         * lib/diacrit.h: Likewise.
50377         * lib/diffseq.h: Likewise.
50378         * lib/dirchownmod.c: Likewise.
50379         * lib/dirent.in.h: Likewise.
50380         * lib/dirfd.c: Likewise.
50381         * lib/dirfd.h: Likewise.
50382         * lib/dirname.c: Likewise.
50383         * lib/dirname.h: Likewise.
50384         * lib/dummy.c: Likewise.
50385         * lib/dup-safer.c: Likewise.
50386         * lib/dup2.c: Likewise.
50387         * lib/eealloc.h: Likewise.
50388         * lib/error.c: Likewise.
50389         * lib/error.h: Likewise.
50390         * lib/euidaccess.c: Likewise.
50391         * lib/exclude.c: Likewise.
50392         * lib/exclude.h: Likewise.
50393         * lib/execute.c: Likewise.
50394         * lib/execute.h: Likewise.
50395         * lib/exitfail.c: Likewise.
50396         * lib/exitfail.h: Likewise.
50397         * lib/expl.c: Likewise.
50398         * lib/fatal-signal.c: Likewise.
50399         * lib/fatal-signal.h: Likewise.
50400         * lib/fbufmode.c: Likewise.
50401         * lib/fbufmode.h: Likewise.
50402         * lib/fchdir.c: Likewise.
50403         * lib/fchmodat.c: Likewise.
50404         * lib/fchownat.c: Likewise.
50405         * lib/fcntl--.h: Likewise.
50406         * lib/fcntl-safer.h: Likewise.
50407         * lib/fcntl.in.h: Likewise.
50408         * lib/fd-safer.c: Likewise.
50409         * lib/fflush.c: Likewise.
50410         * lib/file-has-acl.c: Likewise.
50411         * lib/file-set.c: Likewise.
50412         * lib/file-type.c: Likewise.
50413         * lib/file-type.h: Likewise.
50414         * lib/fileblocks.c: Likewise.
50415         * lib/filemode.c: Likewise.
50416         * lib/filemode.h: Likewise.
50417         * lib/filename.h: Likewise.
50418         * lib/filenamecat.c: Likewise.
50419         * lib/filenamecat.h: Likewise.
50420         * lib/findprog.c: Likewise.
50421         * lib/findprog.h: Likewise.
50422         * lib/float.in.h: Likewise.
50423         * lib/floor.c: Likewise.
50424         * lib/floorf.c: Likewise.
50425         * lib/floorl.c: Likewise.
50426         * lib/fopen-safer.c: Likewise.
50427         * lib/fopen.c: Likewise.
50428         * lib/fpending.c: Likewise.
50429         * lib/fpending.h: Likewise.
50430         * lib/fprintf.c: Likewise.
50431         * lib/fprintftime.h: Likewise.
50432         * lib/fpucw.h: Likewise.
50433         * lib/fpurge.c: Likewise.
50434         * lib/fpurge.h: Likewise.
50435         * lib/freadable.c: Likewise.
50436         * lib/freadable.h: Likewise.
50437         * lib/freadahead.c: Likewise.
50438         * lib/freadahead.h: Likewise.
50439         * lib/freading.c: Likewise.
50440         * lib/freading.h: Likewise.
50441         * lib/free.c: Likewise.
50442         * lib/freopen.c: Likewise.
50443         * lib/frexp.c: Likewise.
50444         * lib/frexpl.c: Likewise.
50445         * lib/fseek.c: Likewise.
50446         * lib/fseterr.c: Likewise.
50447         * lib/fseterr.h: Likewise.
50448         * lib/fstatat.c: Likewise.
50449         * lib/fstrcmp.c: Likewise.
50450         * lib/fstrcmp.h: Likewise.
50451         * lib/fsusage.c: Likewise.
50452         * lib/fsusage.h: Likewise.
50453         * lib/ftell.c: Likewise.
50454         * lib/ftello.c: Likewise.
50455         * lib/fts-cycle.c: Likewise.
50456         * lib/fts.c: Likewise.
50457         * lib/fts_.h: Likewise.
50458         * lib/full-read.c: Likewise.
50459         * lib/full-read.h: Likewise.
50460         * lib/full-write.c: Likewise.
50461         * lib/full-write.h: Likewise.
50462         * lib/fwritable.c: Likewise.
50463         * lib/fwritable.h: Likewise.
50464         * lib/fwriteerror.c: Likewise.
50465         * lib/fwriteerror.h: Likewise.
50466         * lib/fwriting.c: Likewise.
50467         * lib/fwriting.h: Likewise.
50468         * lib/gcd.c: Likewise.
50469         * lib/gcd.h: Likewise.
50470         * lib/getcwd.c: Likewise.
50471         * lib/getdate.h: Likewise.
50472         * lib/getdate.y: Likewise.
50473         * lib/getdomainname.c: Likewise.
50474         * lib/getdomainname.h: Likewise.
50475         * lib/getgroups.c: Likewise.
50476         * lib/gethostname.c: Likewise.
50477         * lib/gethrxtime.c: Likewise.
50478         * lib/gethrxtime.h: Likewise.
50479         * lib/getloadavg.c: Likewise.
50480         * lib/getndelim2.c: Likewise.
50481         * lib/getndelim2.h: Likewise.
50482         * lib/getnline.c: Likewise.
50483         * lib/getnline.h: Likewise.
50484         * lib/getopt.c: Likewise.
50485         * lib/getopt.in.h: Likewise.
50486         * lib/getopt1.c: Likewise.
50487         * lib/getopt_int.h: Likewise.
50488         * lib/getpagesize.h: Likewise.
50489         * lib/getsubopt.c: Likewise.
50490         * lib/gettime.c: Likewise.
50491         * lib/getugroups.c: Likewise.
50492         * lib/getugroups.h: Likewise.
50493         * lib/getusershell.c: Likewise.
50494         * lib/gl_anyavltree_list1.h: Likewise.
50495         * lib/gl_anyavltree_list2.h: Likewise.
50496         * lib/gl_anyhash_list1.h: Likewise.
50497         * lib/gl_anyhash_list2.h: Likewise.
50498         * lib/gl_anylinked_list1.h: Likewise.
50499         * lib/gl_anylinked_list2.h: Likewise.
50500         * lib/gl_anyrbtree_list1.h: Likewise.
50501         * lib/gl_anyrbtree_list2.h: Likewise.
50502         * lib/gl_anytree_list1.h: Likewise.
50503         * lib/gl_anytree_list2.h: Likewise.
50504         * lib/gl_anytree_oset.h: Likewise.
50505         * lib/gl_anytreehash_list1.h: Likewise.
50506         * lib/gl_anytreehash_list2.h: Likewise.
50507         * lib/gl_array_list.c: Likewise.
50508         * lib/gl_array_list.h: Likewise.
50509         * lib/gl_array_oset.c: Likewise.
50510         * lib/gl_array_oset.h: Likewise.
50511         * lib/gl_avltree_list.c: Likewise.
50512         * lib/gl_avltree_list.h: Likewise.
50513         * lib/gl_avltree_oset.c: Likewise.
50514         * lib/gl_avltree_oset.h: Likewise.
50515         * lib/gl_avltreehash_list.c: Likewise.
50516         * lib/gl_avltreehash_list.h: Likewise.
50517         * lib/gl_carray_list.c: Likewise.
50518         * lib/gl_carray_list.h: Likewise.
50519         * lib/gl_linked_list.c: Likewise.
50520         * lib/gl_linked_list.h: Likewise.
50521         * lib/gl_linkedhash_list.c: Likewise.
50522         * lib/gl_linkedhash_list.h: Likewise.
50523         * lib/gl_list.c: Likewise.
50524         * lib/gl_list.h: Likewise.
50525         * lib/gl_oset.c: Likewise.
50526         * lib/gl_oset.h: Likewise.
50527         * lib/gl_rbtree_list.c: Likewise.
50528         * lib/gl_rbtree_list.h: Likewise.
50529         * lib/gl_rbtree_oset.c: Likewise.
50530         * lib/gl_rbtree_oset.h: Likewise.
50531         * lib/gl_rbtreehash_list.c: Likewise.
50532         * lib/gl_rbtreehash_list.h: Likewise.
50533         * lib/gl_sublist.c: Likewise.
50534         * lib/gl_sublist.h: Likewise.
50535         * lib/group-member.c: Likewise.
50536         * lib/group-member.h: Likewise.
50537         * lib/hard-locale.c: Likewise.
50538         * lib/hard-locale.h: Likewise.
50539         * lib/hash-pjw.c: Likewise.
50540         * lib/hash-pjw.h: Likewise.
50541         * lib/hash-triple.c: Likewise.
50542         * lib/hash.c: Likewise.
50543         * lib/hash.h: Likewise.
50544         * lib/human.c: Likewise.
50545         * lib/human.h: Likewise.
50546         * lib/i-ring.c: Likewise.
50547         * lib/i-ring.h: Likewise.
50548         * lib/idcache.c: Likewise.
50549         * lib/imaxabs.c: Likewise.
50550         * lib/imaxdiv.c: Likewise.
50551         * lib/inet_pton.c: Likewise.
50552         * lib/inet_pton.h: Likewise.
50553         * lib/intprops.h: Likewise.
50554         * lib/inttostr.c: Likewise.
50555         * lib/inttostr.h: Likewise.
50556         * lib/inttypes.in.h: Likewise.
50557         * lib/isapipe.c: Likewise.
50558         * lib/isdir.c: Likewise.
50559         * lib/isnan.c: Likewise.
50560         * lib/isnan.h: Likewise.
50561         * lib/isnanf.c: Likewise.
50562         * lib/isnanf.h: Likewise.
50563         * lib/isnanl-nolibm.h: Likewise.
50564         * lib/isnanl.c: Likewise.
50565         * lib/isnanl.h: Likewise.
50566         * lib/javacomp.c: Likewise.
50567         * lib/javacomp.h: Likewise.
50568         * lib/javaexec.c: Likewise.
50569         * lib/javaexec.h: Likewise.
50570         * lib/javaversion.c: Likewise.
50571         * lib/javaversion.h: Likewise.
50572         * lib/javaversion.java: Likewise.
50573         * lib/lbrkprop.h: Likewise.
50574         * lib/lchmod.h: Likewise.
50575         * lib/lchown.c: Likewise.
50576         * lib/ldexpl.c: Likewise.
50577         * lib/linebreak.c: Likewise.
50578         * lib/linebreak.h: Likewise.
50579         * lib/linebuffer.c: Likewise.
50580         * lib/linebuffer.h: Likewise.
50581         * lib/locale.in.h: Likewise.
50582         * lib/logl.c: Likewise.
50583         * lib/long-options.c: Likewise.
50584         * lib/long-options.h: Likewise.
50585         * lib/lstat.c: Likewise.
50586         * lib/lstat.h: Likewise.
50587         * lib/math.in.h: Likewise.
50588         * lib/mbchar.c: Likewise.
50589         * lib/mbchar.h: Likewise.
50590         * lib/mbfile.h: Likewise.
50591         * lib/mbiter.h: Likewise.
50592         * lib/mbscasecmp.c: Likewise.
50593         * lib/mbscasestr.c: Likewise.
50594         * lib/mbschr.c: Likewise.
50595         * lib/mbscspn.c: Likewise.
50596         * lib/mbslen.c: Likewise.
50597         * lib/mbsncasecmp.c: Likewise.
50598         * lib/mbsnlen.c: Likewise.
50599         * lib/mbspbrk.c: Likewise.
50600         * lib/mbspcasecmp.c: Likewise.
50601         * lib/mbsrchr.c: Likewise.
50602         * lib/mbssep.c: Likewise.
50603         * lib/mbsspn.c: Likewise.
50604         * lib/mbsstr.c: Likewise.
50605         * lib/mbstok_r.c: Likewise.
50606         * lib/mbswidth.c: Likewise.
50607         * lib/mbswidth.h: Likewise.
50608         * lib/mbuiter.h: Likewise.
50609         * lib/memcasecmp.c: Likewise.
50610         * lib/memcasecmp.h: Likewise.
50611         * lib/memchr.c: Likewise.
50612         * lib/memcmp.c: Likewise.
50613         * lib/memcoll.c: Likewise.
50614         * lib/memcoll.h: Likewise.
50615         * lib/memcpy.c: Likewise.
50616         * lib/memrchr.c: Likewise.
50617         * lib/mkancesdirs.c: Likewise.
50618         * lib/mkdir-p.c: Likewise.
50619         * lib/mkdir-p.h: Likewise.
50620         * lib/mkdir.c: Likewise.
50621         * lib/mkdirat.c: Likewise.
50622         * lib/mkdtemp.c: Likewise.
50623         * lib/mkstemp-safer.c: Likewise.
50624         * lib/mkstemp.c: Likewise.
50625         * lib/modechange.c: Likewise.
50626         * lib/modechange.h: Likewise.
50627         * lib/mountlist.c: Likewise.
50628         * lib/mountlist.h: Likewise.
50629         * lib/mpsort.c: Likewise.
50630         * lib/nanosleep.c: Likewise.
50631         * lib/obstack.c: Likewise.
50632         * lib/obstack.h: Likewise.
50633         * lib/open-safer.c: Likewise.
50634         * lib/open.c: Likewise.
50635         * lib/openat-die.c: Likewise.
50636         * lib/openat-priv.h: Likewise.
50637         * lib/openat-proc.c: Likewise.
50638         * lib/openat.c: Likewise.
50639         * lib/openat.h: Likewise.
50640         * lib/pagealign_alloc.c: Likewise.
50641         * lib/pagealign_alloc.h: Likewise.
50642         * lib/physmem.c: Likewise.
50643         * lib/physmem.h: Likewise.
50644         * lib/pipe-safer.c: Likewise.
50645         * lib/pipe.c: Likewise.
50646         * lib/pipe.h: Likewise.
50647         * lib/posixtm.c: Likewise.
50648         * lib/posixtm.h: Likewise.
50649         * lib/posixver.c: Likewise.
50650         * lib/printf-frexp.c: Likewise.
50651         * lib/printf-frexp.h: Likewise.
50652         * lib/printf-frexpl.c: Likewise.
50653         * lib/printf-frexpl.h: Likewise.
50654         * lib/printf.c: Likewise.
50655         * lib/progname.c: Likewise.
50656         * lib/progname.h: Likewise.
50657         * lib/progreloc.c: Likewise.
50658         * lib/putenv.c: Likewise.
50659         * lib/quote.c: Likewise.
50660         * lib/quote.h: Likewise.
50661         * lib/quotearg.c: Likewise.
50662         * lib/quotearg.h: Likewise.
50663         * lib/raise.c: Likewise.
50664         * lib/readline.c: Likewise.
50665         * lib/readline.h: Likewise.
50666         * lib/readlink.c: Likewise.
50667         * lib/readtokens.c: Likewise.
50668         * lib/readtokens.h: Likewise.
50669         * lib/readtokens0.c: Likewise.
50670         * lib/readtokens0.h: Likewise.
50671         * lib/readutmp.c: Likewise.
50672         * lib/readutmp.h: Likewise.
50673         * lib/realloc.c: Likewise.
50674         * lib/relocwrapper.c: Likewise.
50675         * lib/rename-dest-slash.c: Likewise.
50676         * lib/rename.c: Likewise.
50677         * lib/rmdir.c: Likewise.
50678         * lib/rpmatch.c: Likewise.
50679         * lib/safe-read.c: Likewise.
50680         * lib/safe-read.h: Likewise.
50681         * lib/safe-write.c: Likewise.
50682         * lib/safe-write.h: Likewise.
50683         * lib/same-inode.h: Likewise.
50684         * lib/same.c: Likewise.
50685         * lib/same.h: Likewise.
50686         * lib/save-cwd.c: Likewise.
50687         * lib/save-cwd.h: Likewise.
50688         * lib/savedir.c: Likewise.
50689         * lib/savedir.h: Likewise.
50690         * lib/savewd.c: Likewise.
50691         * lib/savewd.h: Likewise.
50692         * lib/search.in.h: Likewise.
50693         * lib/setenv.c: Likewise.
50694         * lib/setenv.h: Likewise.
50695         * lib/settime.c: Likewise.
50696         * lib/sh-quote.c: Likewise.
50697         * lib/sh-quote.h: Likewise.
50698         * lib/sig2str.c: Likewise.
50699         * lib/sig2str.h: Likewise.
50700         * lib/signal.in.h: Likewise.
50701         * lib/signbitd.c: Likewise.
50702         * lib/signbitf.c: Likewise.
50703         * lib/signbitl.c: Likewise.
50704         * lib/sigprocmask.c: Likewise.
50705         * lib/sincosl.c: Likewise.
50706         * lib/sleep.c: Likewise.
50707         * lib/sprintf.c: Likewise.
50708         * lib/sqrtl.c: Likewise.
50709         * lib/stat-time.h: Likewise.
50710         * lib/stdio--.h: Likewise.
50711         * lib/stdio-safer.h: Likewise.
50712         * lib/stdlib--.h: Likewise.
50713         * lib/stdlib-safer.h: Likewise.
50714         * lib/stdlib.in.h: Likewise.
50715         * lib/stpcpy.c: Likewise.
50716         * lib/stpncpy.c: Likewise.
50717         * lib/strchrnul.c: Likewise.
50718         * lib/strcspn.c: Likewise.
50719         * lib/strerror.c: Likewise.
50720         * lib/strftime.c: Likewise.
50721         * lib/strftime.h: Likewise.
50722         * lib/striconveh.c: Likewise.
50723         * lib/striconveh.h: Likewise.
50724         * lib/striconveha.c: Likewise.
50725         * lib/striconveha.h: Likewise.
50726         * lib/stripslash.c: Likewise.
50727         * lib/strnlen1.c: Likewise.
50728         * lib/strnlen1.h: Likewise.
50729         * lib/strtod.c: Likewise.
50730         * lib/strtoimax.c: Likewise.
50731         * lib/strtok_r.c: Likewise.
50732         * lib/strtol.c: Likewise.
50733         * lib/strtoll.c: Likewise.
50734         * lib/strtoul.c: Likewise.
50735         * lib/strtoull.c: Likewise.
50736         * lib/sysexits.in.h: Likewise.
50737         * lib/tempname.c: Likewise.
50738         * lib/tempname.h: Likewise.
50739         * lib/timespec.h: Likewise.
50740         * lib/tls.c: Likewise.
50741         * lib/tls.h: Likewise.
50742         * lib/tmpdir.c: Likewise.
50743         * lib/tmpdir.h: Likewise.
50744         * lib/tmpfile-safer.c: Likewise.
50745         * lib/tmpfile.c: Likewise.
50746         * lib/trigl.c: Likewise.
50747         * lib/trigl.h: Likewise.
50748         * lib/trim.c: Likewise.
50749         * lib/trim.h: Likewise.
50750         * lib/trunc.c: Likewise.
50751         * lib/truncf.c: Likewise.
50752         * lib/truncl.c: Likewise.
50753         * lib/tsearch.c: Likewise.
50754         * lib/unicodeio.c: Likewise.
50755         * lib/unicodeio.h: Likewise.
50756         * lib/unistd--.h: Likewise.
50757         * lib/unistd-safer.h: Likewise.
50758         * lib/unistdio/ulc-fprintf.c: Likewise.
50759         * lib/unistdio/ulc-vfprintf.c: Likewise.
50760         * lib/unlinkdir.c: Likewise.
50761         * lib/unlinkdir.h: Likewise.
50762         * lib/unlocked-io.h: Likewise.
50763         * lib/unsetenv.c: Likewise.
50764         * lib/userspec.c: Likewise.
50765         * lib/utime.c: Likewise.
50766         * lib/utimecmp.c: Likewise.
50767         * lib/utimecmp.h: Likewise.
50768         * lib/utimens.c: Likewise.
50769         * lib/verify.h: Likewise.
50770         * lib/verror.c: Likewise.
50771         * lib/verror.h: Likewise.
50772         * lib/version-etc-fsf.c: Likewise.
50773         * lib/version-etc.c: Likewise.
50774         * lib/version-etc.h: Likewise.
50775         * lib/vfprintf.c: Likewise.
50776         * lib/vprintf.c: Likewise.
50777         * lib/vsprintf.c: Likewise.
50778         * lib/w32spawn.h: Likewise.
50779         * lib/wait-process.c: Likewise.
50780         * lib/wait-process.h: Likewise.
50781         * lib/wcwidth.c: Likewise.
50782         * lib/write-any-file.c: Likewise.
50783         * lib/xalloc-die.c: Likewise.
50784         * lib/xalloc.h: Likewise.
50785         * lib/xasprintf.c: Likewise.
50786         * lib/xgetcwd.c: Likewise.
50787         * lib/xgetcwd.h: Likewise.
50788         * lib/xgetdomainname.c: Likewise.
50789         * lib/xgetdomainname.h: Likewise.
50790         * lib/xgethostname.c: Likewise.
50791         * lib/xmalloc.c: Likewise.
50792         * lib/xmalloca.c: Likewise.
50793         * lib/xmalloca.h: Likewise.
50794         * lib/xmemcoll.c: Likewise.
50795         * lib/xnanosleep.c: Likewise.
50796         * lib/xreadlink.c: Likewise.
50797         * lib/xreadlink.h: Likewise.
50798         * lib/xsetenv.c: Likewise.
50799         * lib/xsetenv.h: Likewise.
50800         * lib/xstriconv.c: Likewise.
50801         * lib/xstriconv.h: Likewise.
50802         * lib/xstrndup.c: Likewise.
50803         * lib/xstrndup.h: Likewise.
50804         * lib/xstrtod.c: Likewise.
50805         * lib/xstrtod.h: Likewise.
50806         * lib/xstrtol-error.c: Likewise.
50807         * lib/xstrtol.c: Likewise.
50808         * lib/xstrtol.h: Likewise.
50809         * lib/xtime.h: Likewise.
50810         * lib/xvasprintf.c: Likewise.
50811         * lib/xvasprintf.h: Likewise.
50812         * lib/yesno.c: Likewise.
50813         * lib/yesno.h: Likewise.
50814         * posix-modules: Likewise.
50815         * tests/test-alloca-opt.c: Likewise.
50816         * tests/test-arcfour.c: Likewise.
50817         * tests/test-arctwo.c: Likewise.
50818         * tests/test-argmatch.c: Likewise.
50819         * tests/test-argp-2.sh: Likewise.
50820         * tests/test-argp.c: Likewise.
50821         * tests/test-arpa_inet.c: Likewise.
50822         * tests/test-array_list.c: Likewise.
50823         * tests/test-array_oset.c: Likewise.
50824         * tests/test-atexit.c: Likewise.
50825         * tests/test-avltree_list.c: Likewise.
50826         * tests/test-avltree_oset.c: Likewise.
50827         * tests/test-avltreehash_list.c: Likewise.
50828         * tests/test-base64.c: Likewise.
50829         * tests/test-binary-io.c: Likewise.
50830         * tests/test-byteswap.c: Likewise.
50831         * tests/test-c-ctype.c: Likewise.
50832         * tests/test-c-strcasecmp.c: Likewise.
50833         * tests/test-c-strcasestr.c: Likewise.
50834         * tests/test-c-strncasecmp.c: Likewise.
50835         * tests/test-c-strstr.c: Likewise.
50836         * tests/test-canonicalize-lgpl.c: Likewise.
50837         * tests/test-canonicalize.c: Likewise.
50838         * tests/test-carray_list.c: Likewise.
50839         * tests/test-ceilf.c: Likewise.
50840         * tests/test-ceill.c: Likewise.
50841         * tests/test-count-one-bits.c: Likewise.
50842         * tests/test-crc.c: Likewise.
50843         * tests/test-dirname.c: Likewise.
50844         * tests/test-fbufmode.c: Likewise.
50845         * tests/test-fcntl.c: Likewise.
50846         * tests/test-fflush.c: Likewise.
50847         * tests/test-floorf.c: Likewise.
50848         * tests/test-floorl.c: Likewise.
50849         * tests/test-fopen.c: Likewise.
50850         * tests/test-fprintf-posix.c: Likewise.
50851         * tests/test-fprintf-posix.h: Likewise.
50852         * tests/test-fpurge.c: Likewise.
50853         * tests/test-freadable.c: Likewise.
50854         * tests/test-freadahead.c: Likewise.
50855         * tests/test-freading.c: Likewise.
50856         * tests/test-freopen.c: Likewise.
50857         * tests/test-frexp.c: Likewise.
50858         * tests/test-frexpl.c: Likewise.
50859         * tests/test-fseek.c: Likewise.
50860         * tests/test-fseeko.c: Likewise.
50861         * tests/test-fseterr.c: Likewise.
50862         * tests/test-fstrcmp.c: Likewise.
50863         * tests/test-ftell.c: Likewise.
50864         * tests/test-ftello.c: Likewise.
50865         * tests/test-fwritable.c: Likewise.
50866         * tests/test-fwriting.c: Likewise.
50867         * tests/test-getaddrinfo.c: Likewise.
50868         * tests/test-getpass.c: Likewise.
50869         * tests/test-gettimeofday.c: Likewise.
50870         * tests/test-hmac-md5.c: Likewise.
50871         * tests/test-hmac-sha1.c: Likewise.
50872         * tests/test-iconv.c: Likewise.
50873         * tests/test-iconvme.c: Likewise.
50874         * tests/test-inttypes.c: Likewise.
50875         * tests/test-isnan.c: Likewise.
50876         * tests/test-isnanf.c: Likewise.
50877         * tests/test-isnanl-nolibm.c: Likewise.
50878         * tests/test-isnanl.c: Likewise.
50879         * tests/test-isnanl.h: Likewise.
50880         * tests/test-ldexpl.c: Likewise.
50881         * tests/test-linked_list.c: Likewise.
50882         * tests/test-linkedhash_list.c: Likewise.
50883         * tests/test-locale.c: Likewise.
50884         * tests/test-localename.c: Likewise.
50885         * tests/test-lock.c: Likewise.
50886         * tests/test-lseek.c: Likewise.
50887         * tests/test-malloca.c: Likewise.
50888         * tests/test-math.c: Likewise.
50889         * tests/test-mbscasecmp.c: Likewise.
50890         * tests/test-mbscasestr1.c: Likewise.
50891         * tests/test-mbscasestr2.c: Likewise.
50892         * tests/test-mbscasestr3.c: Likewise.
50893         * tests/test-mbscasestr4.c: Likewise.
50894         * tests/test-mbschr.c: Likewise.
50895         * tests/test-mbscspn.c: Likewise.
50896         * tests/test-mbsncasecmp.c: Likewise.
50897         * tests/test-mbspbrk.c: Likewise.
50898         * tests/test-mbspcasecmp.c: Likewise.
50899         * tests/test-mbsrchr.c: Likewise.
50900         * tests/test-mbsspn.c: Likewise.
50901         * tests/test-mbsstr1.c: Likewise.
50902         * tests/test-mbsstr2.c: Likewise.
50903         * tests/test-mbsstr3.c: Likewise.
50904         * tests/test-md5.c: Likewise.
50905         * tests/test-memmem.c: Likewise.
50906         * tests/test-netinet_in.c: Likewise.
50907         * tests/test-open.c: Likewise.
50908         * tests/test-printf-frexp.c: Likewise.
50909         * tests/test-printf-frexpl.c: Likewise.
50910         * tests/test-printf-posix.c: Likewise.
50911         * tests/test-printf-posix.h: Likewise.
50912         * tests/test-rbtree_list.c: Likewise.
50913         * tests/test-rbtree_oset.c: Likewise.
50914         * tests/test-rbtreehash_list.c: Likewise.
50915         * tests/test-read-file.c: Likewise.
50916         * tests/test-rijndael.c: Likewise.
50917         * tests/test-search.c: Likewise.
50918         * tests/test-signbit.c: Likewise.
50919         * tests/test-sleep.c: Likewise.
50920         * tests/test-snprintf-posix.c: Likewise.
50921         * tests/test-snprintf-posix.h: Likewise.
50922         * tests/test-snprintf.c: Likewise.
50923         * tests/test-sprintf-posix.c: Likewise.
50924         * tests/test-sprintf-posix.h: Likewise.
50925         * tests/test-stat-time.c: Likewise.
50926         * tests/test-stdbool.c: Likewise.
50927         * tests/test-stdint.c: Likewise.
50928         * tests/test-stdio.c: Likewise.
50929         * tests/test-stdlib.c: Likewise.
50930         * tests/test-stpncpy.c: Likewise.
50931         * tests/test-strcasestr.c: Likewise.
50932         * tests/test-striconv.c: Likewise.
50933         * tests/test-striconveh.c: Likewise.
50934         * tests/test-striconveha.c: Likewise.
50935         * tests/test-string.c: Likewise.
50936         * tests/test-sys_select.c: Likewise.
50937         * tests/test-sys_socket.c: Likewise.
50938         * tests/test-sys_stat.c: Likewise.
50939         * tests/test-sys_time.c: Likewise.
50940         * tests/test-sysexits.c: Likewise.
50941         * tests/test-time.c: Likewise.
50942         * tests/test-tls.c: Likewise.
50943         * tests/test-trunc.c: Likewise.
50944         * tests/test-truncf.c: Likewise.
50945         * tests/test-truncl.c: Likewise.
50946         * tests/test-unistd.c: Likewise.
50947         * tests/test-vasnprintf-posix.c: Likewise.
50948         * tests/test-vasnprintf-posix2.c: Likewise.
50949         * tests/test-vasnprintf.c: Likewise.
50950         * tests/test-vasprintf-posix.c: Likewise.
50951         * tests/test-vasprintf.c: Likewise.
50952         * tests/test-verify.c: Likewise.
50953         * tests/test-vfprintf-posix.c: Likewise.
50954         * tests/test-vprintf-posix.c: Likewise.
50955         * tests/test-vsnprintf-posix.c: Likewise.
50956         * tests/test-vsnprintf.c: Likewise.
50957         * tests/test-vsprintf-posix.c: Likewise.
50958         * tests/test-wchar.c: Likewise.
50959         * tests/test-wctype.c: Likewise.
50960         * tests/test-wcwidth.c: Likewise.
50961         * tests/test-xstrtol.c: Likewise.
50962         * tests/test-xvasprintf.c: Likewise.
50963         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
50964         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
50965         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
50966         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
50967         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
50968         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
50969         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
50970         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
50971         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
50972         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
50973         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
50974         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
50975         * tests/uniname/test-uninames.c: Likewise.
50976         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
50977         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
50978         * tests/unistdio/test-u16-printf1.h: Likewise.
50979         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
50980         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
50981         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
50982         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
50983         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
50984         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
50985         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
50986         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
50987         * tests/unistdio/test-u32-printf1.h: Likewise.
50988         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
50989         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
50990         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
50991         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
50992         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
50993         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
50994         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
50995         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
50996         * tests/unistdio/test-u8-printf1.h: Likewise.
50997         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
50998         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
50999         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
51000         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
51001         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
51002         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
51003         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
51004         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
51005         * tests/unistdio/test-ulc-printf1.h: Likewise.
51006         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
51007         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
51008         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
51009         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
51010         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
51011         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
51012         * tests/uniwidth/test-u16-strwidth.c: Likewise.
51013         * tests/uniwidth/test-u16-width.c: Likewise.
51014         * tests/uniwidth/test-u32-strwidth.c: Likewise.
51015         * tests/uniwidth/test-u32-width.c: Likewise.
51016         * tests/uniwidth/test-u8-strwidth.c: Likewise.
51017         * tests/uniwidth/test-u8-width.c: Likewise.
51018         * tests/uniwidth/test-uc_width.c: Likewise.
51019         * config/srclist-update: Likewise.
51020         (fixlicense): Update to GPLv3+.
51021
51022         Change copyright notice from LGPLv2.1+ to LGPLv3+.
51023         * tests/test-tsearch.c: Change copyright notice.
51024
51025         Change copyright notice from LGPLv2.0+ to LGPLv3+.
51026         * lib/c-strcaseeq.h: Change copyright notice.
51027         * lib/streq.h: Likewise.
51028         * lib/uniconv.h: Likewise.
51029         * lib/uniconv/u-conv-from-enc.h: Likewise.
51030         * lib/uniconv/u-conv-to-enc.h: Likewise.
51031         * lib/uniconv/u-strconv-from-enc.h: Likewise.
51032         * lib/uniconv/u-strconv-to-enc.h: Likewise.
51033         * lib/uniconv/u16-conv-from-enc.c: Likewise.
51034         * lib/uniconv/u16-conv-to-enc.c: Likewise.
51035         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
51036         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
51037         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
51038         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
51039         * lib/uniconv/u32-conv-from-enc.c: Likewise.
51040         * lib/uniconv/u32-conv-to-enc.c: Likewise.
51041         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
51042         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
51043         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
51044         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
51045         * lib/uniconv/u8-conv-from-enc.c: Likewise.
51046         * lib/uniconv/u8-conv-to-enc.c: Likewise.
51047         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
51048         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
51049         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
51050         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
51051         * lib/uniname.h: Likewise.
51052         * lib/uniname/uniname.c: Likewise.
51053         * lib/unistdio.h: Likewise.
51054         * lib/unistdio/u-asnprintf.h: Likewise.
51055         * lib/unistdio/u-asprintf.h: Likewise.
51056         * lib/unistdio/u-printf-args.c: Likewise.
51057         * lib/unistdio/u-printf-args.h: Likewise.
51058         * lib/unistdio/u-printf-parse.h: Likewise.
51059         * lib/unistdio/u-snprintf.h: Likewise.
51060         * lib/unistdio/u-sprintf.h: Likewise.
51061         * lib/unistdio/u-vasprintf.h: Likewise.
51062         * lib/unistdio/u-vsnprintf.h: Likewise.
51063         * lib/unistdio/u-vsprintf.h: Likewise.
51064         * lib/unistdio/u16-asnprintf.c: Likewise.
51065         * lib/unistdio/u16-asprintf.c: Likewise.
51066         * lib/unistdio/u16-printf-parse.c: Likewise.
51067         * lib/unistdio/u16-snprintf.c: Likewise.
51068         * lib/unistdio/u16-sprintf.c: Likewise.
51069         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
51070         * lib/unistdio/u16-u16-asprintf.c: Likewise.
51071         * lib/unistdio/u16-u16-snprintf.c: Likewise.
51072         * lib/unistdio/u16-u16-sprintf.c: Likewise.
51073         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
51074         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
51075         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
51076         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
51077         * lib/unistdio/u16-vasnprintf.c: Likewise.
51078         * lib/unistdio/u16-vasprintf.c: Likewise.
51079         * lib/unistdio/u16-vsnprintf.c: Likewise.
51080         * lib/unistdio/u16-vsprintf.c: Likewise.
51081         * lib/unistdio/u32-asnprintf.c: Likewise.
51082         * lib/unistdio/u32-asprintf.c: Likewise.
51083         * lib/unistdio/u32-printf-parse.c: Likewise.
51084         * lib/unistdio/u32-snprintf.c: Likewise.
51085         * lib/unistdio/u32-sprintf.c: Likewise.
51086         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
51087         * lib/unistdio/u32-u32-asprintf.c: Likewise.
51088         * lib/unistdio/u32-u32-snprintf.c: Likewise.
51089         * lib/unistdio/u32-u32-sprintf.c: Likewise.
51090         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
51091         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
51092         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
51093         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
51094         * lib/unistdio/u32-vasnprintf.c: Likewise.
51095         * lib/unistdio/u32-vasprintf.c: Likewise.
51096         * lib/unistdio/u32-vsnprintf.c: Likewise.
51097         * lib/unistdio/u32-vsprintf.c: Likewise.
51098         * lib/unistdio/u8-asnprintf.c: Likewise.
51099         * lib/unistdio/u8-asprintf.c: Likewise.
51100         * lib/unistdio/u8-printf-parse.c: Likewise.
51101         * lib/unistdio/u8-snprintf.c: Likewise.
51102         * lib/unistdio/u8-sprintf.c: Likewise.
51103         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
51104         * lib/unistdio/u8-u8-asprintf.c: Likewise.
51105         * lib/unistdio/u8-u8-snprintf.c: Likewise.
51106         * lib/unistdio/u8-u8-sprintf.c: Likewise.
51107         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
51108         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
51109         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
51110         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
51111         * lib/unistdio/u8-vasnprintf.c: Likewise.
51112         * lib/unistdio/u8-vasprintf.c: Likewise.
51113         * lib/unistdio/u8-vsnprintf.c: Likewise.
51114         * lib/unistdio/u8-vsprintf.c: Likewise.
51115         * lib/unistdio/ulc-asnprintf.c: Likewise.
51116         * lib/unistdio/ulc-asprintf.c: Likewise.
51117         * lib/unistdio/ulc-printf-parse.c: Likewise.
51118         * lib/unistdio/ulc-snprintf.c: Likewise.
51119         * lib/unistdio/ulc-sprintf.c: Likewise.
51120         * lib/unistdio/ulc-vasnprintf.c: Likewise.
51121         * lib/unistdio/ulc-vasprintf.c: Likewise.
51122         * lib/unistdio/ulc-vsnprintf.c: Likewise.
51123         * lib/unistdio/ulc-vsprintf.c: Likewise.
51124         * lib/unistr.h: Likewise.
51125         * lib/unistr/u-cpy-alloc.h: Likewise.
51126         * lib/unistr/u-cpy.h: Likewise.
51127         * lib/unistr/u-endswith.h: Likewise.
51128         * lib/unistr/u-move.h: Likewise.
51129         * lib/unistr/u-set.h: Likewise.
51130         * lib/unistr/u-startswith.h: Likewise.
51131         * lib/unistr/u-stpcpy.h: Likewise.
51132         * lib/unistr/u-stpncpy.h: Likewise.
51133         * lib/unistr/u-strcat.h: Likewise.
51134         * lib/unistr/u-strcpy.h: Likewise.
51135         * lib/unistr/u-strcspn.h: Likewise.
51136         * lib/unistr/u-strdup.h: Likewise.
51137         * lib/unistr/u-strlen.h: Likewise.
51138         * lib/unistr/u-strncat.h: Likewise.
51139         * lib/unistr/u-strncpy.h: Likewise.
51140         * lib/unistr/u-strnlen.h: Likewise.
51141         * lib/unistr/u-strpbrk.h: Likewise.
51142         * lib/unistr/u-strspn.h: Likewise.
51143         * lib/unistr/u-strstr.h: Likewise.
51144         * lib/unistr/u-strtok.h: Likewise.
51145         * lib/unistr/u16-check.c: Likewise.
51146         * lib/unistr/u16-chr.c: Likewise.
51147         * lib/unistr/u16-cmp.c: Likewise.
51148         * lib/unistr/u16-cpy-alloc.c: Likewise.
51149         * lib/unistr/u16-cpy.c: Likewise.
51150         * lib/unistr/u16-endswith.c: Likewise.
51151         * lib/unistr/u16-mblen.c: Likewise.
51152         * lib/unistr/u16-mbsnlen.c: Likewise.
51153         * lib/unistr/u16-mbtouc-aux.c: Likewise.
51154         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
51155         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
51156         * lib/unistr/u16-mbtouc.c: Likewise.
51157         * lib/unistr/u16-mbtoucr.c: Likewise.
51158         * lib/unistr/u16-move.c: Likewise.
51159         * lib/unistr/u16-next.c: Likewise.
51160         * lib/unistr/u16-prev.c: Likewise.
51161         * lib/unistr/u16-set.c: Likewise.
51162         * lib/unistr/u16-startswith.c: Likewise.
51163         * lib/unistr/u16-stpcpy.c: Likewise.
51164         * lib/unistr/u16-stpncpy.c: Likewise.
51165         * lib/unistr/u16-strcat.c: Likewise.
51166         * lib/unistr/u16-strchr.c: Likewise.
51167         * lib/unistr/u16-strcmp.c: Likewise.
51168         * lib/unistr/u16-strcpy.c: Likewise.
51169         * lib/unistr/u16-strcspn.c: Likewise.
51170         * lib/unistr/u16-strdup.c: Likewise.
51171         * lib/unistr/u16-strlen.c: Likewise.
51172         * lib/unistr/u16-strmblen.c: Likewise.
51173         * lib/unistr/u16-strmbtouc.c: Likewise.
51174         * lib/unistr/u16-strncat.c: Likewise.
51175         * lib/unistr/u16-strncmp.c: Likewise.
51176         * lib/unistr/u16-strncpy.c: Likewise.
51177         * lib/unistr/u16-strnlen.c: Likewise.
51178         * lib/unistr/u16-strpbrk.c: Likewise.
51179         * lib/unistr/u16-strrchr.c: Likewise.
51180         * lib/unistr/u16-strspn.c: Likewise.
51181         * lib/unistr/u16-strstr.c: Likewise.
51182         * lib/unistr/u16-strtok.c: Likewise.
51183         * lib/unistr/u16-to-u32.c: Likewise.
51184         * lib/unistr/u16-to-u8.c: Likewise.
51185         * lib/unistr/u16-uctomb-aux.c: Likewise.
51186         * lib/unistr/u16-uctomb.c: Likewise.
51187         * lib/unistr/u32-check.c: Likewise.
51188         * lib/unistr/u32-chr.c: Likewise.
51189         * lib/unistr/u32-cmp.c: Likewise.
51190         * lib/unistr/u32-cpy-alloc.c: Likewise.
51191         * lib/unistr/u32-cpy.c: Likewise.
51192         * lib/unistr/u32-endswith.c: Likewise.
51193         * lib/unistr/u32-mblen.c: Likewise.
51194         * lib/unistr/u32-mbsnlen.c: Likewise.
51195         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
51196         * lib/unistr/u32-mbtouc.c: Likewise.
51197         * lib/unistr/u32-mbtoucr.c: Likewise.
51198         * lib/unistr/u32-move.c: Likewise.
51199         * lib/unistr/u32-next.c: Likewise.
51200         * lib/unistr/u32-prev.c: Likewise.
51201         * lib/unistr/u32-set.c: Likewise.
51202         * lib/unistr/u32-startswith.c: Likewise.
51203         * lib/unistr/u32-stpcpy.c: Likewise.
51204         * lib/unistr/u32-stpncpy.c: Likewise.
51205         * lib/unistr/u32-strcat.c: Likewise.
51206         * lib/unistr/u32-strchr.c: Likewise.
51207         * lib/unistr/u32-strcmp.c: Likewise.
51208         * lib/unistr/u32-strcpy.c: Likewise.
51209         * lib/unistr/u32-strcspn.c: Likewise.
51210         * lib/unistr/u32-strdup.c: Likewise.
51211         * lib/unistr/u32-strlen.c: Likewise.
51212         * lib/unistr/u32-strmblen.c: Likewise.
51213         * lib/unistr/u32-strmbtouc.c: Likewise.
51214         * lib/unistr/u32-strncat.c: Likewise.
51215         * lib/unistr/u32-strncmp.c: Likewise.
51216         * lib/unistr/u32-strncpy.c: Likewise.
51217         * lib/unistr/u32-strnlen.c: Likewise.
51218         * lib/unistr/u32-strpbrk.c: Likewise.
51219         * lib/unistr/u32-strrchr.c: Likewise.
51220         * lib/unistr/u32-strspn.c: Likewise.
51221         * lib/unistr/u32-strstr.c: Likewise.
51222         * lib/unistr/u32-strtok.c: Likewise.
51223         * lib/unistr/u32-to-u16.c: Likewise.
51224         * lib/unistr/u32-to-u8.c: Likewise.
51225         * lib/unistr/u32-uctomb.c: Likewise.
51226         * lib/unistr/u8-check.c: Likewise.
51227         * lib/unistr/u8-chr.c: Likewise.
51228         * lib/unistr/u8-cmp.c: Likewise.
51229         * lib/unistr/u8-cpy-alloc.c: Likewise.
51230         * lib/unistr/u8-cpy.c: Likewise.
51231         * lib/unistr/u8-endswith.c: Likewise.
51232         * lib/unistr/u8-mblen.c: Likewise.
51233         * lib/unistr/u8-mbsnlen.c: Likewise.
51234         * lib/unistr/u8-mbtouc-aux.c: Likewise.
51235         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
51236         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
51237         * lib/unistr/u8-mbtouc.c: Likewise.
51238         * lib/unistr/u8-mbtoucr.c: Likewise.
51239         * lib/unistr/u8-move.c: Likewise.
51240         * lib/unistr/u8-next.c: Likewise.
51241         * lib/unistr/u8-prev.c: Likewise.
51242         * lib/unistr/u8-set.c: Likewise.
51243         * lib/unistr/u8-startswith.c: Likewise.
51244         * lib/unistr/u8-stpcpy.c: Likewise.
51245         * lib/unistr/u8-stpncpy.c: Likewise.
51246         * lib/unistr/u8-strcat.c: Likewise.
51247         * lib/unistr/u8-strchr.c: Likewise.
51248         * lib/unistr/u8-strcmp.c: Likewise.
51249         * lib/unistr/u8-strcpy.c: Likewise.
51250         * lib/unistr/u8-strcspn.c: Likewise.
51251         * lib/unistr/u8-strdup.c: Likewise.
51252         * lib/unistr/u8-strlen.c: Likewise.
51253         * lib/unistr/u8-strmblen.c: Likewise.
51254         * lib/unistr/u8-strmbtouc.c: Likewise.
51255         * lib/unistr/u8-strncat.c: Likewise.
51256         * lib/unistr/u8-strncmp.c: Likewise.
51257         * lib/unistr/u8-strncpy.c: Likewise.
51258         * lib/unistr/u8-strnlen.c: Likewise.
51259         * lib/unistr/u8-strpbrk.c: Likewise.
51260         * lib/unistr/u8-strrchr.c: Likewise.
51261         * lib/unistr/u8-strspn.c: Likewise.
51262         * lib/unistr/u8-strstr.c: Likewise.
51263         * lib/unistr/u8-strtok.c: Likewise.
51264         * lib/unistr/u8-to-u16.c: Likewise.
51265         * lib/unistr/u8-to-u32.c: Likewise.
51266         * lib/unistr/u8-uctomb-aux.c: Likewise.
51267         * lib/unistr/u8-uctomb.c: Likewise.
51268         * lib/unitypes.h: Likewise.
51269         * lib/uniwidth.h: Likewise.
51270         * lib/uniwidth/cjk.h: Likewise.
51271         * lib/uniwidth/u16-strwidth.c: Likewise.
51272         * lib/uniwidth/u16-width.c: Likewise.
51273         * lib/uniwidth/u32-strwidth.c: Likewise.
51274         * lib/uniwidth/u32-width.c: Likewise.
51275         * lib/uniwidth/u8-strwidth.c: Likewise.
51276         * lib/uniwidth/u8-width.c: Likewise.
51277         * lib/uniwidth/width.c: Likewise.
51278
51279 2007-10-07  Bruno Haible  <bruno@clisp.org>
51280
51281         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
51282         The file is still under LGPL (see modules/inttypes).
51283
51284 2007-10-06  Bruno Haible  <bruno@clisp.org>
51285
51286         * modules/trunc (Dependencies): Add 'extensions'.
51287         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
51288         Reported by Ben Pfaff <blp@gnu.org>.
51289
51290 2007-10-06  Bruno Haible  <bruno@clisp.org>
51291
51292         * modules/freopen-tests: New file.
51293         * tests/test-freopen.c: New file.
51294
51295         * modules/fopen-tests: New file.
51296         * tests/test-fopen.c: New file.
51297
51298         * modules/fopen: New file.
51299         * lib/fopen.c: New file.
51300         * m4/fopen.m4: New file.
51301         * modules/freopen: New file.
51302         * lib/freopen.c: New file.
51303         * m4/freopen.m4: New file.
51304         * lib/stdio.in.h (fopen, freopen): New declarations.
51305         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
51306         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
51307         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
51308         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
51309         * doc/functions/fopen.texi: Mention the 'fopen' module.
51310         * doc/functions/freopen.texi: Mention the 'freopen' module.
51311
51312 2007-10-06  Bruno Haible  <bruno@clisp.org>
51313
51314         * modules/open-tests: New file.
51315         * tests/test-open.c: New file.
51316
51317         * modules/open: New file.
51318         * lib/open.c: New file.
51319         * m4/open.m4: New file.
51320         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
51321         lib/open.c does.
51322         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
51323         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
51324         macros.
51325         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
51326         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
51327         REPLACE_OPEN.
51328         * doc/functions/open.texi: Mention the 'open' module.
51329
51330 2007-10-04  Bruno Haible  <bruno@clisp.org>
51331
51332         * modules/ceill-tests: New file.
51333         * tests/test-ceill.c: New file.
51334
51335         * modules/ceill: New file.
51336         * lib/ceill.c: Replace entire file.
51337         * m4/ceill.m4: New file.
51338         * lib/math.in.h (ceill): Replace declaration.
51339         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
51340         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
51341         * doc/functions/ceill.texi: Mention the 'ceill' module.
51342         * modules/mathl (Files): Remove lib/ceill.c.
51343         (Depends-on): Add ceill.
51344
51345 2007-10-04  Bruno Haible  <bruno@clisp.org>
51346
51347         * modules/ceilf-tests: New file.
51348         * tests/test-ceilf.c: New file.
51349
51350         * modules/ceilf: New file.
51351         * lib/ceil.c: New file.
51352         * lib/ceilf.c: New file.
51353         * m4/ceilf.m4: New file.
51354         * lib/math.in.h (ceilf): New declaration.
51355         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
51356         HAVE_DECL_CEILF.
51357         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
51358         HAVE_DECL_CEILF.
51359         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
51360
51361 2007-10-04  Bruno Haible  <bruno@clisp.org>
51362
51363         * modules/floorl-tests: New file.
51364         * tests/test-floorl.c: New file.
51365
51366         * modules/floorl: New file.
51367         * lib/floorl.c: Replace entire file.
51368         * m4/floorl.m4: New file.
51369         * lib/math.in.h (floorl): Replace declaration.
51370         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
51371         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
51372         * doc/functions/floorl.texi: Mention the 'floorl' module.
51373         * modules/mathl (Files): Remove lib/floorl.c.
51374         (Depends-on): Add floorl.
51375
51376 2007-10-04  Bruno Haible  <bruno@clisp.org>
51377
51378         * modules/floorf-tests: New file.
51379         * tests/test-floorf.c: New file.
51380
51381         * modules/floorf: New file.
51382         * lib/floor.c: New file.
51383         * lib/floorf.c: New file.
51384         * m4/floorf.m4: New file.
51385         * lib/math.in.h (floorf): New declaration.
51386         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
51387         HAVE_DECL_FLOORF.
51388         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
51389         HAVE_DECL_FLOORF.
51390         * doc/functions/floorf.texi: Mention the 'floorf' module.
51391
51392 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
51393             Bruno Haible  <bruno@clisp.org>
51394
51395         Advertise for the Git server instead of the CVS server.
51396         * doc/gnulib-intro.texi (Steady Development): Mention the Git
51397         repository instead of the CVS one.
51398         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
51399         about all VCS systems generically.
51400         * doc/gnulib.texi (Introduction): Capitalize `Git'.
51401
51402 2007-10-04  Bruno Haible  <bruno@clisp.org>
51403
51404         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
51405         means.
51406         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
51407
51408 2007-10-04  Bruno Haible  <bruno@clisp.org>
51409
51410         * modules/truncl-tests: New file.
51411         * tests/test-truncl.c: New file.
51412
51413         * modules/truncl: New file.
51414         * lib/truncl.c: New file.
51415         * m4/truncl.m4: New file.
51416         * lib/math.in.h (truncl): New declaration.
51417         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
51418         HAVE_DECL_TRUNCL.
51419         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
51420         HAVE_DECL_TRUNCL.
51421         * doc/functions/truncl.texi: Mention the 'truncl' module.
51422
51423 2007-10-04  Bruno Haible  <bruno@clisp.org>
51424
51425         * modules/truncf-tests: New file.
51426         * tests/test-truncf.c: New file.
51427
51428         * modules/truncf: New file.
51429         * lib/trunc.c: Make paramerizable through USE_* macros.
51430         * lib/truncf.c: New file.
51431         * m4/truncf.m4: New file.
51432         * lib/math.in.h (truncf): New declaration.
51433         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
51434         HAVE_DECL_TRUNCF.
51435         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
51436         HAVE_DECL_TRUNCF.
51437         * doc/functions/truncf.texi: Mention the 'truncf' module.
51438
51439 2007-10-03  Bruno Haible  <bruno@clisp.org>
51440
51441         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
51442         augmentation also for tests modules.
51443         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
51444         * modules/atexit-tests (Makefile.am): Likewise.
51445         * modules/binary-io-tests (Makefile.am): Likewise.
51446         * modules/c-strcase-tests (Makefile.am): Likewise.
51447         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
51448         * modules/canonicalize-tests (Makefile.am): Likewise.
51449         * modules/closein-tests (Makefile.am): Likewise.
51450         * modules/fprintf-posix-tests (Makefile.am): Likewise.
51451         * modules/freadahead-tests (Makefile.am): Likewise.
51452         * modules/fseek-tests (Makefile.am): Likewise.
51453         * modules/fseeko-tests (Makefile.am): Likewise.
51454         * modules/ftell-tests (Makefile.am): Likewise.
51455         * modules/ftello-tests (Makefile.am): Likewise.
51456         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
51457         * modules/isnanl-tests (Makefile.am): Likewise.
51458         * modules/lseek-tests (Makefile.am): Likewise.
51459         * modules/mbscasecmp-tests (Makefile.am): Likewise.
51460         * modules/mbscasestr-tests (Makefile.am): Likewise.
51461         * modules/mbschr-tests (Makefile.am): Likewise.
51462         * modules/mbscspn-tests (Makefile.am): Likewise.
51463         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
51464         * modules/mbspbrk-tests (Makefile.am): Likewise.
51465         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
51466         * modules/mbsrchr-tests (Makefile.am): Likewise.
51467         * modules/mbsspn-tests (Makefile.am): Likewise.
51468         * modules/mbsstr-tests (Makefile.am): Likewise.
51469         * modules/printf-posix-tests (Makefile.am): Likewise.
51470         * modules/snprintf-posix-tests (Makefile.am): Likewise.
51471         * modules/sprintf-posix-tests (Makefile.am): Likewise.
51472         * modules/tsearch-tests (Makefile.am): Likewise.
51473         * modules/uniname/uniname-tests (Makefile.am): Likewise.
51474         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
51475         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
51476         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
51477         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
51478         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
51479         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
51480         * modules/vprintf-posix-tests (Makefile.am): Likewise.
51481         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
51482         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
51483         * modules/xstrtoimax-tests (Makefile.am): Likewise.
51484         * modules/xstrtol-tests (Makefile.am): Likewise.
51485         * modules/xstrtoumax-tests (Makefile.am): Likewise.
51486         * modules/yesno-tests (Makefile.am): Likewise.
51487
51488 2007-10-03  Bruno Haible  <bruno@clisp.org>
51489
51490         * modules/trunc-tests: New file.
51491         * tests/test-trunc.c: New file.
51492
51493         * modules/trunc: New file.
51494         * lib/trunc.c: New file.
51495         * m4/trunc.m4: New file.
51496         * lib/math.in.h (trunc): New declaration.
51497         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
51498         HAVE_DECL_TRUNC.
51499         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
51500         HAVE_DECL_TRUNC.
51501         * doc/functions/trunc.texi: Mention the 'trunc' module.
51502
51503 2007-10-03  Bruno Haible  <bruno@clisp.org>
51504
51505         * tests/test-fpending.c: New file, mostly copied
51506         from coreutils/lib/t-fpending.c.
51507         * modules/fpending-tests: New file.
51508
51509 2007-10-03  Bruno Haible  <bruno@clisp.org>
51510
51511         Port the stdio extensions to QNX (untested).
51512         * lib/fseterr.c (fseterr): Add support for QNX.
51513         * lib/fbufmode.c (fbufmode): Likewise.
51514         * lib/freadable.c (freadable): Likewise.
51515         * lib/fwritable.c (fwritable): Likewise.
51516         * lib/freading.c (freading): Likewise.
51517         * lib/fwriting.c (fwriting): Likewise.
51518         * lib/freadahead.c (freadahed): Likewise.
51519         * lib/fpurge.c (fpurge): Likewise.
51520         * lib/fseeko.c (rpl_fseeko): Likewise.
51521
51522 2007-10-03  Bruno Haible  <bruno@clisp.org>
51523             Jim Meyering  <jim@meyering.net>
51524             Eric Blake  <ebb9@byu.net>
51525
51526         * doc/relocatable.texi: Use @command instead of @program.
51527
51528 2007-10-02  Jim Meyering  <jim@meyering.net>
51529
51530         Perform one more "_.h" -> ".in.h" substitution.
51531         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
51532         instead of unistd_.h here, too.
51533
51534 2007-10-01  Bruno Haible  <bruno@clisp.org>
51535
51536         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
51537         Needed for the alloca-opt module.
51538
51539 2007-09-30  Bruno Haible  <bruno@clisp.org>
51540
51541         * lib/alloca.in.h: Renamed from lib/alloca_.h.
51542         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
51543         alloca_.h.
51544         * lib/argz.in.h: Renamed from lib/argz_.h.
51545         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
51546         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
51547         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
51548         byteswap_.h.
51549         * lib/dirent.in.h: Renamed from lib/dirent_.h.
51550         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
51551         dirent_.h.
51552         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
51553         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
51554         fcntl_.h.
51555         * lib/float.in.h: Renamed from lib/float_.h.
51556         * modules/float (Files, Makefile.am): Use float.in.h instead of
51557         float_.h.
51558         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
51559         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
51560         fnmatch_.h.
51561         * lib/getopt.in.h: Renamed from lib/getopt_.h.
51562         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
51563         getopt_.h.
51564         * lib/glob.in.h: Renamed from lib/glob_.h.
51565         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
51566         * lib/iconv.in.h: Renamed from lib/iconv_.h.
51567         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
51568         iconv_.h.
51569         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
51570         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
51571         inttypes_.h.
51572         * lib/locale.in.h: Renamed from lib/locale_.h.
51573         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
51574         locale_.h.
51575         * lib/math.in.h: Renamed from lib/math_.h.
51576         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
51577         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
51578         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
51579         of netinet_in_.h. Add dependency.
51580         * lib/poll.in.h: Renamed from lib/poll_.h.
51581         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
51582         * lib/search.in.h: Renamed from lib/search_.h.
51583         * modules/search (Files, Makefile.am): Use search.in.h instead of
51584         search_.h.
51585         * lib/signal.in.h: Renamed from lib/signal_.h.
51586         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
51587         _signal.h.
51588         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
51589         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
51590         stdbool_.h.
51591         * lib/stdint.in.h: Renamed from lib/stdint_.h.
51592         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
51593         stdint_.h.
51594         * lib/stdio.in.h: Renamed from lib/stdio_.h.
51595         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
51596         stdio_.h.
51597         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
51598         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
51599         stdlib_.h.
51600         * lib/string.in.h: Renamed from lib/string_.h.
51601         * modules/string (Files, Makefile.am): Use string.in.h instead of
51602         string_.h.
51603         * doc/gnulib-tool.texi (Initial import): Update.
51604         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
51605         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
51606         of sys_select_.h. Add dependency.
51607         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
51608         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
51609         of sys_socket_.h.
51610         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
51611         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
51612         sys_stat_.h.
51613         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
51614         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
51615         sys_time_.h.
51616         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
51617         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
51618         sysexits_.h.
51619         * lib/time.in.h: Renamed from lib/time_.h.
51620         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
51621         * lib/unistd.in.h: Renamed from lib/unistd_.h.
51622         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
51623         unistd_.h.
51624         * lib/wchar.in.h: Renamed from lib/wchar_.h.
51625         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
51626         wchar_.h.
51627         * lib/wctype.in.h: Renamed from lib/wctype_.h.
51628         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
51629         wctype_.h.
51630         * build-aux/bootstrap (slurp): Update.
51631         * lib/.cppi-disable: Update.
51632
51633 2007-09-30  Bruno Haible  <bruno@clisp.org>
51634
51635         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
51636         Needed on BeOS.
51637
51638 2007-09-30  Bruno Haible  <bruno@clisp.org>
51639
51640         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
51641
51642 2007-09-29  Bruno Haible  <bruno@clisp.org>
51643
51644         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
51645
51646 2007-09-29  Bruno Haible  <bruno@clisp.org>
51647
51648         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
51649         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
51650         * build-aux/install-reloc: Compile also areadlink.c.
51651         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
51652
51653 2007-09-29  Bruno Haible  <bruno@clisp.org>
51654
51655         * gnulib-tool (func_emit_initmacro_done): Indentation.
51656
51657 2007-09-29  Bruno Haible  <bruno@clisp.org>
51658
51659         * README: Add CVS checkout update instructions.
51660         Info from Bob Proulx <bob@proulx.com>.
51661
51662 2007-09-28  Eric Blake  <ebb9@byu.net>
51663
51664         Provide move-if-change.
51665         * build-aux/move-if-change: New file, based on best practice
51666         rather than any canonical upstream location.
51667
51668 2007-09-28  Jim Meyering  <jim@meyering.net>
51669
51670         Fix canonicalize loop-detection corner case.
51671         Do not attempt to stat the symlink values stored via seen_triple.
51672         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
51673         on linux-2.6.18, (but not 2.6.22).
51674         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
51675         triple_compare.  The former compares dev,ino,filename, while the latter
51676         would actually stat dirname(filename) when dev and ino were equal.
51677         * lib/hash-triple.c: Install <string.h>.
51678         (STREQ): Define.
51679         (triple_compare_ino_str): New function.
51680         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
51681
51682 2007-09-28  Eric Blake  <ebb9@byu.net>
51683
51684         Enforce that AC_REPLACE_FUNCS files exist.
51685         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
51686         override check for typos.
51687
51688         Fix test-closein on Solaris 10.
51689         * tests/test-closein.c (main): Don't assume stdin can be inherited
51690         closed on all systems.
51691         * tests/test-closein.sh: Likewise.
51692         Reported by Piotr Tarnowski.
51693
51694 2007-09-28  Jim Meyering  <jim@meyering.net>
51695
51696         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
51697
51698 2007-09-27  Jim Meyering  <jim@meyering.net>
51699
51700         canonicalize: Avoid a false-positive cycle failure.
51701         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
51702         Sort.  Remove cycle-check.
51703         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
51704         not cycle-check.h.
51705         (seen_triple): New function.
51706         (canonicalize_filename_mode): Use it instead of cycle-check.
51707         * tests/test-canonicalize.c: Add a test for this bug.
51708         * tests/test-canonicalize.sh: Set up and run the test.
51709
51710         New module, file-set, from coreutils.
51711         * modules/file-set: Define it.
51712         * lib/file-set.c, lib/file-set.h: Implement.
51713
51714         New module, hash-triple, from coreutils.
51715         * modules/hash-triple: Define it.
51716         * lib/hash-triple.c, lib/hash-triple.h: Implement.
51717
51718 2007-09-25  Eric Blake  <ebb9@byu.net>
51719
51720         Fix strerror on Interix.
51721         * lib/string_.h (strerror): Declare replacement.
51722         * doc/functions/strerror.texi (strerror): Document the Interix
51723         shortcoming.
51724         * modules/string (Makefile.am): Support new hooks.
51725         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
51726         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
51727         gl_FUNC_STRERROR_SEPARATE.
51728         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
51729         * lib/strerror.c (rpl_strerror): Provide replacement.
51730         * modules/strerror (Depends-on): Add string.
51731         (configure.ac): Detect use of module.
51732         * tests/test-strerror.c: New file.
51733         * modules/strerror-tests: New test module.
51734         * modules/argp (Depends-on): Add strerror.
51735         * modules/error (Depends-on): Likewise.
51736         Reported by Martin Koeppe.
51737
51738 2007-09-24  Bruno Haible  <bruno@clisp.org>
51739
51740         * README: Update git instructions.
51741
51742 2007-09-24  Eric Blake  <ebb9@byu.net>
51743
51744         Revert fpending breakage from 2007-09-08.
51745         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
51746         __fpending.c.
51747
51748 2007-09-24  Jim Meyering  <jim@meyering.net>
51749
51750         filenamecat.c: Add a test.
51751         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
51752         showing how the function works when DIR is the empty string.
51753
51754 2007-09-21  Simon Josefsson  <simon@josefsson.org>
51755
51756         * tests/test-canonicalize.sh: Turn on executable bit.
51757
51758 2007-09-19  Eric Blake  <ebb9@byu.net>
51759
51760         * README: Update CVS instructions.
51761
51762 2007-09-18  Bruno Haible  <bruno@clisp.org>
51763
51764         * modules/areadlink: New file.
51765         * lib/areadlink.h (areadlink): New declaration.
51766         * lib/areadlink.c: New file, based on lib/xreadlink.c.
51767
51768 2007-09-17  Jim Meyering  <jim@meyering.net>
51769
51770         * lib/savewd.c (ESTALE) [!defined]: Define.
51771         Reported to be required on Interix by Martin Koeppe.
51772
51773 2007-09-17  Bruno Haible  <bruno@clisp.org>
51774
51775         * gnulib-tool (func_version): Use $version.
51776
51777 2007-09-16  Bruno Haible  <bruno@clisp.org>
51778
51779         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
51780         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
51781         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
51782         Reported by Greg Schafer <gschafer@zip.com.au>.
51783
51784 2007-09-15  Bruno Haible  <bruno@clisp.org>
51785
51786         * gnulib-tool (sed): Try a little harder to make bash understand the
51787         alias.
51788         Reported by Bruce Korb <bruce.korb@gmail.com>.
51789
51790 2007-09-13  Eric Blake  <ebb9@byu.net>
51791
51792         * ChangeLog: Remove conflict markers.
51793
51794 2007-09-13  Simon Josefsson  <simon@josefsson.org>
51795
51796         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
51797         Reported by Bruno Haible <bruno@clisp.org>.
51798
51799 2007-09-12  Bruno Haible  <bruno@clisp.org>
51800
51801         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
51802         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
51803         is not defined.
51804
51805 2007-09-12  Eric Blake  <ebb9@byu.net>
51806
51807         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
51808         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
51809         Autoconf definition.
51810         * modules/euidaccess (Depends-on): Add extensions, for
51811         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
51812         * modules/fnmatch (Depends-on): Likewise.
51813         * modules/getaddrinfo (Depends-on): Likewise.
51814         * modules/getdelim (Depends-on): Likewise.
51815         * modules/getline (Depends-on): Likewise.
51816         * modules/getsubopt (Depends-on): Likewise.
51817         * modules/gettext (Depends-on): Likewise.
51818         * modules/group-member (Depends-on): Likewise.
51819         * modules/mbchar (Depends-on): Likewise.
51820         * modules/memmem (Depends-on): Likewise.
51821         * modules/mempcpy (Depends-on): Likewise.
51822         * modules/memrchr (Depends-on): Likewise.
51823         * modules/pagealign_alloc (Depends-on): Likewise.
51824         * modules/readutmp (Depends-on): Likewise.
51825         * modules/stpcpy (Depends-on): Likewise.
51826         * modules/stpncpy (Depends-on): Likewise.
51827         * modules/strchrnul (Depends-on): Likewise.
51828         * modules/strndup (Depends-on): Likewise.
51829         * modules/strsep (Depends-on): Likewise.
51830         * modules/strverscmp (Depends-on): Likewise.
51831         * modules/vasprintf (Depends-on): Likewise.
51832         * modules/wcwidth (Depends-on): Likewise.
51833         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
51834         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
51835         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
51836         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
51837         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
51838         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
51839         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
51840         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
51841         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
51842         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
51843         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
51844         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
51845         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
51846         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
51847         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
51848         * m4/readutmp.m4 (gl_READUTMP): Likewise.
51849         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
51850         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
51851         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
51852         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
51853         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
51854         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
51855         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
51856         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
51857         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
51858         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
51859         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
51860         so that lock.m4 can be used in gettext without extensions module.
51861
51862 2007-09-11  Bruno Haible  <bruno@clisp.org>
51863
51864         * m4/isc-posix.m4: Remove file.
51865         Suggested by Eric Blake.
51866
51867 2007-09-11  Eric Blake  <ebb9@byu.net>
51868
51869         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
51870
51871 2007-09-10  Bruno Haible  <bruno@clisp.org>
51872
51873         * posix-modules: Fix typo in error message.
51874         Reported by Matt <mkraai@beckman.com>.
51875
51876 2007-09-09  Bruno Haible  <bruno@clisp.org>
51877
51878         * doc/functions/getdelim.texi: Update list of platforms lacking the
51879         function.
51880         * doc/functions/getline.texi: Likewise.
51881
51882 2007-09-09  Jim Meyering  <jim@meyering.net>
51883
51884         * lib/hash.c (hash_initialize): Detect calloc failure.
51885         Reported by Bruno Haible.
51886
51887 2007-09-09  Bruno Haible  <bruno@clisp.org>
51888
51889         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
51890         malloc or realloc fails.
51891
51892 2007-09-09  Bruno Haible  <bruno@clisp.org>
51893
51894         * modules/getcwd (Depends-on): Add malloc-posix.
51895         * modules/glob (Depends-on): Likewise.
51896         * modules/putenv (Depends-on): Likewise.
51897         * modules/strdup (Depends-on): Likewise.
51898         * modules/getdelim (Depends-on): Add realloc-posix.
51899         * modules/read-file (Depends-on): Likewise.
51900
51901 2007-09-09  Bruno Haible  <bruno@clisp.org>
51902
51903         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
51904         (gl_FUNC_MALLOC_POSIX): Require it.
51905         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
51906         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
51907         * modules/realloc (Files): Add m4/malloc.m4.
51908         * modules/calloc (Files): Likewise.
51909
51910 2007-09-09  Bruno Haible  <bruno@clisp.org>
51911
51912         * modules/malloc-posix: New file.
51913         * modules/malloc (Depends-on): Add malloc-posix.
51914         * lib/malloc.c: Include errno.h.
51915         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
51916         and a POSIX-compatible malloc into a single function. Set ENOMEM
51917         when returning NULL.
51918         * m4/malloc.m4: New file.
51919         * doc/functions/malloc.texi: Mention the malloc-posix module.
51920         * lib/stdlib_.h (malloc): New declaration.
51921         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
51922         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
51923         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
51924         and HAVE_MALLOC_POSIX.
51925
51926 2007-09-09  Bruno Haible  <bruno@clisp.org>
51927
51928         * modules/realloc-posix: New file.
51929         * modules/realloc (Depends-on): Add realloc-posix.
51930         * lib/realloc.c: Include errno.h.
51931         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
51932         and a POSIX-compatible realloc into a single function. Set ENOMEM
51933         when returning NULL.
51934         * m4/realloc.m4: New file.
51935         * doc/functions/realloc.texi: Mention the realloc-posix module.
51936         * lib/stdlib_.h (realloc): New declaration.
51937         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
51938         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
51939         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
51940         and HAVE_REALLOC_POSIX.
51941
51942 2007-09-09  Bruno Haible  <bruno@clisp.org>
51943
51944         * modules/calloc-posix: New file.
51945         * modules/calloc (Depends-on): Add calloc-posix.
51946         * lib/calloc.c: Include errno.h.
51947         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
51948         and a POSIX-compatible calloc into a single function. Set ENOMEM
51949         when returning NULL.
51950         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
51951         * doc/functions/calloc.texi: Mention the calloc-posix module.
51952         * lib/stdlib_.h (calloc): New declaration.
51953         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
51954         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
51955         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
51956         and HAVE_CALLOC_POSIX.
51957
51958 2007-09-09  Bruno Haible  <bruno@clisp.org>
51959
51960         Allow for modules to show an arbitrary notice.
51961         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
51962         * gnulib-tool: New option --extract-notice.
51963         (func_usage): Document it.
51964         (sed_extract_prog): Update.
51965         (func_get_notice): New function.
51966         (func_modules_notice): New function.
51967         (func_import, func_create_testdir): Invoke it.
51968         Suggested by Jim Meyering.
51969
51970 2007-09-09  Bruno Haible  <bruno@clisp.org>
51971
51972         * gnulib-tool: New options --verbose, --quiet.
51973         (func_usage): Document them.
51974         (verbose): New variable.
51975         (func_execute_command): New function.
51976         (func_import): Don't show the module list and the file list if
51977         $verbose < 0.
51978         (func_create_testdir): Likewise. Use func_execute_command.
51979         (func_create_megatestdir): Use func_execute_command.
51980
51981 2007-09-08  Bruno Haible  <bruno@clisp.org>
51982
51983         * gnulib-tool (func_import): Prefer rsync over wget when available,
51984         for fetching the PO files.
51985
51986 2007-09-08  Bruno Haible  <bruno@clisp.org>
51987
51988         * posix-modules: New file. Portions copied from gnulib-tool.
51989         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
51990
51991 2007-09-08  Jim Meyering  <jim@meyering.net>
51992
51993         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
51994         * lib/fpending.h: Rename from __fpending.h.
51995         * lib/fpending.c: Rename from __fpending.c.
51996         Include "fpending.h", not "__fpending.h".
51997         * lib/__fpending.h, lib/__fpending.c: Remove files.
51998         * modules/fpending (Files): Reflect new file names.
51999         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
52000
52001 2007-09-08  Bruno Haible  <bruno@clisp.org>
52002
52003         * m4/inttypes-h.m4: Remove stub file.
52004
52005 2007-09-07  Simon Josefsson  <simon@josefsson.org>
52006
52007         * doc/headers/stdint.texi: Discuss #include_next issue.
52008
52009 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
52010
52011         * build-aux/bootstrap: Remove obsolete comment about wget --help.
52012
52013 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52014
52015         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
52016         in variable name.
52017
52018 2007-09-03  Jim Meyering  <jim@meyering.net>
52019
52020         New module: git-version-gen.
52021         * modules/git-version-gen: New file.
52022
52023         Import changes from coreutils for bootstrap script.
52024
52025         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
52026
52027         bootstrap: uses rsync to download the .po files
52028         * build-aux/bootstrap (po_download_command_format): New global.
52029         (download_po_files): Use rsync.
52030         (update_po_files): Don't remove .po files after download,
52031         so future rsync runs can take advantage of the copies.
52032
52033         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
52034
52035         Solve the unnecessary-.po-file-regeneration problem once and for all.
52036         * build-aux/bootstrap (download_po_files): New function, renamed from
52037         get_translations.  Now, downloads, but doesn't update LINGUAS.
52038         (update_po_files): New function.
52039
52040         bootstrap: Ignore more.
52041         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
52042         uniwidth to e.g., lib/.gitignore.
52043         (slurp): Handle the sys_stat_.h -> sys mapping, too.
52044
52045         * build-aux/bootstrap: New setting: vc_ignore.
52046         (insert_sorted_if_absent): Create $file if absent.
52047         Adapt to new, possibly empty, list: $vc_ignore.
52048
52049         bootstrap: generate more ignorable names
52050         * build-aux/bootstrap (slurp): When generating ignorable names,
52051         also map .sin to .sed, .gperf to .c, and .y to .c.
52052
52053 2007-09-03  Jim Meyering  <jim@meyering.net>
52054
52055         * build-aux/git-version-gen: New file, from coreutils.  For details, see
52056         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
52057
52058 2007-09-02  Bruno Haible  <bruno@clisp.org>
52059
52060         Fix mis-recognition of 'mcs' on QNX 6.
52061         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
52062         output contains the string "Mono".
52063         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
52064         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
52065
52066 2007-09-01  Bruno Haible  <bruno@clisp.org>
52067
52068         Fix collision between uniwidth/* and linebreak modules.
52069         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
52070         u32_width): Remove declarations.
52071         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
52072         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
52073         streq3, streq2, streq1, streq0): Remove functions.
52074         (STREQ): Remove macro.
52075         (is_cjk_encoding): Remove function.
52076         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
52077         (uc_width, u8_width, u16_width, u32_width): Remove functions.
52078         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
52079         * NEWS: Document the change.
52080
52081 2007-09-01  Bruno Haible  <bruno@clisp.org>
52082
52083         * lib/streq.h: Add double-inclusion guard.
52084
52085 2007-09-01  Karl Berry  <karl@gnu.org>
52086
52087         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
52088
52089 2007-08-28  Jim Meyering  <jim@meyering.net>
52090
52091         Rename mreadlink_with_size to areadlink_with_size.
52092         * NEWS: Document the change.
52093         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
52094         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
52095         * lib/mreadlink.h: Rename this to...
52096         * lib/areadlink.h: ...this.
52097         * modules/mreadlink-with-size: Rename this to...
52098         * modules/areadlink-with-size: ...this.
52099         * lib/canonicalize.c: Reflect the renaming.
52100         * modules/canonicalize: Likewise.
52101
52102 2007-08-26  Bruno Haible  <bruno@clisp.org>
52103
52104         * gnulib-tool (func_import): When deciding which files to remove,
52105         consider also dangling symbolic links.
52106         Reported by Eric Blake.
52107
52108 2007-08-26  Bruno Haible  <bruno@clisp.org>
52109
52110         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
52111
52112 2007-08-23  Simon Josefsson  <simon@josefsson.org>
52113
52114         * lib/readline.c: Don't include getline.h, the prototype is now
52115         found in stdio.h.
52116
52117 2007-08-23  Jim Meyering  <jim@meyering.net>
52118
52119         Getdelim touchup.
52120         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
52121         around the funlockfile call, since funlockfile never sets errno.
52122         Don't set errno upon failed realloc.
52123
52124 2007-08-22  Eric Blake  <ebb9@byu.net>
52125
52126         Getline touchups.
52127         * lib/getdelim.c (getdelim): Revert regression that required *n to
52128         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
52129         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
52130         getdelim, rather than whether implementation is missing.
52131         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
52132         * lib/stdio_.h (getline): Also declare if replacement is
52133         required.
52134         * doc/functions/getdelim.texi: New file.
52135         * doc/functions/getline.texi: Likewise.
52136         * doc/gnulib.texi (Function Substitutes): Add new files.
52137         Reported by Bruno Haible.
52138
52139 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
52140
52141         * users.txt: Add Guile.
52142
52143 2007-08-22  Eric Blake  <ebb9@byu.net>
52144
52145         * tests/test-getdelim.c (main): Use remove, not unlink.
52146         * tests/test-getline.c (main): Likewise.
52147
52148         Move getline and getdelim into stdio.h, per POSIX 200x.
52149         * modules/getline (Files): Remove getline.h.
52150         (Depends-on): Add stdio.
52151         (configure.ac): Add module indicator.
52152         * modules/getdelim (Files): Remove getdelim.h.
52153         (Depends-on): Add stdio.
52154         (configure.ac): Add module indicator.
52155         * modules/stdio (Makefile.am): Work with new indicators.
52156         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
52157         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
52158         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
52159         * lib/getdelim.h: Delete.
52160         * lib/getline.h: Delete.
52161         * lib/stdio_.h (getdelim, getline): Declare.
52162         * modules/getdelim-tests: New module.
52163         * modules/getline-tests: Likewise.
52164         * tests/test-getdelim.c: New file.
52165         * tests/test-getline.c: Likewise.
52166         * NEWS: Document the change.
52167         * lib/getline.c: Update choice of header.
52168         * lib/csharpcomp.c: Likewise.
52169         * lib/getpass.c: Likewise.
52170         * lib/javacomp.c: Likewise.
52171         * lib/javaversion.c: Likewise.
52172         * lib/yesno.c: Likewise.
52173         * lib/getdelim.c: Likewise.
52174         (getdelim): Set errno on failure, and avoid memory leak.
52175
52176 2007-08-19  Bruno Haible  <bruno@clisp.org>
52177
52178         * modules/closein (Depends-on): Add freadahead.
52179         * lib/closein.c: Include freadahead.h.
52180         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
52181         is zero.
52182
52183 2007-08-19  Bruno Haible  <bruno@clisp.org>
52184
52185         * modules/freadahead-tests: New file.
52186         * tests/test-freadahead.sh: New file.
52187         * tests/test-freadahead.c: New file.
52188
52189         * modules/freadahead: New file.
52190         * lib/freadahead.h: New file.
52191         * lib/freadahead.c: New file.
52192         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
52193         fbufmode, fpurge, freadable, fwritable.
52194
52195 2007-08-19  Eric Blake  <ebb9@byu.net>
52196
52197         Test yesno in combination with closein.
52198         * lib/yesno.c (yesno): Document use of stdin.
52199         * modules/yesno-tests (Files): New module.
52200         * tests/test-yesno.c (main): New file.
52201         * tests/test-yesno.sh: Likewise.
52202
52203 2007-08-19  Bruno Haible  <bruno@clisp.org>
52204
52205         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
52206         * lib/fseeko.c (rpl_fseeko): Likewise.
52207         * lib/fseterr.c (fseterr): Likewise.
52208
52209 2007-08-19  Bruno Haible  <bruno@clisp.org>
52210
52211         * tests/test-lseek.c (main): Disable a test for BeOS.
52212         * doc/functions/lseek.texi: Document the BeOS bug.
52213
52214 2007-08-19  Bruno Haible  <bruno@clisp.org>
52215             Eric Blake  <ebb9@byu.net>
52216
52217         * lib/lseek.c: Include <sys/stat.h>.
52218         (rpl_lseek): Add workaround code also for Unix platforms.
52219         Needed for BeOS.
52220         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
52221         * doc/functions/lseek.texi: Document BeOS definiency.
52222
52223 2007-08-18  Bruno Haible  <bruno@clisp.org>
52224
52225         * modules/fstrcmp-tests: New file.
52226         * tests/test-fstrcmp.c: New file.
52227
52228 2007-08-18  Bruno Haible  <bruno@clisp.org>
52229
52230         * modules/fstrcmp: New file, from GNU gettext with modifications.
52231         * lib/fstrcmp.h: New file, from GNU gettext.
52232         * lib/fstrcmp.c: New file, from GNU gettext.
52233         * MODULES.html.sh (String handling): Add fstrcmp.
52234
52235 2007-08-18  Bruno Haible  <bruno@clisp.org>
52236
52237         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
52238         'bool'.
52239         (diag, compareseq): Remove const from the ctxt argument.
52240         (USE_HEURISTIC): Undefine at the end.
52241
52242 2007-08-18  Jim Meyering  <jim@meyering.net>
52243
52244         New file: lib/idcache.h
52245         * NEWS: Mention the addition.
52246         * modules/idcache (Files): Add lib/idcache.h
52247         * lib/idcache.c: Include "idcache.h".
52248         Don't include <sys/types.h>.
52249         Add a FIXME comment.
52250         Move file-scoped "static" declarations to the top.
52251         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
52252
52253 2007-08-17  Bruno Haible  <bruno@clisp.org>
52254         and Paul Eggert  <eggert@cs.ucla.edu>
52255
52256         * MODULES.html.sh: Add diffseq.
52257         * modules/diffseq: New file.
52258         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
52259         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
52260
52261 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
52262
52263         Import changes from coreutils for bootstrap script.
52264
52265         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
52266
52267         * build-aux/bootstrap (slurp): Work even in environments where
52268         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
52269         current code does not slurp files whose names start with ".", and
52270         this looks like it might be a troublesome area.
52271
52272         2007-07-11  Jim Meyering  <jim@meyering.net>
52273
52274         If there's a GPL vN copyright comment, require that N == 3.
52275
52276         2007-07-08  Jim Meyering  <jim@meyering.net>
52277
52278         Run the coreutils-specific code only if tests/Makefile.am.in exists.
52279         * build-aux/bootstrap (mam_template): Move definition out of loop.
52280
52281         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
52282
52283         * build-aux/bootstrap (symlink_to_dir): Rename function from
52284         symlink_to_gnulib.  Add a directory parameter.  Update all
52285         callers.
52286         (cp_mark_as_generated): Also check for -- and link to -- files in
52287         gl/.
52288
52289         2007-07-08  Jim Meyering  <jim@meyering.net>
52290
52291         Adapt to deeper hierarchy in gnulib.
52292         * build-aux/bootstrap (symlink_to_dir): If the destination
52293         directory doesn't exist, create it. This is required at least for
52294         "lib/uniwidth/cjk.h".
52295
52296         2007-05-15  Jim Meyering  <jim@meyering.net>
52297
52298         * build-aux/bootstrap: Now that generated Makefile.am files
52299         are no longer under version control, they must be created at
52300         bootstrap time.
52301
52302 2007-08-14  Ben Pfaff  <blp@gnu.org>
52303
52304         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
52305
52306 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
52307
52308         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
52309         given the changes below.
52310         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
52311         even on hosts that have padding bits beyond the supported 64.
52312
52313 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
52314
52315         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
52316         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
52317         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
52318         depends on it.
52319         (xstrtol_error): Remove.
52320         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
52321         but with a different signature.
52322         (ATTRIBUTE_NORETURN, __attribute__): New macros.
52323         * lib/xstrtol-error.c: Include exitfail.h.
52324         (xstrtol_fatal): New function, with a different signature from the
52325         old xstrtol_error, so that the caller need not worry about passing
52326         in an exit status, or about storage management of the option argument.
52327         (xstrtol_error): Now a static function.  Redo signature to
52328         implement xstrtol_fatal.  Output the correct number of hyphens in
52329         front of the option so that the caller need not worry about
52330         storage management.
52331         (N_): New macro.
52332         (_): Remove; not used now.
52333         * modules/xstrtol: Depend on getopt.
52334         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
52335         of old STRTOL_FATAL_ERROR macro.
52336         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
52337         of test program.
52338         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
52339         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
52340
52341 2007-08-08  Eric Blake  <ebb9@byu.net>
52342
52343         * lib/xstrtol-error.c: Add missing include.
52344
52345         Move xstrtol messages into gnulib domain, when --pobase is used.
52346         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
52347         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
52348         * modules/xstrtol (Files): Distribute new file.
52349         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
52350         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
52351         * tests/test-xstrtol.c: ...into new file.
52352         * tests/test-xstrtoul.c: Also test xstrtoul.
52353         * tests/test-xstrtoimax.c: Also test xstrtoimax.
52354         * tests/test-xstrtoumax.c: Also test xstrtoumax.
52355         * tests/test-xstrtol.sh: Drive the tests.
52356         * tests/test-xstrtoimax.sh: Likewise.
52357         * tests/test-xstrtoumax.sh: Likewise.
52358         * modules/xstrtol-tests: New module.
52359         * modules/xstrtoimax-tests: Likewise.
52360         * modules/xstrtoumax-tests: Likewise.
52361
52362 2007-08-08  Jim Meyering  <jim@meyering.net>
52363
52364         New function: mfile_name_concat.
52365         * lib/filenamecat.c (mfile_name_concat): New function, just like
52366         file_name_concat, but return NULL upon failure rather than exiting
52367         with a diagnostic.
52368         * lib/filenamecat.h: Declare it.
52369
52370 2007-08-07  Bruno Haible  <bruno@clisp.org>
52371
52372         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
52373         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
52374         warning from gcc.
52375         Reported by Eric Blake.
52376
52377 2007-08-07  Simon Josefsson  <simon@josefsson.org>
52378
52379         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
52380         * modules/crypto/arcfour (License): Likewise.
52381         * modules/crypto/des-tests (License): Likewise.
52382         * modules/crypto/gc-arctwo-tests (License): Likewise.
52383         * modules/crypto/gc-des-tests (License): Likewise.
52384         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
52385         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
52386         * modules/crypto/gc-md2-tests (License): Likewise.
52387         * modules/crypto/gc-md4-tests (License): Likewise.
52388         * modules/crypto/gc-md5-tests (License): Likewise.
52389         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
52390         * modules/crypto/gc-rijndael-tests (License): Likewise.
52391         * modules/crypto/gc-sha1-tests (License): Likewise.
52392         * modules/crypto/gc-tests (License): Likewise.
52393         * modules/crypto/hmac-md5 (License): Likewise.
52394         * modules/crypto/hmac-sha1 (License): Likewise.
52395         * modules/crypto/md2-tests (License): Likewise.
52396         * modules/crypto/md4-tests (License): Likewise.
52397         * modules/crypto/md5 (License): Likewise.
52398         * modules/crypto/rijndael (License): Likewise.
52399         * modules/crypto/sha1 (License): Likewise.
52400         * modules/memxor (License): Likewise.
52401
52402 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
52403         and Bruno Haible  <bruno@clisp.org>
52404
52405         * NEWS: Describe interface changes to human, xstrtol.
52406         * lib/human.h: Include <xstrtol.h>.
52407         (human_options): Return enum strtol_error, not int.  Remove
52408         bool arg; take int * instead.
52409         * lib/human.c: Don't include "gettext.h".
52410         (_): Remove; no longer used.
52411         Don't include <xstrtol.h>, since human.h does it.
52412         (human_options): Adjust to abovementioned interface changes.
52413         Do not report error to stderr; that's now the caller's
52414         responsibility.
52415         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
52416         interface change.
52417         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
52418         Str, Argument_type_string.  All uses changed.  Put " argument"
52419         in diagnostics to make them clearer.  Change wording of suffix
52420         message for clarity.
52421         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
52422         Argument_type_string.
52423         (STRTOL_FATAL_WARN): Remove; no longer used.
52424         * modules/human (Depends-on): Remove gettext-h.
52425
52426 2007-08-06  Simon Josefsson  <simon@josefsson.org>
52427
52428         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
52429
52430 2007-07-31  Bruno Haible  <bruno@clisp.org>
52431
52432         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
52433         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
52434         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
52435
52436 2007-07-31  Bruno Haible  <bruno@clisp.org>
52437
52438         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
52439         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
52440
52441 2007-07-30  Bruno Haible  <bruno@clisp.org>
52442
52443         * modules/base64 (License): Use the synonymous term "LGPLv2+".
52444         * modules/c-ctype (License): Likewise.
52445         * modules/c-strcase (License): Likewise.
52446         * modules/check-version (License): Likewise.
52447         * modules/iconv (License): Likewise.
52448         * modules/iconv_open (License): Likewise.
52449         * modules/read-file (License): Likewise.
52450         * modules/striconv (License): Likewise.
52451         * modules/strverscmp (License): Likewise.
52452         * modules/vasprintf (License): Likewise.
52453         * modules/crypto/des (License): Likewise.
52454         * modules/crypto/gc (License): Likewise.
52455         * modules/crypto/gc-arcfour (License): Likewise.
52456         * modules/crypto/gc-arctwo (License): Likewise.
52457         * modules/crypto/gc-des (License): Likewise.
52458         * modules/crypto/gc-hmac-md5 (License): Likewise.
52459         * modules/crypto/gc-hmac-sha1 (License): Likewise.
52460         * modules/crypto/gc-md2 (License): Likewise.
52461         * modules/crypto/gc-md4 (License): Likewise.
52462         * modules/crypto/gc-md5 (License): Likewise.
52463         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
52464         * modules/crypto/gc-random (License): Likewise.
52465         * modules/crypto/gc-rijndael (License): Likewise.
52466         * modules/crypto/gc-sha1 (License): Likewise.
52467         * modules/crypto/md2 (License): Likewise.
52468         * modules/crypto/md4 (License): Likewise.
52469
52470 2007-07-30  Jim Meyering  <jim@meyering.net>
52471
52472         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
52473         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
52474         it has valid stat data.  This bug would cause du not to count the
52475         sizes of inaccessible directories.
52476         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
52477         in <http://bugzilla.redhat.com/250077>.
52478
52479 2007-07-25  Peter O'Gorman  <peter@pogma.com>
52480             Bruno Haible  <bruno@clisp.org>
52481
52482         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
52483         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
52484         #include_next, gives a diagnostic about it, but reports no error in
52485         the exit code.
52486         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
52487
52488 2007-07-24  Ben Pfaff  <blp@gnu.org>
52489
52490         Improve name: "count-one-bits" is better than "popcount".
52491         * MODULES.html.sh: Update name.
52492         * lib/popcount.h: Renamed lib/count-one-bits.h.
52493         (popcount): Renamed count_one_bits.
52494         (popcountl): Renamed count_one_bits_l.
52495         (popcountll): Renamed count_one_bits_ll.
52496         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
52497         * modules/popcount: Renamed module/count-one-bits.
52498         * modules/popcount-tests: Renamed module/count-one-bits-tests.
52499         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
52500
52501 2007-07-23  Ben Pfaff  <blp@gnu.org>
52502
52503         * lib/popcount.h (popcount32): Reduce size of constants, to allow
52504         better code generation, and add U to large constants to avoid
52505         warnings, in non-GCC case.
52506         Suggested by Bruno Haible.
52507
52508 2007-07-23  Ben Pfaff  <blp@gnu.org>
52509
52510         * lib/popcount.h: Use verify_true instead of if...abort.
52511         * modules/popcount: Depend on verify module.
52512         Suggested by Jim Meyering.
52513
52514 2007-07-23  Bruno Haible  <bruno@clisp.org>
52515
52516         * gnulib-tool (func_import): Create a .cvsignore file also when the
52517         directory is not yet in CVS but the toplevel directory is. When
52518         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
52519         Reported by Karl Berry.
52520
52521 2007-07-22  Ben Pfaff  <blp@gnu.org>
52522
52523         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
52524         case.
52525         Suggested by Eric Blake.
52526
52527 2007-07-22  Ben Pfaff  <blp@gnu.org>
52528
52529         New module: popcount.
52530         * MODULES.html.sh: Add popcount.
52531         * modules/popcount: New file.
52532         * modules/popcount-tests: New file.
52533         * tests/test-popcount.c: New file.
52534         * lib/popcount.h: New file.
52535         * m4/popcount.m4: New file.
52536
52537 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
52538
52539         * build-aux/announce-gen: Update to GPLv3.
52540
52541         * build-aux/config.guess: Update from config.
52542
52543 2007-07-21  Bruno Haible  <bruno@clisp.org>
52544
52545         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
52546         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
52547
52548 2007-07-20  Jim Meyering  <jim@meyering.net>
52549
52550         * check-module: Diagnose a self-dependency.
52551
52552 2007-07-19  Bruno Haible  <bruno@clisp.org>
52553
52554         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
52555         empty.
52556         Reported by Eric Blake.
52557
52558 2007-07-18  Bruno Haible  <bruno@clisp.org>
52559
52560         * gnulib-tool: New options --po-base, --po-domain.
52561         (func_usage): Document them.
52562         (pobase, po_domain): New variables.
52563         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
52564         DEFAULT_TEXT_DOMAIN.
52565         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
52566         (func_import): Consider pobase and po_domain. Create a po/ directory.
52567         (func_create_testdir): Set pobase and po_domain to empty.
52568         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
52569         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
52570
52571 2007-07-18  Bruno Haible  <bruno@clisp.org>
52572
52573         * gnulib-tool (func_get_automake_snippet): Synthesize also an
52574         EXTRA_DIST augmentation for files in build-aux/.
52575
52576 2007-07-16  Bruno Haible  <bruno@clisp.org>
52577
52578         * modules/lseek (License): Use the synonymous term "LGPLv2+".
52579         * modules/getdelim (License): Likewise.
52580
52581 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52582
52583         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
52584         * modules/d-type (License): Likewise.
52585         * modules/extensions (License): Likewise.
52586         * modules/fnmatch (License): Likewise.
52587         * modules/fseeko (License): Likewise.
52588         * modules/getaddrinfo (License): Likewise.
52589         * modules/getline (License): Likewise.
52590         * modules/getlogin_r (License): Likewise.
52591         * modules/getpass (License): Likewise.
52592         * modules/gettimeofday (License): Likewise.
52593         * modules/glob (License): Likewise.
52594         * modules/inet_ntop (License): Likewise.
52595         * modules/malloc (License): Likewise.
52596         * modules/malloca (License): Likewise.
52597         * modules/memmem (License): Likewise.
52598         * modules/mempcpy (License): Likewise.
52599         * modules/memset (License): Likewise.
52600         * modules/minmax (License): Likewise.
52601         * modules/mktime (License): Likewise.
52602         * modules/netinet_in (License): Likewise.
52603         * modules/pathmax (License): Likewise.
52604         * modules/poll (License): Likewise.
52605         * modules/regex (License): Likewise.
52606         * modules/snprintf (License): Likewise.
52607         * modules/stdbool (License): Likewise.
52608         * modules/stdint (License): Likewise.
52609         * modules/stdio (License): Likewise.
52610         * modules/strcase (License): Likewise.
52611         * modules/strcasestr (License): Likewise.
52612         * modules/strdup (License): Likewise.
52613         * modules/string (License): Likewise.
52614         * modules/strndup (License): Likewise.
52615         * modules/strnlen (License): Likewise.
52616         * modules/strpbrk (License): Likewise.
52617         * modules/strptime (License): Likewise.
52618         * modules/strsep (License): Likewise.
52619         * modules/sys_select (License): Likewise.
52620         * modules/sys_socket (License): Likewise.
52621         * modules/sys_stat (License): Likewise.
52622         * modules/sys_time (License): Likewise.
52623         * modules/time (License): Likewise.
52624         * modules/time_r (License): Likewise.
52625         * modules/timegm (License): Likewise.
52626         * modules/unistd (License): Likewise.
52627         * modules/vsnprintf (License): Likewise.
52628         * modules/wctype (License): Likewise.
52629
52630 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52631
52632         * modules/argz (License): LGPLv2+.
52633
52634 2007-07-15  Karl Berry  <karl@gnu.org>
52635
52636         * doc/gnulib.texi: revise node structure per new fdl.texi.
52637
52638 2007-07-14  Bruno Haible  <bruno@clisp.org>
52639
52640         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
52641         the output file.
52642         * lib/uniname/uninames.h: Regenerated.
52643
52644 2007-07-14  Karl Berry  <karl@gnu.org>
52645
52646         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
52647         omitting sectioning and index commands.
52648
52649 2007-07-13  Bruno Haible  <bruno@clisp.org>
52650
52651         New gnulib-tool option --more-symlinks.
52652         * gnulib-tool (func_usage): Document --more-symlinks.
52653         (do_copyrights): New variable.
52654         Recognize option --more-symlinks.
52655         (func_import): Don't add a copyright notice transform to
52656         sed_transform_lib_file if do_copyrights is empty.
52657
52658 2007-07-13  Bruno Haible  <bruno@clisp.org>
52659
52660         * lib/vasnprintf.c (decimal_point_char): Define also if
52661         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
52662         && !NEED_PRINTF_DIRECTIVE_A.
52663         Reported by Clemens Koller <clemens.koller@anagramm.de> via
52664         Gary V. Vaughan <gary@gnu.org>.
52665
52666 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
52667
52668         * lib/inttypes_.h: Undo previous change, since it was fixed
52669         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
52670
52671 2007-07-13  Bruno Haible  <bruno@clisp.org>
52672
52673         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
52674         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
52675
52676 2007-07-13  Jim Meyering  <jim@meyering.net>
52677
52678         df: Don't fail for Tru64's "file-on-file mount".
52679         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
52680         so we fall through and use statfs instead.  Details here:
52681         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
52682         Reported by Albert Chin.
52683
52684 2007-07-13  Bruno Haible  <bruno@clisp.org>
52685
52686         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
52687         * modules/configmake (License): Likewise.
52688         * modules/gettext (License): Likewise.
52689         * modules/gettext-h (License): Likewise.
52690         * modules/include_next (License): Likewise.
52691         * modules/link-warning (License): Likewise.
52692         * modules/localcharset (License): Likewise.
52693         * modules/localename (License): Likewise.
52694         * modules/lock (License): Likewise.
52695         * modules/relocatable-lib-lgpl (License): Likewise.
52696         * modules/size_max (License): Likewise.
52697         * modules/vasnprintf (License): Likewise.
52698         * modules/wchar (License): Likewise.
52699         * modules/xsize (License): Likewise.
52700
52701 2007-07-13  Bruno Haible  <bruno@clisp.org>
52702
52703         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
52704         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
52705
52706 2007-07-12  Bruno Haible  <bruno@clisp.org>
52707
52708         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
52709         in the modules files.
52710
52711 2007-07-11  Karl Berry  <karl@gnu.org>
52712
52713         * MODULES.html.sh (func_module): use
52714          sed -e '\|^'"${includefile}"'$|d'
52715          instead of /.../d, to avoid errors on $includefile's containing /.
52716
52717 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
52718
52719         * gnulib-tool (func_import): Avoid duplication of --avoid
52720         statements
52721         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
52722         names to `_' in variable names.
52723
52724 2007-07-10  Eric Blake  <ebb9@byu.net>
52725
52726         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
52727         * NEWS: Document this change.
52728
52729 2007-07-08  Bruno Haible  <bruno@clisp.org>
52730
52731         Update to Unicode 5.0.
52732         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
52733         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
52734         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
52735         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
52736         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
52737         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
52738         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
52739         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
52740         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
52741         U+10A3F, U+1D242..U+1D244.
52742         (nonspacing_table_ind): Update.
52743         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
52744         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
52745
52746 2007-07-08  Bruno Haible  <bruno@clisp.org>
52747
52748         Update to Unicode 5.0.
52749         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
52750         code transform. Extend the name index field of unicode_name_to_code and
52751         unicode_code_to_name from 16 to 24 bits.
52752         * lib/uniname/uniname.c (unicode_character_name,
52753         unicode_name_character): Add the range 0x12xxx to the code transform.
52754         * lib/uniname/uninames.h: Regenerated.
52755         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
52756
52757 2007-07-07  Bruno Haible  <bruno@clisp.org>
52758
52759         * modules/wcwidth-tests: New file.
52760         * tests/test-wcwidth.c: New file.
52761
52762         Work around MacOS X wcwidth() bug.
52763         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
52764         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
52765         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
52766         original wcwidth in non-UTF-8 locales.
52767         * modules/wcwidth (Depends-on): Add localcharset, streq,
52768         uniwidth/width.
52769         * doc/functions/wcwidth.texi: Update.
52770
52771 2007-07-07  Bruno Haible  <bruno@clisp.org>
52772
52773         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
52774         (wcwidth): New declaration.
52775         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
52776         macros.
52777         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
52778         here. Prepare for creating <wchar.h> unconditionally.
52779         * modules/wchar (Depends-on): Add link-warning.
52780         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
52781         REPLACE_WCWIDTH, and GL_LINK_WARNING.
52782         * lib/wcwidth.h: Remove file.
52783         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
52784         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
52785         * modules/wcwidth (Files): Remove lib/wcwidth.h.
52786         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
52787         (Include): Replace wcwidth.h with <wchar.h>.
52788         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
52789         * lib/mbchar.h: Don't include wcwidth.h.
52790         * lib/mbswidth.c: Likewise.
52791         * NEWS: Mention the change.
52792
52793 2007-07-07  Bruno Haible  <bruno@clisp.org>
52794
52795         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
52796         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
52797         definition with an external declaration.
52798         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
52799         defined as a function. Remove AC_C_INLINE requirement.
52800         * modules/wcwidth (Files): Add lib/wcwidth.c.
52801         (Makefile.am): Remove redundant statement.
52802
52803 2007-07-07  Bruno Haible  <bruno@clisp.org>
52804
52805         * MODULES.html.sh (Unicode string functions): Add the new modules.
52806
52807         * tests/uniwidth/test-u32-strwidth.c: New file.
52808         * modules/uniwidth/u32-strwidth-tests: New file.
52809
52810         * lib/uniwidth/u32-strwidth.c: New file.
52811         * modules/uniwidth/u32-strwidth: New file.
52812
52813         * tests/uniwidth/test-u16-strwidth.c: New file.
52814         * modules/uniwidth/u16-strwidth-tests: New file.
52815
52816         * lib/uniwidth/u16-strwidth.c: New file.
52817         * modules/uniwidth/u16-strwidth: New file.
52818
52819         * tests/uniwidth/test-u8-strwidth.c: New file.
52820         * modules/uniwidth/u8-strwidth-tests: New file.
52821
52822         * lib/uniwidth/u8-strwidth.c: New file.
52823         * modules/uniwidth/u8-strwidth: New file.
52824
52825         * tests/uniwidth/test-u32-width.c: New file.
52826         * modules/uniwidth/u32-width-tests: New file.
52827
52828         * lib/uniwidth/u32-width.c: New file.
52829         * modules/uniwidth/u32-width: New file.
52830
52831         * tests/uniwidth/test-u16-width.c: New file.
52832         * modules/uniwidth/u16-width-tests: New file.
52833
52834         * lib/uniwidth/u16-width.c: New file.
52835         * modules/uniwidth/u16-width: New file.
52836
52837         * tests/uniwidth/test-u8-width.c: New file.
52838         * modules/uniwidth/u8-width-tests: New file.
52839
52840         * lib/uniwidth/u8-width.c: New file.
52841         * modules/uniwidth/u8-width: New file.
52842
52843         * tests/uniwidth/test-uc_width.c: New file.
52844         * modules/uniwidth/width-tests: New file.
52845
52846         * lib/uniwidth/width.c: New file, from GNU libiconv.
52847         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
52848         * modules/uniwidth/width: New file.
52849
52850         * lib/uniwidth.h: New file, from GNU libiconv.
52851         * modules/uniwidth/base: New file.
52852
52853 2007-07-07  Bruno Haible  <bruno@clisp.org>
52854
52855         * lib/uniname.h: New file, from GNU gettext.
52856         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
52857         * lib/uniname/uninames.h: New file, from GNU gettext.
52858         * lib/uniname/uniname.c: New file, from GNU gettext.
52859         * tests/uniname/test-uninames.sh: New file.
52860         * tests/uniname/test-uninames.c: New file, from GNU gettext.
52861         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
52862         * modules/uniname/base: New file.
52863         * modules/uniname/uniname: New file.
52864         * modules/uniname/uniname-tests: New file.
52865         * MODULES.html.sh (Unicode string functions): Add the new modules.
52866
52867 2007-07-06  Bruno Haible  <bruno@clisp.org>
52868
52869         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
52870
52871 2007-07-06  Bruno Haible  <bruno@clisp.org>
52872
52873         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
52874         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
52875         includes <cygwin/sys_time.h> which includes <sys/select.h> which
52876         include <sys/time.h>.
52877         Reported by Eric Blake.
52878
52879 2007-07-06  Eric Blake  <ebb9@byu.net>
52880
52881         Fix testing canonicalize on cygwin.
52882         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
52883         Revert patch from 2007-06-19.
52884         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
52885         canonicalize module is also in use.
52886         * tests/test-canonicalize.c: New file.
52887         * tests/test-canonicalize.sh: Likewise.
52888         * modules/canonicalize-tests: Likewise.
52889
52890 2007-07-06  Jim Meyering  <jim@meyering.net>
52891
52892         * lib/getugroups.c (getugroups): Detect getgrent failure.
52893         Adjust comment to reflect reality: this function may return -1.
52894
52895 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
52896
52897         * build-aux/bootstrap (TP_URL,get_translations): Update to use
52898         the new TP address.
52899         (usage): Fix typo
52900         (gnulib_mk): New variable.
52901
52902 2007-07-05  Jim Meyering  <jim@meyering.net>
52903
52904         Don't let endgrent clobber errno, no matter how improbable.
52905         * lib/getugroups.c (getugroups): Save and restore errno around
52906         endgrent call.
52907
52908         Close the group DB even when failing with 2^31 or more members.
52909         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
52910
52911 2007-07-04  Jim Meyering  <jim@meyering.net>
52912
52913         * lib/getugroups.h: New file.
52914         * lib/getugroups.c: Include "getugroups.h".
52915         Remove uses of "register" keyword.
52916         Move local variable, "cp", down into scope where used.
52917         Give "username" parameter the "const" attribute.
52918         * modules/getugroups (Files): Add lib/getugroups.h
52919
52920 2007-07-04  Karl Berry  <karl@gnu.org>
52921
52922         * MODULES.html.sh (func_all_modules): Complete rename of
52923         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
52924
52925 2007-07-02  Bruno Haible  <bruno@clisp.org>
52926
52927         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
52928         mode, when inttypes.h comes from gnulib.
52929         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
52930
52931 2007-07-02  Simon Josefsson  <simon@josefsson.org>
52932
52933         * NEWS: Mention lgpl module name change.
52934
52935         * modules/lgpl-2.1: Renamed from lgpl.
52936
52937         * NEWS: Mention gpl module name change.
52938
52939         * modules/gpl-3.0: New file, based on gpl-2.0.
52940
52941         * modules/gpl-2.0: Renamed from gpl.
52942
52943         * modules/gpl: Fix filename, doc/gpl.texi is now found at
52944         doc/gpl-2.0.texi.
52945
52946 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
52947
52948         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
52949         #define __STDC_LIMIT_MACROS temporarily while including
52950         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
52951         Problem reported by Joel E. Denny in
52952         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
52953
52954 2007-07-01  Bruno Haible  <bruno@clisp.org>
52955
52956         * lib/unistdio.h: New file.
52957         * lib/unistdio/u-asnprintf.h: New file.
52958         * lib/unistdio/u-asprintf.h: New file.
52959         * lib/unistdio/u-printf-args.c: New file.
52960         * lib/unistdio/u-printf-args.h: New file.
52961         * lib/unistdio/u-printf-parse.h: New file.
52962         * lib/unistdio/u-snprintf.h: New file.
52963         * lib/unistdio/u-sprintf.h: New file.
52964         * lib/unistdio/u-vasprintf.h: New file.
52965         * lib/unistdio/u-vsnprintf.h: New file.
52966         * lib/unistdio/u-vsprintf.h: New file.
52967         * lib/unistdio/ulc-asnprintf.c: New file.
52968         * lib/unistdio/ulc-asprintf.c: New file.
52969         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
52970         * lib/unistdio/ulc-printf-parse.c: New file.
52971         * lib/unistdio/ulc-snprintf.c: New file.
52972         * lib/unistdio/ulc-sprintf.c: New file.
52973         * lib/unistdio/ulc-vasnprintf.c: New file.
52974         * lib/unistdio/ulc-vasprintf.c: New file.
52975         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
52976         * lib/unistdio/ulc-vsnprintf.c: New file.
52977         * lib/unistdio/ulc-vsprintf.c: New file.
52978         * lib/unistdio/u8-asnprintf.c: New file.
52979         * lib/unistdio/u8-asprintf.c: New file.
52980         * lib/unistdio/u8-printf-parse.c: New file.
52981         * lib/unistdio/u8-snprintf.c: New file.
52982         * lib/unistdio/u8-sprintf.c: New file.
52983         * lib/unistdio/u8-vasnprintf.c: New file.
52984         * lib/unistdio/u8-vasprintf.c: New file.
52985         * lib/unistdio/u8-vsnprintf.c: New file.
52986         * lib/unistdio/u8-vsprintf.c: New file.
52987         * lib/unistdio/u8-u8-asnprintf.c: New file.
52988         * lib/unistdio/u8-u8-asprintf.c: New file.
52989         * lib/unistdio/u8-u8-snprintf.c: New file.
52990         * lib/unistdio/u8-u8-sprintf.c: New file.
52991         * lib/unistdio/u8-u8-vasnprintf.c: New file.
52992         * lib/unistdio/u8-u8-vasprintf.c: New file.
52993         * lib/unistdio/u8-u8-vsnprintf.c: New file.
52994         * lib/unistdio/u8-u8-vsprintf.c: New file.
52995         * lib/unistdio/u16-asnprintf.c: New file.
52996         * lib/unistdio/u16-asprintf.c: New file.
52997         * lib/unistdio/u16-printf-parse.c: New file.
52998         * lib/unistdio/u16-snprintf.c: New file.
52999         * lib/unistdio/u16-sprintf.c: New file.
53000         * lib/unistdio/u16-vasnprintf.c: New file.
53001         * lib/unistdio/u16-vasprintf.c: New file.
53002         * lib/unistdio/u16-vsnprintf.c: New file.
53003         * lib/unistdio/u16-vsprintf.c: New file.
53004         * lib/unistdio/u16-u16-asnprintf.c: New file.
53005         * lib/unistdio/u16-u16-asprintf.c: New file.
53006         * lib/unistdio/u16-u16-snprintf.c: New file.
53007         * lib/unistdio/u16-u16-sprintf.c: New file.
53008         * lib/unistdio/u16-u16-vasnprintf.c: New file.
53009         * lib/unistdio/u16-u16-vasprintf.c: New file.
53010         * lib/unistdio/u16-u16-vsnprintf.c: New file.
53011         * lib/unistdio/u16-u16-vsprintf.c: New file.
53012         * lib/unistdio/u32-asnprintf.c: New file.
53013         * lib/unistdio/u32-asprintf.c: New file.
53014         * lib/unistdio/u32-printf-parse.c: New file.
53015         * lib/unistdio/u32-snprintf.c: New file.
53016         * lib/unistdio/u32-sprintf.c: New file.
53017         * lib/unistdio/u32-vasnprintf.c: New file.
53018         * lib/unistdio/u32-vasprintf.c: New file.
53019         * lib/unistdio/u32-vsnprintf.c: New file.
53020         * lib/unistdio/u32-vsprintf.c: New file.
53021         * lib/unistdio/u32-u32-asnprintf.c: New file.
53022         * lib/unistdio/u32-u32-asprintf.c: New file.
53023         * lib/unistdio/u32-u32-snprintf.c: New file.
53024         * lib/unistdio/u32-u32-sprintf.c: New file.
53025         * lib/unistdio/u32-u32-vasnprintf.c: New file.
53026         * lib/unistdio/u32-u32-vasprintf.c: New file.
53027         * lib/unistdio/u32-u32-vsnprintf.c: New file.
53028         * lib/unistdio/u32-u32-vsprintf.c: New file.
53029         * tests/unistdio/test-ulc-asnprintf1.c: New file.
53030         * tests/unistdio/test-ulc-asnprintf1.h: New file.
53031         * tests/unistdio/test-ulc-printf1.h: New file.
53032         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
53033         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
53034         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
53035         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
53036         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
53037         * tests/unistdio/test-ulc-vasprintf1.c: New file.
53038         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
53039         * tests/unistdio/test-ulc-vsprintf1.c: New file.
53040         * tests/unistdio/test-u8-asnprintf1.c: New file.
53041         * tests/unistdio/test-u8-asnprintf1.h: New file.
53042         * tests/unistdio/test-u8-printf1.h: New file.
53043         * tests/unistdio/test-u8-vasnprintf1.c: New file.
53044         * tests/unistdio/test-u8-vasnprintf2.c: New file.
53045         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
53046         * tests/unistdio/test-u8-vasnprintf3.c: New file.
53047         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
53048         * tests/unistdio/test-u8-vasprintf1.c: New file.
53049         * tests/unistdio/test-u8-vsnprintf1.c: New file.
53050         * tests/unistdio/test-u8-vsprintf1.c: New file.
53051         * tests/unistdio/test-u16-asnprintf1.c: New file.
53052         * tests/unistdio/test-u16-asnprintf1.h: New file.
53053         * tests/unistdio/test-u16-printf1.h: New file.
53054         * tests/unistdio/test-u16-vasnprintf1.c: New file.
53055         * tests/unistdio/test-u16-vasnprintf2.c: New file.
53056         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
53057         * tests/unistdio/test-u16-vasnprintf3.c: New file.
53058         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
53059         * tests/unistdio/test-u16-vasprintf1.c: New file.
53060         * tests/unistdio/test-u16-vsnprintf1.c: New file.
53061         * tests/unistdio/test-u16-vsprintf1.c: New file.
53062         * tests/unistdio/test-u32-asnprintf1.c: New file.
53063         * tests/unistdio/test-u32-asnprintf1.h: New file.
53064         * tests/unistdio/test-u32-printf1.h: New file.
53065         * tests/unistdio/test-u32-vasnprintf1.c: New file.
53066         * tests/unistdio/test-u32-vasnprintf2.c: New file.
53067         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
53068         * tests/unistdio/test-u32-vasnprintf3.c: New file.
53069         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
53070         * tests/unistdio/test-u32-vasprintf1.c: New file.
53071         * tests/unistdio/test-u32-vsnprintf1.c: New file.
53072         * tests/unistdio/test-u32-vsprintf1.c: New file.
53073         * modules/unistdio/base: New file.
53074         * modules/unistdio/u-printf-args: New file.
53075         * modules/unistdio/ulc-asnprintf: New file.
53076         * modules/unistdio/ulc-asprintf: New file.
53077         * modules/unistdio/ulc-fprintf: New file.
53078         * modules/unistdio/ulc-printf-parse: New file.
53079         * modules/unistdio/ulc-snprintf: New file.
53080         * modules/unistdio/ulc-sprintf: New file.
53081         * modules/unistdio/ulc-vasnprintf: New file.
53082         * modules/unistdio/ulc-vasprintf: New file.
53083         * modules/unistdio/ulc-vfprintf: New file.
53084         * modules/unistdio/ulc-vsnprintf: New file.
53085         * modules/unistdio/ulc-vsprintf: New file.
53086         * modules/unistdio/u8-asnprintf: New file.
53087         * modules/unistdio/u8-asprintf: New file.
53088         * modules/unistdio/u8-printf-parse: New file.
53089         * modules/unistdio/u8-snprintf: New file.
53090         * modules/unistdio/u8-sprintf: New file.
53091         * modules/unistdio/u8-vasnprintf: New file.
53092         * modules/unistdio/u8-vasprintf: New file.
53093         * modules/unistdio/u8-vsnprintf: New file.
53094         * modules/unistdio/u8-vsprintf: New file.
53095         * modules/unistdio/u8-u8-asnprintf: New file.
53096         * modules/unistdio/u8-u8-asprintf: New file.
53097         * modules/unistdio/u8-u8-snprintf: New file.
53098         * modules/unistdio/u8-u8-sprintf: New file.
53099         * modules/unistdio/u8-u8-vasnprintf: New file.
53100         * modules/unistdio/u8-u8-vasprintf: New file.
53101         * modules/unistdio/u8-u8-vsnprintf: New file.
53102         * modules/unistdio/u8-u8-vsprintf: New file.
53103         * modules/unistdio/u16-asnprintf: New file.
53104         * modules/unistdio/u16-asprintf: New file.
53105         * modules/unistdio/u16-printf-parse: New file.
53106         * modules/unistdio/u16-snprintf: New file.
53107         * modules/unistdio/u16-sprintf: New file.
53108         * modules/unistdio/u16-vasnprintf: New file.
53109         * modules/unistdio/u16-vasprintf: New file.
53110         * modules/unistdio/u16-vsnprintf: New file.
53111         * modules/unistdio/u16-vsprintf: New file.
53112         * modules/unistdio/u16-u16-asnprintf: New file.
53113         * modules/unistdio/u16-u16-asprintf: New file.
53114         * modules/unistdio/u16-u16-snprintf: New file.
53115         * modules/unistdio/u16-u16-sprintf: New file.
53116         * modules/unistdio/u16-u16-vasnprintf: New file.
53117         * modules/unistdio/u16-u16-vasprintf: New file.
53118         * modules/unistdio/u16-u16-vsnprintf: New file.
53119         * modules/unistdio/u16-u16-vsprintf: New file.
53120         * modules/unistdio/u32-asnprintf: New file.
53121         * modules/unistdio/u32-asprintf: New file.
53122         * modules/unistdio/u32-printf-parse: New file.
53123         * modules/unistdio/u32-snprintf: New file.
53124         * modules/unistdio/u32-sprintf: New file.
53125         * modules/unistdio/u32-vasnprintf: New file.
53126         * modules/unistdio/u32-vasprintf: New file.
53127         * modules/unistdio/u32-vsnprintf: New file.
53128         * modules/unistdio/u32-vsprintf: New file.
53129         * modules/unistdio/u32-u32-asnprintf: New file.
53130         * modules/unistdio/u32-u32-asprintf: New file.
53131         * modules/unistdio/u32-u32-snprintf: New file.
53132         * modules/unistdio/u32-u32-sprintf: New file.
53133         * modules/unistdio/u32-u32-vasnprintf: New file.
53134         * modules/unistdio/u32-u32-vasprintf: New file.
53135         * modules/unistdio/u32-u32-vsnprintf: New file.
53136         * modules/unistdio/u32-u32-vsprintf: New file.
53137         * modules/unistdio/ulc-asnprintf-tests: New file.
53138         * modules/unistdio/ulc-vasnprintf-tests: New file.
53139         * modules/unistdio/ulc-vasprintf-tests: New file.
53140         * modules/unistdio/ulc-vsnprintf-tests: New file.
53141         * modules/unistdio/ulc-vsprintf-tests: New file.
53142         * modules/unistdio/u8-asnprintf-tests: New file.
53143         * modules/unistdio/u8-vasnprintf-tests: New file.
53144         * modules/unistdio/u8-vasprintf-tests: New file.
53145         * modules/unistdio/u8-vsnprintf-tests: New file.
53146         * modules/unistdio/u8-vsprintf-tests: New file.
53147         * modules/unistdio/u16-asnprintf-tests: New file.
53148         * modules/unistdio/u16-vasnprintf-tests: New file.
53149         * modules/unistdio/u16-vasprintf-tests: New file.
53150         * modules/unistdio/u16-vsnprintf-tests: New file.
53151         * modules/unistdio/u16-vsprintf-tests: New file.
53152         * modules/unistdio/u32-asnprintf-tests: New file.
53153         * modules/unistdio/u32-vasnprintf-tests: New file.
53154         * modules/unistdio/u32-vasprintf-tests: New file.
53155         * modules/unistdio/u32-vsnprintf-tests: New file.
53156         * modules/unistdio/u32-vsprintf-tests: New file.
53157         * MODULES.html.sh (Unicode string functions): Add the new modules.
53158
53159 2007-07-01  Bruno Haible  <bruno@clisp.org>
53160
53161         * lib/sprintf.c (sprintf): Limit the available length estimation,
53162         to avoid address wraparound.
53163         * lib/vsprintf.c (vsprintf): Likewise.
53164         * modules/sprintf-posix (Dependencies): Add stdint.
53165         * modules/vsprintf-posix (Dependencies): Likewise.
53166
53167 2007-07-01  Bruno Haible  <bruno@clisp.org>
53168
53169         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
53170         Windows PATH as well. Conservative double-quoting. Comments.
53171
53172 2007-07-01  Bruno Haible  <bruno@clisp.org>
53173             Eric Blake  <ebb9@byu.net>
53174             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53175
53176         * gnulib-tool (self_abspathname): Fix algorithm to cope with
53177         empty components in $PATH, denoting '.'.
53178
53179 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53180
53181         * gnulib-tool: Fix indentation.
53182         (func_create_megatestdir): Likewise.
53183         Report by Bruno Haible.
53184
53185 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53186
53187         Sync from Automake.
53188         * build-aux/gnupload: Fix shell portability issues with for loops.
53189         Report by Karl Berry.
53190
53191 2007-06-29  Simon Josefsson  <simon@josefsson.org>
53192
53193         * build-aux/maint.mk (POURL): Use translationproject.org.
53194
53195 2007-06-27  Simon Josefsson  <simon@josefsson.org>
53196             Bruno Haible  <bruno@clisp.org>
53197
53198         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
53199         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
53200         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
53201         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
53202         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
53203
53204 2007-06-27  Bruno Haible  <bruno@clisp.org>
53205
53206         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
53207         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
53208
53209 2007-06-26  Karl Berry  <karl@gnu.org>
53210
53211         * MODULES.html.sh: remove xreadlink-with-size.
53212
53213 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
53214
53215         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
53216         method that I hope also handles the double-include problem noted
53217         by Bruno Haible in
53218         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
53219
53220 2007-06-23  Bruno Haible  <bruno@clisp.org>
53221
53222         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
53223         Don't let the 'mostlyclean' target fail if the last subdirectory could
53224         not be removed.
53225         Reported by Karl Berry.
53226
53227 2007-06-23  Bruno Haible  <bruno@clisp.org>
53228
53229         * gnulib-tool (echo): Add a speedier workaround for ksh.
53230         * tests/test-echo.sh: Likewise.
53231
53232 2007-06-23  Bruno Haible  <bruno@clisp.org>
53233
53234         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
53235         * tests/test-echo.sh: Likewise.
53236
53237 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53238
53239         * gnulib-tool (IFS): Initialize early, so we don't set it to
53240         empty later.
53241         (self_abspathname): Rewrite algorithm to set it, reindent.
53242         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
53243         (func_create_megatestdir): Merge some sed scripts.
53244
53245 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
53246
53247         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
53248         exposed by Sun Studio 11 cc on Solaris 8.
53249
53250 2007-06-22  Bruno Haible  <bruno@clisp.org>
53251
53252         * gnulib-tool (echo): Ensure the echo primitive does not interpret
53253         backslashes.
53254         * tests/test-echo.sh: New file.
53255
53256 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53257
53258         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
53259         simplify `sed_replace_build_aux' scripts, they are portable but
53260         echoing them with `echo' is not.
53261         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
53262
53263 2007-06-21  Karl Berry  <karl@gnu.org>
53264
53265         * config/srclist.txt: guess we can't handle the licenses via
53266         srclist at the moment.
53267
53268 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
53269
53270         * MODULES.html.sh: Add include_next.
53271         * modules/include_next: New file.
53272
53273 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
53274
53275         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
53276         INCLUDE_NEXT.
53277         (gl_CHECK_NEXT_HEADERS): New macro.
53278         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
53279         the obsolescent gl_ABSOLUTE_HEADER.
53280         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
53281         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
53282         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
53283         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
53284         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
53285         * m4/math_h.m4 (gl_MATH_H): Likewise.
53286         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
53287         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
53288         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
53289         * m4/stdint.m4 (gl_STDINT_H): Likewise.
53290         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
53291         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
53292         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
53293         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
53294         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
53295         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
53296         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
53297         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
53298         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
53299         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
53300         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
53301         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
53302         * m4/inttypes.m4 (gl_INTTYPES_H): Define
53303         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
53304         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
53305         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
53306         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
53307         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
53308         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
53309         * lib/float_.h: Likewise.
53310         * lib/inttypes_.h: Likewise.
53311         * lib/math_.h: Likewise.
53312         * lib/search_.h: Likewise.
53313         * lib/signal_.h: Likewise.
53314         * lib/stdint_.h: Likewise.
53315         * lib/stdio_.h: Likewise.
53316         * lib/stdlib_.h: Likewise.
53317         * lib/string_.h: Likewise.
53318         * lib/sys_stat_.h: Likewise.
53319         * lib/sys_time_.h: Likewise.
53320         * lib/time_.h: Likewise.
53321         * lib/unistd_.h: Likewise.
53322         * lib/wchar_.h: Likewise.
53323         * lib/wctype_.h: Likewise.
53324         * lib/dirent_.h: Likewise.
53325         * lib/iconv_.h: Likewise.
53326         * lib/locale_.h: Likewise.
53327         * lib/netinet_in_.h: Likewise.
53328         * lib/sys_select_.h: Likewise.
53329         * lib/sys_socket_.h: Likewise.
53330         * lib/sysexits_.h: Likewise.
53331         * modules/fcntl (Depends-on): Depend on include_next, not
53332         absolute_header.
53333         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
53334         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
53335         * modules/fchdir: Likewise.
53336         * modules/float: Likewise.
53337         * modules/iconv_open: Likewise.
53338         * modules/inttypes: Likewise.
53339         * modules/locale: Likewise.
53340         * modules/math: Likewise.
53341         * modules/netinet_in: Likewise.
53342         * modules/search: Likewise.
53343         * modules/signal: Likewise.
53344         * modules/stdint: Likewise.
53345         * modules/stdio: Likewise.
53346         * modules/stdlib: Likewise.
53347         * modules/string: Likewise.
53348         * modules/sys_select: Likewise.
53349         * modules/sys_socket: Likewise.
53350         * modules/sys_stat: Likewise.
53351         * modules/sys_time: Likewise.
53352         * modules/sysexits: Likewise.
53353         * modules/time: Likewise.
53354         * modules/unistd: Likewise.
53355         * modules/wchar: Likewise.
53356         * modules/wctype: Likewise.
53357         * modules/sys_stat: Change maintainer to "all".
53358         * modules/unistd: Likewise.
53359
53360 2007-06-20  Karl Berry  <karl@gnu.org>
53361
53362         * config/srclist.txt: track www changes in license files.
53363
53364 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
53365
53366         * build-aux/bootstrap: Remove stray dot.
53367         Make sure build_aux settings are honored when linking
53368         gnulib_extra_files.
53369
53370 2007-06-19  Eric Blake  <ebb9@byu.net>
53371
53372         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
53373         Allow compilation on cygwin.
53374
53375 2007-06-19  Jim Meyering  <jim@meyering.net>
53376
53377         xreadlink-with-size: Remove module.  No longer used.
53378         Ex-callers now use xreadlink or mreadlink-with-size.
53379         * modules/xreadlink-with-size: Remove module.
53380         * lib/xreadlink-with-size.c: Remove file.
53381         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
53382         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
53383         just before the function definition *is* accurate.
53384
53385         Eliminate one way canonicalize_filename_mode could exit.
53386         * lib/canonicalize.c (canonicalize_filename_mode):
53387         Use mreadlink_with_size, not xreadlink_with_size.
53388
53389 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
53390
53391         Detect porting problems to FreeBSD/arm, which has time_t wider than
53392         long int.  Original problem reported for GNU diff by Xin Li in
53393         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
53394         * modules/getdate (Depends-on): Add intprops, verify.
53395         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
53396         is an integer type no wider than long int.
53397
53398 2007-06-18  Jim Meyering  <jim@meyering.net>
53399
53400         New module: mreadlink-with-size.
53401         * MODULES.html.sh: Add mreadlink-with-size.
53402         * modules/mreadlink-with-size: New module
53403         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
53404         not xreadlink-with-size.
53405         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
53406
53407 2007-06-16  Bruno Haible  <bruno@clisp.org>
53408
53409         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
53410         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
53411         Reported by Gary V. Vaughan <gary@gnu.org>.
53412
53413 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
53414
53415         Revamp lchown so that it lives in unistd.h where it belongs.
53416         * lib/lchown.h: Remove.
53417         * lib/dirchownmod.c: Don't include lib/lchown.h.
53418         * lib/fchownat.c: Likewise.
53419         * lib/openat.c: Likewise.
53420         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
53421         does not follow symlinks.
53422         (EOPNOTSUPP): Define if not defined.
53423         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
53424         is defined to 0.
53425         (lchown): New decl.
53426         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
53427         Do not check for lchown decl.
53428         Set REPLACE_LCHOWN.
53429         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
53430         REPLACE_LCHOWN.
53431         * modules/chown: Make it clear it follows symlinks.
53432         * modules/lchown: Make it clear it doesn't follow symlinks.
53433         (Files): Remove lib/lchown.h
53434         (Depends-on): Add unistd.
53435         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
53436         (Include): Include <unistd.h>, not "lchown.h".
53437         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
53438         REPLACE_LCHOWN.
53439
53440 2007-06-15  Jim Meyering  <jim@meyering.net>
53441
53442         Change license (GPL to LGPL) of fsusage and dependents.
53443         * modules/fsusage (License): Change to LGPL.
53444         * modules/full-read (License): Likewise.
53445         * modules/full-write (License): Likewise.
53446         * modules/safe-read (License): Likewise.
53447         * modules/safe-write (License): Likewise.
53448
53449 2007-06-14  Ben Pfaff  <blp@gnu.org>
53450
53451         Missing part of allocsa -> malloca transition.
53452         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
53453         gl_MALLOCA.
53454
53455 2007-06-12  Bruno Haible  <bruno@clisp.org>
53456
53457         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
53458         to ia64, x86_64, i386.
53459         Reported by Eric Blake.
53460
53461 2007-06-12  Bruno Haible  <bruno@clisp.org>
53462
53463         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
53464         cross-compiling to x86_64.
53465
53466 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
53467
53468         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
53469         glitch reported by Ralf Wildenhues in
53470         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
53471
53472         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
53473         Vin Shelton.
53474
53475 2007-06-11  Bruno Haible  <bruno@clisp.org>
53476
53477         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
53478         replacement string.
53479         Reported by Eric Blake.
53480
53481 2007-06-10  Bruno Haible  <bruno@clisp.org>
53482
53483         Prepare vasnprintf code for use with Unicode strings.
53484         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
53485         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
53486         TYPE_U32_STRING.
53487         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
53488         a_u32_string variants.
53489         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
53490         * lib/printf-args.c: Don't include config.h and the specification
53491         header if PRINTF_FETCHARGS is already defined.
53492         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
53493         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
53494         TYPE_U16_STRING, TYPE_U32_STRING.
53495         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
53496         u16_directive, u16_directives, u32_directive, u32_directives): New
53497         types.
53498         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
53499         New declarations.
53500         * lib/printf-parse.c: Don't include config.h and the specification
53501         header if PRINTF_PARSE is already defined. Eliminate the set of
53502         parameters for WIDE_CHAR_VERSION; the user of this file must provide
53503         them now. Include c-ctype.h.
53504         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
53505         directive and CHAR_T_ONLY_ASCII.
53506         * lib/vasnprintf.c: Don't include config.h and the specification header
53507         if VASNPRINTF is already defined.
53508         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
53509         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
53510         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
53511         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
53512         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
53513         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
53514         code accordingly.
53515         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
53516         pad_ourselves also in this case, with the 'c' and 's' directives, and
53517         with a different notion of "width".
53518         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
53519
53520 2007-06-10  Bruno Haible  <bruno@clisp.org>
53521
53522         * modules/unistr/u32-mbsnlen: New file.
53523         * lib/unistr/u32-mbsnlen.c: New file.
53524
53525         * modules/unistr/u16-mbsnlen: New file.
53526         * lib/unistr/u16-mbsnlen.c: New file.
53527
53528         * modules/unistr/u8-mbsnlen: New file.
53529         * lib/unistr/u8-mbsnlen.c: New file.
53530
53531         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
53532         declarations.
53533
53534 2007-06-10  Bruno Haible  <bruno@clisp.org>
53535
53536         * lib/string_.h (mbsnlen): New declaration.
53537         * lib/mbsnlen.c: New file.
53538         * m4/mbsnlen.m4: New file.
53539         * modules/mbsnlen: New file.
53540         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
53541         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
53542         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
53543
53544 2007-06-10  Bruno Haible  <bruno@clisp.org>
53545
53546         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
53547
53548 2007-06-10  Bruno Haible  <bruno@clisp.org>
53549
53550         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
53551         * lib/mbuiter.h: Likewise.
53552
53553 2007-06-10  Bruno Haible  <bruno@clisp.org>
53554
53555         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
53556         declaration.
53557
53558 2007-06-10  Karl Berry  <karl@gnu.org>
53559
53560         * config/srclist.txt: remove gettext entries, Bruno prefers
53561         to update individually.
53562
53563 2007-06-10  Bruno Haible  <bruno@clisp.org>
53564
53565         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
53566         'maxlen'. Ensure only length + width bytes are allocated, not
53567         length + 1 + width.
53568
53569 2007-06-09  Bruno Haible  <bruno@clisp.org>
53570
53571         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
53572         (CHAR_T): Remove macro.
53573         (VASNPRINTF): Update.
53574
53575 2007-06-09  Bruno Haible  <bruno@clisp.org>
53576
53577         * MODULES.html.sh (Unicode string functions): Add the new modules.
53578
53579         * modules/uniconv/u32-conv-to-enc: New file.
53580         * lib/uniconv/u32-conv-to-enc.c: New file.
53581         * modules/uniconv/u32-conv-to-enc-tests: New file.
53582         * tests/uniconv/test-u32-conv-to-enc.c: New file.
53583
53584         * modules/uniconv/u16-conv-to-enc: New file.
53585         * lib/uniconv/u16-conv-to-enc.c: New file.
53586         * lib/uniconv/u-conv-to-enc.h: New file.
53587         * modules/uniconv/u16-conv-to-enc-tests: New file.
53588         * tests/uniconv/test-u16-conv-to-enc.c: New file.
53589
53590         * modules/uniconv/u8-conv-to-enc: New file.
53591         * lib/uniconv/u8-conv-to-enc.c: New file.
53592         * modules/uniconv/u8-conv-to-enc-tests: New file.
53593         * tests/uniconv/test-u8-conv-to-enc.c: New file.
53594
53595         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
53596         u32_conv_to_encoding): New declarations.
53597
53598 2007-06-09  Bruno Haible  <bruno@clisp.org>
53599
53600         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
53601
53602 2007-06-09  Bruno Haible  <bruno@clisp.org>
53603
53604         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
53605         * modules/malloca: Renamed from modules/allocsa, updated.
53606         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
53607         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
53608         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
53609         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
53610         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
53611         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
53612         * modules/xmalloca: Renamed from modules/xallocsa, updated.
53613         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
53614         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
53615         * modules/c-strcasestr (Depends-on): Update.
53616         * lib/c-strcasestr.c: Update.
53617         * modules/c-strstr (Depends-on): Update.
53618         * lib/c-strstr.c: Update.
53619         * modules/canonicalize-lgpl (Depends-on): Update.
53620         * lib/canonicalize-lgpl.c: Update.
53621         * modules/clean-temp (Depends-on): Update.
53622         * lib/clean-temp.c: Update.
53623         * modules/csharpcomp (Depends-on): Update.
53624         * lib/csharpcomp.c: Update.
53625         * modules/csharpexec (Depends-on): Update.
53626         * lib/csharpexec.c: Update.
53627         * modules/javacomp (Depends-on): Update.
53628         * lib/javacomp.c: Update.
53629         * modules/javaexec (Depends-on): Update.
53630         * lib/javaexec.c: Update.
53631         * modules/mbscasestr (Depends-on): Update.
53632         * lib/mbscasestr.c: Update.
53633         * modules/mbsstr (Depends-on): Update.
53634         * lib/mbsstr.c: Update.
53635         * modules/setenv (Depends-on): Update.
53636         * lib/setenv.c: Update.
53637         * modules/strcasestr (Depends-on): Update.
53638         * lib/strcasestr.c: Update.
53639         * modules/striconveha (Depends-on): Update.
53640         * lib/striconveha.c: Update.
53641         * modules/relocatable-prog-wrapper (Files): Update.
53642         * lib/relocwrapper.c: Update.
53643         * build-aux/install-reloc: Update.
53644         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
53645
53646 2007-06-08  Bruno Haible  <bruno@clisp.org>
53647
53648         Port to uClibc.
53649         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
53650         * lib/fpurge.c (fpurge): Likewise.
53651         * lib/freading.c (freading): Likewise.
53652         * lib/fseeko.c (rpl_fseeko): Likewise.
53653         * lib/fseterr.c (fseterr): Likewise.
53654         * lib/fwriting.c (fwriting): Likewise.
53655         * tests/test-fflush.c (main): Avoid a failure on uClibc.
53656
53657 2007-06-08  Bruno Haible  <bruno@clisp.org>
53658
53659         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
53660         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
53661         * modules/gettext (Files): Add m4/intlmacosx.m4.
53662
53663 2007-06-07  Bruno Haible  <bruno@clisp.org>
53664
53665         * modules/localename-tests: New file.
53666         * tests/test-localename.c: New file.
53667
53668         New module 'localename'.
53669         * lib/localename.h: New file.
53670         * lib/localename.c: New file, from GNU gettext.
53671         * m4/localename.m4: New file.
53672         * modules/localename: New file.
53673
53674 2007-06-07  Bruno Haible  <bruno@clisp.org>
53675
53676         Work around the lack of <wchar.h> on some builds of uClibc.
53677         * doc/headers/wchar.texi: Update.
53678         * lib/wchar_.h: Include <wchar.h> only if it exists.
53679         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
53680         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
53681         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
53682         doesn't exist.
53683         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
53684         * modules/mbfile (Depends-on): Add wchar.
53685         * modules/mbiter (Depends-on): Likewise.
53686         * modules/mbuiter (Depends-on): Likewise.
53687         Reported by Simon Josefsson.
53688
53689 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
53690
53691         Work around problem reported by Steven M. Schweda in
53692         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
53693         Tru64 5.1B with the Compaq compiler environment installed declares
53694         an 'isblank' function but does not define it in the C library.
53695         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
53696         * lib/regex_internal.h (isblank): Likewise.
53697         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
53698         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
53699
53700 2007-06-05  Bruno Haible  <bruno@clisp.org>
53701
53702         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
53703         ia64.
53704         * modules/printf-safe: New file.
53705         * modules/fprintf-posix (Depends-on): Add printf-safe.
53706         * modules/printf-posix (Depends-on): Likewise.
53707         * modules/snprintf-posix (Depends-on): Likewise.
53708         * modules/sprintf-posix (Depends-on): Likewise.
53709         * modules/vasnprintf-posix (Depends-on): Likewise.
53710         * modules/vasprintf-posix (Depends-on): Likewise.
53711         * modules/vfprintf-posix (Depends-on): Likewise.
53712         * modules/vprintf-posix (Depends-on): Likewise.
53713         * modules/vsnprintf-posix (Depends-on): Likewise.
53714         * modules/vsprintf-posix (Depends-on): Likewise.
53715         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
53716         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
53717         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
53718         "no" on i386, x86_64, ia64.
53719         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
53720         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
53721         on i386, x86_64, ia64.
53722         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
53723         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
53724         on i386, x86_64, ia64.
53725         * tests/test-vasnprintf-posix.c: Include float.h.
53726         (LDBL80_WORDS): New macro.
53727         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
53728         on i386, x86_64, ia64.
53729         * tests/test-vasprintf-posix.c: Include float.h.
53730         (LDBL80_WORDS): New macro.
53731         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
53732         on i386, x86_64, ia64.
53733         * tests/test-snprintf-posix.c: Include float.h.
53734         * tests/test-sprintf-posix.c: Likewise.
53735         * tests/test-vsnprintf-posix.c: Likewise.
53736         * tests/test-vsprintf-posix.c: Likewise.
53737
53738 2007-06-05  Bruno Haible  <bruno@clisp.org>
53739
53740         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
53741         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
53742         non-IEEE numbers on i386, x86_64, ia64.
53743         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
53744         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
53745         * tests/test-isnanl.h: Include float.h.
53746         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
53747
53748 2007-06-05  Bruno Haible  <bruno@clisp.org>
53749
53750         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
53751         also the %a / %A. Handle the %a / %A code before this extra handling.
53752
53753 2007-06-05  Bruno Haible  <bruno@clisp.org>
53754
53755         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
53756         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
53757
53758 2007-06-05  Bruno Haible  <bruno@clisp.org>
53759
53760         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
53761         typo in variable name.
53762
53763 2007-06-05  Eric Blake  <ebb9@byu.net>
53764
53765         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
53766         Reported by Simon Josefsson.
53767
53768 2007-06-04  Bruno Haible  <bruno@clisp.org>
53769
53770         Avoid test failures on some PowerPC platforms.
53771         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
53772         Define differently for PowerPC.
53773         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
53774         Reported by Gary V. Vaughan <gary@gnu.org>.
53775
53776 2007-06-02  Bruno Haible  <bruno@clisp.org>
53777
53778         Fix test-stdint failure on FreeBSD/ia64.
53779         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
53780         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
53781         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
53782         * doc/headers/stdint.texi: Update.
53783
53784 2007-06-01  Bruno Haible  <bruno@clisp.org>
53785
53786         * tests/test-binary-io.c (main): Pass a third argument to open().
53787         Reported by Gary V. Vaughan <gary@gnu.org>.
53788
53789 2007-06-01  Bruno Haible  <bruno@clisp.org>
53790
53791         * doc/functions/frexpl.texi: Update for mingw.
53792
53793 2007-06-01  Bruno Haible  <bruno@clisp.org>
53794
53795         * tests/test-lseek.c (main): Disable test of errno for invalid third
53796         argument.
53797         * doc/functions/lseek.texi: Update.
53798         Reported by Gary V. Vaughan <gary@gnu.org>.
53799
53800 2007-05-28  Bruno Haible  <bruno@clisp.org>
53801
53802         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
53803
53804 2007-05-31  Eric Blake  <ebb9@byu.net>
53805
53806         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
53807         cross compiling.
53808
53809 2007-05-30  Eric Blake  <ebb9@byu.net>
53810         and Bruno Haible  <bruno@clisp.org>
53811
53812         Work around mingw test failures exposed by m4-1.4.9b.
53813         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
53814         * tests/test-unistd.c: Disable uid_t and git_t tests for the
53815         moment.
53816
53817 2007-05-30  Bruno Haible  <bruno@clisp.org>
53818
53819         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
53820         assuming that they are closed. Needed on HP-UX 11.
53821
53822 2007-05-29  Bruno Haible  <bruno@clisp.org>
53823
53824         Fix a problem with #include_next.
53825         * lib/dirent_.h: Split the double-inclusion guard.
53826         * lib/fcntl_.h: Likewise.
53827         * lib/float_.h: Likewise.
53828         * lib/iconv_.h: Likewise.
53829         * lib/inttypes_.h: Likewise.
53830         * lib/locale_.h: Likewise.
53831         * lib/math_.h: Likewise.
53832         * lib/netinet_in_.h: Likewise.
53833         * lib/search_.h: Likewise.
53834         * lib/signal_.h: Likewise.
53835         * lib/stdint_.h: Likewise.
53836         * lib/stdio_.h: Likewise.
53837         * lib/stdlib_.h: Likewise.
53838         * lib/string_.h: Likewise.
53839         * lib/sys_select_.h: Likewise.
53840         * lib/sys_socket_.h: Likewise.
53841         * lib/sys_stat_.h: Likewise.
53842         * lib/sys_time_.h: Likewise.
53843         * lib/sysexits_.h: Likewise.
53844         * lib/time_.h: Likewise.
53845         * lib/unistd_.h: Likewise.
53846         * lib/wchar_.h: Likewise.
53847         * lib/wctype_.h: Likewise.
53848
53849 2007-05-29  Bruno Haible  <bruno@clisp.org>
53850
53851         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
53852         for the moment.
53853
53854 2007-05-29  Bruno Haible  <bruno@clisp.org>
53855
53856         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
53857         invocation.
53858         Reported by Eric Blake.
53859
53860 2007-05-29  Bruno Haible  <bruno@clisp.org>
53861
53862         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
53863         compiling case.
53864
53865 2007-05-29  Eric Blake  <ebb9@byu.net>
53866             Bruno Haible  <bruno@clisp.org>
53867
53868         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
53869         cross compiles.
53870
53871 2007-05-28  Eric Blake  <ebb9@byu.net>
53872
53873         * modules/closein-tests (test_closein_LDADD): Support test on
53874         cygwin with libtool.
53875
53876 2007-05-28  Bruno Haible  <bruno@clisp.org>
53877
53878         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
53879         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
53880         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
53881         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
53882         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
53883         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
53884         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
53885         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
53886         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
53887
53888 2007-05-28  Eric Blake  <ebb9@byu.net>
53889
53890         Unconditionally include <config.h> in unit tests.
53891         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
53892         * tests/test-allocsa.c, tests/test-arcfour.c,
53893         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
53894         tests/test-array_list.c, tests/test-array_oset.c,
53895         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
53896         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
53897         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
53898         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
53899         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
53900         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
53901         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
53902         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
53903         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
53904         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
53905         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
53906         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
53907         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
53908         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
53909         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
53910         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
53911         test-md5.c, test-memmem.c, test-printf-posix.c,
53912         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
53913         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
53914         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
53915         test-strcasestr.c, test-striconv.c, test-striconveh.c,
53916         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
53917         test-vasnprintf-posix2.c, test-vasnprintf.c,
53918         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
53919         test-vfprintf-posix.c, test-vprintf-posix.c,
53920         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
53921         test-xvasprintf.c: Likewise.
53922
53923 2007-05-28  Bruno Haible  <bruno@clisp.org>
53924
53925         * gnulib-tool (func_import): Remember the --with-tests command-line
53926         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
53927         Reported by Eric Blake.
53928
53929 2007-05-28  Bruno Haible  <bruno@clisp.org>
53930
53931         * modules/ftell-tests: New file.
53932         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
53933         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
53934
53935         * lib/ftell.c: New file.
53936         * modules/ftell: New file.
53937         * m4/ftell.m4: New file.
53938         * doc/functions/ftell.texi: Update.
53939         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
53940         REPLACE_FTELL.
53941         * lib/stdio_.h (rpl_ftell): New declaration.
53942         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
53943         REPLACE_FTELL.
53944
53945 2007-05-28  Eric Blake  <ebb9@byu.net>
53946
53947         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
53948
53949 2007-05-28  Bruno Haible  <bruno@clisp.org>
53950
53951         * modules/fseek-tests: New file.
53952         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
53953         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
53954
53955         * lib/fseek.c: New file.
53956         * modules/fseek: New file.
53957         * m4/fseek.m4: New file.
53958         * doc/functions/fseek.texi: Update.
53959         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
53960         REPLACE_FSEEK.
53961         * lib/stdio_.h (rpl_fseek): New declaration.
53962         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
53963         REPLACE_FSEEK.
53964
53965 2007-05-28  Bruno Haible  <bruno@clisp.org>
53966
53967         * lib/stdio_.h (fflush): More comments.
53968
53969 2007-05-28  Bruno Haible  <bruno@clisp.org>
53970
53971         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
53972         runtime test.
53973
53974 2007-05-28  Eric Blake  <ebb9@byu.net>
53975
53976         Improve lseek module.
53977         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
53978         * lib/unistd_.h (lseek): Scale back link warning message.
53979         * tests/test-lseek.c: Beef up test.
53980         * tests/test-lseek.sh: Exercise more facets of lseek.
53981         Reported by Bruno Haible.
53982
53983 2007-05-28  Bruno Haible  <bruno@clisp.org>
53984
53985         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
53986         to define.
53987
53988 2007-05-27  Bruno Haible  <bruno@clisp.org>
53989
53990         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
53991
53992 2007-05-27  Bruno Haible  <bruno@clisp.org>
53993
53994         * modules/openmp: New file.
53995         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
53996         Noah Misch.
53997
53998 2007-05-26  Bruno Haible  <bruno@clisp.org>
53999
54000         * modules/chdir-long (Depends-on): Add fchdir.
54001         * modules/chdir-safer (Depends-on): Likewise.
54002         * modules/fts (Depends-on): Likewise.
54003         * modules/fts-lgpl (Depends-on): Likewise.
54004         * modules/openat (Depends-on): Likewise.
54005         * modules/savewd (Depends-on): Likewise.
54006
54007 2007-05-24  Eric Blake  <ebb9@byu.net>
54008
54009         Fix lseek on mingw.
54010         * modules/lseek: New module.
54011         * m4/lseek.m4: New file.
54012         * lib/lseek.c: New file.
54013         * modules/lseek-tests: New file.
54014         * tests/test-lseek.c: New file.
54015         * tests/test-lseek.sh: New file.
54016         * MODULES.html.sh: Document lseek module.
54017         * modules/fflush (Depends-on): Add lseek, fseeko.
54018         * modules/fseeko (Depends-on): Likewise.
54019         * modules/ftello (Depends-on): Likewise.
54020         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
54021         broken.
54022         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
54023         broken.
54024         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
54025         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
54026         * lib/ftello.c (rpl_ftello): Likewise.
54027         * tests/test-fseeko.c (main): Test this.
54028         * tests/test-fseeko.sh: Likewise.
54029         * tests/test-ftello.c (main): Likewise.
54030         * tests/test-ftello.sh: Likewise.
54031         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
54032         implies replacing fseek.
54033         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
54034         HAVE_FTELLO.
54035         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
54036         * modules/unistd (Makefile.am): Likewise.
54037         * lib/unistd_.h (lseek): Declare a replacement.
54038         * doc/functions/lseek.texi (lseek): Document this fix.
54039         * doc/functions/fseek.texi (fseek): Likewise.
54040         * doc/functions/ftell.texi (ftell): Likewise.
54041
54042 2007-05-24  Bruno Haible  <bruno@clisp.org>
54043
54044         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
54045         in the printed representation of a NaN.
54046         * tests/test-vasprintf-posix.c (test_function): Likewise.
54047         * tests/test-snprintf-posix.h (test_function): Likewise.
54048         * tests/test-sprintf-posix.h (test_function): Likewise.
54049         Reported by Eric Blake.
54050
54051 2007-05-23  Eric Blake  <ebb9@byu.net>
54052
54053         Fix fseeko/ftello on cygwin 1.5.24.
54054         * doc/functions/fseeko.texi (fseeko): Document the fix.
54055         * doc/functions/ftello.texi (ftello): Document the fix.
54056         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
54057         * doc/functions/stdout.text (stdout): New file.
54058         * doc/functions/stderr.text (stderr): New file.
54059         * doc/gnulib.texi (Function Substitutes): Use new files.
54060         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
54061         prior to 1.7.0.
54062         * tests/test-ftello.c (main): Likewise for ftello.
54063         * tests/test-fseeko.sh: New file.
54064         * tests/test-ftello.sh: New file.
54065         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
54066         with seekable stdin.
54067         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
54068         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
54069         (gl_REPLACE_FSEEKO): New macro.
54070         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
54071         * modules/fseeko (Files): Distribute fseeko.c.
54072         * modules/ftello (Files): Distribute ftello.c.
54073         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
54074         mode.
54075         * lib/ftello.c (rpl_ftello): New file.
54076         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
54077         fseeko, ftello.
54078         (gl_STDIN_LARGE_OFFSET): New macro.
54079         * modules/stdio (Makefile.am): Perform the replacement.
54080         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
54081
54082 2007-05-23  Bruno Haible  <bruno@clisp.org>
54083
54084         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
54085         GNULIB_POSIXCHECK is defined.
54086
54087 2007-05-21  Bruno Haible  <bruno@clisp.org>
54088
54089         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
54090         Check also the output for NaN arguments. When cross-compiling, guess
54091         no on IRIX.
54092         * lib/vasnprintf.c: Update comments.
54093         * tests/test-vasnprintf-posix.c (strisnan): New function.
54094         (test_function): Use it.
54095         * tests/test-vasprintf-posix.c (strisnan): New function.
54096         (test_function): Use it.
54097         * tests/test-snprintf-posix.h (strisnan): New function.
54098         (test_function): Use it.
54099         * tests/test-sprintf-posix.h (strisnan): New function.
54100         (test_function): Use it.
54101         Reported by Eric Blake.
54102
54103 2007-05-20  Bruno Haible  <bruno@clisp.org>
54104
54105         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
54106         numbers that fails on BeOS.
54107         * doc/functions/frexpl.texi: Update.
54108
54109 2007-05-20  Jim Meyering  <jim@meyering.net>
54110
54111         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
54112         forced upon us by glibc-2.6.
54113
54114 2007-05-20  Bruno Haible  <bruno@clisp.org>
54115
54116         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
54117         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
54118         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
54119         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
54120         NEED_PRINTF_INFINITE.
54121         (is_infinitel): New function.
54122         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
54123         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
54124         gl_PREREQ_VASNPRINTF_INFINITE.
54125         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
54126         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
54127         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
54128         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
54129         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
54130         gl_PREREQ_VASNPRINTF_INFINITE.
54131         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
54132         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54133         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54134         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54135         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
54136         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54137         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54138         * doc/functions/fprintf.texi: Update.
54139         * doc/functions/printf.texi: Update.
54140         * doc/functions/snprintf.texi: Update.
54141         * doc/functions/sprintf.texi: Update.
54142         * doc/functions/vfprintf.texi: Update.
54143         * doc/functions/vprintf.texi: Update.
54144         * doc/functions/vsnprintf.texi: Update.
54145         * doc/functions/vsprintf.texi: Update.
54146
54147 2007-05-20  Bruno Haible  <bruno@clisp.org>
54148
54149         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
54150         was not found in libc.
54151         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
54152
54153 2007-05-20  Bruno Haible  <bruno@clisp.org>
54154
54155         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
54156         printed as "-nan" instead of "nan".
54157         * tests/test-vasprintf-posix.c (test_function): Likewise.
54158         * tests/test-snprintf-posix.h (test_function): Likewise.
54159         * tests/test-sprintf-posix.h (test_function): Likewise.
54160         Needed for HP-UX 11.
54161
54162 2007-05-20  Jim Meyering  <jim@meyering.net>
54163
54164         Fix buggy test for the fchownat-deref bug.
54165         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
54166         symlink required for the run-test.  Without it, this test would
54167         always declare that fchownat doesn't work, and client code would
54168         unnecessarily use the replacement function with fixed libc.
54169         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
54170         Reported by Greg Schafer.
54171
54172 2007-05-19  Bruno Haible  <bruno@clisp.org>
54173
54174         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
54175         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
54176         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
54177         Needed for IRIX 6.5 and Solaris 2.5.1.
54178
54179 2007-05-19  Bruno Haible  <bruno@clisp.org>
54180
54181         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
54182         (test_function): Skip tests involving -0.0 on platforms where
54183         -0.0 = 0.0.
54184         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
54185         (test_function): Skip tests involving -0.0 on platforms where
54186         -0.0 = 0.0.
54187         * tests/test-snprintf-posix.h (have_minus_zero): New function.
54188         (test_function): Skip tests involving -0.0 on platforms where
54189         -0.0 = 0.0.
54190         * tests/test-sprintf-posix.h (have_minus_zero): New function.
54191         (test_function): Skip tests involving -0.0 on platforms where
54192         -0.0 = 0.0.
54193         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
54194         tests.
54195         * tests/test-printf-posix.h (test_function): Likewise.
54196         * tests/test-printf-posix.output: Remove all -0.0 related results.
54197         Needed for IRIX 6.5.
54198
54199 2007-05-19  Bruno Haible  <bruno@clisp.org>
54200
54201         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
54202         printed as "nan0x7fffffff" instead of "nan".
54203         * tests/test-vasprintf-posix.c (test_function): Likewise.
54204         * tests/test-snprintf-posix.h (test_function): Likewise.
54205         * tests/test-sprintf-posix.h (test_function): Likewise.
54206         * tests/test-fprintf-posix.h (NaN): Remove macro.
54207         (test_function): Remove all NaN related tests.
54208         * tests/test-printf-posix.h (NaN): Remove macro.
54209         (test_function): Remove all NaN related tests.
54210         * tests/test-printf-posix.output: Remove all NaN related results.
54211         Needed for IRIX 6.5.
54212
54213 2007-05-19  Bruno Haible  <bruno@clisp.org>
54214
54215         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
54216         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
54217
54218 2007-05-19  Bruno Haible  <bruno@clisp.org>
54219
54220         * lib/float_.h: New file.
54221         * m4/float_h.m4: New file.
54222         * modules/float: New file.
54223         * modules/isnanl (Dependencies): Add float.
54224         * modules/isnanl-nolibm (Dependencies): Likewise.
54225         * modules/mathl (Dependencies): Likewise.
54226         * modules/printf-frexpl (Dependencies): Likewise.
54227         * modules/signbit (Dependencies): Likewise.
54228         * modules/vasnprintf (Dependencies): Likewise.
54229         * doc/headers/float.texi: Update.
54230
54231 2007-05-19  Jim Meyering  <jim@meyering.net>
54232
54233         * lib/utimens.c (gl_futimens): Rename from futimens,
54234         now that glibc-2.6 declares futimens.
54235         * lib/utimens.h: Likewise.
54236
54237 2007-05-19  Bruno Haible  <bruno@clisp.org>
54238
54239         Avoid test failures on mingw.
54240         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
54241         * tests/test-printf-posix.sh: Likewise.
54242         * tests/test-vfprintf-posix.sh: Likewise.
54243         * tests/test-vprintf-posix.sh: Likewise.
54244
54245 2007-05-19  Bruno Haible  <bruno@clisp.org>
54246
54247         Fix *printf result for NaN, Inf, -0.0 on mingw.
54248         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
54249         * lib/vasnprintf.c: Include math.h and isnan.h.
54250         (is_infinite_or_zero): New function.
54251         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
54252         values in the %f, %F, %e, %E, %g, %G directives.
54253         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
54254         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
54255         gl_PRINTF_INFINITE and test its result. Invoke
54256         gl_PREREQ_VASNPRINTF_INFINITE.
54257         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
54258         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54259         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54260         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54261         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
54262         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54263         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54264         * doc/functions/fprintf.texi: Update.
54265         * doc/functions/printf.texi: Update.
54266         * doc/functions/snprintf.texi: Update.
54267         * doc/functions/sprintf.texi: Update.
54268         * doc/functions/vfprintf.texi: Update.
54269         * doc/functions/vprintf.texi: Update.
54270         * doc/functions/vsnprintf.texi: Update.
54271         * doc/functions/vsprintf.texi: Update.
54272
54273 2007-05-19  Bruno Haible  <bruno@clisp.org>
54274
54275         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
54276         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
54277         Instead of multiplying with 10^k, set extra_zeroes to k.
54278         (scale10_round_long_double): Remove function.
54279
54280 2007-05-18  Bruno Haible  <bruno@clisp.org>
54281
54282         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
54283         introduced on 2007-05-06.
54284
54285 2007-05-18  Bruno Haible  <bruno@clisp.org>
54286
54287         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
54288         %g directives.
54289         * tests/test-vasprintf-posix.c (test_function): Likewise.
54290         * tests/test-snprintf-posix.h (test_function): Likewise.
54291         * tests/test-sprintf-posix.h (test_function): Likewise.
54292
54293 2007-05-18  Bruno Haible  <bruno@clisp.org>
54294
54295         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
54296         (strmatch): New function.
54297         (test_function): Test the %f directive on numbers of various exponents.
54298         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
54299         (strmatch): New function.
54300         (test_function): Test the %f directive on numbers of various exponents.
54301         * tests/test-snprintf-posix.h (strmatch): New function.
54302         (test_function): Test the %f directive on numbers of various exponents.
54303         * tests/test-sprintf-posix.h (strmatch): New function.
54304         (test_function): Test the %f directive on numbers of various exponents.
54305         * tests/test-snprintf-posix.c (SIZEOF): New macro.
54306         * tests/test-sprintf-posix.c (SIZEOF): New macro.
54307         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
54308         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
54309
54310 2007-05-18  Bruno Haible  <bruno@clisp.org>
54311
54312         Add support for 'long double' number output.
54313         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
54314         * lib/vasnprintf.c: Include math.h and float+.h.
54315         (mp_limb_t): New type.
54316         (GMP_LIMB_BITS): New macro.
54317         (mp_twolimb_t): New type.
54318         (GMP_TWOLIMB_BITS): New macro.
54319         (mpn_t): New type.
54320         (multiply, divide, convert_to_decimal, decode_long_double,
54321         scale10_round_long_double, scale10_round_decimal_long_double,
54322         floorlog10l): New functions.
54323         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
54324         for the %f, %F, %e, %E, %g, %G directives.
54325         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
54326         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
54327         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
54328         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
54329         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
54330         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54331         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54332         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54333         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
54334         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54335         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54336         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
54337         * modules/snprintf-posix (Depends-on): Likewise.
54338         * modules/sprintf-posix (Depends-on): Likewise.
54339         * modules/vasnprintf-posix (Depends-on): Likewise.
54340         * modules/vasprintf-posix (Depends-on): Likewise.
54341         * modules/vfprintf-posix (Depends-on): Likewise.
54342         * modules/vsnprintf-posix (Depends-on): Likewise.
54343         * modules/vsprintf-posix (Depends-on): Likewise.
54344         * modules/vasnprintf (Files): Add lib/float+.h.
54345         * doc/functions/fprintf.texi: Update.
54346         * doc/functions/printf.texi: Update.
54347         * doc/functions/snprintf.texi: Update.
54348         * doc/functions/sprintf.texi: Update.
54349         * doc/functions/vfprintf.texi: Update.
54350         * doc/functions/vprintf.texi: Update.
54351         * doc/functions/vsnprintf.texi: Update.
54352         * doc/functions/vsprintf.texi: Update.
54353
54354 2007-05-18  Bruno Haible  <bruno@clisp.org>
54355
54356         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
54357
54358 2007-05-18  Bruno Haible  <bruno@clisp.org>
54359
54360         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
54361         for printing 64-bit integers. Needed for mingw.
54362
54363 2007-05-18  Bruno Haible  <bruno@clisp.org>
54364
54365         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
54366         gl_FUNC_FREXPL_WORKS.
54367         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
54368
54369 2007-05-18  Bruno Haible  <bruno@clisp.org>
54370
54371         * modules/frexpl-nolibm-tests: New file.
54372
54373         * modules/frexpl-nolibm: New file.
54374         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
54375
54376 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
54377
54378         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
54379         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
54380         GCC 4.2, which otherwise issues a lot of warnings.
54381         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
54382         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
54383         Likewise.
54384         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
54385         * modules/iconv_open (iconv.h): Likewise.
54386         * modules/locale (locale.h): Likewise.
54387         * modules/netinet_in (netinet/in.h): Likewise.
54388         * modules/sys_select (sys_select.h): Likewise.
54389         * modules/sys_socket (sys/socket.h): Likewise.
54390         * modules/sys_stat (sys/stat.h): Likewise.
54391         * modules/sysexits (sysexits.h): Likewise.
54392         * modules/unistd (unistd.h): Likewise.
54393
54394 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54395
54396         * modules/closein-tests (Makefile.am): Distribute
54397         `test-closein.sh'.
54398
54399 2007-05-17  Bruno Haible  <bruno@clisp.org>
54400
54401         * tests/test-printf-posix.output: Renamed from
54402         tests/test-fprintf-posix.out.
54403         * modules/fprintf-posix-tests: Update.
54404         * modules/printf-posix-tests: Update.
54405         * modules/vfprintf-posix-tests: Update.
54406         * modules/vprintf-posix-tests: Update.
54407         * tests/test-fprintf-posix.sh: Update.
54408         * tests/test-printf-posix.sh: Update.
54409         * tests/test-vfprintf-posix.sh: Update.
54410         * tests/test-vprintf-posix.sh: Update.
54411         Reported by Ralf Wildenhues.
54412
54413 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
54414
54415         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
54416         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
54417         GCC 4.2, which otherwise issues a lot of warnings.
54418         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
54419         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
54420         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
54421         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
54422         it should no longer be needed.
54423         * lib/string_.h: Likewise.
54424         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
54425         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
54426         * modules/inttypes (inttypes.h): Likewise.
54427         * modules/math (math.h): Likewise.
54428         * modules/search (search.h): Likewise.
54429         * modules/signal (signal.h): Likewise.
54430         * modules/stdint (stdint.h): Likewise.
54431         * modules/stdio (stdio.h): Likewise.
54432         * modules/stdlib (stdlib.h): Likewise.
54433         * modules/string (string.h): Likewise.
54434         * modules/sys_time (sys/time.h): Likewise.
54435         * modules/time (time.h): Likewise.
54436         * modules/wchar (wchar.h): Likewise.
54437         * modules/wctype (wtype.h): Likewise.
54438
54439 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
54440
54441         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
54442
54443 2007-05-13  Bruno Haible  <bruno@clisp.org>
54444
54445         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
54446         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
54447         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
54448         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
54449         (gl_PREREQ_STRTOK_R): Don't require it here.
54450
54451 2007-05-13  Bruno Haible  <bruno@clisp.org>
54452
54453         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
54454         when used in C++ mode.
54455
54456 2007-05-12  Bruno Haible  <bruno@clisp.org>
54457
54458         * lib/linebuffer.h: Tweak doc.
54459         * lib/linebuffer.c: Likewise.
54460
54461 2007-05-12  James Youngman  <jay@gnu.org>
54462
54463         * lib/linebuffer.c (readlinebuffer_delim): New function,
54464         like readlinebuffer, but use a caller-specified delimiter.
54465         (readlinebuffer): Just call readlinebuffer_delim with '\n'
54466         as the delimiter.
54467         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
54468
54469 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
54470
54471         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
54472         * modules/openat (Files): Remove openat-die.c.
54473         (Depends-on): Add openat-die.
54474         * modules/openat-die: New module.
54475
54476 2007-05-06  Bruno Haible  <bruno@clisp.org>
54477
54478         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
54479         Update with info about Cygwin.
54480         * doc/functions/fprintf.texi: Update.
54481         * doc/functions/printf.texi: Update.
54482         * doc/functions/snprintf.texi: Update.
54483         * doc/functions/sprintf.texi: Update.
54484         * doc/functions/vfprintf.texi: Update.
54485         * doc/functions/vprintf.texi: Update.
54486         * doc/functions/vsnprintf.texi: Update.
54487         * doc/functions/vsprintf.texi: Update.
54488         Reported by Eric Blake.
54489
54490 2007-05-06  Bruno Haible  <bruno@clisp.org>
54491
54492         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
54493         padding ourselves for the floating-point directives.
54494         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
54495         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
54496         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
54497         gl_PRINTF_FLAG_ZERO and test its result. Invoke
54498         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
54499         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54500         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
54501         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54502         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54503         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
54504         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54505         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54506         * tests/test-snprintf-posix.h (test_function): Also check the width
54507         and some flags in the %f directive.
54508         * tests/test-sprintf-posix.h (test_function): Likewise.
54509         * tests/test-vasnprintf-posix.c (test_function): Likewise.
54510         * tests/test-vasprintf-posix.c (test_function): Likewise.
54511         * doc/functions/fprintf.texi: Update.
54512         * doc/functions/printf.texi: Update.
54513         * doc/functions/snprintf.texi: Update.
54514         * doc/functions/sprintf.texi: Update.
54515         * doc/functions/vfprintf.texi: Update.
54516         * doc/functions/vprintf.texi: Update.
54517         * doc/functions/vsnprintf.texi: Update.
54518         * doc/functions/vsprintf.texi: Update.
54519
54520 2007-05-06  Bruno Haible  <bruno@clisp.org>
54521
54522         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
54523         pass the ' flag character to sprintf or snprintf.
54524         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
54525         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
54526         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
54527         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
54528         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
54529         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54530         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
54531         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54532         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54533         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
54534         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54535         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54536         * tests/test-snprintf-posix.h (test_function): Also check the grouping
54537         flag.
54538         * tests/test-sprintf-posix.h (test_function): Likewise.
54539         * tests/test-vasnprintf-posix.c (test_function): Likewise.
54540         * tests/test-vasprintf-posix.c (test_function): Likewise.
54541         * doc/functions/fprintf.texi: Update.
54542         * doc/functions/printf.texi: Update.
54543         * doc/functions/snprintf.texi: Update.
54544         * doc/functions/sprintf.texi: Update.
54545         * doc/functions/vfprintf.texi: Update.
54546         * doc/functions/vprintf.texi: Update.
54547         * doc/functions/vsnprintf.texi: Update.
54548         * doc/functions/vsprintf.texi: Update.
54549
54550 2007-05-01  Bruno Haible  <bruno@clisp.org>
54551
54552         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
54553
54554 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
54555
54556         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
54557         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
54558
54559 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
54560
54561         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
54562         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
54563         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
54564
54565 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
54566
54567         * lib/argp-help.c (struct hol_entry): New member `ord'.
54568         (HOL_ENTRY_PTRCMP): Use ord for comparison
54569         (hol_sort): Initialize ord.
54570
54571 2007-05-01  Bruno Haible  <bruno@clisp.org>
54572
54573         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
54574         Reported by Eric Blake.
54575         * doc/gnulib.texi (Function Substitutes): Update.
54576
54577 2007-05-01  Bruno Haible  <bruno@clisp.org>
54578
54579         * doc/functions.texi: Remove file, now redundant through
54580         doc/functions/*.texi.
54581
54582 2007-05-01  Bruno Haible  <bruno@clisp.org>
54583
54584         * modules/argp (Depends-on): Add sleep.
54585
54586 2007-05-01  Bruno Haible  <bruno@clisp.org>
54587
54588         * modules/sleep-tests: New file.
54589         * tests/test-sleep.c: New file.
54590
54591         * modules/sleep: New file.
54592         * lib/sleep.c: New file.
54593         * m4/sleep.m4: New file.
54594         * lib/unistd_.h (sleep): New declaration.
54595         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
54596         HAVE_SLEEP.
54597         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
54598         * doc/functions/sleep.texi: Document the sleep module.
54599
54600 2007-05-01  Bruno Haible  <bruno@clisp.org>
54601
54602         * lib/sigprocmask.h: Remove file.
54603         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
54604         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
54605         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
54606         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
54607         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
54608         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
54609         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
54610         HAVE_SIGSET_T as a shell variable.
54611         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
54612         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
54613         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
54614         (Depends-on): Add signal. Remove verify.
54615         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
54616         (Include): Mention <signal.h> instead of sigprocmask.h.
54617         * NEWS: Mention the change.
54618         * lib/fatal-signal.c: Don't include sigprocmask.h.
54619
54620 2007-05-01  Bruno Haible  <bruno@clisp.org>
54621
54622         * modules/signal: New file.
54623         * lib/signal_.h: New file.
54624         * m4/signal_h.m4: New file.
54625
54626 2007-05-01  Bruno Haible  <bruno@clisp.org>
54627
54628         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
54629         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
54630         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
54631         HAVE_WCTYPE_CTMP_BUG into wctype.h.
54632
54633 2007-05-01  Bruno Haible  <bruno@clisp.org>
54634
54635         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
54636         configure time.
54637         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
54638         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
54639         * modules/sys_stat (Makefile.am): Substitute their values into
54640         sys/stat.h.
54641
54642 2007-05-01  Bruno Haible  <bruno@clisp.org>
54643
54644         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
54645         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
54646         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
54647
54648 2007-05-01  Bruno Haible  <bruno@clisp.org>
54649
54650         * doc/header/assert.texi: Undo last change: don't mention the gnulib
54651         'assert' module here.
54652
54653 2007-05-01  Bruno Haible  <bruno@clisp.org>
54654
54655         * doc/functions/*.texi: New files.
54656         * doc/functions/google-ranking.txt: New file.
54657         * doc/gnulib.texi (Function Substitutes): New chapter.
54658         (ctime, inet_ntoa): Remove sections.
54659         * doc/ctime.texi: Remove file.
54660         * doc/inet_ntoa.texi: Remove file.
54661         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
54662         dependencies.
54663         (%.info): New rule, specifying a --reference-limit.
54664
54665 2007-05-01  Bruno Haible  <bruno@clisp.org>
54666
54667         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
54668
54669 2007-05-01  Bruno Haible  <bruno@clisp.org>
54670
54671         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
54672         the portability of 'mkdir' to mingw systems.
54673
54674 2007-05-01  Bruno Haible  <bruno@clisp.org>
54675
54676         * doc/headers/google-ranking.txt: New file.
54677
54678 2007-04-30  Eric Blake  <ebb9@byu.net>
54679
54680         Prefer fseeko to fseek.
54681         * modules/getpass (Depends-on): Add fseeko.
54682         * lib/getpass.c (getpass): Use fseeko, not fseek.
54683
54684 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
54685
54686         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
54687         assumes the sorting is stable, while most qsort implementations
54688         are not.  Use argument addresses to ensure they never compare as
54689         equal.
54690
54691         * tests/test-argp-2.sh (usage-indent test): Fix output
54692         (func_compare): Restore diff options
54693         * tests/test-argp.c: Restore #include "progname.h"
54694
54695 2007-04-29  Bruno Haible  <bruno@clisp.org>
54696
54697         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
54698         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
54699         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
54700         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54701         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
54702         (configure.ac): Define CHECK_SNPRINTF_POSIX.
54703         (TESTS, check_PROGRAMS): Add test-snprintf.
54704         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
54705         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
54706         (TESTS, check_PROGRAMS): Add test-vsnprintf.
54707         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
54708         assertions that fail on HP-UX, OSF/1, or IRIX.
54709         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
54710
54711 2007-04-29  Bruno Haible  <bruno@clisp.org>
54712
54713         * MODULES.html.sh (posix_functions): Remove 'contents'.
54714
54715 2007-04-29  Karl Berry  <karl@gnu.org>
54716
54717         * config/srclist.txt (gendocs_template_min): new entry.
54718
54719 2007-04-29  Bruno Haible  <bruno@clisp.org>
54720
54721         Work around fpurge bug on BSD systems.
54722         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
54723         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
54724         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
54725         fpurge to rpl_fpurge if the system already has this function.
54726         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
54727         the case where the system already has this function. Correct invariants
54728         on BSD systems.
54729         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
54730         BSD systems.
54731
54732 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
54733
54734         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
54735         proposed by Sven Verdoolaege.
54736
54737         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
54738         options.
54739         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
54740         (usage and help tests): Update
54741
54742 2007-04-29  Bruno Haible  <bruno@clisp.org>
54743
54744         * tests/test-fflush.c (main): Use a file of size 17, not 10.
54745         Print more information in case of failure. Disable a test on BeOS.
54746
54747 2007-04-29  Bruno Haible  <bruno@clisp.org>
54748
54749         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
54750         This helps debugging on systems on which no gdb is available.
54751
54752 2007-04-29  Bruno Haible  <bruno@clisp.org>
54753
54754         * lib/freading.h: Improve comments.
54755         * lib/fwriting.h: Likewise.
54756         * tests/test-freading.c (main): Don't check freading immediately after
54757         repositioning. Needed for glibc.
54758
54759 2007-04-29  Bruno Haible  <bruno@clisp.org>
54760
54761         * lib/freading.c (freading): Trivial simplification.
54762
54763 2007-04-28  Bruno Haible  <bruno@clisp.org>
54764
54765         * tests/test-fwriting.c (main): Also test the interaction between
54766         fflush and fwriting.
54767         * modules/fwriting-tests (Depends-on): Add fflush.
54768
54769         * tests/test-freading.c (main): Also test the interaction between
54770         fflush and freading.
54771         * modules/freading-tests (Depends-on): Add fflush.
54772
54773 2007-04-28  Bruno Haible  <bruno@clisp.org>
54774
54775         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
54776         fseeko and ftello.
54777         Suggested by Eric Blake.
54778
54779 2007-04-28  Jim Meyering  <jim@meyering.net>
54780
54781         Avoid false-negative in gl_STDINT_H's C99 conformance test.
54782         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
54783         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
54784
54785 2007-04-27  Eric Blake  <ebb9@byu.net>
54786
54787         * doc/headers/assert.texi (assert.h): Document assert module use.
54788
54789 2007-04-27  Bruno Haible  <bruno@clisp.org>
54790
54791         * doc/headers/*.texi: New files.
54792         * doc/gnulib.texi (Header File Substitutes): New chapter.
54793         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
54794         dependencies.
54795         (standards.info ,standards.html, standards.dvi): Update dependencies.
54796         (mostlyclean, clean): New targets.
54797
54798 2007-04-27  Bruno Haible  <bruno@clisp.org>
54799
54800         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
54801         * modules/sysexits (Files, Makefile.am): Update.
54802
54803         * lib/sys_socket_.h: Renamed from lib/socket_.h.
54804         * modules/sys_socket (Files, Makefile.am): Update.
54805
54806         * lib/sys_stat_.h: Renamed from lib/stat_.h.
54807         * modules/sys_stat (Files, Makefile.am): Update.
54808
54809 2007-04-27  Eric Blake  <ebb9@byu.net>
54810
54811         * lib/freading.h: Improve comments.
54812         * lib/fwriting.h: Likewise.
54813         * lib/fflush.c: Likewise.
54814
54815         Fix closein for mingw.
54816         * modules/closein-tests: Add tests for closein.
54817         * tests/test-closein.c: New file.
54818         * tests/test-closein.sh: Likewise.
54819         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
54820         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
54821
54822 2007-04-27  Bruno Haible  <bruno@clisp.org>
54823
54824         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
54825         version is < 6.
54826         * lib/math_.h [__DECC]: Likewise.
54827         * lib/stdio_.h [__DECC]: Likewise.
54828         * lib/stdlib_.h [__DECC]: Likewise.
54829         * lib/string_.h [__DECC]: Likewise.
54830         * lib/time_.h [__DECC]: Likewise.
54831         * lib/wchar_.h [__DECC]: Likewise.
54832         * lib/wctype_.h [__DECC]: Likewise.
54833
54834 2007-04-27  Bruno Haible  <bruno@clisp.org>
54835
54836         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
54837
54838 2007-04-27  Bruno Haible  <bruno@clisp.org>
54839
54840         * lib/fflush.c: Add comments.
54841         * modules/fpurge-tests (Depends-on): Add fflush.
54842         * modules/freadable-tests (Depends-on): Likewise.
54843         * modules/fwritable-tests (Depends-on): Likewise.
54844
54845 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
54846
54847         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
54848         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
54849         Report by Bruno Haible <bruno@clisp.org>.
54850
54851 2007-04-26  Eric Blake  <ebb9@byu.net>
54852
54853         Fix fflush on mingw.
54854         * modules/fflush (Depends-on): Add freading.
54855         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
54856         but unread data.
54857
54858 2007-04-26  Eric Blake  <ebb9@byu.net>
54859         and Bruno Haible  <bruno@clisp.org>
54860
54861         Implement freading and fwriting.
54862         * lib/freading.c: New file.
54863         * lib/freading.h: Likewise.
54864         * m4/freading.m4: Likewise.
54865         * modules/freading: Likewise.
54866         * modules/freading-tests: Likewise.
54867         * tests/test-freading.c: Likewise.
54868         * lib/fwriting.c: New file.
54869         * lib/fwriting.h: Likewise.
54870         * m4/fwriting.m4: Likewise.
54871         * modules/fwriting: Likewise.
54872         * modules/fwriting-tests: Likewise.
54873         * tests/test-fwriting.c: Likewise.
54874         * MODULES.html.sh (File stream based Input/Output): Mention them.
54875
54876 2007-04-26  Bruno Haible  <bruno@clisp.org>
54877
54878         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
54879         'long' when we assume it.
54880         Suggested by Eric Blake.
54881
54882 2007-04-26  Bruno Haible  <bruno@clisp.org>
54883
54884         Ensure fseeko, ftello are declared on glibc systems.
54885         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
54886         * modules/fseeko (configure.ac-early): Likewise.
54887         * modules/ftello (configure.ac-early): Likewise.
54888         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
54889         AC_FUNC_FSEEKO for this.
54890         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
54891         (gl_CHECK_FSEEKO): Remove macro.
54892
54893 2007-04-26  Bruno Haible  <bruno@clisp.org>
54894
54895         * tests/test-fflush.c (main): Also check the ftell result after
54896         fflush and fseek/fseeko.
54897         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
54898         file descriptor position cache in the stream.
54899         * lib/fseeko.c (rpl_fseeko): Likewise.
54900
54901 2007-04-26  Bruno Haible  <bruno@clisp.org>
54902
54903         * modules/fflush-tests (Depends-on): Add fseeko.
54904
54905 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
54906             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54907
54908         * lib/argz_.h: ensure error_t definition is obtained in same
54909         mechanism system argz.h would have.
54910         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
54911         argz facilities are known bad.  Err on the side of caution if
54912         cross-compiling.
54913
54914 2007-04-25  Eric Blake  <ebb9@byu.net>
54915
54916         * lib/fpurge.c (includes): Use stdlib.h for free.
54917         * tests/test-fflush.c (main): Also test fflush-fseeko.
54918
54919 2007-04-25  Bruno Haible  <bruno@clisp.org>
54920
54921         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
54922         * lib/fseeko.c: New file.
54923         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
54924         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
54925         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
54926         gl_FUNC_FSEEKO.
54927         (gl_FUNC_FSEEKO): Invoke it.
54928         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
54929         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
54930         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
54931
54932 2007-04-25  Bruno Haible  <bruno@clisp.org>
54933
54934         * modules/fflush (Depends-on): Add ftello.
54935
54936 2007-04-25  Bruno Haible  <bruno@clisp.org>
54937
54938         * modules/ftello-tests: New file.
54939         * tests/test-ftello.c: New file.
54940
54941         * modules/ftello: New file.
54942         * m4/ftello.m4: New file.
54943         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
54944         HAVE_FTELLO.
54945         * lib/stdio_.h (ftello): New declaration.
54946         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
54947         HAVE_FTELLO.
54948
54949 2007-04-25  Bruno Haible  <bruno@clisp.org>
54950
54951         * modules/fseeko-tests: New file.
54952         * tests/test-fseeko.c: New file.
54953
54954         * modules/fseeko: New file.
54955         * m4/fseeko.m4: New file.
54956         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
54957         HAVE_FSEEKO.
54958         * lib/stdio_.h (fseeko): New declaration.
54959         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
54960         HAVE_FSEEKO.
54961
54962 2007-04-25  Bruno Haible  <bruno@clisp.org>
54963
54964         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
54965
54966 2007-04-25  Bruno Haible  <bruno@clisp.org>
54967
54968         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
54969         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
54970         * tests/test-unistd.c: Likewise.
54971         * tests/test-fcntl.c: Likewise.
54972
54973 2007-04-23  Eric Blake  <ebb9@byu.net>
54974
54975         * lib/fflush.c: Fix missing include.
54976         Reported by Bruno Haible.
54977
54978 2007-04-23  Bruno Haible  <bruno@clisp.org>
54979
54980         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
54981         Reported by Eric Blake.
54982
54983 2007-04-23  Bruno Haible  <bruno@clisp.org>
54984
54985         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
54986
54987 2007-04-23  Bruno Haible  <bruno@clisp.org>
54988
54989         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
54990
54991 2007-04-23  Bruno Haible  <bruno@clisp.org>
54992
54993         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
54994         Needed on HP-UX 11.
54995
54996 2007-04-16  Eric Blake  <ebb9@byu.net>
54997
54998         Make fflush rely on fpurge.
54999         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
55000         open coding all variants.
55001         * modules/fflush (Depends-on): Add fpurge and unistd.
55002         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
55003         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
55004
55005         Fix --with-tests compilation on cygwin.
55006         * modules/argmatch-tests (Makefile.am): List gnulib library first
55007         in LDADD.
55008         * modules/argp-tests (Makefile.am): Likewise.
55009         * modules/array-list-tests (Makefile.am): Likewise.
55010         * modules/array-oset-tests (Makefile.am): Likewise.
55011         * modules/avltree-list-tests (Makefile.am): Likewise.
55012         * modules/avltree-oset-tests (Makefile.am): Likewise.
55013         * modules/avltreehash-list-tests (Makefile.am): Likewise.
55014         * modules/carray-list-tests (Makefile.am): Likewise.
55015         * modules/dirname-tests (Makefile.am): Likewise.
55016         * modules/frexp-tests (Makefile.am): Likewise.
55017         * modules/isnanl-tests (Makefile.am): Likewise.
55018         * modules/linked-list-tests (Makefile.am): Likewise.
55019         * modules/linkedhash-list-tests (Makefile.am): Likewise.
55020         * modules/lock-tests (Makefile.am): Likewise.
55021         * modules/rbtree-list-tests (Makefile.am): Likewise.
55022         * modules/rbtree-oset-tests (Makefile.am): Likewise.
55023         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
55024         * modules/tls-tests (Makefile.am): Likewise.
55025         * modules/tsearch-tests (Makefile.am): Likewise.
55026         * modules/xvasprintf-tests (Makefile.am): Likewise.
55027
55028         Fix fpurge for cygwin.
55029         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
55030         value.
55031         * modules/fpurge-tests (Depends-on): Clean up trash.
55032
55033 2007-04-16  Simon Josefsson  <simon@josefsson.org>
55034
55035         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
55036
55037         * m4/autobuild.m4: Re-indent.
55038
55039 2007-04-13  Bruno Haible  <bruno@clisp.org>
55040
55041         * modules/fpurge-tests: New file.
55042         * tests/test-fpurge.c: New file.
55043
55044         * modules/fpurge: New file.
55045         * lib/fpurge.h: New file.
55046         * lib/fpurge.c: New file.
55047         * m4/fpurge.m4: New file.
55048
55049 2007-04-13  Bruno Haible  <bruno@clisp.org>
55050
55051         * modules/fbufmode-tests: New file.
55052         * tests/test-fbufmode.c: New file.
55053
55054         * modules/fbufmode: New file.
55055         * lib/fbufmode.h: New file.
55056         * lib/fbufmode.c: New file.
55057         * m4/fbufmode.m4: New file.
55058
55059 2007-04-13  Bruno Haible  <bruno@clisp.org>
55060
55061         * modules/fwritable-tests: New file.
55062         * tests/test-fwritable.c: New file.
55063
55064         * modules/fwritable: New file.
55065         * lib/fwritable.h: New file.
55066         * lib/fwritable.c: New file.
55067         * m4/fwritable.m4: New file.
55068
55069 2007-04-13  Bruno Haible  <bruno@clisp.org>
55070
55071         * modules/freadable-tests: New file.
55072         * tests/test-freadable.c: New file.
55073
55074         * modules/freadable: New file.
55075         * lib/freadable.h: New file.
55076         * lib/freadable.c: New file.
55077         * m4/freadable.m4: New file.
55078
55079 2007-04-13  Bruno Haible  <bruno@clisp.org>
55080
55081         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
55082         MOSTLYCLEANFILES.
55083
55084 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
55085
55086         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
55087         gzip bootstrap.conf to avoid dragging in i18n machinery.
55088         (gnulib_tool_option): Use it.
55089
55090 2007-04-13  Bruno Haible  <bruno@clisp.org>
55091
55092         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
55093         %F directives.
55094         * tests/test-vasprintf-posix.c (test_function): Likewise.
55095         * tests/test-snprintf-posix.h (test_function): Likewise.
55096         * tests/test-sprintf-posix.h (test_function): Likewise.
55097         * tests/test-fprintf-posix.h (test_function): Likewise.
55098         * tests/test-printf-posix.h (test_function): Likewise.
55099         * tests/test-fprintf-posix.out: Likewise.
55100
55101 2007-04-13  Bruno Haible  <bruno@clisp.org>
55102
55103         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
55104         * modules/tls-tests (configure.ac): Likewise.
55105         Reported by Arto C. Nirkko <anirkko@insel.ch>.
55106
55107 2007-04-13  Bruno Haible  <bruno@clisp.org>
55108
55109         * lib/tls.c (glthread_tls_get): Fix return type.
55110         Patch by Arto C. Nirkko <anirkko@insel.ch>.
55111
55112 2007-04-12  Eric Blake  <ebb9@byu.net>
55113
55114         * modules/gettime (Depends-on): Remove gettime.
55115         Reported by Dmitry V. Levin.
55116
55117 2007-04-12  Bruno Haible  <bruno@clisp.org>
55118
55119         * modules/fflush (Include): Mention <stdio.h>.
55120         * modules/strtoimax (Include): Mention <inttypes.h>.
55121         * modules/strtoumax (Include): Likewise.
55122
55123 2007-04-12  Eric Blake  <ebb9@byu.net>
55124
55125         * .cvsignore: New file.
55126         * .gitignore: Likewise.
55127
55128 2007-04-12  Bruno Haible  <bruno@clisp.org>
55129
55130         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
55131         not before, since $(LDADD) often contains libgnu.a.
55132         * modules/striconv-tests (test_striconv_LDADD): Likewise.
55133         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
55134         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
55135         Needed on Cygwin.
55136
55137 2007-04-12  Eric Blake  <ebb9@byu.net>
55138
55139         Work around glibc's failure to flush stdin on fclose.
55140         * lib/closein.c (close_stdin): Flush stdin before closing.
55141
55142         Work around glibc's failure to reset seekable stdin on exit.
55143         * modules/closein: New module.
55144         * lib/closein.c: New file.
55145         * lib/closein.h: Likewise.
55146         * m4/closein.m4: Likewise.
55147         * MODULES.html.sh (File stream based Input/Output): Document it.
55148
55149 2007-04-12  Simon Josefsson  <simon@josefsson.org>
55150
55151         * gnulib-tool: Rename generated 'autobuild' script to
55152         'do-autobuild' in --create-megatestdir output.
55153
55154         * doc/gnulib.texi (Build robot for gnulib): Fix.
55155
55156 2007-04-12  Simon Josefsson  <simon@josefsson.org>
55157
55158         * modules/sysexits (Depends-on): Add absolute-header.
55159
55160 2007-04-12  Eric Blake  <ebb9@byu.net>
55161
55162         No need to preserve errno on success.
55163         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
55164         Reported by Bruno Haible.
55165
55166 2007-04-12  Simon Josefsson  <simon@josefsson.org>
55167
55168         * MODULES.html.sh (Support for maintaining and releasing
55169         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
55170
55171 2007-04-12  Simon Josefsson  <simon@josefsson.org>
55172
55173         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
55174
55175 2007-04-12  Simon Josefsson  <simon@josefsson.org>
55176
55177         * modules/autobuild: New module.
55178
55179         * m4/autobuild.m4: New file.
55180
55181 2007-04-11  Bruno Haible  <bruno@clisp.org>
55182
55183         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
55184         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
55185         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
55186         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
55187         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
55188         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
55189         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
55190         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
55191         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
55192         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
55193         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
55194         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
55195         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
55196         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
55197         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
55198         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
55199         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
55200         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
55201         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
55202         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
55203         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
55204         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
55205         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
55206         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
55207         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
55208         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
55209         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
55210         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
55211         Reported by Eric Blake.
55212
55213 2007-04-11  Bruno Haible  <bruno@clisp.org>
55214
55215         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
55216
55217 2007-04-10  Bruno Haible  <bruno@clisp.org>
55218
55219         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
55220         for NaN and Infinity. Needed on FreeBSD 6.1.
55221         * tests/test-vasnprintf-posix.c (test_function): Undo last change
55222         regarding results for "%010a" of Infinity and NaN.
55223         * tests/test-vasprintf-posix.c (test_function): Likewise.
55224         * tests/test-snprintf-posix.h (test_function): Likewise.
55225         * tests/test-sprintf-posix.h (test_function): Likewise.
55226         * tests/test-fprintf-posix.h (test_function): Likewise.
55227         * tests/test-printf-posix.h (test_function): Likewise.
55228         * tests/test-fprintf-posix.out: Likewise.
55229
55230 2007-04-10  Bruno Haible  <bruno@clisp.org>
55231
55232         * modules/locale-tests: New file.
55233         * tests/test-locale.c: New file.
55234
55235         * modules/locale: New file.
55236         * lib/locale_.h: New file.
55237         * m4/locale_h.m4: New file.
55238
55239 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
55240             Bruno Haible  <bruno@clisp.org>
55241
55242         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
55243         be determined, test for availability of the copysignf, copysign,
55244         copysignl functions.
55245         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
55246         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
55247         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
55248
55249 2007-04-09  Eric Blake  <ebb9@byu.net>
55250
55251         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
55252         * modules/stdio (Makefile.am): Support fflush.
55253         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
55254         * modules/fflush: New file.
55255         * lib/fflush.c: Likewise.
55256         * m4/fflush.m4: Likewise.
55257         * modules/fflush-tests: New test.
55258         * tests/test-fflush.c: Likewise.
55259         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
55260
55261 2007-04-06  Bruno Haible  <bruno@clisp.org>
55262
55263         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
55264         (VASNPRINTF): Use signbit for faster determination whether to print a
55265         minus sign.
55266         * modules/vasnprintf (Files): Remove lib/float+.h.
55267         * modules/fprintf-posix (Depends-on): Add signbit.
55268         * modules/snprintf-posix (Depends-on): Likewise.
55269         * modules/sprintf-posix (Depends-on): Likewise.
55270         * modules/vasnprintf-posix (Depends-on): Likewise.
55271         * modules/vasprintf-posix (Depends-on): Likewise.
55272         * modules/vfprintf-posix (Depends-on): Likewise.
55273         * modules/vsnprintf-posix (Depends-on): Likewise.
55274         * modules/vsprintf-posix (Depends-on): Likewise.
55275
55276 2007-04-06  Bruno Haible  <bruno@clisp.org>
55277
55278         * tests/test-frexp.c (main): Test also the sign bit of zero results.
55279         * tests/test-frexpl.c (main): Likewise.
55280         * tests/test-ldexpl.c (main): Likewise.
55281         * modules/frexp-tests (Depends-on): Add signbit.
55282         * modules/frexpl-tests (Depdends-on): Likewise.
55283         * modules/ldexpl-tests (Depdends-on): Likewise.
55284
55285 2007-04-06  Bruno Haible  <bruno@clisp.org>
55286
55287         * modules/signbit-tests: New file.
55288         * tests/test-signbit.c: New file.
55289
55290         * modules/signbit: New file.
55291         * lib/signbitf.c: New file.
55292         * lib/signbitd.c: New file.
55293         * lib/signbitl.c: New file.
55294         * m4/signbit.m4: New file.
55295         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
55296         (signbit): New macro.
55297         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
55298         REPLACE_SIGNBIT.
55299         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
55300         REPLACE_FREXPL into math.h.
55301
55302 2007-04-06  Bruno Haible  <bruno@clisp.org>
55303
55304         * modules/isnanf-nolibm-tests: New file.
55305         * tests/test-isnanf.c: New file.
55306
55307         * modules/isnanf-nolibm: New file.
55308         * lib/isnanf.h: New file.
55309         * lib/isnanf.c: New file.
55310         * lib/isnan.c: Consider the USE_FLOAT macro.
55311         * m4/isnanf.m4: New file.
55312
55313 2007-04-06  Bruno Haible  <bruno@clisp.org>
55314
55315         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
55316         (Link): New section.
55317
55318         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
55319
55320 2007-04-06  Bruno Haible  <bruno@clisp.org>
55321
55322         Assume the 'long double' type.
55323         * m4/longdouble.m4: Remove file.
55324         * config/srclist.txt: Don't mention longdouble.m4.
55325         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
55326         * lib/float+.h: Likewise.
55327         * lib/frexp.c: Likewise.
55328         * lib/printf-args.h: Likewise.
55329         * lib/printf-args.c: Likewise.
55330         * lib/printf-frexp.c: Likewise.
55331         * lib/printf-parse.c: Likewise.
55332         * lib/vasnprintf.c: Likewise.
55333         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
55334         * m4/intl.m4: Likewise.
55335         * m4/isnanl.m4: Likewise.
55336         * m4/printf.m4: Likewise.
55337         * m4/printf-frexpl.m4: Likewise.
55338         * m4/vasnprintf.m4: Likewise.
55339         * modules/allocsa (Files): Remove m4/longdouble.m4.
55340         * modules/gettext (Files): Likewise.
55341         * modules/relocatable-prog-wrapper (Files): Likewise.
55342         * modules/vasnprintf (Files): Likewise.
55343         * modules/isnanl (Files): Likewise.
55344         (Include): Simplify.
55345         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
55346         (Include): Simplify.
55347         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
55348         (Include): Simplify.
55349         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
55350         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
55351         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
55352         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
55353         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
55354         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
55355         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
55356         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
55357         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
55358         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
55359         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
55360         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
55361         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
55362         * tests/test-isnanl.c: Likewise.
55363         * tests/test-snprintf-posix.h: Likewise.
55364         * tests/test-sprintf-posix.h: Likewise.
55365         * tests/test-vasnprintf-posix.c: Likewise.
55366         * tests/test-vasnprintf-posix2.c: Likewise.
55367         * tests/test-vasprintf-posix.c: Likewise.
55368
55369 2007-04-06  Bruno Haible  <bruno@clisp.org>
55370
55371         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
55372         * lib/math_.h [__DECC]: Include the overridden include file through
55373         #include_next, outside the double-inclusion guard.
55374         * lib/stdio_.h [__DECC]: Likewise.
55375         * lib/stdlib_.h [__DECC]: Likewise.
55376         * lib/string_.h [__DECC]: Likewise.
55377         * lib/time_.h [__DECC]: Likewise.
55378         * lib/wchar_.h [__DECC]: Likewise.
55379         * lib/wctype_.h [__DECC]: Likewise.
55380         * lib/inttypes_.h [__DECC]: Likewise.
55381         Reported by Albert Chin <china@thewrittenword.com> in
55382         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
55383
55384 2007-04-04  Eric Blake  <ebb9@byu.net>
55385
55386         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
55387         1.5.x.
55388
55389 2007-04-04  Bruno Haible  <bruno@clisp.org>
55390
55391         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
55392         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
55393
55394 2007-04-04  Bruno Haible  <bruno@clisp.org>
55395
55396         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
55397         results for "%010a" of Infinity and NaN.
55398         * tests/test-vasprintf-posix.c (test_function): Likewise.
55399         * tests/test-snprintf-posix.h (test_function): Likewise.
55400         * tests/test-sprintf-posix.h (test_function): Likewise.
55401         * tests/test-fprintf-posix.h (test_function): Remove these tests.
55402         * tests/test-printf-posix.h (test_function): Likewise.
55403         * tests/test-fprintf-posix.out: Update.
55404         Needed for FreeBSD 6.1.
55405
55406 2007-04-04  Bruno Haible  <bruno@clisp.org>
55407
55408         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
55409         directly used by the gnulib modules nor by gnulib-tool.
55410
55411 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
55412
55413         * DEPENDENCIES: Give overall description of version dependency
55414         desirability.  Use more-typical names for apps.
55415         Add shell, coreutils, diffutils, grep, tar, gzip.
55416
55417 2007-04-04  Simon Josefsson  <simon@josefsson.org>
55418
55419         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
55420
55421 2007-04-04  Karl Berry  <karl@gnu.org>
55422
55423         * MODULES.html.sh (func_module): missing '.
55424
55425 2007-04-03  Bruno Haible  <bruno@clisp.org>
55426
55427         * modules/argmatch-tests (Makefile.am): New variable
55428         test_argmatch_LDADD.
55429         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
55430         * modules/array-list-tests (Makefile.am): New variable
55431         test_array_list_LDADD.
55432         * modules/array-oset-tests (Makefile.am): New variable
55433         test_array_oset_LDADD.
55434         * modules/avltree-list-tests (Makefile.am): New variable
55435         test_avltree_list_LDADD.
55436         * modules/avltree-oset-tests (Makefile.am): New variable
55437         test_avltree_oset_LDADD.
55438         * modules/avltreehash-list-tests (Makefile.am): New variable
55439         test_avltreehash_list_LDADD.
55440         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
55441         test_canonicalize_lgpl_LDADD.
55442         * modules/carray-list-tests (Makefile.am): New variable
55443         test_carray_list_LDADD.
55444         * modules/dirname-tests (Makefile.am): New variable
55445         test_dirname_LDADD.
55446         * modules/linked-list-tests (Makefile.am): New variable
55447         test_linked_list_LDADD.
55448         * modules/linkedhash-list-tests (Makefile.am): New variable
55449         test_linkedhash_list_LDADD.
55450         * modules/rbtree-list-tests (Makefile.am): New variable
55451         test_rbtree_list_LDADD.
55452         * modules/rbtree-oset-tests (Makefile.am): New variable
55453         test_rbtree_oset_LDADD.
55454         * modules/rbtreehash-list-tests (Makefile.am): New variable
55455         test_rbtreehash_list_LDADD.
55456         * modules/xvasprintf-tests (Makefile.am): New variable
55457         test_xvasprintf_LDADD.
55458         Reported by Eric Blake.
55459
55460 2007-04-03  Eric Blake  <ebb9@byu.net>
55461
55462         * DEPENDENCIES: Weaken m4 requirements.
55463
55464 2007-04-03  Bruno Haible  <bruno@clisp.org>
55465
55466         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
55467         * modules/isnanl-tests (configure.ac): Likewise.
55468
55469 2007-04-03  Ben Pfaff  <blp@gnu.org>
55470
55471         * modules/iconv_open: Add $(srcdir)/ to source directory
55472         references in Makefile fragments that call gperf, to fix VPATH
55473         builds.
55474
55475 2007-04-03  Bruno Haible  <bruno@clisp.org>
55476
55477         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
55478         * lib/ldexpl.c: Undo last change.
55479
55480 2007-04-03  Bruno Haible  <bruno@clisp.org>
55481
55482         * modules/printf-frexpl (Depends-on): Undo last change.
55483         (Files): Add m4/ldexpl.m4.
55484
55485 2007-04-03  Bruno Haible  <bruno@clisp.org>
55486
55487         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
55488         * modules/isnanl (Link): New section.
55489
55490         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
55491         * modules/frexp (Link): New section.
55492
55493         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
55494         * modules/frexpl (Link): New section.
55495
55496         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
55497         * modules/ldexpl (Link): New section.
55498
55499 2007-04-03  Bruno Haible  <bruno@clisp.org>
55500
55501         * modules/TEMPLATE-EXTENDED: New file.
55502         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
55503
55504 2007-04-03  Bruno Haible  <bruno@clisp.org>
55505
55506         * DEPENDENCIES: New file.
55507         Suggested by Simon Josefsson.
55508
55509 2007-04-03  Bruno Haible  <bruno@clisp.org>
55510
55511         * doc/gnulib.texi: Escape @.
55512
55513 2007-04-03  James Youngman  <jay@gnu.org>
55514         and Paul Eggert  <eggert@cs.ucla.edu>
55515
55516         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
55517         birthtime on all systems that have birthtime, not just those which
55518         use st_birthtimensec rather than st_birthtim.  Putting zero in
55519         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
55520         that the birth time is not available for files on an NFS mount.
55521
55522 2007-04-03  Simon Josefsson  <simon@josefsson.org>
55523
55524         * modules/memxor: Move back from crypto/, suggested by Bruno.
55525         * modules/crypto/hmac-sha1: Fix memxor dependency.
55526
55527         * modules/crypto/gc: Moved from ../.
55528
55529 2007-04-02  Eric Blake  <ebb9@byu.net>
55530
55531         * lib/ldexpl.c (includes): Avoid libm.
55532
55533         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
55534
55535 2007-04-02  Bruno Haible  <bruno@clisp.org>
55536
55537         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
55538         on IRIX.
55539
55540 2007-04-02  Bruno Haible  <bruno@clisp.org>
55541
55542         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
55543         x86 or x86_64 platforms running MacOS X.
55544         Reported by Ryan Schmidt <@ryandesign.com>.
55545
55546 2007-04-02  Bruno Haible  <bruno@clisp.org>
55547
55548         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
55549         i386.
55550
55551 2007-04-01  Simon Josefsson  <simon@josefsson.org>
55552
55553         * modules/crypto/arcfour: Moved from ../.
55554         * modules/crypto/arcfour-tests: Moved from ../.
55555         * modules/crypto/arctwo: Moved from ../.
55556         * modules/crypto/arctwo-tests: Moved from ../.
55557         * modules/crypto/des: Moved from ../.
55558         * modules/crypto/des-tests: Moved from ../.
55559         * modules/crypto/gc-arcfour: Moved from ../.
55560         * modules/crypto/gc-arcfour-tests: Moved from ../.
55561         * modules/crypto/gc-arctwo: Moved from ../.
55562         * modules/crypto/gc-arctwo-tests: Moved from ../.
55563         * modules/crypto/gc-des: Moved from ../.
55564         * modules/crypto/gc-des-tests: Moved from ../.
55565         * modules/crypto/gc-hmac-md5: Moved from ../.
55566         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
55567         * modules/crypto/gc-hmac-sha1: Moved from ../.
55568         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
55569         * modules/crypto/gc-md2: Moved from ../.
55570         * modules/crypto/gc-md2-tests: Moved from ../.
55571         * modules/crypto/gc-md4: Moved from ../.
55572         * modules/crypto/gc-md4-tests: Moved from ../.
55573         * modules/crypto/gc-md5: Moved from ../.
55574         * modules/crypto/gc-md5-tests: Moved from ../.
55575         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
55576         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
55577         * modules/crypto/gc-random: Moved from ../.
55578         * modules/crypto/gc-rijndael: Moved from ../.
55579         * modules/crypto/gc-rijndael-tests: Moved from ../.
55580         * modules/crypto/gc-sha1: Moved from ../.
55581         * modules/crypto/gc-sha1-tests: Moved from ../.
55582         * modules/crypto/gc-tests: Moved from ../.
55583         * modules/crypto/hmac-md5: Moved from ../.
55584         * modules/crypto/hmac-md5-tests: Moved from ../.
55585         * modules/crypto/hmac-sha1: Moved from ../.
55586         * modules/crypto/hmac-sha1-tests: Moved from ../.
55587         * modules/crypto/md2: Moved from ../.
55588         * modules/crypto/md2-tests: Moved from ../.
55589         * modules/crypto/md4: Moved from ../.
55590         * modules/crypto/md4-tests: Moved from ../.
55591         * modules/crypto/md5: Moved from ../.
55592         * modules/crypto/md5-tests: Moved from ../.
55593         * modules/crypto/memxor: Moved from ../.
55594         * modules/crypto/rijndael: Moved from ../.
55595         * modules/crypto/rijndael-tests: Moved from ../.
55596         * modules/crypto/sha1: Moved from ../.
55597
55598 2007-03-30  James Youngman  <jay@gnu.org>
55599
55600         * tests/test-stat-time.c (prepare_test): use chmod() rather than
55601         rename() to change the ctime of a file (because ctime is unaffected
55602         by rename on jfs2 on AIX 5.1).
55603         (main): Start by doing cleanup, in case a previous run failed leaving
55604         test files behind.
55605
55606 2007-03-31  Bruno Haible  <bruno@clisp.org>
55607
55608         Support old proprietary implementations of iconv.
55609         * modules/iconv_open: New file.
55610         * lib/iconv_.h: New file.
55611         * m4/iconv_h.m4: New file.
55612         * lib/iconv_open.c: New file.
55613         * lib/iconv_open-aix.gperf: New file.
55614         * lib/iconv_open-hpux.gperf: New file.
55615         * lib/iconv_open-irix.gperf: New file.
55616         * lib/iconv_open-osf.gperf: New file.
55617         * m4/iconv_open.m4: New file.
55618         * modules/linebreak (Depends-on): Add iconv_open.
55619         * modules/striconv (Depends-on): Likewise.
55620         * modules/striconveh (Depends-on): Likewise.
55621         * modules/unicodeio (Depends-on): Likewise.
55622         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
55623         (iconv_t)(-1).
55624         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
55625         conversion if cd is (iconv_t)(-1).
55626         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
55627         is not possible.
55628
55629 2007-03-31  Bruno Haible  <bruno@clisp.org>
55630
55631         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
55632         work on Solaris either. Protect also second use of "autodetect_jp".
55633
55634 2007-03-31  Bruno Haible  <bruno@clisp.org>
55635
55636         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
55637         the function is not present.
55638
55639 2007-03-31  Bruno Haible  <bruno@clisp.org>
55640
55641         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
55642         the function is not present.
55643
55644 2007-03-31  Bruno Haible  <bruno@clisp.org>
55645
55646         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
55647         a bug in HP-UX iconv_open().
55648
55649 2007-03-31  Bruno Haible  <bruno@clisp.org>
55650
55651         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
55652         (Mathematics <math.h>): New section, add fpieee.
55653         (Input/output <stdio.h>): Add fseterr.
55654         (Mathematics <math.h>): New section, add printf-frexp.
55655         (Container data structures): Add sublist.
55656         (Core language properties): Add fpucw, inline.
55657         (Functions for greatest-width integer types <inttypes.h>): Add
55658         imaxabs, imaxdiv, inttypes.
55659         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
55660         isnanl-nolibm, ldexp.
55661         (Mathematics <math.h>): New section, add printf-frexpl.
55662         (Support for systems lacking POSIX:2001): Add fprintf-posix,
55663         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
55664         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
55665         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
55666         (Unicode string functions): Add unistr/u*-mbtoucr.
55667         (Java): Add javacomp-script, javaexec-script.
55668         (C#): Add csharpcomp-script, csharpexec-script.
55669         (Support for building libraries and executables): Add havelib,
55670         relocatable-*.
55671         (Support for maintaining and releasing projects): Renamed from
55672         'Support for maintaining and release projects'. Add announce-gen.
55673
55674 2007-03-31  Bruno Haible  <bruno@clisp.org>
55675
55676         * README: Talk primarily about git.
55677         (git and CVS): Renamed from CVS.
55678         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
55679         gnulib is available through git.
55680         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
55681
55682 2007-03-30  Bruno Haible  <bruno@clisp.org>
55683
55684         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
55685         * lib/poll_.h: Likewise.
55686         * lib/stat_.h: Likewise.
55687         * lib/sys_time_.h: Likewise.
55688         * lib/sysexit_.h: Likewise.
55689         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
55690         * lib/stdbool_.h: Likewise.
55691         * lib/byteswap_.h: Add double-inclusion guard.
55692
55693 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
55694
55695         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
55696
55697 2007-03-30  Karl Berry  <karl@gnu.org>
55698
55699         * config/srclist-update: double space after USA in the license
55700         substitution, since that's how it's usually (?) written.
55701
55702 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
55703
55704         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
55705         reported by Bruno Haible.
55706
55707 2007-03-29  Bruno Haible  <bruno@clisp.org>
55708
55709         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
55710         a bug in AIX iconv().
55711
55712 2007-03-29  Bruno Haible  <bruno@clisp.org>
55713
55714         * modules/ldexpl-tests: New file.
55715         * tests/test-ldexpl.c: New file.
55716
55717 2007-03-29  Bruno Haible  <bruno@clisp.org>
55718
55719         * lib/ldexpl.c: Include fpucw.h.
55720         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
55721         multiplication.
55722         * modules/ldexpl (Depends-on): Add fpucw.
55723
55724 2007-03-29  Bruno Haible  <bruno@clisp.org>
55725
55726         * modules/ldexpl: New file.
55727         * m4/ldexpl.m4: New file.
55728         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
55729         set.
55730         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
55731         REPLACE_LDEXPL.
55732         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
55733         REPLACE_LDEXPL.
55734         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
55735         gl_FUNC_LDEXPL_WORKS.
55736         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
55737         * modules/mathl (Files): Remove lib/ldexpl.c.
55738         (Depends-on): Add ldexpl.
55739
55740 2007-03-29  Bruno Haible  <bruno@clisp.org>
55741
55742         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
55743
55744 2007-03-29  Bruno Haible  <bruno@clisp.org>
55745
55746         * tests/test-striconveh.c (main): Don't assume that a direct conversion
55747         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
55748         and possibly also HP-UX.
55749         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
55750         work on AIX, IRIX, HP-UX, OSF/1.
55751         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
55752         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
55753         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
55754         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
55755         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
55756         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
55757
55758 2007-03-29  Bruno Haible  <bruno@clisp.org>
55759
55760         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
55761
55762 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
55763
55764         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
55765         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
55766
55767 2007-03-29  Eric Blake  <ebb9@byu.net>
55768
55769         * lib/acl-internal.h: Remove redundant include.
55770         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
55771         Cygwin when a file is locked.
55772
55773 2007-03-29  Bruno Haible  <bruno@clisp.org>
55774
55775         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
55776         file.
55777         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
55778
55779 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
55780
55781         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
55782         try to remove a parent directory if the child couldn't be removed
55783         (except for the first rmdir, which could fail because the child
55784         doesn't exist).  Problem reported by Jeff Blaine in
55785         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
55786
55787 2007-03-28  Bruno Haible  <bruno@clisp.org>
55788
55789         * lib/striconveh.c (utf8conv_carefully): New function.
55790         (mem_cd_iconveh_internal): Invoke it.
55791
55792 2007-03-28  Bruno Haible  <bruno@clisp.org>
55793
55794         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
55795         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
55796         input.
55797         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
55798         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
55799         unistr/u8-uctomb.
55800
55801 2007-03-28  Bruno Haible  <bruno@clisp.org>
55802
55803         * modules/unistr/u8-mbtoucr: New file.
55804         * lib/unistr/u8-mbtoucr.c: New file.
55805         * modules/unistr/u16-mbtoucr: New file.
55806         * lib/unistr/u16-mbtoucr.c: New file.
55807         * modules/unistr/u16-mbtoucr: New file.
55808         * lib/unistr/u16-mbtoucr.c: New file.
55809         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
55810
55811 2007-03-27  Simon Josefsson  <simon@josefsson.org>
55812             Bruno Haible  <bruno@clisp.org>
55813
55814         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
55815         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
55816         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
55817
55818         * m4/stdio_h.m4: Add stubs for vasprintf too.
55819
55820         * modules/stdio: Support vasprintf in sed command.
55821
55822         * modules/vasprintf: Depend on stdio for prototypes.  Remove
55823         vasprintf.h.  Add stdio module indicator.
55824
55825         * lib/stdio_.h: Declare asprintf and vasprintf, based on
55826         vasprintf.h.
55827
55828         * lib/vasprintf.h: File removed.
55829
55830         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
55831         * lib/vasprintf.c: Ditto.
55832         * lib/xvasprintf.c: Ditto.
55833         * tests/test-vasprintf-posix.c: Ditto.
55834         * tests/test-vasprintf.c: Ditto.
55835
55836 2007-03-27  Bruno Haible  <bruno@clisp.org>
55837
55838         Make vasnprintf multithread-safe.
55839         * lib/vasnprintf.c (decimal_point_char): New function.
55840         (VASNPRINTF): Use it.
55841         Suggested by Simon Josefsson.
55842
55843 2007-03-27  Eric Blake  <ebb9@byu.net>
55844
55845         Support sub-second birthtime on cygwin.
55846         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
55847         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
55848         (get_stat_birthtime): Also work with st_birthtim.
55849
55850 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
55851
55852         * lib/stat-time.h (USE_BIRTHTIME): Remove.
55853         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
55854         (get_stat_birthtime_ns): Do not try to use "spare" fields.
55855         (get_stat_birthtime_ns): Simplify compile-time tests.
55856         (get_stat_birthtime): Change the API to look like
55857         get_stat_mtime etc., except return a negative tv_nsec on error.
55858         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
55859         Don't check for "spare" fields.
55860         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
55861         or for struct stat.st_birthtime, as these tests aren't used.
55862         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
55863
55864 2007-03-27  Bruno Haible  <bruno@clisp.org>
55865
55866         * lib/stat-time.h: Include <sys/stat.h>.
55867
55868 2007-03-27  James Youngman  <jay@gnu.org>
55869
55870         * lib/stat-time.h (get_stat_birthtime): New function for
55871           retrieving st_birthtime as provided by UFS2 (hence *BSD).
55872         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
55873           and its variants.
55874         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
55875         * modules/stat-time-test: New file.
55876         * tests/test-stat-time.c: New test, devised by Bruno Haible.
55877
55878 2007-03-26  Bruno Haible  <bruno@clisp.org>
55879
55880         Better support of signalling NaNs.
55881         * lib/atanl.c: Include isnanl.h.
55882         (atanl): Perform test for NaN at the beginning of the function and
55883         through a call to isnanl.
55884         * lib/cosl.c: Include isnanl.h.
55885         (cosl): Perform test for NaN at the beginning of the function and
55886         through a call to isnanl.
55887         * lib/ldexpl.c: Include isnanl.h.
55888         (ldexpl): Perform test for NaN through a call to isnanl.
55889         * lib/logl.c: Include isnanl.h.
55890         (logl): Perform test for NaN at the beginning of the function and
55891         through a call to isnanl.
55892         * lib/sinl.c: Include isnanl.h.
55893         (sinl): Perform test for NaN at the beginning of the function and
55894         through a call to isnanl.
55895         * lib/sqrtl.c: Include isnanl.h.
55896         (sqrtl): Perform test for NaN at the beginning of the function and
55897         through a call to isnanl.
55898         * lib/tanl.c: Include isnanl.h.
55899         (tanl): Perform test for NaN at the beginning of the function and
55900         through a call to isnanl.
55901         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
55902         * modules/mathl (Depends-on): Add isnanl.
55903
55904 2007-03-26  Eric Blake  <ebb9@byu.net>
55905
55906         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
55907         regression in logic sense of previous patch.
55908
55909 2007-03-26  Bruno Haible  <bruno@clisp.org>
55910
55911         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
55912         unportable shell command "if ! ...".
55913         Reported by Ralf Wildenhues.
55914
55915 2007-03-25  Bruno Haible  <bruno@clisp.org>
55916
55917         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
55918         <sysexits.h> file, and only add EX_CONFIG.
55919         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
55920         absolute file name and whether it is sufficient. Substitute also
55921         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
55922         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
55923         ABSOLUTE_SYSEXITS_H into sysexits.h.
55924
55925 2007-03-25  Bruno Haible  <bruno@clisp.org>
55926
55927         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
55928         hints is NULL.
55929
55930 2007-03-25  Bruno Haible  <bruno@clisp.org>
55931
55932         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
55933         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
55934
55935 2007-03-25  Bruno Haible  <bruno@clisp.org>
55936
55937         * lib/vasnprintf.c: Include langinfo.h.
55938         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
55939         multithread-safe.
55940         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
55941         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
55942         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
55943         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
55944         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
55945         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
55946         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
55947         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
55948         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
55949         Reported by Simon Josefsson.
55950
55951 2007-03-25  Bruno Haible  <bruno@clisp.org>
55952
55953         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
55954         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
55955         * modules/vasnprintf (Depends-on): Add stdint.
55956
55957 2007-03-25  Bruno Haible  <bruno@clisp.org>
55958
55959         * modules/fpieee: New file.
55960         * m4/fpieee.m4: New file.
55961         * modules/isnan-nolibm (Depends-on): Add fpieee.
55962         * modules/isnanl-nolibm (Depends-on): Add fpieee.
55963         * modules/isnanl (Depends-on): Add fpieee.
55964
55965 2007-03-25  Bruno Haible  <bruno@clisp.org>
55966
55967         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
55968
55969 2007-03-25  Bruno Haible  <bruno@clisp.org>
55970
55971         Avoid test failures on IRIX 6.5.
55972         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
55973         (main): Use it.
55974         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
55975         macros.
55976         (main): Use them.
55977
55978 2007-03-25  Bruno Haible  <bruno@clisp.org>
55979
55980         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
55981         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
55982         exists but doesn't work.
55983         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
55984         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
55985         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
55986         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
55987         math.h.
55988
55989 2007-03-25  Bruno Haible  <bruno@clisp.org>
55990
55991         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
55992         returns inf. Needed on IRIX 6.5.
55993
55994 2007-03-25  Bruno Haible  <bruno@clisp.org>
55995
55996         * tests/test-frexpl.c: Include isnanl-nolibm.h.
55997         (main): Use isnanl instead of x != x idiom.
55998         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
55999
56000         * tests/test-frexp.c: Include isnan.h.
56001         (main): Use isnan instead of x != x idiom.
56002         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
56003
56004 2007-03-25  Bruno Haible  <bruno@clisp.org>
56005
56006         * tests/test-frexp.c (NaN): New function/macro.
56007         (main): Use it instead of 0.0 / 0.0.
56008         * tests/test-isnan.c (NaN): New function/macro.
56009         (main): Use it instead of 0.0 / 0.0.
56010         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
56011         (test_function): Use it instead of 0.0 / 0.0.
56012         * tests/test-vasprintf-posix.c (NaN): New function/macro.
56013         (test_function): Use it instead of 0.0 / 0.0.
56014         * tests/test-snprintf-posix.h (NaN): New function/macro.
56015         (test_function): Use it instead of 0.0 / 0.0.
56016         * tests/test-sprintf-posix.h (NaN): New function/macro.
56017         (test_function): Use it instead of 0.0 / 0.0.
56018         * tests/test-fprintf-posix.h (NaN): New function/macro.
56019         (test_function): Use it instead of 0.0 / 0.0.
56020         * tests/test-printf-posix.h (NaN): New function/macro.
56021         (test_function): Use it instead of 0.0 / 0.0.
56022
56023         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
56024
56025 2007-03-25  Bruno Haible  <bruno@clisp.org>
56026
56027         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
56028
56029 2007-03-25  Bruno Haible  <bruno@clisp.org>
56030
56031         * lib/regexec.c (merge_state_with_log): Make static.
56032
56033 2007-03-25  Bruno Haible  <bruno@clisp.org>
56034
56035         * lib/trigl.c (kernel_rem_pio2): Make static.
56036
56037 2007-03-25  Bruno Haible  <bruno@clisp.org>
56038
56039         * lib/sincosl.c (sincosl_table): Make static.
56040
56041 2007-03-25  Bruno Haible  <bruno@clisp.org>
56042
56043         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
56044         if the compiler does not support C99.
56045
56046 2007-03-25  Bruno Haible  <bruno@clisp.org>
56047
56048         * modules/time (Makefile.am): Ensure all rule action lines start with a
56049         tab.
56050
56051 2007-03-24  Bruno Haible  <bruno@clisp.org>
56052
56053         * modules/tsearch-tests: New file.
56054         * tests/test-tsearch.sh: New file.
56055         * tests/test-tsearch.c: New file, mostly copied from glibc.
56056
56057         * modules/search-tests: New file.
56058         * tests/test-search.c: New file.
56059
56060         * modules/search: New file.
56061         * lib/search_.h: New file, incorporating lib/tsearch.h.
56062         * m4/search_h.m4: New file.
56063         * lib/tsearch.h: Remove file.
56064         * lib/tsearch.c: Include search.h instead of tsearch.h.
56065         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
56066         HAVE_TSEARCH.
56067         * modules/tsearch (Files): Remove lib/tsearch.h.
56068         (Depends-on): Add search.
56069         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
56070         (Include): Change tsearch.h into search.h.
56071
56072 2007-03-24  Bruno Haible  <bruno@clisp.org>
56073
56074         * modules/fpucw: New file.
56075         * lib/fpucw.h: New file.
56076         * lib/frexp.c: Include fpucw.h.
56077         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
56078         (FUNC): Use them.
56079         * lib/printf-frexp.c: Include fpucw.h.
56080         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
56081         (FUNC): Use them.
56082         * lib/vasnprintf.c: Include fpucw.h.
56083         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
56084         'long double' calculations.
56085         * tests/test-frexpl.c: Include fpucw.h.
56086         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
56087         * tests/test-printf-frexpl.c: Include fpucw.h.
56088         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
56089         * modules/frexpl (Depends-on): Add fpucw.
56090         * modules/printf-frexpl (Depends-on): Likewise.
56091         * modules/fprintf-posix (Depends-on): Likewise.
56092         * modules/snprintf-posix (Depends-on): Likewise.
56093         * modules/sprintf-posix (Depends-on): Likewise.
56094         * modules/vasnprintf-posix (Depends-on): Likewise.
56095         * modules/vasprintf-posix (Depends-on): Likewise.
56096         * modules/vfprintf-posix (Depends-on): Likewise.
56097         * modules/vsnprintf-posix (Depends-on): Likewise.
56098         * modules/vsprintf-posix (Depends-on): Likewise.
56099         * modules/frexpl-tests (Depends-on): Likewise.
56100         * modules/printf-frexpl-tests (Depends-on): Likewise.
56101
56102 2007-03-24  Bruno Haible  <bruno@clisp.org>
56103
56104         * lib/float+.h: New file.
56105         * lib/isnan.c: Include float+.h.
56106         (SIZE): New macro.
56107         (FUNC): Compare only SIZE bytes of the value.
56108         * lib/vasnprintf.c: Include float+.h.
56109         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
56110         SIZEOF_LDBL or SIZEOF_DBL bytes.
56111         * modules/isnan-nolibm (Files): Add lib/float+.h.
56112         * modules/isnanl-nolibm (Files): Add lib/float+.h.
56113         * modules/isnanl (Files): Add lib/float+.h.
56114         * modules/vasnprintf (Files): Add lib/float+.h.
56115
56116 2007-03-24  Bruno Haible  <bruno@clisp.org>
56117
56118         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
56119         include isnanl-nolibm.h.
56120
56121 2007-03-24  Bruno Haible  <bruno@clisp.org>
56122
56123         * tests/test-read-file.c (main): Don't produce spurious output for
56124         expected situations. Make the test fail if it encountered unexpected
56125         results.
56126
56127 2007-03-24  Bruno Haible  <bruno@clisp.org>
56128
56129         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
56130         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
56131
56132 2007-03-24  Bruno Haible  <bruno@clisp.org>
56133
56134         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
56135
56136 2007-03-24  Bruno Haible  <bruno@clisp.org>
56137
56138         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
56139         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
56140
56141         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
56142         * modules/utf8-ucs4: Turn into a symbolic link to module
56143         unistr/u8-mbtouc.
56144
56145         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
56146         utf8-ucs4-unsafe.
56147         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
56148         unistr/u8-mbtouc-unsafe.
56149
56150         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
56151         * modules/utf16-ucs4: Turn into a symbolic link to module
56152         unistr/u16-mbtouc.
56153
56154         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
56155         utf16-ucs4-unsafe.
56156         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
56157         unistr/u16-mbtouc-unsafe.
56158
56159         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
56160         * modules/ucs4-utf8: Turn into a symbolic link to module
56161         unistr/u8-ubtomb.
56162
56163         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
56164         * modules/ucs4-utf16: Turn into a symbolic link to module
56165         unistr/u16-ubtomb.
56166
56167 2007-03-24  Bruno Haible  <bruno@clisp.org>
56168
56169         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
56170         Enable the function only if HAVE_INLINE.
56171         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
56172         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
56173         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
56174         Enable the function only if HAVE_INLINE.
56175         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
56176         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
56177         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
56178         Enable the function only if HAVE_INLINE.
56179         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
56180         Enable the function only if HAVE_INLINE.
56181         * modules/utf8-ucs4: Update.
56182         * modules/utf8-ucs4-unsafe: Update.
56183         * modules/utf16-ucs4: Update.
56184         * modules/utf16-ucs4-unsafe: Update.
56185         * modules/ucs4-utf8: Update.
56186         * modules/ucs4-utf16: Update.
56187
56188 2007-03-24  Bruno Haible  <bruno@clisp.org>
56189
56190         * lib/utf8-ucs4.h: Remove file.
56191         * lib/utf8-ucs4-unsafe.h: Remove file.
56192         * lib/utf16-ucs4.h: Remove file.
56193         * lib/utf16-ucs4-unsafe.h: Remove file.
56194         * lib/ucs4-utf8.h: Remove file.
56195         * lib/ucs4-utf16.h: Remove file.
56196         * lib/unistr.h: Include their previous contents.
56197         * m4/utf-ucs4.m4: Remove file.
56198         * m4/ucs4-utf.m4: Remove file.
56199         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
56200         (Depends-on): Add unistr/base.
56201         (configure.ac): Remove gl_UTF_UCS4.
56202         (Makefile.am): Update.
56203         (Include): Change to unistr.h.
56204         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
56205         (Depends-on): Add unistr/base.
56206         (configure.ac): Remove gl_UTF_UCS4.
56207         (Makefile.am): Update.
56208         (Include): Change to unistr.h.
56209         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
56210         (Depends-on): Add unistr/base.
56211         (configure.ac): Remove gl_UTF_UCS4.
56212         (Makefile.am): Update.
56213         (Include): Change to unistr.h.
56214         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
56215         (Depends-on): Add unistr/base.
56216         (configure.ac): Remove gl_UTF_UCS4.
56217         (Makefile.am): Update.
56218         (Include): Change to unistr.h.
56219         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
56220         (Depends-on): Add unistr/base.
56221         (configure.ac): Remove gl_UCS4_UTF.
56222         (Makefile.am): Update.
56223         (Include): Change to unistr.h.
56224         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
56225         (Depends-on): Add unistr/base.
56226         (configure.ac): Remove gl_UCS4_UTF.
56227         (Makefile.am): Update.
56228         (Include): Change to unistr.h.
56229         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
56230         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
56231         utf8-ucs4-unsafe.h.
56232         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
56233         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
56234         utf16-ucs4-unsafe.h.
56235         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
56236         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
56237         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
56238         * lib/unistr/u8-strchr.c: Likewise.
56239         * lib/unistr/u8-strrchr.c: Likewise.
56240         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
56241         * lib/unistr/u16-strchr.c: Likewise.
56242         * lib/unistr/u16-strrchr.c: Likewise.
56243         * lib/striconveh.c: Update.
56244         * lib/linebreak.c: Update.
56245
56246 2007-03-24  Bruno Haible  <bruno@clisp.org>
56247
56248         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
56249         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
56250
56251 2007-03-22  Bruno Haible  <bruno@clisp.org>
56252
56253         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
56254
56255 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
56256
56257         * MODULES.html.sh (File system functions): New module write-any-file.
56258         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
56259         * m4/write-any-file.m4: New files.
56260
56261 2007-03-23  Eric Blake  <ebb9@byu.net>
56262
56263         * gnulib-tool: Rearrange space-tab sequences, since some editors
56264         like to eat them.
56265
56266 2007-03-23  Eric Blake  <ebb9@byu.net>
56267
56268         * lib/version-etc.c (version_etc_va): Update license wording to
56269         be more concise.  Recommended by Richard Stallman.
56270
56271 2007-03-22  Bruno Haible  <bruno@clisp.org>
56272
56273         * lib/poll.c (MSG_PEEK): New fallback definition.
56274
56275 2007-03-22  Bruno Haible  <bruno@clisp.org>
56276
56277         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
56278         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
56279         (main): Update.
56280         Fixes a compilation error on BeOS.
56281
56282 2007-03-22  Bruno Haible  <bruno@clisp.org>
56283
56284         * modules/frexpl-tests: New file.
56285         * tests/test-frexpl.c: New file.
56286
56287         * modules/frexpl: New file.
56288         * m4/frexpl.m4: New file.
56289         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
56290         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
56291         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
56292         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
56293         (Depends-on): Add frexpl. Remove isnanl-nolibm.
56294         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
56295
56296 2007-03-22  Bruno Haible  <bruno@clisp.org>
56297
56298         * lib/frexpl.c: Share code with lib/frexp.c.
56299         * modules/mathl (Files): Add lib/frexp.c.
56300         (Depends-on): Add isnanl-nolibm.
56301
56302 2007-03-22  Bruno Haible  <bruno@clisp.org>
56303
56304         * modules/printf-frexp (Files): Add m4/frexp.m4.
56305         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
56306         only if the found frexp function actually works.
56307
56308 2007-03-22  Bruno Haible  <bruno@clisp.org>
56309
56310         * lib/frexp.c: Remove older implementation that uses divisions.
56311
56312 2007-03-21  Bruno Haible  <bruno@clisp.org>
56313
56314         * modules/frexp-tests: New file.
56315         * tests/test-frexp.c: New file.
56316
56317         * modules/frexp: New file.
56318         * lib/frexp.c: New file.
56319         * m4/frexp.m4: New file.
56320         * lib/math_.h (frexp): New declaration.
56321         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
56322         REPLACE_FREXP.
56323         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
56324
56325 2007-03-21  Bruno Haible  <bruno@clisp.org>
56326
56327         * modules/isnanl-tests: New file.
56328         * tests/test-isnanl.c: New file.
56329
56330         * modules/isnanl: New file.
56331         * lib/isnanl.h: New file.
56332         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
56333         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
56334         gl_FUNC_ISNANL_WORKS.
56335         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
56336         New macros.
56337
56338 2007-03-21  Bruno Haible  <bruno@clisp.org>
56339
56340         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
56341         lib/isnanl.h.
56342         (Include): Update.
56343         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
56344         * lib/vasnprintf.c: Update.
56345         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
56346         tests/test-isnanl.h, remove tests/test-isnanl.c.
56347         (Makefile.am): Update.
56348         * tests/test-isnanl-nolibm.c: New file.
56349         * tests/test-isnanl.h: New file.
56350         * tests/test-isnanl.c: Remove file.
56351
56352 2007-03-21  Jim Meyering  <jim@meyering.net>
56353
56354         When trying to open ".", treat ESTALE like EACCES.
56355         * lib/savewd.c (savewd_save): Resort to forking not just upon
56356         failure with EACCES, but also when errno is ESTALE.
56357
56358 2007-03-20  Bruno Haible  <bruno@clisp.org>
56359
56360         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
56361         Needed on AIX 5.1. Reported by Matthew Woehlke.
56362
56363 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
56364
56365         Suggestions by Bruno Haible:
56366         * lib/acl-internal.h: Include "gettext.h" rather than rolling
56367         our own.
56368         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
56369         * modules/acl (Depends-on): Add gettext.
56370
56371 2007-03-19  Bruno Haible  <bruno@clisp.org>
56372
56373         * modules/iconvme: Remove file.
56374         * lib/iconvme.h: Remove file.
56375         * lib/iconvme.c: Remove file.
56376         * m4/iconvme.m4: Remove file.
56377
56378 2007-03-19  Bruno Haible  <bruno@clisp.org>
56379
56380         * doc/relocatable-maint.texi: Break long shell script line.
56381         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
56382
56383 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
56384
56385         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
56386         handle file_has_acl.
56387         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
56388         * lib/acl.c: Move header inclusions and related macro defns into
56389         lib/acl-internal.h.
56390         (S_ISLNK): Remove defn, since that's now done for us.
56391         (file_has_acl): Move to lib/file-has-acl.c.
56392         Call acl_trivial if available.  This is the crucial part of the fix.
56393         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
56394         shared within the library.  Rewrite a bit, partly to make it compatible
56395         with the GNU coding style.
56396         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
56397         Remove unnecessary double-quotes.
56398         Don't test for acl_to_text; the build will catch that.
56399         Replace acl_entries if it doesn't exist and it is needed.
56400         Check for -lsec and acl_trivial (as used on Solaris 10).
56401         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
56402         lib/file-has-acl.c.
56403         (Depends-on): Add sys_stat, for S_ISLNK.
56404
56405 2007-03-19  Ben Pfaff  <blp@gnu.org>
56406
56407         * doc/gnulib.texi: Fix typos.
56408         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
56409
56410 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
56411
56412         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
56413         If size is zero here, buf must be zero.
56414
56415 2007-03-19  Simon Josefsson  <simon@josefsson.org>
56416
56417         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
56418         <bruno@clisp.org>.
56419
56420 2007-03-18  Bruno Haible  <bruno@clisp.org>
56421
56422         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
56423         Suggested by Eric Blake.
56424
56425 2007-03-18  Ben Pfaff  <blp@gnu.org>
56426
56427         * doc/relocatable.texi: Recommend using as prefix a directory
56428         that does not exist and will never be created.  Based on
56429         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
56430         and others.
56431
56432 2007-03-17  Bruno Haible  <bruno@clisp.org>
56433
56434         * lib/fchownat.c: Include lchown.h.
56435
56436 2007-03-17  Bruno Haible  <bruno@clisp.org>
56437
56438         Fix endless loop when the given allocated size was > INT_MAX.
56439         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
56440         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
56441         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
56442         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
56443         * lib/sprintf.c (sprintf): Likewise.
56444
56445 2007-03-17  Bruno Haible  <bruno@clisp.org>
56446
56447         * tests/test-argp-2.sh (func_compare): Output a context diff.
56448
56449 2007-03-17  Bruno Haible  <bruno@clisp.org>
56450
56451         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
56452         locale's decimal-point character.
56453
56454 2007-03-17  Bruno Haible  <bruno@clisp.org>
56455
56456         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
56457         before comparing it. Needed because on some platforms (e.g. x86) a
56458         'long double' occupies less bytes than sizeof (long double).
56459
56460 2007-03-17  Bruno Haible  <bruno@clisp.org>
56461
56462         * tests/test-crc.c (main): Make printf statements 64-bit clean.
56463         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
56464         * tests/test-getaddrinfo.c (simple): Likewise.
56465         * tests/test-read-file.c (main): Likewise.
56466
56467 2007-03-17  Bruno Haible  <bruno@clisp.org>
56468
56469         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
56470
56471 2007-03-17  Bruno Haible  <bruno@clisp.org>
56472
56473         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
56474         unused variable.
56475
56476 2007-03-17  Bruno Haible  <bruno@clisp.org>
56477
56478         * tests/test-c-strcasecmp.c: Include c-strcase.h.
56479         * tests/test-c-strncasecmp.c: Likewise.
56480
56481 2007-03-17  Bruno Haible  <bruno@clisp.org>
56482
56483         * modules/stdlib (Depends-on): Add unistd.
56484         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
56485         Needed for MacOS X 10.3.
56486
56487 2007-03-17  Bruno Haible  <bruno@clisp.org>
56488
56489         * lib/unistr/u-strdup.h: Include <stdlib.h>.
56490
56491 2007-03-17  Bruno Haible  <bruno@clisp.org>
56492
56493         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
56494
56495 2007-03-17  Bruno Haible  <bruno@clisp.org>
56496
56497         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
56498         to reflect files copied from gnulib (with or without modifications).
56499         Suggested by Jim Meyering.
56500
56501 2007-03-17  Eric Blake  <ebb9@byu.net>
56502
56503         * NEWS: Document stdlib change from 2007-02-18.
56504
56505 2007-03-17  Jim Meyering  <jim@meyering.net>
56506
56507         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
56508         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
56509         someone uses a name containing shell meta-characters.
56510         Reported by Alfred M. Szmidt.
56511
56512         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
56513
56514 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
56515
56516         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
56517         and copy gettext configuration files only if configure.ac contains
56518         a use of AM_GNU_GETTEXT_VERSION.
56519
56520 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
56521
56522         * build-aux/bootstrap (gnulib_name): New variable.
56523         (gnulib_tool_options): Use it.
56524
56525 2007-03-13  Simon Josefsson  <simon@josefsson.org>
56526
56527         * tests/test-des.c: Use new namespace.
56528
56529 2007-03-15  Bruno Haible  <bruno@clisp.org>
56530
56531         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
56532         Reported by James Youngman <jay@gnu.org>.
56533
56534 2007-03-15  Bruno Haible  <bruno@clisp.org>
56535
56536         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
56537         declared prototype. Needed with cc on OSF/1 5.1.
56538
56539 2007-03-15  Bruno Haible  <bruno@clisp.org>
56540
56541         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
56542         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
56543         (struct gl_list_implementation): Add dispose_fn argument to the
56544         'create_empty', 'create' methods.
56545         (struct gl_list_impl_base): Add field 'dispose_fn'.
56546         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
56547         argument.
56548         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
56549         dispose_fn argument.
56550         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
56551         dispose_fn on the dropped values.
56552         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
56553         dispose_fn argument.
56554         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
56555         dropped values.
56556         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
56557         (gl_tree_remove_node): Call dispose_fn on the dropped value.
56558         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
56559         (gl_tree_remove_node): Call dispose_fn on the dropped value.
56560         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
56561         argument.
56562         (gl_tree_list_free): Call dispose_fn on the dropped values.
56563         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
56564         the dropped values.
56565         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
56566         Add dispose_fn argument.
56567         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
56568         Call dispose_fn on the dropped values.
56569         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
56570         Add dispose_fn argument.
56571         (gl_sublist_create): Initialize the 'dispose_fn' field.
56572         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
56573         * tests/test-array_list.c (main): Update.
56574         * tests/test-carray_list.c (main): Update.
56575         * tests/test-avltree_list.c (main): Update.
56576         * tests/test-rbtree_list.c (main): Update.
56577         * tests/test-avltreehash_list.c (main): Update.
56578         * tests/test-rbtreehash_list.c (main): Update.
56579         * tests/test-linked_list.c (main): Update.
56580         * tests/test-linkedhash_list.c (main): Update.
56581         * tests/test-array_oset.c (main): Update.
56582
56583 2007-03-15  Bruno Haible  <bruno@clisp.org>
56584
56585         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
56586         (gl_oset_create_empty): Add dispose_fn argument.
56587         (struct gl_oset_implementation): Add dispose_fn argument to
56588         'create_empty' method.
56589         (struct gl_oset_impl_base): Add dispose_fn field.
56590         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
56591         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
56592         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
56593         values.
56594         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
56595         (gl_tree_oset_free): Call dispose_fn on the dropped values.
56596         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
56597         dropped value.
56598         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
56599         dropped value.
56600         * tests/test-array_oset.c (main): Update.
56601         * tests/test-avltree_oset.c (main): Update.
56602         * tests/test-rbtree_oset.c (main): Update.
56603         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
56604
56605 2007-03-13  Bruno Haible  <bruno@clisp.org>
56606
56607         * tests/test-stdbool.c (i): Update after last patch.
56608
56609 2007-03-12  Bruno Haible  <bruno@clisp.org>
56610
56611         * lib/quotearg.c: Include <wctype.h> early, before the definition of
56612         the iswprint macro. Needed on Solaris 2.5.1.
56613
56614 2007-03-12  Bruno Haible  <bruno@clisp.org>
56615
56616         * tests/test-printf-frexp.c (main): Declare x as volatile.
56617
56618 2007-03-12  Simon Josefsson  <simon@josefsson.org>
56619
56620         * doc/gnulib.texi (Build robot for gnulib): New section.
56621
56622 2007-03-12  Jim Meyering  <jim@meyering.net>
56623
56624         * build-aux/bootstrap: New file.
56625         * build-aux/bootstrap.conf: New file, from coreutils.
56626
56627 2007-03-11  Bruno Haible  <bruno@clisp.org>
56628
56629         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
56630
56631 2007-03-12  Simon Josefsson  <simon@josefsson.org>
56632
56633         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
56634         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
56635         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
56636
56637 2007-03-11  Bruno Haible  <bruno@clisp.org>
56638
56639         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
56640         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
56641
56642 2007-03-11  Bruno Haible  <bruno@clisp.org>
56643
56644         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
56645         formula. Needed for SunPRO C 5.0.
56646
56647 2007-03-11  Bruno Haible  <bruno@clisp.org>
56648
56649         * modules/long-options (Depends-on): Add getopt.
56650
56651 2007-03-11  Bruno Haible  <bruno@clisp.org>
56652
56653         * modules/modechange (Depends-on): Add stdbool.
56654
56655 2007-03-11  Bruno Haible  <bruno@clisp.org>
56656
56657         * modules/i-ring (Depends-on): Add stdbool.
56658
56659 2007-03-11  Bruno Haible  <bruno@clisp.org>
56660
56661         * modules/gc-des (Depends-on): Add stdbool.
56662
56663 2007-03-11  Bruno Haible  <bruno@clisp.org>
56664
56665         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
56666
56667 2007-03-11  Bruno Haible  <bruno@clisp.org>
56668
56669         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
56670
56671 2007-03-11  Bruno Haible  <bruno@clisp.org>
56672
56673         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
56674
56675 2007-03-11  Bruno Haible  <bruno@clisp.org>
56676
56677         * lib/vasnprintf.c (sprintf): Undefine.
56678
56679 2007-03-11  Bruno Haible  <bruno@clisp.org>
56680
56681         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
56682         initializers in SunPRO C and Compaq C compilers.
56683
56684 2007-03-11  Bruno Haible  <bruno@clisp.org>
56685
56686         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
56687         decrementing code ANSI C compliant.
56688
56689 2007-03-11  Bruno Haible  <bruno@clisp.org>
56690
56691         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
56692         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
56693
56694 2007-03-11  Bruno Haible  <bruno@clisp.org>
56695
56696         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
56697         <stdbool.h> substitute doesn't pass.
56698
56699 2007-03-11  Bruno Haible  <bruno@clisp.org>
56700
56701         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
56702
56703 2007-03-11  Bruno Haible  <bruno@clisp.org>
56704
56705         * gnulib-tool (func_create_megatestdir): Create also an autobuild
56706         script, for submission to autobuild.josefsson.org.
56707
56708 2007-03-10  Bruno Haible  <bruno@clisp.org>
56709
56710         * modules/canonicalize-lgpl-tests: New file.
56711         * tests/test-canonicalize-lgpl.sh: New file.
56712         * tests/test-canonicalize-lgpl.c: New file.
56713
56714         * modules/c-strcase-tests: New file.
56715         * tests/test-c-strcase.sh: New file.
56716         * tests/test-c-strcasecmp.c: New file.
56717         * tests/test-c-strncasecmp.c: New file.
56718
56719         * modules/atexit-tests: New file.
56720         * tests/test-atexit.sh: New file.
56721         * tests/test-atexit.c: New file.
56722
56723 2007-03-10  Bruno Haible  <bruno@clisp.org>
56724
56725         * tests/test-binary-io.sh: Use temporary filenames that are not so
56726         likely to clash with those of other tests (in a parallel make).
56727         * tests/test-binary-io.c: Likewise.
56728
56729 2007-03-10  Bruno Haible  <bruno@clisp.org>
56730
56731         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
56732         fallback; use #error instead.
56733         Suggested by Simon Josefsson.
56734
56735 2007-03-10  Bruno Haible  <bruno@clisp.org>
56736
56737         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
56738         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
56739         first and the last.
56740
56741 2007-03-10  Bruno Haible  <bruno@clisp.org>
56742
56743         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
56744
56745 2007-03-10  Bruno Haible  <bruno@clisp.org>
56746
56747         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
56748         "make distcheck".
56749         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
56750         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
56751         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
56752
56753 2007-03-10  Bruno Haible  <bruno@clisp.org>
56754
56755         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
56756         variable.
56757         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
56758         variable.
56759
56760 2007-03-09  Eric Blake  <ebb9@byu.net>
56761         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
56762
56763         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
56764         types are not being provided by gnulib.
56765         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
56766         types are supported.
56767
56768 2007-03-10  Bruno Haible  <bruno@clisp.org>
56769
56770         * lib/stdio_.h (__attribute__): New macro.
56771         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
56772         vsprintf): Specify __attribute__ __format__ for GCC.
56773         Suggested by Eric Blake.
56774
56775 2007-03-09  Bruno Haible  <bruno@clisp.org>
56776
56777         * modules/printf-posix-tests: New file.
56778         * tests/test-printf-posix.sh: New file.
56779         * tests/test-printf-posix.c: New file.
56780
56781         * modules/printf-posix: New file.
56782         * lib/printf.c: New file.
56783         * m4/printf-posix-rpl.m4: New file.
56784         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
56785         REPLACE_PRINTF.
56786         * lib/stdio_.h (printf): New declaration.
56787         (format, __format__, ____printf____, ____scanf____, ____strftime____,
56788         ____strfmon____): New macros.
56789         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
56790         REPLACE_PRINTF.
56791
56792 2007-03-09  Bruno Haible  <bruno@clisp.org>
56793
56794         * tests/test-vasnprintf-posix2.sh: New file.
56795         * tests/test-vasnprintf-posix2.c: New file.
56796         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
56797         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
56798         (Makefile.am): Activate test-vasnprintf-posix2.sh.
56799
56800         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
56801         a locale dependent decimal point, rather than always '.'.
56802
56803 2007-03-09  Eric Blake  <ebb9@byu.net>
56804
56805         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
56806         spite of platforms like Tandem/NSK that define it to -1.
56807
56808 2007-03-08  Bruno Haible  <bruno@clisp.org>
56809
56810         * modules/vprintf-posix-tests: New file.
56811         * tests/test-vprintf-posix.sh: New file.
56812         * tests/test-vprintf-posix.c: New file.
56813         * tests/test-printf-posix.h: New file.
56814
56815         * modules/vprintf-posix: New file.
56816         * lib/vprintf.c: New file.
56817         * m4/vprintf-posix.m4: New file.
56818         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
56819         REPLACE_VPRINTF.
56820         * lib/stdio_.h (vprintf): New declaration.
56821         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
56822         REPLACE_VPRINTF.
56823
56824 2007-03-08  Bruno Haible  <bruno@clisp.org>
56825
56826         * modules/fprintf-posix-tests: New file.
56827         * tests/test-fprintf-posix.sh: New file.
56828         * tests/test-fprintf-posix.c: New file.
56829
56830         * modules/fprintf-posix: New file.
56831         * lib/fprintf.c: New file.
56832         * m4/fprintf-posix.m4: New file.
56833         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
56834         REPLACE_FPRINTF.
56835         * lib/stdio_.h (fprintf): New declaration.
56836         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
56837         REPLACE_FPRINTF.
56838
56839 2007-03-08  Bruno Haible  <bruno@clisp.org>
56840
56841         * modules/vfprintf-posix-tests: New file.
56842         * tests/test-vfprintf-posix.sh: New file.
56843         * tests/test-vfprintf-posix.c: New file.
56844         * tests/test-fprintf-posix.h: New file.
56845         * tests/test-fprintf-posix.out: New file.
56846
56847         * modules/vfprintf-posix: New file.
56848         * lib/vfprintf.c: New file.
56849         * m4/vfprintf-posix.m4: New file.
56850         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
56851         REPLACE_VFPRINTF.
56852         * lib/stdio_.h (vfprintf): New declaration.
56853         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
56854         REPLACE_VFPRINTF.
56855
56856 2007-03-08  Bruno Haible  <bruno@clisp.org>
56857
56858         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
56859
56860 2007-03-08  Bruno Haible  <bruno@clisp.org>
56861
56862         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
56863         instead of 'expr' invocations.
56864         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
56865         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
56866         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
56867         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
56868         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
56869         Suggested by Paul Eggert.
56870
56871 2007-03-08  Bruno Haible  <bruno@clisp.org>
56872
56873         * modules/fseterr-tests: New file.
56874         * tests/test-fseterr.c: New file.
56875
56876         * modules/fseterr: New file.
56877         * lib/fseterr.h: New file.
56878         * lib/fseterr.c: New file.
56879
56880 2007-03-08  Bruno Haible  <bruno@clisp.org>
56881
56882         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
56883         * lib/getopt_.h: Likewise.
56884         * lib/mbswidth.h: Likewise.
56885         * lib/setenv.h: Likewise.
56886         * lib/vasnprintf.h: Likewise.
56887         * lib/vasprintf.h: Likewise.
56888         * lib/verror.h: Likewise.
56889         * lib/xsetenv.h: Likewise.
56890         * lib/xvasprintf.h: Likewise.
56891
56892 2007-03-08  Jim Meyering  <jim@meyering.net>
56893
56894         * users.txt: Add parted.
56895
56896         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
56897
56898 2007-03-07  Bruno Haible  <bruno@clisp.org>
56899
56900         * m4/printf.m4: Make the shell script snippets copy&pastable.
56901
56902 2007-03-02  Bruno Haible  <bruno@clisp.org>
56903
56904         * lib/netinet_in_.h: New file.
56905         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
56906         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
56907         * modules/netinet_in (Files): Add lib/netinet_in_.h.
56908         (Depends-on): Add absolute-header.
56909         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
56910         into netinet/in.h.
56911
56912 2007-03-03  Bruno Haible  <bruno@clisp.org>
56913
56914         * lib/sys_select_.h: New file.
56915         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
56916         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
56917         * modules/sys_select (Files): Add lib/sys_select_.h.
56918         (Depends-on): Add absolute-header.
56919         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
56920         into sys/select.h.
56921
56922 2007-03-02  Bruno Haible  <bruno@clisp.org>
56923
56924         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
56925         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
56926         values.
56927         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
56928         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
56929         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
56930         * modules/sys_socket (Depends-on): Add absolute-header.
56931         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
56932         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
56933         (Include): Remove requirement of inclusion of <sys/types.h>.
56934
56935 2007-03-02  Bruno Haible  <bruno@clisp.org>
56936
56937         * lib/byteswap_.h (bswap_32): Fix formula.
56938
56939 2007-03-06  Bruno Haible  <bruno@clisp.org>
56940
56941         * modules/sprintf-posix-tests: New file.
56942         * tests/test-sprintf-posix.c: New file.
56943
56944         * modules/sprintf-posix: New file.
56945         * lib/sprintf.c: New file.
56946         * m4/sprintf-posix.m4: New file.
56947         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
56948         REPLACE_SPRINTF.
56949         * lib/stdio_.h (sprintf): New declaration.
56950         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
56951         REPLACE_SPRINTF.
56952
56953 2007-03-06  Bruno Haible  <bruno@clisp.org>
56954
56955         * modules/vsprintf-posix-tests: New file.
56956         * tests/test-vsprintf-posix.c: New file.
56957         * tests/test-sprintf-posix.h: New file.
56958
56959         * modules/vsprintf-posix: New file.
56960         * lib/vsprintf.c: New file.
56961         * m4/vsprintf-posix.m4: New file.
56962         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
56963         REPLACE_VSPRINTF.
56964         * lib/stdio_.h (vsprintf): New declaration.
56965         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
56966         REPLACE_VSPRINTF.
56967
56968 2007-03-06  Bruno Haible  <bruno@clisp.org>
56969
56970         * modules/vsnprintf (Depend-on): Remove minmax.
56971
56972 2007-03-06  Bruno Haible  <bruno@clisp.org>
56973
56974         * modules/snprintf-posix-tests: New file.
56975         * tests/test-snprintf-posix.c: New file.
56976
56977         * modules/snprintf-posix: New file.
56978         * m4/snprintf-posix.m4: New file.
56979         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
56980         gl_FUNC_SNPRINTF.
56981         (gl_FUNC_SNPRINTF): Invoke it.
56982         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
56983         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
56984         is set.
56985         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
56986
56987 2007-03-06  Bruno Haible  <bruno@clisp.org>
56988
56989         * modules/vsnprintf-posix-tests: New file.
56990         * tests/test-vsnprintf-posix.c: New file.
56991         * tests/test-snprintf-posix.h: New file.
56992
56993         * modules/vsnprintf-posix: New file.
56994         * m4/vsnprintf-posix.m4: New file.
56995         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
56996         gl_FUNC_VSNPRINTF.
56997         (gl_FUNC_VSNPRINTF): Invoke it.
56998         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
56999         * lib/stdio_.h (vsnprintf): Define as a replacement if
57000         REPLACE_VSNPRINTF is set.
57001         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
57002
57003 2007-03-06  Bruno Haible  <bruno@clisp.org>
57004
57005         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
57006         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
57007
57008 2007-03-06  Bruno Haible  <bruno@clisp.org>
57009
57010         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
57011         (asinl): Declare also if HAVE_DECL_ASINL is set.
57012         (atanl): Declare also if HAVE_DECL_ATANL is set.
57013         (ceill): Declare also if HAVE_DECL_CEILL is set.
57014         (cosl): Declare also if HAVE_DECL_COSL is set.
57015         (expl): Declare also if HAVE_DECL_EXPL is set.
57016         (floorl): Declare also if HAVE_DECL_FLOORL is set.
57017         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
57018         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
57019         (logl): Declare also if HAVE_DECL_LOGL is set.
57020         (sinl): Declare also if HAVE_DECL_SINL is set.
57021         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
57022         (tanl): Declare also if HAVE_DECL_TANL is set.
57023         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
57024         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
57025         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
57026         declaration of frexpl, ldexpl.
57027         * modules/printf-frexpl (Depends-on): Add math.
57028         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
57029
57030 2007-03-05  Bruno Haible  <bruno@clisp.org>
57031
57032         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
57033         frexpl and ldexpl are declared.
57034         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
57035
57036 2007-03-05  Bruno Haible  <bruno@clisp.org>
57037
57038         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
57039         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
57040
57041 2007-03-05  Bruno Haible  <bruno@clisp.org>
57042
57043         * lib/stdio_.h: Include <stddef.h>.
57044
57045 2007-03-05  Bruno Haible  <bruno@clisp.org>
57046
57047         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
57048
57049 2007-03-05  Bruno Haible  <bruno@clisp.org>
57050
57051         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
57052         NetBSD 4, from Ralf Wildenhues.
57053
57054 2007-03-04  Bruno Haible  <bruno@clisp.org>
57055
57056         * lib/vasprintf.h: Update #if logic for the case when the functions
57057         exist but are overridden.
57058
57059 2007-03-04  Bruno Haible  <bruno@clisp.org>
57060
57061         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
57062         implementations: glibc-2.4 and MacOS X 10.3.
57063         * tests/test-vasnprintf-posix.c (test_function): Test also the case
57064         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
57065         * tests/test-vasprintf-posix.c (test_function): Likewise.
57066
57067 2007-03-04  Bruno Haible  <bruno@clisp.org>
57068
57069         * modules/vasprintf-posix-tests: New file.
57070         * tests/test-vasprintf-posix.c: New file.
57071
57072         * modules/vasprintf-posix: New file.
57073         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
57074         defined.
57075         * m4/vasprintf-posix.m4: New file.
57076         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
57077         gl_FUNC_VASPRINTF.
57078         (gl_FUNC_VASPRINTF): Invoke it.
57079         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
57080         here.
57081         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
57082
57083 2007-03-04  Bruno Haible  <bruno@clisp.org>
57084
57085         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
57086         REPLACE_GETTIMEOFDAY.
57087         * modules/sys_time (Makefile.am): Likewise.
57088         * m4/sys_time_h.m4: Likewise.
57089         * m4/gettimeofday.m4: Likewise.
57090
57091 2007-03-04  Bruno Haible  <bruno@clisp.org>
57092
57093         * modules/vasnprintf-posix-tests: New file.
57094         * tests/test-vasnprintf-posix.c: New file.
57095
57096         * modules/vasnprintf-posix: New file.
57097         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
57098         printf-frexpl.h.
57099         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
57100         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
57101         REPLACE_VASNPRINTF is defined.
57102         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
57103         gl_FUNC_VASNPRINTF.
57104         (gl_FUNC_VASNPRINTF): Invoke it.
57105         * m4/vasnprintf-posix.m4: New file.
57106         * m4/printf.m4: New file.
57107
57108 2007-03-04  Bruno Haible  <bruno@clisp.org>
57109
57110         Compile progreloc.c only if --enable-relocatable is specified.
57111         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
57112         if --enable-relocatable was specified.
57113         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
57114         lib_SOURCES.
57115
57116 2007-03-04  Jim Meyering  <jim@meyering.net>
57117
57118         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
57119         Use it consistently, rather than enumerating errno constants.
57120
57121 2007-03-04  Bruno Haible  <bruno@clisp.org>
57122
57123         * modules/xvasprintf-tests: New file.
57124         * tests/test-xvasprintf.c: New file.
57125
57126         * modules/vasprintf-tests: New file.
57127         * tests/test-vasprintf.c: New file.
57128
57129         * modules/vasnprintf-tests: New file.
57130         * tests/test-vasnprintf.c: New file.
57131
57132         * modules/vsnprintf-tests: New file.
57133         * tests/test-vsnprintf.c: New file.
57134
57135         * modules/snprintf-tests: New file.
57136         * tests/test-snprintf.c: New file.
57137
57138 2007-03-04  Bruno Haible  <bruno@clisp.org>
57139
57140         Compile relocatable.c only if --enable-relocatable is specified.
57141         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
57142         gl_RELOCATABLE_LIBRARY.
57143         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
57144         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
57145         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
57146         gl_RELOCATABLE_LIBRARY.
57147         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
57148         (Makefile.am): Remove lib_SOURCES.
57149         * modules/relocatable-lib-lgpl (configure.ac): Invoke
57150         gl_RELOCATABLE_LIBRARY.
57151         (Makefile.am): Remove lib_SOURCES.
57152         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
57153         always.
57154         * modules/relocatable-prog-wrapper (configure.ac): Invoke
57155         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
57156
57157 2007-03-04  Bruno Haible  <bruno@clisp.org>
57158
57159         * modules/argmatch-tests: New file.
57160         * tests/test-argmatch.c: New file.
57161
57162         * tests/test-allocsa.c (main): Halve the number of loop runs.
57163
57164         * modules/alloca-opt-tests: New file.
57165         * tests/test-alloca-opt.c: New file.
57166
57167 2007-03-04  Jim Meyering  <jim@meyering.net>
57168
57169         Work around difference between Linux ACLs and Solaris 10 ZFS.
57170         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
57171         for EINVAL.
57172
57173 2007-03-03  Bruno Haible  <bruno@clisp.org>
57174
57175         * modules/relocatable-prog (Depends-on): Add back progreloc's
57176         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
57177
57178 2007-03-03  Bruno Haible  <bruno@clisp.org>
57179
57180         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
57181         * modules/relocatable-lib: New file.
57182
57183 2007-03-03  Bruno Haible  <bruno@clisp.org>
57184
57185         * modules/relocatable-prog: Renamed from modules/relocatable.
57186         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
57187
57188 2007-03-03  Bruno Haible  <bruno@clisp.org>
57189
57190         * modules/relocatable-script (Files): Add doc/relocatable.texi,
57191         m4/relocatable-lib.m4.
57192         (Depends-on): Remove 'relocatable'.
57193         (configure.ac): Add gl_RELOCATABLE_NOP.
57194
57195 2007-03-03  Bruno Haible  <bruno@clisp.org>
57196
57197         * modules/relocatable-prog-wrapper: New file.
57198         * modules/relocatable (Depends-on): Add it. Remove all other
57199         dependencies except progname.
57200         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
57201
57202         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
57203         (gl_FUNC_STRERROR): Nop.
57204         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
57205
57206         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
57207         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
57208
57209         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
57210         (gl_FUNC_READLINK): Update.
57211
57212         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
57213
57214 2007-03-03  Bruno Haible  <bruno@clisp.org>
57215
57216         * lib/xreadlink.c: Include <unistd.h> unconditionally.
57217         * modules/xreadlink (Depends-on): Add unistd.
57218         * modules/xreadlink-with-size (Depends-on): Likewise.
57219
57220 2007-03-03  Bruno Haible  <bruno@clisp.org>
57221
57222         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
57223         extracted from gt_FUNC_SETENV.
57224         (gt_FUNC_SETENV): Remove macro.
57225         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
57226         remove gt_FUNC_SETENV.
57227
57228 2007-03-03  Bruno Haible  <bruno@clisp.org>
57229
57230         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
57231         ENABLE_RELOCATABLE here.
57232         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
57233
57234 2007-03-03  Bruno Haible  <bruno@clisp.org>
57235
57236         * modules/rbtreehash-list-tests (Depends-on): Add progname.
57237         * tests/test-rbtreehash_list.c: Include progname.h.
57238         (main): Call set_program_name.
57239
57240         * modules/rbtree-oset-tests (Depends-on): Add progname.
57241         * tests/test-rbtree_oset.c: Include progname.h.
57242         (main): Call set_program_name.
57243
57244         * modules/rbtree-list-tests (Depends-on): Add progname.
57245         * tests/test-rbtree_list.c: Include progname.h.
57246         (main): Call set_program_name.
57247
57248         * modules/linked-list-tests (Depends-on): Add progname.
57249         * tests/test-linked_list.c: Include progname.h.
57250         (main): Call set_program_name.
57251
57252 2007-03-03  Bruno Haible  <bruno@clisp.org>
57253
57254         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
57255         All uses of __restrict changed to _Restrict_.
57256         * lib/glob_.h (__restrict): Remove macro.
57257
57258 2007-03-02  Bruno Haible  <bruno@clisp.org>
57259
57260         * modules/gettext (configure.ac): Require gettext infrastructure
57261         from version 0.16.1.
57262
57263 2007-03-02  Bruno Haible  <bruno@clisp.org>
57264
57265         * modules/linkedhash-list-tests (Depends-on): Add progname.
57266         * tests/test-linkedhash_list.c: Include progname.h.
57267         (main): Call set_program_name.
57268
57269         * modules/carray-list-tests (Depends-on): Add progname.
57270         * tests/test-carray_list.c: Include progname.h.
57271         (main): Call set_program_name.
57272
57273         * modules/avltreehash-list-tests (Depends-on): Add progname.
57274         * tests/test-avltreehash_list.c: Include progname.h.
57275         (main): Call set_program_name.
57276
57277         * modules/avltree-oset-tests (Depends-on): Add progname.
57278         * tests/test-avltree_oset.c: Include progname.h.
57279         (main): Call set_program_name.
57280
57281         * modules/avltree-list-tests (Depends-on): Add progname.
57282         * tests/test-avltree_list.c: Include progname.h.
57283         (main): Call set_program_name.
57284
57285         * modules/array-oset-tests (Depends-on): Add progname.
57286         * tests/test-array_oset.c: Include progname.h.
57287         (main): Call set_program_name.
57288
57289         * modules/array-list-tests (Depends-on): Add progname.
57290         * tests/test-array_list.c: Include progname.h.
57291         (main): Call set_program_name.
57292
57293         * modules/argp-tests (Depends-on): Add progname.
57294         * tests/test-argp.c: Include argp.h first. Include progname.h.
57295         (main): Call set_program_name.
57296
57297 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
57298
57299         * doc/gnulib-tool.texi (Initial import): Reword description of
57300         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
57301         limited effect even if defined after the first system include.
57302
57303 2007-03-01  Bruno Haible  <bruno@clisp.org>
57304
57305         * build-aux/config.libpath: Update to libtool-1.5.22.
57306         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
57307
57308 2007-03-01  Bruno Haible  <bruno@clisp.org>
57309
57310         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
57311         foo_CFLAGS.
57312         Reported by Ralf Wildenhues.
57313
57314 2007-03-01  Bruno Haible  <bruno@clisp.org>
57315
57316         * build-aux/install-reloc: Remove object files left over by some
57317         compilers.
57318         Reported by Ralf Wildenhues.
57319
57320 2007-03-01  Bruno Haible  <bruno@clisp.org>
57321
57322         * build-aux/install-reloc: Break long lines.
57323
57324 2007-03-01  Bruno Haible  <bruno@clisp.org>
57325
57326         * doc/relocatable.texi: Document that it may not work on OpenBSD.
57327         Reported by Ralf Wildenhues.
57328
57329 2007-03-01  Bruno Haible  <bruno@clisp.org>
57330
57331         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
57332         include ordering constraints.
57333
57334 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
57335
57336         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
57337         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
57338         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
57339         as another example.
57340         * lib/time_.h: Fix misspelling.
57341         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
57342         Require gl_HEADER_TIME_H_DEFAULTS.
57343         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
57344         * m4/time_r.m4 (gl_TIME_R): Likewise.
57345         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
57346
57347 2007-03-01  Bruno Haible  <bruno@clisp.org>
57348
57349         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
57350         * m4/utimens.m4 (gl_UTIMENS): Likewise.
57351
57352 2007-03-01  Jim Meyering  <jim@meyering.net>
57353
57354         * modules/xreadlink (Maintainer): Add my name.
57355         * modules/xreadlink-with-size (Depends-on): Alphabetize.
57356
57357 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
57358             Bruno Haible  <bruno@clisp.org>
57359
57360         * build-aux/install-reloc: Compile also c-ctype.c.
57361         * build-aux/relocatable.sh.in: New file.
57362         * doc/relocatable.texi: New file.
57363         * doc/relocatable-maint.texi: New file.
57364         * doc/gnulib.texi: Include relocatable-maint.texi.
57365         * lib/progreloc.c: Include unistd.h unconditionally.
57366         * lib/relocwrapper.c: Include unistd.h unconditionally.
57367         Include c-ctype.h.
57368         (add_dotbin): Use c_tolower.
57369         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
57370         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
57371         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
57372         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
57373         to m4/relocatable-lib.m4.
57374         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
57375         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
57376         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
57377         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
57378         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
57379         * modules/relocatable: New file.
57380         * modules/relocatable-lib: New file.
57381         * modules/relocatable-script: New file.
57382
57383 2007-02-28  Bruno Haible  <bruno@clisp.org>
57384
57385         Import --enable-relocatable infrastructure.
57386         * build-aux/config.libpath: New file, from GNU gettext.
57387         * build-aux/install-reloc: New file, from GNU gettext.
57388         * build-aux/reloc-ldflags: New file, from GNU gettext.
57389         * lib/relocatable.h: New file, from GNU gettext.
57390         * lib/relocatable.c: New file, from GNU gettext.
57391         * lib/relocwrapper.c: New file, from GNU gettext.
57392         * m4/relocatable.m4: New file, from GNU gettext.
57393
57394 2007-02-28  Bruno Haible  <bruno@clisp.org>
57395
57396         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
57397
57398         * modules/xreadlink: New file, from GNU gettext with modifications.
57399         * lib/xreadlink.c: New file, from GNU gettext.
57400         * lib/xreadlink.h: Add comments.
57401         (xreadlink): New declaration.
57402
57403         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
57404         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
57405         lib/xreadlink-with-size.c.
57406         (configure.ac): Remove gl_XREADLINK invocation.
57407         (Makefile.am): Augment lib_SOURCES.
57408         * m4/xreadlink.m4: Remove file.
57409         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
57410         (xreadlink_with_size): Renamed from xreadink.
57411         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
57412         * modules/canonicalize (Depends-on): Replace xreadlink with
57413         xreadlink-with-size.
57414         * lib/canonicalize.c (canonicalize_filename_mode): Update.
57415
57416 2007-02-25  Jim Meyering  <jim@meyering.net>
57417
57418         * build-aux/announce-gen: When complaining about excess arguments,
57419         list them.
57420
57421 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
57422
57423         * README: Document signed integer overflow situation more
57424         accurately.
57425
57426 2007-02-25  Bruno Haible  <bruno@clisp.org>
57427
57428         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
57429         'a' or 'A' conversion.
57430
57431 2007-02-25  Bruno Haible  <bruno@clisp.org>
57432
57433         * modules/filename: Renamed from modules/pathname.
57434         (Files): Replace lib/pathname.h with lib/filename.h. Replace
57435         lib/concatpath.c with lib/concat-filename.c.
57436         (Makefile.am): Update.
57437         (Include): Replace pathname.h with filename.h.
57438         * lib/filename.h: Renamed from lib/pathname.h.
57439         (concatenated_filename): Renamed from concatenated_pathname.
57440         * lib/concat-filename.c: Renamed from lib/concatpath.c.
57441         (concatenated_filename): Renamed from concatenated_pathname.
57442         * lib/findprog.c: Include filename.h instead of pathname.h.
57443         (find_in_path): Update.
57444         * lib/javacomp.c: Include filename.h instead of pathname.h.
57445         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
57446         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
57447         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
57448         is_oldgcj_14_13_usable, is_javac_usable): Update.
57449         * lib/javaexec.c: Include filename.h instead of pathname.h.
57450         (execute_java_class): Update.
57451         * modules/findprog: Update.
57452         * modules/javacomp: Update.
57453         * modules/javaexec: Update.
57454         * MODULES.html.sh (File system functions): Add 'filename', remove
57455         'pathname'.
57456
57457 2007-02-25  Bruno Haible  <bruno@clisp.org>
57458
57459         * modules/printf-frexpl-tests: New file.
57460         * tests/test-printf-frexpl.c: New file.
57461
57462         * modules/printf-frexpl: New file.
57463         * lib/printf-frexpl.h: New file.
57464         * lib/printf-frexpl.c: New file.
57465         * m4/printf-frexpl.m4: New file.
57466
57467 2007-02-25  Bruno Haible  <bruno@clisp.org>
57468
57469         * modules/printf-frexp-tests: New file.
57470         * tests/test-printf-frexp.c: New file.
57471
57472         * modules/printf-frexp: New file.
57473         * lib/printf-frexp.h: New file.
57474         * lib/printf-frexp.c: New file.
57475         * m4/printf-frexp.m4: New file.
57476
57477 2007-02-25  Bruno Haible  <bruno@clisp.org>
57478
57479         Assume automake >= 1.10 for the tests.
57480         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
57481         * modules/arctwo-tests: Likewise.
57482         * modules/argp-tests: Likewise.
57483         * modules/avltree-list-tests: Likewise.
57484         * modules/avltree-oset-tests: Likewise.
57485         * modules/avltreehash-list-tests: Likewise.
57486         * modules/carray-list-tests: Likewise.
57487         * modules/crc-tests: Likewise.
57488         * modules/des-tests: Likewise.
57489         * modules/gc-arcfour-tests: Likewise.
57490         * modules/gc-arctwo-tests: Likewise.
57491         * modules/gc-des-tests: Likewise.
57492         * modules/gc-hmac-md5-tests: Likewise.
57493         * modules/gc-hmac-sha1-tests: Likewise.
57494         * modules/gc-md2-tests: Likewise.
57495         * modules/gc-md4-tests: Likewise.
57496         * modules/gc-md5-tests: Likewise.
57497         * modules/gc-pbkdf2-sha1-tests: Likewise.
57498         * modules/gc-rijndael-tests: Likewise.
57499         * modules/gc-sha1-tests: Likewise.
57500         * modules/gc-tests: Likewise.
57501         * modules/getaddrinfo-tests: Likewise.
57502         * modules/hmac-md5-tests: Likewise.
57503         * modules/hmac-sha1-tests: Likewise.
57504         * modules/linked-list-tests: Likewise.
57505         * modules/linkedhash-list-tests: Likewise.
57506         * modules/lock-tests: Likewise.
57507         * modules/md2-tests: Likewise.
57508         * modules/md4-tests: Likewise.
57509         * modules/md5-tests: Likewise.
57510         * modules/rbtree-list-tests: Likewise.
57511         * modules/rbtree-oset-tests: Likewise.
57512         * modules/rbtreehash-list-tests: Likewise.
57513         * modules/read-file-tests: Likewise.
57514         * modules/rijndael-tests: Likewise.
57515         * modules/stdint-tests: Likewise.
57516         * modules/tls-tests: Likewise.
57517
57518 2007-02-24  Bruno Haible  <bruno@clisp.org>
57519
57520         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
57521         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
57522         function; instead check whether isnan with a double argument links.
57523         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
57524         function; instead check whether isnan with a 'long double' argument
57525         links.
57526         Reported by Eric Blake <ebb9@byu.net>.
57527
57528 2007-02-24  Bruno Haible  <bruno@clisp.org>
57529
57530         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
57531         defined.
57532         * lib/isnanl.c: Remove all code. Just include isnan.c.
57533         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
57534
57535 2007-02-25  Jim Meyering  <jim@meyering.net>
57536
57537         Avoid conflicting types for 'unsetenv' on FreeBSD.
57538         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
57539         conflicting with FreeBSD's (5.0 and 6.1) function declaration
57540         in stdlib.h.
57541
57542 2007-02-24  Bruno Haible  <bruno@clisp.org>
57543
57544         * modules/isnanl-nolibm-tests: New file.
57545         * tests/test-isnanl.c: New file.
57546
57547         * modules/isnanl-nolibm: New file.
57548         * lib/isnanl.h: New file.
57549         * lib/isnanl.c: New file.
57550         * m4/isnanl.m4: New file.
57551
57552 2007-02-24  Bruno Haible  <bruno@clisp.org>
57553
57554         * modules/isnan-nolibm-tests: New file.
57555         * tests/test-isnan.c: New file.
57556
57557         * modules/isnan-nolibm: New file.
57558         * lib/isnan.h: New file.
57559         * lib/isnan.c: New file.
57560         * m4/isnan.m4: New file.
57561
57562 2007-02-24  Bruno Haible  <bruno@clisp.org>
57563
57564         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
57565         assume that an exponent fits in 20 bits.
57566
57567 2007-02-24  Jim Meyering  <jim@meyering.net>
57568
57569         * m4/regex.m4: Update the description of the configure-time option,
57570         --without-included-regex, to state accurately what the defaults are,
57571         and perhaps to give people an idea why using this option is risky.
57572
57573 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
57574
57575         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
57576         loops on small arguments.  This attempts to avoid the problem
57577         Bruno Haible reported for AIX 4.3.2 in
57578         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
57579
57580 2007-02-23  Bruno Haible  <bruno@clisp.org>
57581
57582         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
57583         Needed for help2man.
57584
57585 2007-02-23  Karl Berry  <karl@gnu.org>
57586
57587         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
57588         exists, foo.h should be cvs-ignored, not committed.
57589
57590 2007-02-23  Eric Blake  <ebb9@byu.net>
57591
57592         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
57593         * lib/stat-time.h (includes): Likewise.
57594         * lib/utimecmp.c (includes): Likewise.
57595         * lib/utimens.h (includes): Likewise.
57596         * lib/getdate.y (includes): Also include "timespec.h" for use
57597         internal to the module.
57598         * modules/utimens (Depends-on): Revert yesterday's patch.
57599         * modules/nanosleep (Depends-on): Add missing dependency.
57600
57601 2007-02-22  Bruno Haible  <bruno@clisp.org>
57602
57603         * lib/glob.c: Don't include getlogin_r.h.
57604
57605 2007-02-22  Jim Meyering  <jim@meyering.net>
57606
57607         * modules/utimens (Depends-on): Add timespec, required for
57608         utimens.h's inclusion of timespec.h.
57609
57610 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
57611
57612         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
57613         long unreadable paths in GNU/Linux.  Problem reported by Andreas
57614         Schwab in
57615         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
57616         I'll try to think of a better way to fix the Solaris problem.
57617
57618         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
57619         like glibc; on Solaris 10, it fails with errno == EINVAL.
57620         POSIX says the behavior is unspecified if the first argument is NULL,
57621         so play it safe and never pass NULL to the system getcwd.
57622
57623 2007-02-21  Jim Meyering  <jim@meyering.net>
57624
57625         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
57626         of gettimeofday.  It would conflict with the one now always
57627         provided via sys_time_.h.  Reported by Matthew Woehlke, as
57628         an IRIX 6.5 build failure.
57629
57630 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
57631
57632         Minor fixups to port to Solaris 10 with Sun C 5.8.
57633         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
57634         * modules/getcwd (Depends-on): Add dirfd.
57635         * lib/putenv.c (putenv): #undef it.
57636         (rpl_putenv): New decl.
57637         (malloc, free): Include <stdlib.h> rather than prototyping separately.
57638
57639 2007-02-20  Bruno Haible  <bruno@clisp.org>
57640
57641         * modules/stdio-tests: New file.
57642         * tests/test-stdio.c: New file.
57643
57644         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
57645         (Depends-on): Add stdio.
57646         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
57647         (Include): Use <stdio.h> instead of vsnprintf.h.
57648         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
57649         HAVE_DECL_VSNPRINTF.
57650         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
57651
57652         * modules/snprintf (Files): Remove lib/snprintf.h.
57653         (Depends-on): Add stdio.
57654         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
57655         (Include): Use <stdio.h> instead of snprintf.h.
57656         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
57657         HAVE_DECL_SNPRINTF.
57658         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
57659         * lib/getaddrinfo.c: Likewise.
57660
57661         * modules/stdio: New file.
57662         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
57663         * lib/snprintf.h: Remove file.
57664         * lib/vsnprintf.h: Remove file.
57665         * lib/.cppi-disable: Remove snprintf.h.
57666         * m4/stdio_h.m4: New file.
57667         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
57668
57669 2007-02-20  Jim Meyering  <jim@meyering.net>
57670
57671         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
57672         used by e.g., mingw.  From Bruno Haible.
57673
57674 2007-02-19  Bruno Haible  <bruno@clisp.org>
57675
57676         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
57677         warnings.
57678         Reported by Ben Pfaff <blp@cs.stanford.edu>.
57679
57680 2007-02-19  Bruno Haible  <bruno@clisp.org>
57681
57682         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
57683         from mingw users.
57684
57685 2007-02-19  Bruno Haible  <bruno@clisp.org>
57686
57687         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
57688         warnings.
57689         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
57690
57691 2007-02-19  Jim Meyering  <jim@meyering.net>
57692
57693         Don't use FD after a successful "fdopendir (fd)".
57694         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
57695         Reset it by calling dirfd on the just-obtained DIR*.
57696
57697         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
57698         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
57699
57700 2007-02-18  Bruno Haible  <bruno@clisp.org>
57701
57702         * lib/readlink.c: Include <unistd.h>.
57703         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
57704         HAVE_READLINK.
57705         * modules/readlink (Depends-on): Add unistd.
57706         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
57707         (Include): Add <unistd.h>.
57708
57709         * lib/getlogin_r.h: Remove file.
57710         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
57711         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
57712         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
57713         HAVE_DECL_GETLOGIN_R.
57714         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
57715         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
57716         (Include): Use <unistd.h> instead of getlogin_r.h.
57717
57718         * lib/getcwd.h: Remove file.
57719         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
57720         * lib/xgetcwd.c: Likewise.
57721         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
57722         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
57723         * modules/getcwd (Files): Remove lib/getcwd.h.
57724         (Depends-on): Add unistd.
57725         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
57726         (Include): Use <unistd.h> instad of getcwd.h.
57727
57728         * lib/ftruncate.c: Include <unistd.h> first.
57729         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
57730         Set HAVE_FTRUNCATE.
57731         * modules/ftruncate (Depends-on): Add unistd.
57732         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
57733
57734         * lib/fchdir.c: Include <unistd.h> first.
57735         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
57736         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
57737         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
57738         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
57739         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
57740
57741         * lib/dup2.c: Include <unistd.h> first.
57742         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
57743         HAVE_DUP2.
57744         * modules/dup2 (Depends-on): Add unistd.
57745         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
57746
57747         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
57748         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
57749         REPLACE_CHOWN. Don't define chown as a macro here.
57750         * modules/chown (Depends-on): Add unistd.
57751         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
57752
57753         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
57754         Add definition for GL_LINK_WARNING.
57755         (chown, dup2): New declarations.
57756         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
57757         link warning.
57758         (ftruncate): New declaration.
57759         (getcwd): New declaration, taken from old getcwd.h.
57760         (getlogin_r): New declaration, taken from old getlogin_r.h.
57761         (readlink): New declaration.
57762         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
57763         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
57764         (gl_PREREQ_UNISTD): Remove macro.
57765         (gl_UNISTD_MODULE_INDICATOR): New macro.
57766         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
57767         many new variables. Don't set UNISTD_H.
57768         * modules/unistd (Description): Change.
57769         (Depends-on): Add link-warning.
57770         (configure.ac): Update.
57771         (Makefile.am): Create unistd.h always. Substitute many new variables
57772         into it.
57773
57774 2007-02-18  Bruno Haible  <bruno@clisp.org>
57775
57776         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
57777         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
57778         HAVE_GETSUBOPT.
57779         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
57780         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
57781         * lib/getsubopt.h: Remove file.
57782         * modules/getsubopt (Files): Remove lib/getsubopt.h.
57783         (Depends-on): Add stdlib.
57784         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
57785         (Includes): Use <stdlib.h> instead of getsubopt.h.
57786         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
57787         Set HAVE_GETSUBOPT.
57788         * lib/getsubopt.c: Don't include getsubopt.h.
57789
57790 2007-02-18  Bruno Haible  <bruno@clisp.org>
57791
57792         * modules/fchdir (Depends-on): Add dup2.
57793
57794 2007-02-18  Bruno Haible  <bruno@clisp.org>
57795
57796         * lib/stdlib_.h: Handle glibc's special invocation convention
57797         specially.
57798
57799 2007-02-18  Bruno Haible  <bruno@clisp.org>
57800
57801         * modules/stdlib-tests: New file.
57802         * tests/test-stdlib.c: New file.
57803
57804         * modules/mkstemp (Files): Remove lib/mkstemp.h.
57805         (Depends-on): Add stdlib.
57806         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
57807         (Includes): Use <stdlib.h> instead of mkstemp.h.
57808         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
57809         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
57810         * lib/mkstemp.c: Don't include mkstemp.h.
57811         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
57812         * lib/stdlib--.h: Don't include mkstemp.h.
57813
57814         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
57815         (Depends-on): Add stdlib.
57816         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
57817         (Includes): Use <stdlib.h> instead of mkdtemp.h.
57818         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
57819         HAVE_MKDTEMP.
57820         * lib/mkdtemp.c: Don't include mkdtemp.h.
57821         * lib/clean-temp.c: Don't include mkdtemp.h.
57822
57823         * modules/exit (Files): Remove lib/exit.h.
57824         (Depends-on): Add stdlib.
57825         (Makefile.am): Remove lib_SOURCES.
57826         (Include): Use <stdlib.h> instead of exit.h.
57827         * lib/argmatch.c: Don't include exit.h.
57828         * lib/execute.c: Likewise.
57829         * lib/pagealign_alloc.c: Likewise.
57830         * lib/pipe.c: Likewise.
57831         * lib/wait-process.c: Likewise.
57832         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
57833         * lib/exitfail.c: Likewise.
57834         * lib/savewd.c: Likewise.
57835         * lib/xsetenv.c: Likewise.
57836
57837         * modules/stdlib: New file.
57838         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
57839         and extra comments about mkstemp().
57840         * lib/exit.h: Remove file.
57841         * lib/mkdtemp.h: Remove file.
57842         * lib/mkstemp.h: Remove file.
57843         * m4/stdlib_h.m4: New file.
57844         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
57845
57846 2007-02-18  Bruno Haible  <bruno@clisp.org>
57847
57848         * modules/math-tests: New file.
57849         * tests/test-math.c: New file.
57850
57851         * modules/math: New file.
57852         * modules/mathl (Files): Remove lib/mathl.h.
57853         (Depends-on): Add math.
57854         (Makefile.am): Don't mention mathl.h.
57855         (Include): Use <math.h> instead of mathl.h.
57856         * lib/math_.h: New file.
57857         * lib/mathl.h: Remove file.
57858         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
57859         mathl.h.
57860         * lib/asinl.c: Likewise.
57861         * lib/atanl.c: Likewise.
57862         * lib/ceill.c: Likewise.
57863         * lib/cosl.c: Likewise.
57864         * lib/expl.c: Likewise.
57865         * lib/floorl.c: Likewise.
57866         * lib/frexpl.c: Likewise.
57867         * lib/ldexpl.c: Likewise.
57868         * lib/logl.c: Likewise.
57869         * lib/sincosl.c: Likewise.
57870         * lib/sinl.c: Likewise.
57871         * lib/sqrtl.c: Likewise.
57872         * lib/tanl.c: Likewise.
57873         * lib/trigl.c: Likewise.
57874         * m4/math_h.m4: New file.
57875         * MODULES.html.sh (Mathematics): Add math.
57876
57877 2007-02-17  Bruno Haible  <bruno@clisp.org>
57878
57879         * modules/wctype-tests: New file.
57880         * tests/test-wctype.c: New file.
57881
57882         * modules/wchar-tests: New file.
57883         * tests/test-wchar.c: New file.
57884
57885         * modules/unistd-tests: New file.
57886         * tests/test-unistd.c: New file.
57887
57888         * modules/time-tests: New file.
57889         * tests/test-time.c: New file.
57890
57891         * modules/sysexits-tests: New file.
57892         * tests/test-sysexits.c: New file.
57893
57894         * modules/sys_time-tests: New file.
57895         * tests/test-sys_time.c: New file.
57896
57897         * modules/sys_stat-tests: New file.
57898         * tests/test-sys_stat.c: New file.
57899
57900         * modules/sys_socket-tests: New file.
57901         * tests/test-sys_socket.c: New file.
57902
57903         * modules/sys_select-tests: New file.
57904         * tests/test-sys_select.c: New file.
57905
57906         * modules/string-tests: New file.
57907         * tests/test-string.c: New file.
57908
57909         * modules/stdbool-tests: New file.
57910         * tests/test-stdbool.c: New file.
57911
57912         * modules/netinet_in-tests: New file.
57913         * tests/test-netinet_in.c: New file.
57914
57915         * modules/inttypes-tests: New file.
57916         * tests/test-inttypes.c: New file.
57917
57918         * modules/fcntl-tests: New file.
57919         * tests/test-fcntl.c: New file.
57920
57921         * modules/byteswap-tests: New file.
57922         * tests/test-byteswap.c: New file.
57923
57924         * modules/arpa_inet-tests: New file.
57925         * tests/test-arpa_inet.c: New file.
57926
57927 2007-02-17  Bruno Haible  <bruno@clisp.org>
57928
57929         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
57930         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
57931         if the corresponding module is not enabled. Emit link warnings if
57932         the function is used nevertheless.
57933         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
57934         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
57935         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
57936         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
57937         * modules/inttypes (Depends-on): Add link-warning.
57938         (Makefile.am): Copy the contents of build-aux/link-warning.h into
57939         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
57940         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
57941         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
57942         * modules/imaxdiv (configure.ac): Likewise.
57943         * modules/strtoimax (configure.ac): Likewise.
57944         * modules/strtoumax (configure.ac): Likewise.
57945
57946 2007-02-17  Bruno Haible  <bruno@clisp.org>
57947
57948         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
57949         gl_STRING_MODULE_INDICATOR_DEFAULTS.
57950         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
57951         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
57952
57953 2007-02-17  Bruno Haible  <bruno@clisp.org>
57954
57955         * modules/link-warning: New file.
57956         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
57957         * lib/string_.h (GL_LINK_WARNING): Remove definition.
57958         * modules/string (Depends-on): Add link-warning.
57959         (Makefile.am): Copy the contents of build-aux/link-warning.h into
57960         string.h.
57961         * MODULES.html.sh (Support for building libraries and executables): Add
57962         link-warning.
57963
57964 2007-02-17  Bruno Haible  <bruno@clisp.org>
57965
57966         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
57967         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
57968         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
57969         long lines.
57970
57971 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
57972             Bruno Haible  <bruno@clisp.org>
57973
57974         * modules/tmpfile: New file.
57975         * lib/tmpfile.c: New file.
57976         * m4/tmpfile.m4: New file.
57977         * MODULES.html.sh (func_all_modules): New section "Input/output".
57978
57979 2007-02-15  Bruno Haible  <bruno@clisp.org>
57980
57981         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
57982         (supports_delete_on_close): New function.
57983         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
57984
57985 2007-02-14  Bruno Haible  <bruno@clisp.org>
57986
57987         * modules/mbspcasecmp-tests: New file.
57988         * tests/test-mbspcasecmp.sh: New file.
57989         * tests/test-mbspcasecmp.c: New file.
57990
57991         New module mbspcasecmp.
57992         * modules/mbspcasecmp: New file.
57993         * lib/mbspcasecmp.c: New file.
57994         * lib/string_.h (strncasecmp): Change warning message.
57995         (mbspcasecmp): New declaration.
57996         * m4/mbspcasecmp.m4: New file.
57997         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
57998         GNULIB_MBSPCASECMP.
57999         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
58000         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
58001
58002 2007-02-14  Bruno Haible  <bruno@clisp.org>
58003
58004         * modules/mbsncasecmp-tests: New file.
58005         * tests/test-mbsncasecmp.sh: New file.
58006         * tests/test-mbsncasecmp.c: New file.
58007
58008         New module mbsncasecmp.
58009         * modules/mbsncasecmp: New file.
58010         * lib/mbsncasecmp.c: New file.
58011         * lib/string_.h (mbsncasecmp): New declaration.
58012         * m4/mbsncasecmp.m4: New file.
58013         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58014         GNULIB_MBSNCASECMP.
58015         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
58016         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
58017
58018 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
58019
58020         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
58021         Verify that it doesn't overlap with our flags.
58022         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
58023         do not have the desired effect in multibyte locales; instead, use
58024         mbscasecmp.
58025         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
58026         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
58027         we don't require GNU fnmatch ourselves (if our users require it, they
58028         should do so explicitly).
58029
58030         Fix regex code so it doesn't rely on strcasecmp.
58031         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
58032         Otherwise, include gnulib's langinfo.h.
58033         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
58034         undesirable behavior in non-C locales.  Instead, rely on localecharset.
58035         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
58036         * modules/regex (FILES): Remove m4/codeset.m4.
58037         (Depends-on): Add localcharset.  Remove strcase.
58038
58039 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58040
58041         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
58042         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
58043
58044 2007-02-13  Bruno Haible  <bruno@clisp.org>
58045
58046         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
58047         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
58048
58049 2007-02-12  Bruno Haible  <bruno@clisp.org>
58050
58051         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
58052         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
58053         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
58054         time warning rather than a link error.
58055
58056 2007-02-12  Bruno Haible  <bruno@clisp.org>
58057
58058         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
58059         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
58060         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
58061
58062 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
58063
58064         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
58065         args, not 2.
58066
58067 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
58068
58069         New module 'time', so that apps can include <time.h> as per
58070         POSIX and GNU instead of separate include files like time_r.h
58071         and timegm.h.  This implementation tries out a simpler approach
58072         for replacing decls in standard include files (as compared to
58073         the string module), somewhat as an experiment.
58074
58075         * config/srclist.txt: Comment out mktime.c for now.
58076         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
58077         since it doesn't apply any more.  Use generic wording instead.
58078         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
58079         'time'.
58080         * lib/time_.h, m4/time_h.m4, modules/time: New files.
58081         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
58082         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
58083         Don't include <sys/types.h>; no longer needed since we assume C89.
58084         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
58085         * lib/strftime.c: Likewise.
58086         * lib/time_r.c: Likewise.
58087         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
58088         * lib/nanosleep.c: Include <time.h> first, to check interface.
58089         * lib/strptime.c: Likewise.
58090         * lib/time_r.c: Likewise.
58091         * lib/timegm.c: Likewise.
58092         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
58093         needed.
58094         * lib/timegm.c: Don't include timegm.h; no longer needed.
58095         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
58096         time.h now handles any problems in that area.
58097         (struct timespec, nanosleep): Remove; time.h now arranges for these.
58098         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
58099         that time.h defines struct timespec.
58100         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
58101         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
58102         handles that.
58103         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
58104         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
58105         needed.  Set REPLACE_LOCALTIME.
58106         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
58107         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
58108         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
58109         nanosleep; time_h.m4 now does that.  Don't require
58110         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
58111         module handles this now.
58112         * modules/getdate (Depends-on): Remove timespec.  Add time.
58113         * modules/nanosleep (Depends-on): Likewise.
58114         * modules/stat-time (Depends-on): Likewise.
58115         * modules/nanosleep (Include): Include time.h, not timespec.h.
58116         * modules/strptime (Files): Remove lib/strptime.h.
58117         (Depends-on): Add extensions, time.
58118         (Include): Include time.h, not strptime.h.
58119         * modules/time_r (Files): Remove lib/time_r.h.
58120         (Depends-on): Add time.
58121         (Include): Include time.h, not time_r.h.
58122         * modules/timegm: Likewise.
58123         * modules/timespec (Description): Now does timespec-related decls
58124         of our own, instead of struct timespec itself.
58125         (Depends-on): Add time; remove extensions.
58126         (Maintainer): Add self.
58127         * modules/utimecmp (Depends-on): Add time; remove timespec.
58128         * modules/utimens (Depends-on): Likewise.
58129         * modules/xnanosleep (Depends-on): Likewise.
58130
58131 2007-02-11  Bruno Haible  <bruno@clisp.org>
58132
58133         * lib/c-strstr.c: Include allocsa.h.
58134         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
58135         * lib/c-strcasestr.c: Include allocsa.h.
58136         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
58137         * lib/strcasestr.c: Include allocsa.h.
58138         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
58139         * lib/mbsstr.c: Include allocsa.h.
58140         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
58141         allocsa/freesa instead of malloc/free.
58142         * lib/mbscasestr.c: Include allocsa.h.
58143         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
58144         allocsa/freesa instead of malloc/free.
58145         * modules/c-strstr (Depends-on): Add allocsa.
58146         * modules/c-strcasestr (Depends-on): Likewise.
58147         * modules/strcasestr (Depends-on): Likewise.
58148         * modules/mbsstr (Depends-on): Likewise.
58149         * modules/mbscasestr (Depends-on): Likewise.
58150
58151 2007-02-11  Bruno Haible  <bruno@clisp.org>
58152
58153         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
58154
58155         * modules/mbsspn-tests: New file.
58156         * tests/test-mbsspn.sh: New file.
58157         * tests/test-mbsspn.c: New file.
58158
58159 2007-02-11  Bruno Haible  <bruno@clisp.org>
58160
58161         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
58162
58163         * modules/mbspbrk-tests: New file.
58164         * tests/test-mbspbrk.sh: New file.
58165         * tests/test-mbspbrk.c: New file.
58166
58167 2007-02-11  Bruno Haible  <bruno@clisp.org>
58168
58169         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
58170         unneeded cast.
58171
58172         * modules/mbscspn-tests: New file.
58173         * tests/test-mbscspn.sh: New file.
58174         * tests/test-mbscspn.c: New file.
58175
58176 2007-02-11  Bruno Haible  <bruno@clisp.org>
58177
58178         * modules/mbscasecmp-tests: New file.
58179         * tests/test-mbscasecmp.sh: New file.
58180         * tests/test-mbscasecmp.c: New file.
58181
58182 2007-02-11  Bruno Haible  <bruno@clisp.org>
58183
58184         Ensure O(n) worst-case complexity of mbscasestr.
58185         * lib/mbscasestr.c: Include stdbool.h.
58186         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
58187         functions.
58188         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
58189         the bookkeeping indicates that it's worth it.
58190         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
58191
58192         * modules/mbscasestr-tests: New file.
58193         * tests/test-mbscasestr1.c: New file.
58194         * tests/test-mbscasestr2.sh: New file.
58195         * tests/test-mbscasestr2.c: New file.
58196         * tests/test-mbscasestr3.sh: New file.
58197         * tests/test-mbscasestr3.c: New file.
58198         * tests/test-mbscasestr4.sh: New file.
58199         * tests/test-mbscasestr4.c: New file.
58200         * m4/locale-tr.m4: New file.
58201
58202 2007-02-11  Bruno Haible  <bruno@clisp.org>
58203
58204         Ensure O(n) worst-case complexity of mbsstr.
58205         * lib/mbsstr.c: Include stdbool.h.
58206         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
58207         functions.
58208         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
58209         bookkeeping indicates that it's worth it.
58210         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
58211
58212         * modules/mbsstr-tests: New file.
58213         * tests/test-mbsstr1.c: New file.
58214         * tests/test-mbsstr2.sh: New file.
58215         * tests/test-mbsstr2.c: New file.
58216         * tests/test-mbsstr3.sh: New file.
58217         * tests/test-mbsstr3.c: New file.
58218         * m4/locale-fr.m4: New file.
58219
58220 2007-02-11  Bruno Haible  <bruno@clisp.org>
58221
58222         * lib/mbsrchr.c (mbsrchr): Fix bug.
58223
58224         * modules/mbsrchr-tests: New file.
58225         * tests/test-mbsrchr.sh: New file.
58226         * tests/test-mbsrchr.c: New file.
58227
58228 2007-02-11  Bruno Haible  <bruno@clisp.org>
58229
58230         * lib/mbschr.c (mbschr): Fix bug.
58231
58232         * modules/mbschr-tests: New file.
58233         * tests/test-mbschr.sh: New file.
58234         * tests/test-mbschr.c: New file.
58235         * m4/locale-zh.m4: New file.
58236
58237 2007-02-11  Bruno Haible  <bruno@clisp.org>
58238
58239         Support for copying multibyte string iterators.
58240         * lib/mbiter.h: Include <string.h>.
58241         (mbiter_multi_copy): New function.
58242         (mbi_copy): New macro.
58243         * lib/mbuiter.h: Include <string.h>.
58244         (mbuiter_multi_copy): New function.
58245         (mbui_copy): New macro.
58246
58247 2007-02-11  Bruno Haible  <bruno@clisp.org>
58248
58249         New module mbslen.
58250         * modules/mbslen: New file.
58251         * lib/mbslen.c: New file.
58252         * lib/string_.h (mbslen): New declaration.
58253         * m4/mbslen.m4: New file.
58254         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58255         GNULIB_MBSLEN.
58256         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
58257         * MODULES.html.sh (Internationalization functions): Add mbslen.
58258
58259 2007-02-11  Bruno Haible  <bruno@clisp.org>
58260
58261         Ensure O(n) worst-case complexity of strcasestr substitute.
58262         * lib/strcasestr.c: Include stdbool.h.
58263         (knuth_morris_pratt): New function.
58264         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
58265         bookkeeping indicates that it's worth it.
58266         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
58267
58268         * modules/strcasestr-tests: New file.
58269         * tests/test-strcasestr.c: New file.
58270
58271 2007-02-11  Bruno Haible  <bruno@clisp.org>
58272
58273         Ensure O(n) worst-case complexity of c_strcasestr.
58274         * lib/c-strcasestr.c: Include stdbool.h, string.h.
58275         (knuth_morris_pratt): New function.
58276         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
58277         the bookkeeping indicates that it's worth it.
58278         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
58279
58280         * modules/c-strcasestr-tests: New file.
58281         * tests/test-c-strcasestr.c: New file.
58282
58283 2007-02-11  Bruno Haible  <bruno@clisp.org>
58284
58285         Ensure O(n) worst-case complexity of c_strstr.
58286         * lib/c-strstr.c: Include stdbool.h, string.h.
58287         (knuth_morris_pratt): New function.
58288         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
58289         bookkeeping indicates that it's worth it.
58290         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
58291
58292         * lib/c-strstr.c: Complete rewrite for maintainability.
58293
58294         * modules/c-strstr-tests: New file.
58295         * tests/test-c-strstr.c: New file.
58296
58297 2007-02-11  Bruno Haible  <bruno@clisp.org>
58298
58299         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
58300         5.2.1 and earlier, whereby \055 was treated just like the range
58301         delimiter '-'.
58302         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
58303
58304 2007-02-08  Bruno Haible  <bruno@clisp.org>
58305
58306         * modules/regex (Depends-on): Add stdbool.
58307         Reported by Dalibor Topic <robilad@kaffe.org>.
58308
58309 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
58310
58311         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
58312         Prefer returning from main to exiting from it.
58313         Remove unnecessary parens after sizeof.
58314
58315 2007-02-05  Bruno Haible  <bruno@clisp.org>
58316
58317         New module mbssep.
58318         * modules/mbssep: New file.
58319         * lib/mbssep.c: New file.
58320         * lib/string_.h (strsep): Add a conditional link warning.
58321         (mbssep): New declaration.
58322         * m4/mbssep.m4: New file.
58323         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58324         GNULIB_MBSSEP.
58325         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
58326         * MODULES.html.sh (Internationalization functions): Add mbssep.
58327
58328 2007-02-05  Bruno Haible  <bruno@clisp.org>
58329
58330         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
58331         Optimize search in case of 1 delimiter.
58332
58333 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
58334
58335         * lib/acl.h: Include sys/types.h before sys/acl.h.
58336
58337 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
58338
58339         Merge upstream fix for glibc bugzilla #3957:
58340
58341         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
58342
58343         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
58344         bit for RE_HAT_LISTS_NOT_NEWLINE.
58345         (build_charclass_op): Remove bogus comment.
58346
58347 2007-02-05  Simon Josefsson  <simon@josefsson.org>
58348
58349         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
58350
58351 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
58352
58353         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
58354         * lib/memmem.c [!defined _LIBC]: Include config.h.
58355
58356 2007-02-04  Bruno Haible  <bruno@clisp.org>
58357
58358         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
58359         warning message.
58360
58361 2007-02-04  Bruno Haible  <bruno@clisp.org>
58362
58363         New module mbstok_r.
58364         * modules/mbstok_r: New file.
58365         * lib/mbstok_r.c: New file.
58366         * lib/string_.h (strtok_r): Change argument names to match the
58367         comments. Add a conditional link warning.
58368         (mbstok_r): New declaration.
58369         * m4/mbstok_r.m4: New file.
58370         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58371         GNULIB_MBSTOK_R.
58372         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
58373         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
58374
58375 2007-02-04  Bruno Haible  <bruno@clisp.org>
58376
58377         New module mbsspn.
58378         * modules/mbsspn: New file.
58379         * lib/mbsspn.c: New file.
58380         * lib/string_.h (strspn): Add a conditional link warning.
58381         (mbsspn): New declaration.
58382         * m4/mbsspn.m4: New file.
58383         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58384         GNULIB_MBSSPN.
58385         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
58386         * MODULES.html.sh (Internationalization functions): Add mbsspn.
58387
58388 2007-02-04  Bruno Haible  <bruno@clisp.org>
58389
58390         New module mbspbrk.
58391         * modules/mbspbrk: New file.
58392         * lib/mbspbrk.c: New file.
58393         * lib/string_.h (strpbrk): Add a conditional link warning.
58394         (mbspbrk): New declaration.
58395         * m4/mbspbrk.m4: New file.
58396         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58397         GNULIB_MBSPBRK.
58398         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
58399         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
58400
58401 2007-02-04  Bruno Haible  <bruno@clisp.org>
58402
58403         New module mbscspn.
58404         * modules/mbscspn: New file.
58405         * lib/mbscspn.c: New file.
58406         * lib/string_.h (strcspn): Add a conditional link warning.
58407         (mbscspn): New declaration.
58408         * m4/mbscspn.m4: New file.
58409         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58410         GNULIB_MBSCSPN.
58411         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
58412         * MODULES.html.sh (Internationalization functions): Add mbscspn.
58413
58414 2007-02-04  Bruno Haible  <bruno@clisp.org>
58415
58416         New module mbscasestr, reduced goal of strcasestr.
58417         * modules/mbscasestr: New file.
58418         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
58419         (mbscasestr): Renamed from strcasestr.
58420         * lib/strcasestr.c: Don't include mbuiter.h.
58421         (strcasestr): Remove support for multibyte locales.
58422         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
58423         Change the conditional link warning.
58424         (mbscasestr): New declaration.
58425         * m4/mbscasestr.m4: New file.
58426         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
58427         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
58428         REPLACE_STRCASESTR.
58429         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
58430         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
58431         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
58432         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
58433         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
58434         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
58435         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
58436         (Depends-on): Remove mbuiter.
58437         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
58438
58439 2007-02-04  Bruno Haible  <bruno@clisp.org>
58440
58441         Simplify handling of strncasecmp.
58442         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
58443         the conditional link warning.
58444         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
58445         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
58446         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
58447         * modules/strcase (configure.ac): Don't invoke
58448         gl_STRING_MODULE_INDICATOR.
58449         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
58450
58451 2007-02-04  Bruno Haible  <bruno@clisp.org>
58452
58453         New module mbscasecmp, reduced goal of strcasecmp.
58454         * modules/mbscasecmp: New file.
58455         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
58456         (mbscasecmp): Renamed from strcasecmp.
58457         * lib/strcasecmp.c: Don't include mbuiter.h.
58458         (strcasecmp): Remove support for multibyte locales.
58459         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
58460         Change the conditional link warning.
58461         (mbscasecmp): New declaration.
58462         * m4/mbscasecmp.m4: New file.
58463         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
58464         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
58465         REPLACE_STRCASECMP.
58466         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
58467         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58468         GNULIB_MBSCASECMP.
58469         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
58470         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
58471         * modules/strcase (Files): Remove m4/mbrtowc.m4.
58472         (Depends-on): Remove mbuiter.
58473         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
58474
58475 2007-02-04  Bruno Haible  <bruno@clisp.org>
58476
58477         New module mbsstr. Remove module strstr.
58478         * modules/mbsstr: New file.
58479         * modules/strstr: Remove file.
58480         * lib/mbsstr.c: Renamed from lib/strstr.c.
58481         (mbsstr): Renamed from strstr.
58482         * lib/string_.h (strstr): Remove declaration. Change the conditional
58483         link warning.
58484         (mbsstr): New declaration.
58485         * m4/mbsstr.m4: New file.
58486         * m4/strstr.m4: Remove file.
58487         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
58488         REPLACE_STRSTR.
58489         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
58490         Don't initialize GNULIB_STRSTR.
58491         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
58492         substitute GNULIB_STRSTR and REPLACE_STRSTR.
58493         * MODULES.html.sh (Internationalization functions): Add mbsstr.
58494         (Support for systems lacking ANSI C 89): Remove strstr.
58495
58496 2007-02-04  Bruno Haible  <bruno@clisp.org>
58497
58498         New module mbsrchr.
58499         * modules/mbsrchr: New file.
58500         * lib/mbsrchr.c: New file.
58501         * lib/string_.h (strrchr): Add a conditional link warning.
58502         (mbsrchr): New declaration.
58503         * m4/mbsrchr.m4: New file.
58504         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58505         GNULIB_MBSRCHR.
58506         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
58507         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
58508
58509 2007-02-04  Bruno Haible  <bruno@clisp.org>
58510
58511         New module mbschr.
58512         * modules/mbschr: New file.
58513         * lib/mbschr.c: New file.
58514         * lib/string_.h (strchr): Add a conditional link warning.
58515         (mbschr): New declaration.
58516         * m4/mbschr.m4: New file.
58517         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58518         GNULIB_MBSCHR.
58519         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
58520         * MODULES.html.sh (Internationalization functions): Add mbschr.
58521
58522 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
58523
58524         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
58525
58526         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
58527
58528 2007-02-04  Bruno Haible  <bruno@clisp.org>
58529
58530         New module description section 'configure.ac-early'.
58531         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
58532         (func_get_autoconf_early_snippet): New function.
58533         (func_import, func_create_testdir): Use it. Remove special cases for
58534         modules 'extensions' and 'lock'.
58535         * modules/extensions (configure.ac-early): Require
58536         gl_USE_SYSTEM_EXTENSIONS.
58537         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
58538
58539 2007-02-04  Bruno Haible  <bruno@clisp.org>
58540
58541         Make use of gcj-4.3's -fsource and -ftarget option.
58542         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
58543         and if so try the options -fsource and -ftarget.
58544         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
58545         source_version, ftarget_option, target_version arguments.
58546         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
58547         (is_envjavac_oldgcj_14_14_usable): Renamed from
58548         is_envjavac_gcj_14_14_usable.
58549         (is_envjavac_oldgcj_14_13_usable): Renamed from
58550         is_envjavac_gcj_14_13_usable.
58551         (is_gcj_present): Update.
58552         (is_gcj_43, is_gcj43_usable): New functions.
58553         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
58554         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
58555         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
58556         try the options -fsource and -ftarget.
58557
58558 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
58559
58560         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
58561         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
58562         larger value.
58563
58564 2007-02-03  Jim Meyering  <jim@meyering.net>
58565
58566         Give tools a better chance to allocate space for very large buffers.
58567         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
58568
58569         Make pwd and readlink work also when run with an unreadable parent dir
58570         on systems with openat support.
58571         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
58572         provided getcwd function, even when we have openat support.
58573         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
58574
58575 2007-02-02  Bruno Haible  <bruno@clisp.org>
58576
58577         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
58578         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
58579         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
58580         portability problems if one of these functions is only used on specific
58581         platforms.
58582         Reported by Paul Eggert.
58583
58584 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
58585
58586         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
58587         is causing more trouble than it's curing.
58588         * lib/regex_internal.h (__mempcpy): Remove.
58589         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
58590         (and make the code a tad smaller to boot).
58591         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
58592
58593 2007-02-02  Jim Meyering  <jim@meyering.net>
58594
58595         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
58596         section, not in the Makefile.am: one.
58597
58598 2007-02-02  Eric Blake  <ebb9@byu.net>
58599
58600         * lib/strchrnul.c: Always include config.h first.
58601
58602         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
58603         gnulib strstr is not necessary here.
58604
58605 2007-02-02  Simon Josefsson  <simon@josefsson.org>
58606
58607         * m4/socklen.m4: Fix typo.
58608
58609 2007-02-02  Eric Blake  <ebb9@byu.net>
58610
58611         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
58612         * modules/netinet_in (Makefile.am): Likewise.
58613
58614 2007-02-01  Bruno Haible  <bruno@clisp.org>
58615
58616         * lib/string_.h (GL_LINK_WARNING): New macro.
58617         (strcasecmp, strstr, strcasestr): If provided by the system,
58618         conditionally define as a macro that leads to a warning instead of to
58619         an error.
58620         (strncasecmp): Conditionally define as a macro that leads to a warning.
58621
58622 2007-02-01  Karl Berry  <karl@gnu.org>
58623
58624         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
58625
58626 2007-02-01  Bruno Haible  <bruno@clisp.org>
58627
58628         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
58629         renamings.
58630
58631 2007-02-01  Eric Blake  <ebb9@byu.net>
58632
58633         * modules/regex (Depends-on): Revert dependence on mempcpy.
58634         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
58635         module's definition of mempcpy.
58636         Reported by Paul Eggert.
58637
58638 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
58639
58640         * lib/string_.h: If the gnulib module XYZ is not present, undefine
58641         the symbol XYZ before redefining it.  This fixes a problem with
58642         programs that don't use XYZ, when compiled on systems that define
58643         XYZ to something else.
58644
58645 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
58646
58647         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
58648         occurs when "mkdir -m foo" creates a setgid directory that is (1)
58649         writeable to group or other and (2) is intended to have a special
58650         mode bit that is set or cleared.  In such a case, the directory
58651         should be neither group- nor other-writeable until the special
58652         mode bits are right.
58653
58654 2007-01-31  Eric Blake  <ebb9@byu.net>
58655
58656         * modules/mountlist (Depends-on): Add strstr.
58657
58658         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
58659         bug.
58660         * modules/string (Makefile.am): Remove redundant replacement.
58661         * modules/regex (Depends-on): Add mempcpy.
58662
58663 2007-01-31  Bruno Haible  <bruno@clisp.org>
58664
58665         New module description field 'Link'.
58666         * gnulib-tool (func_usage): Document --extract-link-directive.
58667         (sed_extract_prog): Recognize 'Link' directive.
58668         (func_get_link_directive): New function.
58669         (func_import): Show summary of link directives.
58670         Handle --extract-link-directive option.
58671         * modules/acl (Link): New section.
58672         * modules/clock-time (Link): New section.
58673         * modules/euidaccess (Link): New section.
58674         * modules/gettext (Link): New section.
58675         * modules/iconv (Link): New section.
58676         * modules/lock (Link): New section.
58677         * modules/nanosleep (Link): New section.
58678         * modules/readline (Link): New section.
58679
58680 2007-01-27  Bruno Haible  <bruno@clisp.org>
58681
58682         Enforce the use of gnulib modules for unportable <string.h> functions.
58683         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
58684         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
58685         (gl_HEADER_STRING_H_BODY): Require it.
58686         * lib/string_.h: If the gnulib module XYZ is not present, redefine
58687         the symbol XYZ to one that gives a link error.
58688         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
58689         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
58690         * modules/mempcpy (configure.ac): Likewise.
58691         * modules/memrchr (configure.ac): Likewise.
58692         * modules/stpcpy (configure.ac): Likewise.
58693         * modules/stpncpy (configure.ac): Likewise.
58694         * modules/strcase (configure.ac): Likewise.
58695         * modules/strcasestr (configure.ac): Likewise.
58696         * modules/strchrnul (configure.ac): Likewise.
58697         * modules/strdup (configure.ac): Likewise.
58698         * modules/strndup (configure.ac): Likewise.
58699         * modules/strnlen (configure.ac): Likewise.
58700         * modules/strpbrk (configure.ac): Likewise.
58701         * modules/strsep (configure.ac): Likewise.
58702         * modules/strstr (configure.ac): Likewise.
58703         * modules/strtok_r (configure.ac): Likewise.
58704
58705 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
58706
58707         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
58708
58709 2007-01-30  Jim Meyering  <jim@meyering.net>
58710
58711         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
58712
58713 2007-01-29  Bruno Haible  <bruno@clisp.org>
58714
58715         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
58716         * lib/execute.c: Likewise.
58717         * lib/pipe.c: Likewise.
58718         * lib/printf-args.h: Likewise.
58719         * lib/printf-args.c: Likewise.
58720         * lib/printf-parse.c: Likewise.
58721         * lib/vasnprintf.c: Likewise.
58722
58723 2007-01-29  Eric Blake  <ebb9@byu.net>
58724
58725         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
58726         declaration.
58727
58728 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
58729
58730         * lib/strptime.h (strptime): Use 'restrict' for args where
58731         POSIX requires this.
58732         * lib/strptime.c (strptime): Likewise.
58733         Change license notice from LGPL to GPL, since gnulib-tool will
58734         change this as needed.
58735         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
58736         defined.
58737         Include "strptime.h" first, to check interface.
58738         Do not #undef _LIBC and _NL_CURRENT.
58739         Do not include <stdlib.h>; no longer needed.
58740         Include "time_r.h" and declare ptime_locale_status
58741         only if _LIBC is not defined.
58742         (__P): Remove unused macro.
58743         (match_string): Bring back glibc version, but use it only if _LIBC
58744         is defined.
58745         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
58746         Remove unnecessary assertion and abort() call.
58747         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
58748         * m4/strptime.m4: Fix serial number comment.
58749         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
58750         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
58751         (Depends-on): Add time_r.
58752
58753 2007-01-29  Bruno Haible  <bruno@clisp.org>
58754
58755         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
58756         strptime.
58757         * modules/strptime (Depends-on): Add stdbool.
58758         * lib/strptime.h: Include <time.h> always. Add comments.
58759
58760 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
58761
58762         * modules/strptime: New file.
58763         * lib/strptime.h: New file.
58764         * lib/strptime.c: New file.
58765         * m4/strptime.m4: New file.
58766
58767 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
58768
58769         * MODULES.html.sh: New module mpsort.
58770         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
58771
58772         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
58773         a circularity problem with HP-UX ia64 reported by Bob Proulx in
58774         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
58775         All uses changed.
58776         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
58777         All uses changed.
58778         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
58779         to _Restrict_.
58780         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
58781         the parameter matches the prototype.
58782
58783 2007-01-28  Jim Meyering  <jim@meyering.net>
58784
58785         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
58786         sys/time.h here, reverting that part of the previous patch:
58787         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
58788
58789 2007-01-28  Bruno Haible  <bruno@clisp.org>
58790
58791         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
58792         value of $(SYS_TIME_H).
58793         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
58794         remove it conditionally, too. [added by Jim Meyering]
58795         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
58796         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
58797         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
58798         GETTIMEOFDAY_REPLACEMENT to 1.
58799
58800 2007-01-28  Bruno Haible  <bruno@clisp.org>
58801
58802         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
58803         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
58804         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
58805         Set UNISTD_H instead of UNISTD_H2.
58806         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
58807
58808 2007-01-28  Bruno Haible  <bruno@clisp.org>
58809
58810         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
58811         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
58812
58813 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58814
58815         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
58816         (func_create_testdir): Ensure C locale for `grep' and `tr'
58817         character ranges.
58818         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
58819         ACLOCAL_AMFLAGS parsing state machine.
58820
58821 2007-01-27  Bruno Haible  <bruno@clisp.org>
58822
58823         * modules/unistr/base: Update.
58824
58825 2007-01-27  Bruno Haible  <bruno@clisp.org>
58826
58827         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
58828         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
58829         * modules/unistr/u32-mbtouc-unsafe: Renamed from
58830         modules/unistr/u32-mbtouc.
58831         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
58832         * lib/unistr.h: Update.
58833         * lib/linebreak.c: Update.
58834         * modules/unistr/u32-mbtouc: Renamed from
58835         modules/unistr/u32-mbtouc-safe.
58836         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
58837         * lib/unistr.h: Update.
58838         * lib/unistr/u32-to-u8.c: Update.
58839         * lib/unistr/u32-to-u16.c: Update.
58840
58841 2007-01-27  Bruno Haible  <bruno@clisp.org>
58842
58843         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
58844         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
58845         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
58846         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
58847         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
58848         * modules/unistr/u16-mbtouc-unsafe: Renamed from
58849         modules/unistr/u16-mbtouc.
58850         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
58851         * lib/unistr.h: Update.
58852         * lib/linebreak.c: Update.
58853         * modules/linebreak: Update.
58854         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
58855         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
58856         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
58857         * modules/unistr/u16-mbtouc: Renamed from
58858         modules/unistr/u16-mbtouc-safe.
58859         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
58860         * lib/unistr.h: Update.
58861         * lib/unistr/u16-to-u8.c: Update.
58862         * modules/unistr/u16-to-u8: Update.
58863         * lib/unistr/u16-to-u32.c: Update.
58864         * modules/unistr/u16-to-u32: Update.
58865
58866 2007-01-27  Bruno Haible  <bruno@clisp.org>
58867
58868         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
58869         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
58870         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
58871         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
58872         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
58873         * modules/unistr/u8-mbtouc-unsafe: Renamed from
58874         modules/unistr/u8-mbtouc.
58875         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
58876         * lib/unistr.h: Update.
58877         * lib/striconveh.c: Update.
58878         * modules/striconveh: Update.
58879         * lib/linebreak.c: Update.
58880         * modules/linebreak: Update.
58881         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
58882         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
58883         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
58884         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
58885         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
58886         * lib/unistr.h: Update.
58887         * lib/striconveh.c: Update.
58888         * modules/striconveh: Update.
58889         * lib/unistr/u8-to-u16.c: Update.
58890         * modules/unistr/u8-to-u16: Update.
58891         * lib/unistr/u8-to-u32.c: Update.
58892         * modules/unistr/u8-to-u32: Update.
58893
58894 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58895
58896         Sync from Libtool.
58897         * lib/argz.c: Do not include strings.h nor memory.h, include
58898         string.h unconditionally.  Patch by Simon Josefsson.
58899
58900 2007-01-27  Bruno Haible  <bruno@clisp.org>
58901
58902         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
58903         from gl_HEADER_STRING_H_BODY.
58904         (gl_HEADER_STRING_H_BODY): Require it.
58905         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
58906         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
58907         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
58908         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
58909         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
58910         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
58911         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
58912         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
58913         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
58914         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
58915         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
58916         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
58917         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
58918         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
58919         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
58920
58921 2007-01-27  Bruno Haible  <bruno@clisp.org>
58922
58923         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
58924         check_PROGRAMS into noinst_PROGRAMS.
58925         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
58926         check_PROGRAMS in this case.
58927         (func_import): Set for_test to false.
58928         (func_create_testdir): Set for_test to true.
58929
58930 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
58931             Bruno Haible  <bruno@clisp.org>
58932
58933         * modules/strcasestr (Files): Remove lib/strcasestr.h.
58934         (Depends-on): Add string.
58935         (Includes): Use <string.h> instead of strcasestr.h.
58936         * modules/string (Makefile.am): Also substitute the value of
58937         REPLACE_STRCASESTR.
58938         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
58939         assume strcasestr is declared in <string.h> not <strings.h>. Also
58940         set REPLACE_STRCASESTR.
58941         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
58942         REPLACE_STRCASESTR.
58943         * lib/strcasestr.h: Remove file.
58944         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
58945         * lib/string_.h (strcasestr): New declaration.
58946
58947 2007-01-27  Bruno Haible  <bruno@clisp.org>
58948
58949         * lib/string_.h: Use 'extern'.
58950
58951 2007-01-27  Jim Meyering  <jim@meyering.net>
58952
58953         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
58954         of set-but-not-used local, "q".
58955
58956         * lib/mempcpy.c: Include <config.h> before <string.h>.
58957         This fixes a compilation error on HP-UX, due to the system's
58958         "restrict"-using mempcpy prototype.
58959
58960 2007-01-26  Bruno Haible  <bruno@clisp.org>
58961
58962         Small optimization.
58963         * lib/javacomp.c: Include c-strstr.h.
58964          (is_envjavac_gcj): Use c_strstr instead of strstr.
58965         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
58966
58967 2007-01-26  Bruno Haible  <bruno@clisp.org>
58968
58969         * MODULES.html.sh (Unicode string functions): Add the new modules.
58970
58971         * modules/uniconv/u32-strconv-to-locale: New file.
58972         * lib/uniconv/u32-strconv-to-locale.c: New file.
58973
58974         * modules/uniconv/u16-strconv-to-locale: New file.
58975         * lib/uniconv/u16-strconv-to-locale.c: New file.
58976
58977         * modules/uniconv/u8-strconv-to-locale: New file.
58978         * lib/uniconv/u8-strconv-to-locale.c: New file.
58979
58980         * modules/uniconv/u32-strconv-from-locale: New file.
58981         * lib/uniconv/u32-strconv-from-locale.c: New file.
58982
58983         * modules/uniconv/u16-strconv-from-locale: New file.
58984         * lib/uniconv/u16-strconv-from-locale.c: New file.
58985
58986         * modules/uniconv/u8-strconv-from-locale: New file.
58987         * lib/uniconv/u8-strconv-from-locale.c: New file.
58988
58989         * modules/uniconv/u32-strconv-to-enc: New file.
58990         * lib/uniconv/u32-strconv-to-enc.c: New file.
58991         * modules/uniconv/u32-strconv-to-enc-tests: New file.
58992         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
58993
58994         * modules/uniconv/u16-strconv-to-enc: New file.
58995         * lib/uniconv/u16-strconv-to-enc.c: New file.
58996         * lib/uniconv/u-strconv-to-enc.h: New file.
58997         * modules/uniconv/u16-strconv-to-enc-tests: New file.
58998         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
58999
59000         * modules/uniconv/u8-strconv-to-enc: New file.
59001         * lib/uniconv/u8-strconv-to-enc.c: New file.
59002         * modules/uniconv/u8-strconv-to-enc-tests: New file.
59003         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
59004
59005         * modules/uniconv/u32-strconv-from-enc: New file.
59006         * lib/uniconv/u32-strconv-from-enc.c: New file.
59007         * modules/uniconv/u32-strconv-from-enc-tests: New file.
59008         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
59009
59010         * modules/uniconv/u16-strconv-from-enc: New file.
59011         * lib/uniconv/u16-strconv-from-enc.c: New file.
59012         * modules/uniconv/u16-strconv-from-enc-tests: New file.
59013         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
59014
59015         * modules/uniconv/u8-strconv-from-enc: New file.
59016         * lib/uniconv/u8-strconv-from-enc.c: New file.
59017         * lib/uniconv/u-strconv-from-enc.h: New file.
59018         * modules/uniconv/u8-strconv-from-enc-tests: New file.
59019         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
59020
59021         * modules/uniconv/u32-conv-from-enc: New file.
59022         * lib/uniconv/u32-conv-from-enc.c: New file.
59023         * modules/uniconv/u32-conv-from-enc-tests: New file.
59024         * tests/uniconv/test-u32-conv-from-enc.c: New file.
59025
59026         * modules/uniconv/u16-conv-from-enc: New file.
59027         * lib/uniconv/u16-conv-from-enc.c: New file.
59028         * lib/uniconv/u-conv-from-enc.h: New file.
59029         * modules/uniconv/u16-conv-from-enc-tests: New file.
59030         * tests/uniconv/test-u16-conv-from-enc.c: New file.
59031
59032         * modules/uniconv/u8-conv-from-enc: New file.
59033         * lib/uniconv/u8-conv-from-enc.c: New file.
59034         * modules/uniconv/u8-conv-from-enc-tests: New file.
59035         * tests/uniconv/test-u8-conv-from-enc.c: New file.
59036
59037         * modules/uniconv/base: New file.
59038         * lib/uniconv.h: New file.
59039
59040 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
59041
59042         * doc/gnulib-tool.texi (Initial import): Update to match current
59043         behavior with strdup module.
59044         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
59045         * lib/memmem.h: Remove; all uses removed.  This is now done
59046         by <string.h>.
59047         * lib/mempcpy.h: Likewise.
59048         * lib/memrchr.h: Likewise.
59049         * lib/stpcpy.h: Likewise.
59050         * lib/stpncpy.h: Likewise.
59051         * lib/strcase.h: Likewise.
59052         * lib/strchrnul.h: Likewise.
59053         * lib/strdup.h: Likewise.
59054         * lib/strndup.h: Likewise.
59055         * lib/strnlen.h: Likewise.
59056         * lib/strpbrk.h: Likewise.
59057         * lib/strsep.h: Likewise.
59058         * lib/strstr.h: Likewise.
59059         * lib/strtok_r.h: Likewise.
59060         * lib/string_.h: New file.
59061         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
59062         Rely on <string.h> instead.
59063         * lib/canon-host.c: Likewise.
59064         * lib/chdir-long.c: Likewise.
59065         * lib/concatpath.c: Likewise.
59066         * lib/exclude.c: Likewise.
59067         * lib/fchdir.c: Likewise.
59068         * lib/getaddrinfo.c: Likewise.
59069         * lib/getcwd.c: Likewise.
59070         * lib/getsubopt.c: Likewise.
59071         * lib/glob.c: Likewise.
59072         * lib/hard-locale.c: Likewise.
59073         * lib/iconvme.c: Likewise.
59074         * lib/javacomp.c: Likewise.
59075         * lib/mempcpy.c: Likewise.
59076         * lib/memrchr.c: Likewise.
59077         * lib/regex_internal.h: Likewise.
59078         * lib/stpncpy.c: Likewise.
59079         * lib/strcasecmp.c: Likewise.
59080         * lib/strchrnul.c: Likewise.
59081         * lib/strdup.c: Likewise.
59082         * lib/striconv.c: Likewise.
59083         * lib/striconveh.c: Likewise.
59084         * lib/striconveha.c: Likewise.
59085         * lib/strncasecmp.c: Likewise.
59086         * lib/strndup.c: Likewise.
59087         * lib/strnlen.c: Likewise.
59088         * lib/strsep.c: Likewise.
59089         * lib/strstr.c: Likewise.
59090         * lib/strtok_r.c: Likewise.
59091         * lib/userspec.c: Likewise.
59092         * lib/w32spawn.h: Likewise.
59093         * lib/xstrndup.c: Likewise.
59094         * lib/mountlist.c (strstr): Remove decl.
59095         * m4/string_h.m4: New file.
59096         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
59097         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
59098         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
59099         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
59100         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
59101         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
59102         Set REPLACE_STRCASECMP if necessary.
59103         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
59104         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
59105         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
59106         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
59107         HAVE_DECL_STRDUP if necessary.
59108         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
59109         since gl_FUNC_STRNDUP does that now.
59110         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
59111         Check for decl here...
59112         (gl_PREREQ_STRNLEN): ... not here.
59113         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
59114         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
59115         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
59116         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
59117         necessary.
59118         * modules/string: New file.
59119         * modules/memmem (Files): Remove special-purpose include file.
59120         (Depends-on): Add string.
59121         (Include): Include <string.h>, not the removed file.
59122         * modules/mempcpy: Likewise.
59123         * modules/memrchr: Likewise.
59124         * modules/stpcpy: Likewise.
59125         * modules/stpncpy: Likewise.
59126         * modules/strcase: Likewise.
59127         * modules/strchrnul: Likewise.
59128         * modules/strdup: Likewise.
59129         * modules/strndup: Likewise.
59130         * modules/strnlen: Likewise.
59131         * modules/strpbrk: Likewise.
59132         * modules/strsep: Likewise.
59133         * modules/strstr: Likewise.
59134         * modules/strtok_r: Likewise.
59135         * tests/test-dirname.c: Don't include "strdup.h", since
59136         <string.h> now suffices.
59137         * tests/test-memmem.c: Don't include "memmem.h", since
59138         <string.h> now suffices.
59139
59140 2007-01-25  Bruno Haible  <bruno@clisp.org>
59141
59142         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
59143         *resultp is 0.
59144
59145         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
59146         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
59147         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
59148         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
59149
59150         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
59151         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
59152         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
59153         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
59154         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
59155         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
59156
59157 2007-01-24  Bruno Haible  <bruno@clisp.org>
59158
59159         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
59160         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
59161         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
59162         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
59163         gl_FUNC_FTS_CORE.
59164         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
59165         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
59166         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
59167         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
59168         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
59169         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
59170         gl_FUNC_FCHOWNAT.
59171         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
59172         gl_FUNC_STRFTIME.
59173         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
59174         Reported by Ralf Wildenhues.
59175
59176 2007-01-24  Bruno Haible  <bruno@clisp.org>
59177
59178         Drop AC_REQUIRE calls that are redundant with the module dependencies.
59179         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
59180         gl_GETADDRINFO.
59181         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
59182         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
59183         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
59184
59185 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
59186
59187         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
59188         Don't use 'exit'; just return from 'main'.
59189         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
59190
59191         * lib/fnmatch_.h: Readjust white space and comments to match
59192         glibc, to avoid spurious diffs.
59193
59194 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
59195
59196         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
59197         2004-12-01 change by Jakub Jelinek, since this code won't compile
59198         if !LIBC.  Problem reported by Bob Proulx.
59199
59200 2007-01-23  Bruno Haible  <bruno@clisp.org>
59201
59202         * lib/striconveh.c: Include c-strcaseeq.h.
59203         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
59204         * modules/striconveh (Depends-on): Add c-strcaseeq.
59205
59206 2007-01-23  Bruno Haible  <bruno@clisp.org>
59207
59208         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
59209
59210         * modules/c-strcaseeq: New file.
59211         * lib/c-strcaseeq.h: New file.
59212
59213         * modules/streq: New file.
59214         * lib/streq.h: New file.
59215
59216 2007-01-23  Bruno Haible  <bruno@clisp.org>
59217
59218         * modules/striconveha-tests: New file.
59219         * tests/test-striconveha.c: New file.
59220
59221         * lib/striconveha.h: Include <stdbool.h>.
59222         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
59223         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
59224         (mem_iconveha_notranslit): Renamed from mem_iconveha.
59225         (mem_iconveha): New function.
59226         (str_iconveha_notranslit): Renamed from str_iconveha.
59227         (str_iconveha): New function.
59228         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
59229         c-strcase.
59230
59231 2007-01-23  Bruno Haible  <bruno@clisp.org>
59232
59233         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
59234         encodings without forgiving before trying any encoding with handler.
59235         (str_iconveha): Try all encodings without forgiving before trying any
59236         encoding with handler.
59237
59238 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
59239
59240         Import the following changes from libc.
59241
59242         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
59243
59244         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
59245
59246         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
59247
59248         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
59249         normal_bracket label.
59250
59251         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
59252
59253         [BZ #361]
59254         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
59255         to normal_bracket after fetching the next character.
59256
59257 2007-01-22  Bruno Haible  <bruno@clisp.org>
59258
59259         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
59260         argument.
59261         * lib/striconveh.c (iconv_carefully_1): New function.
59262         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
59263         argument.
59264         (str_cd_iconveh): Update.
59265         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
59266         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
59267         * tests/test-striconveh.c (MAGIC): New macro.
59268         (new_offsets): New function.
59269         (main): Test call with and without offsets.
59270
59271 2007-01-22  Bruno Haible  <bruno@clisp.org>
59272
59273         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
59274         * modules/sys_select (Makefile.am): Likewise.
59275         * modules/sys_socket (Makefile.am): Likewise.
59276         * modules/sys_time (Makefile.am): Likewise.
59277
59278 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
59279
59280         * modules/gettimeofday (License): Change from GPL to LGPL, since
59281         gettimeofday is a library function.
59282
59283 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59284
59285         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
59286
59287 2007-01-21  Bruno Haible  <bruno@clisp.org>
59288
59289         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
59290
59291 2007-01-21  Bruno Haible  <bruno@clisp.org>
59292
59293         * modules/striconveha: New file.
59294         * lib/striconveha.h: New file.
59295         * lib/striconveha.c: New file.
59296         * MODULES.html.sh (Internationalization functions): Add striconveha.
59297         * lib/striconv.c (str_iconv): Optimize the case of an empty input
59298         string.
59299         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
59300
59301 2007-01-21  Bruno Haible  <bruno@clisp.org>
59302
59303         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
59304         * lib/striconveh.c (str_iconveh): Likewise.
59305
59306 2007-01-21  Bruno Haible  <bruno@clisp.org>
59307
59308         * lib/striconveh.h (mem_iconveh): New declaration.
59309         * lib/striconveh.c (mem_iconveh): New function.
59310         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
59311
59312 2007-01-21  Bruno Haible  <bruno@clisp.org>
59313
59314         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
59315
59316         * lib/striconveh.h (mem_cd_iconveh): Change specification.
59317         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
59318         original result buffer.
59319         (str_cd_iconveh): Update.
59320         * tests/test-striconveh.c (main): Update.
59321
59322         * lib/striconv.h (mem_cd_iconv): Change specification.
59323         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
59324         result buffer.
59325         (str_cd_iconv): Update.
59326         * tests/test-striconv.c (main): Update.
59327
59328 2007-01-21  Bruno Haible  <bruno@clisp.org>
59329
59330         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
59331
59332 2007-01-20  Jim Meyering  <jim@meyering.net>
59333
59334         * lib/userspec.c (parse_with_separator): If a user or group string
59335         starts with "+", skip the corresponding name-to-ID look-up, since
59336         such a look-up must fail: user and group names may not include "+".
59337
59338 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
59339
59340         * lib/poll.c: Include sys/time.h and time.h unconditionally,
59341         since we now assume the sys_time module.
59342         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
59343         check for sys/time.h; no longer needed.
59344         * modules/poll (Depends-on): Depend on sys_time.
59345
59346 2007-01-18  Bruno Haible  <bruno@clisp.org>
59347
59348         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
59349         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
59350
59351         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
59352         gettimeofday.
59353
59354         * tests/test-gettimeofday.c: Include <time.h>.
59355         (dummy): Remove variable.
59356
59357         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
59358         gl_HEADER_SYS_TIME_H.
59359         (gl_HEADER_SYS_TIME_H): New macro.
59360
59361         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
59362         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
59363         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
59364         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
59365         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
59366         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
59367         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
59368         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
59369         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
59370         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
59371         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
59372
59373         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
59374         last change; it caused a compilation error when cross-compiling to
59375         Cygwin.
59376
59377 2007-01-18  Jim Meyering  <jim@meyering.net>
59378
59379         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
59380         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
59381         than the race-prone "test -d sys || mkdir sys".
59382         (configure.ac): Use AC_PROG_MKDIR_P.
59383         * modules/sys_select: Likewise.
59384         * modules/sys_socket: Likewise.
59385         * modules/sys_time: Likewise.
59386
59387 2007-01-18  Eric Blake  <ebb9@byu.net>
59388
59389         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
59390         replace gettimeofday.
59391         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
59392         name, to avoid infinite recursion.
59393
59394 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
59395
59396         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
59397         module sys_time.
59398         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
59399         assume timespec.h defines struct timeval.
59400         * lib/settime.c: Likewise.
59401         * lib/utimens.c: Likewise.
59402         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
59403         since we now assume the gettimeofday module.
59404         * lib/tempname.c (__gen_tempname): Likewise.
59405         * lib/gettimeofday.h: Remove.
59406         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
59407         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
59408         Include <time.h>, for 'time()'.
59409         (localtime_buffer_addr): Also use this workaround if
59410         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
59411         to simplify the uses.  All uses changed.
59412         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
59413         that #undef is inside {}, and 'const' follows type name consistently.
59414         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
59415         (gettimeofday): Do not use the maximum possible value for
59416         tv->tv_usec, since that might break usages other than ls.c.
59417         Instead, we'll leave ls.c alone.  This undoes today's patch
59418         by Bruno.  Add a compile-time warning for 1s-clock resolution;
59419         we've never observed the problem but might as well keep the
59420         canary.
59421         * lib/nanosleep.c: Include timespec.h first, for interface check.
59422         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
59423         now assume the sys_time module.
59424         * lib/tempname.c: Likewise.
59425         * lib/timespec.h: Likewise.
59426         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
59427         needed.
59428         * lib/strftime.c: Likewise.
59429         * lib/timespec.h: Likewise.
59430         * lib/posixtm.c: Include posixtm.h first, for interface check.
59431         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
59432         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
59433         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
59434         * lib/sys_time_.h: New file.
59435         * lib/timespec.h (struct timespec): Use long int, not long.
59436         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
59437         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
59438         Remove obsolescent call to AC_HEADER_TIME.
59439         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
59440         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
59441         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
59442         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
59443         Likewise.
59444         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
59445         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
59446         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
59447         into the sys_time module.  Check for gettimeofday just once.
59448         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
59449         for gettimeofday signature to just check the signature.  Merely
59450         compile it, since linking doesn't test signature.  Improve test for
59451         whether gettimeofday.o is actually needed.
59452         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
59453         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
59454         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
59455         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
59456         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
59457         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
59458         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
59459         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
59460         than worrying about sys/time.h.
59461         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
59462         Don't bother worrying about TIME_WITH_SYS_TIME.
59463         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
59464         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
59465         * m4/sys_time_h.m4: New file.
59466         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
59467         Don't include sys/time.h.  Return from main rather than exiting.
59468         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
59469         all uses changed.
59470         * modules/gethrxtime (Depends-on): Add sys_time.
59471         * modules/gettime (Depends-on): Likewise.
59472         * modules/gettimeofday (Depends-on): Likewise.
59473         * modules/nanosleep (Depends-on): Likewise.
59474         * modules/settime (Depends-on): Likewise.
59475         * modules/tempname (Depends-on): Likewise.
59476         * modules/utimens (Depends-on): Likewise.
59477         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
59478         (Include): Change back to <sys/time.h>.
59479         (Maintainer): Add self.
59480         * modules/sys_time: New file.
59481         * modules/tempname (Depends-on): Add gettimeofday.
59482         * tests/test-gettimeofday.c: Include <sys/time.h>
59483         rather than gettimeofday.h.
59484
59485 2007-01-17  Bruno Haible  <bruno@clisp.org>
59486
59487         * gnulib-tool (func_get_license): Revert last patch. Instead, let
59488         the license default to GPL.
59489         (func_create_testdir): Don't complain if a module is LGPL and its
59490         tests module depends on GPLed modules.
59491
59492 2007-01-17  Bruno Haible  <bruno@clisp.org>
59493
59494         * lib/gettimeofday.c (gettimeofday): Add code for the case
59495         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
59496         maximum possible value for tv->tv_usec, rather than the minimum one.
59497
59498 2005-10-08  Martin Lambers  <marlam@marlam.de>
59499 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
59500 2007-01-16  Bruno Haible  <bruno@clisp.org>
59501
59502         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
59503         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
59504         gl_FUNC_GETTIMEOFDAY.
59505         (Include): Add gettimeofday.h.
59506         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
59507         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
59508         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
59509         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
59510         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
59511         * lib/gettimeofday.h: New file.
59512         * lib/gettimeofday.c: Include <sys/timeb.h>.
59513         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
59514         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
59515         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
59516         fall back on time().
59517
59518         * tests/test-gettimeofday.c: New file.
59519         * modules/gettimeofday-tests: New file.
59520
59521 2007-01-16  Eric Blake  <ebb9@byu.net>
59522
59523         * modules/fnmatch (Depends-on): Depend on wchar.
59524         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
59525         * m4/fnmatch.m4: Likewise.
59526         * modules/mbchar (Makefile.am): Assume <wchar.h>.
59527         * m4/mbchar.m4: Likewise.
59528         * modules/mbswidth (Depends-on): Depend on wchar.
59529         * lib/mbswidth.c: Assume <wchar.h>.
59530         * m4/mbswidth.m4: Likewise.
59531         * modules/quotearg (Depends-on): Depend on wchar.
59532         * lib/quotearg.c: Assume <wchar.h>.
59533         * m4/quotearg.m4: Likewise.
59534         * modules/regex (Depends-on): Depend on wchar.
59535         * lib/regex_internal.h: Assume <wchar.h>.
59536         * m4/regex.m4: Likewise.
59537         * modules/stdint (Depends-on): Depend on wchar.
59538         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
59539         * m4/stdint.m4: Likewise.
59540         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
59541         * modules/strftime (Depends-on): Depend on wchar.
59542         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
59543         * modules/strtol (Depends-on): Depend on wchar.
59544         * lib/strtol.c: Assume <wchar.h>.
59545         * modules/wcwidth (Depends-on): Depend on wchar.
59546         * lib/wcwidth.h: Assume <wchar.h>.
59547         * m4/wcwidth.m4: Likewise.
59548
59549 2007-01-16  Bruno Haible  <bruno@clisp.org>
59550
59551         * modules/csharpexec-script: New, created from...
59552         * modules/csharpexec: ... this.
59553
59554 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
59555
59556         * modules/javaexec-script: New, created from...
59557         * modules/javaexec: ... this.
59558
59559 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59560
59561         * modules/poll (Dependencies): Add sys_select.
59562
59563 2007-01-15  Jim Meyering  <jim@meyering.net>
59564
59565         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
59566         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
59567         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
59568         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
59569
59570 2007-01-15  Bruno Haible  <bruno@clisp.org>
59571
59572         * modules/striconveh: New file.
59573         * lib/striconveh.h: New file.
59574         * lib/striconveh.c: New file.
59575         * MODULES.html.sh (Internationalization functions): Add striconveh.
59576
59577         * modules/striconveh-tests: New file.
59578         * tests/test-striconveh.c: New file.
59579
59580 2007-01-15  Bruno Haible  <bruno@clisp.org>
59581
59582         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
59583         not from GNU libiconv or GNU libc.
59584
59585 2007-01-15  Bruno Haible  <bruno@clisp.org>
59586
59587         * doc/gnulib-intro.texi (Copyright): Explain the different license
59588         terms for module descriptions, autoconf macros, tests, documentation.
59589
59590 2007-01-14  Bruno Haible  <bruno@clisp.org>
59591
59592         * modules/striconv-tests: New file.
59593         * tests/test-striconv.c: New file.
59594
59595 2007-01-14  Bruno Haible  <bruno@clisp.org>
59596
59597         * modules/iconv-tests: New file.
59598         * tests/test-iconv.c: New file.
59599
59600 2007-01-14  Bruno Haible  <bruno@clisp.org>
59601
59602         * gnulib-tool (func_get_license): For test modules, use the license of
59603         the main module.
59604
59605 2007-01-14  Bruno Haible  <bruno@clisp.org>
59606
59607         * modules/iconv (Include): Clarify that <iconv.h> can only be included
59608         if iconv is found to exist.
59609
59610 2007-01-14  Bruno Haible  <bruno@clisp.org>
59611
59612         * modules/c-ctype-tests: New file.
59613         * tests/test-c-ctype.c: New file.
59614
59615 2007-01-14  Bruno Haible  <bruno@clisp.org>
59616
59617         * modules/binary-io-tests: New file.
59618         * tests/test-binary-io.sh: New file.
59619         * tests/test-binary-io.c: New file.
59620
59621 2007-01-14  Bruno Haible  <bruno@clisp.org>
59622
59623         * modules/array-oset-tests: New file.
59624         * tests/test-array_oset.c: New file.
59625
59626 2007-01-14  Bruno Haible  <bruno@clisp.org>
59627
59628         * modules/array-list-tests: New file.
59629         * tests/test-array_list.c: New file.
59630
59631 2007-01-14  Bruno Haible  <bruno@clisp.org>
59632
59633         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
59634         and make.
59635         Reported by Simon Josefsson in
59636         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
59637
59638 2007-01-14  Bruno Haible  <bruno@clisp.org>
59639
59640         * modules/allocsa-tests: New file.
59641         * tests/test-allocsa.c: New file.
59642
59643 2007-01-14  Bruno Haible  <bruno@clisp.org>
59644
59645         * modules/fchdir (Depends-on): Add absolute-header.
59646         * modules/unistd (Depends-on): Likewise.
59647
59648 2006-12-30  Bruno Haible  <bruno@clisp.org>
59649
59650         * modules/fchdir: New file.
59651         * modules/unistd (Files): Add lib/unistd_.h.
59652         (Makefile.am): Generate unistd.h from unistd_.h.
59653         * lib/fchdir.c: New file.
59654         * lib/dirent_.h: New file.
59655         * lib/unistd_.h: New file.
59656         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
59657         * m4/fchdir.m4: New file.
59658         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
59659         (gl_HEADER_UNISTD): Invoke it.
59660         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
59661         function.
59662         * lib/backupfile.c (opendir, closedir): Undefine.
59663         * lib/chown.c (open, close): Undefine.
59664         * lib/clean-temp.c (open, close): Undefine.
59665         * lib/copy-file.c (open, close): Undefine.
59666         * lib/execute.c (open, close): Undefine.
59667         * lib/fsusage.c (open, close): Undefine.
59668         * lib/gc-gnulib.c (open, close): Undefine.
59669         * lib/getcwd.c (opendir, closedir): Undefine.
59670         * lib/glob.c (opendir, closedir): Undefine.
59671         * lib/javacomp.c (open, close): Undefine.
59672         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
59673         * lib/openat-proc.c (open, close): Undefine.
59674         * lib/pagealign_alloc.c (open, close): Undefine.
59675         * lib/pipe.c (open, close): Undefine.
59676         * lib/progreloc.c (open, close): Undefine.
59677         * lib/savedir.c (opendir, closedir): Undefine.
59678         * lib/utime.c (open, close): Undefine.
59679         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
59680
59681 2007-01-10  Bruno Haible  <bruno@clisp.org>
59682
59683         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
59684
59685 2007-01-12  Eric Blake  <ebb9@byu.net>
59686
59687         Provide a robust <wchar.h>.  Further simplifications are now
59688         possible in other modules, but not included here.
59689         * modules/wchar: New module.
59690         * m4/wchar.m4: New file.
59691         * lib/wchar_.h: Likewise.
59692         * modules/mbchar (Depends-on): Depend on wchar, as the first use
59693         of the new module.
59694         * MODULES.html.sh (Extended multibyte and wide character utilities):
59695         New section.
59696
59697 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
59698
59699         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
59700         to a reasonable default for memory allocation.
59701         (xreadlink): Don't allocate a huge buffer, to work around a buggy
59702         file system that reports garbage st_size values for symlinks.
59703         Problem reported by Liyang Hu.
59704
59705 2007-01-11  Simon Josefsson  <simon@josefsson.org>
59706
59707         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
59708         Emacs .#* auto-save files).
59709
59710 2007-01-11  Bruno Haible  <bruno@clisp.org>
59711
59712         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
59713         directory.
59714
59715 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
59716
59717         Use @...@ consistently in lib/wctype_.h.
59718         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
59719         on it being set to 1 or 0.
59720         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
59721         go back to AC_SUBSTing it.
59722         * modules/wctype (Makefile.am): Undo previous change.
59723
59724 2007-01-10  Eric Blake  <ebb9@byu.net>
59725
59726         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
59727         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
59728         * modules/wctype (Makefile.am): Likewise.
59729         Reported by Chris McGuire.
59730
59731 2007-01-10  Jim Meyering  <jim@meyering.net>
59732
59733         fts.c: a small readability/maintainability improvement
59734         * lib/fts.c (fts_read): Make this code slightly more readable and
59735         maintainable by hoisting the "sp->fts_cur = p" assignments to
59736         immediately follow the statements that set P.  Derived from
59737         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
59738
59739 2007-01-10  Eric Blake  <ebb9@byu.net>
59740
59741         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
59742         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
59743         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
59744         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
59745         Reported by Chris McGuire.
59746
59747 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59748
59749         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
59750         in sed script.
59751
59752 2007-01-09  Bruno Haible  <bruno@clisp.org>
59753
59754         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
59755         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
59756         variables.
59757         (func_module): Use them.
59758
59759 2007-01-09  Bruno Haible  <bruno@clisp.org>
59760
59761         * modules/unistr/base: New file.
59762         * lib/unistr.h: New file.
59763
59764         * modules/unistr/u8-to-u16: New file.
59765         * lib/unistr/u8-to-u16.c: New file.
59766
59767         * modules/unistr/u8-to-u32: New file.
59768         * lib/unistr/u8-to-u32.c: New file.
59769
59770         * modules/unistr/u16-to-u8: New file.
59771         * lib/unistr/u16-to-u8.c: New file.
59772
59773         * modules/unistr/u16-to-u32: New file.
59774         * lib/unistr/u16-to-u32.c: New file.
59775
59776         * modules/unistr/u32-to-u8: New file.
59777         * lib/unistr/u32-to-u8.c: New file.
59778
59779         * modules/unistr/u32-to-u16: New file.
59780         * lib/unistr/u32-to-u16.c: New file.
59781
59782         * modules/unistr/u8-check: New file.
59783         * modules/unistr/u16-check: New file.
59784         * modules/unistr/u32-check: New file.
59785         * lib/unistr/u8-check.c: New file.
59786         * lib/unistr/u16-check.c: New file.
59787         * lib/unistr/u32-check.c: New file.
59788
59789         * modules/unistr/u8-chr: New file.
59790         * modules/unistr/u16-chr: New file.
59791         * modules/unistr/u32-chr: New file.
59792         * lib/unistr/u8-chr.c: New file.
59793         * lib/unistr/u16-chr.c: New file.
59794         * lib/unistr/u32-chr.c: New file.
59795
59796         * modules/unistr/u8-cmp: New file.
59797         * modules/unistr/u16-cmp: New file.
59798         * modules/unistr/u32-cmp: New file.
59799         * lib/unistr/u8-cmp.c: New file.
59800         * lib/unistr/u16-cmp.c: New file.
59801         * lib/unistr/u32-cmp.c: New file.
59802
59803         * modules/unistr/u8-cpy: New file.
59804         * modules/unistr/u16-cpy: New file.
59805         * modules/unistr/u32-cpy: New file.
59806         * lib/unistr/u8-cpy.c: New file.
59807         * lib/unistr/u16-cpy.c: New file.
59808         * lib/unistr/u32-cpy.c: New file.
59809         * lib/unistr/u-cpy.h: New file.
59810
59811         * modules/unistr/u8-cpy-alloc: New file.
59812         * modules/unistr/u16-cpy-alloc: New file.
59813         * modules/unistr/u32-cpy-alloc: New file.
59814         * lib/unistr/u8-cpy-alloc.c: New file.
59815         * lib/unistr/u16-cpy-alloc.c: New file.
59816         * lib/unistr/u32-cpy-alloc.c: New file.
59817         * lib/unistr/u-cpy-alloc.h: New file.
59818
59819         * modules/unistr/u8-endswith: New file.
59820         * modules/unistr/u16-endswith: New file.
59821         * modules/unistr/u32-endswith: New file.
59822         * lib/unistr/u8-endswith.c: New file.
59823         * lib/unistr/u16-endswith.c: New file.
59824         * lib/unistr/u32-endswith.c: New file.
59825         * lib/unistr/u-endswith.h: New file.
59826
59827         * modules/unistr/u8-mblen: New file.
59828         * modules/unistr/u16-mblen: New file.
59829         * modules/unistr/u32-mblen: New file.
59830         * lib/unistr/u8-mblen.c: New file.
59831         * lib/unistr/u16-mblen.c: New file.
59832         * lib/unistr/u32-mblen.c: New file.
59833
59834         * modules/unistr/u8-mbtouc: New file.
59835         * modules/unistr/u16-mbtouc: New file.
59836         * modules/unistr/u32-mbtouc: New file.
59837         * lib/unistr/u8-mbtouc.c: New file.
59838         * lib/unistr/u16-mbtouc.c: New file.
59839         * lib/unistr/u32-mbtouc.c: New file.
59840
59841         * modules/unistr/u8-mbtouc-safe: New file.
59842         * modules/unistr/u16-mbtouc-safe: New file.
59843         * modules/unistr/u32-mbtouc-safe: New file.
59844         * lib/unistr/u8-mbtouc-safe.c: New file.
59845         * lib/unistr/u16-mbtouc-safe.c: New file.
59846         * lib/unistr/u32-mbtouc-safe.c: New file.
59847
59848         * modules/unistr/u8-move: New file.
59849         * modules/unistr/u16-move: New file.
59850         * modules/unistr/u32-move: New file.
59851         * lib/unistr/u8-move.c: New file.
59852         * lib/unistr/u16-move.c: New file.
59853         * lib/unistr/u32-move.c: New file.
59854         * lib/unistr/u-move.h: New file.
59855
59856         * modules/unistr/u8-next: New file.
59857         * modules/unistr/u16-next: New file.
59858         * modules/unistr/u32-next: New file.
59859         * lib/unistr/u8-next.c: New file.
59860         * lib/unistr/u16-next.c: New file.
59861         * lib/unistr/u32-next.c: New file.
59862
59863         * modules/unistr/u8-prev: New file.
59864         * modules/unistr/u16-prev: New file.
59865         * modules/unistr/u32-prev: New file.
59866         * lib/unistr/u8-prev.c: New file.
59867         * lib/unistr/u16-prev.c: New file.
59868         * lib/unistr/u32-prev.c: New file.
59869
59870         * modules/unistr/u8-set: New file.
59871         * modules/unistr/u16-set: New file.
59872         * modules/unistr/u32-set: New file.
59873         * lib/unistr/u8-set.c: New file.
59874         * lib/unistr/u16-set.c: New file.
59875         * lib/unistr/u32-set.c: New file.
59876         * lib/unistr/u-set.h: New file.
59877
59878         * modules/unistr/u8-startswith: New file.
59879         * modules/unistr/u16-startswith: New file.
59880         * modules/unistr/u32-startswith: New file.
59881         * lib/unistr/u8-startswith.c: New file.
59882         * lib/unistr/u16-startswith.c: New file.
59883         * lib/unistr/u32-startswith.c: New file.
59884         * lib/unistr/u-startswith.h: New file.
59885
59886         * modules/unistr/u8-stpcpy: New file.
59887         * modules/unistr/u16-stpcpy: New file.
59888         * modules/unistr/u32-stpcpy: New file.
59889         * lib/unistr/u8-stpcpy.c: New file.
59890         * lib/unistr/u16-stpcpy.c: New file.
59891         * lib/unistr/u32-stpcpy.c: New file.
59892         * lib/unistr/u-stpcpy.h: New file.
59893
59894         * modules/unistr/u8-stpncpy: New file.
59895         * modules/unistr/u16-stpncpy: New file.
59896         * modules/unistr/u32-stpncpy: New file.
59897         * lib/unistr/u8-stpncpy.c: New file.
59898         * lib/unistr/u16-stpncpy.c: New file.
59899         * lib/unistr/u32-stpncpy.c: New file.
59900         * lib/unistr/u-stpncpy.h: New file.
59901
59902         * modules/unistr/u8-strcat: New file.
59903         * modules/unistr/u16-strcat: New file.
59904         * modules/unistr/u32-strcat: New file.
59905         * lib/unistr/u8-strcat.c: New file.
59906         * lib/unistr/u16-strcat.c: New file.
59907         * lib/unistr/u32-strcat.c: New file.
59908         * lib/unistr/u-strcat.h: New file.
59909
59910         * modules/unistr/u8-strchr: New file.
59911         * modules/unistr/u16-strchr: New file.
59912         * modules/unistr/u32-strchr: New file.
59913         * lib/unistr/u8-strchr.c: New file.
59914         * lib/unistr/u16-strchr.c: New file.
59915         * lib/unistr/u32-strchr.c: New file.
59916
59917         * modules/unistr/u8-strcmp: New file.
59918         * modules/unistr/u16-strcmp: New file.
59919         * modules/unistr/u32-strcmp: New file.
59920         * lib/unistr/u8-strcmp.c: New file.
59921         * lib/unistr/u16-strcmp.c: New file.
59922         * lib/unistr/u32-strcmp.c: New file.
59923
59924         * modules/unistr/u8-strcpy: New file.
59925         * modules/unistr/u16-strcpy: New file.
59926         * modules/unistr/u32-strcpy: New file.
59927         * lib/unistr/u8-strcpy.c: New file.
59928         * lib/unistr/u16-strcpy.c: New file.
59929         * lib/unistr/u32-strcpy.c: New file.
59930         * lib/unistr/u-strcpy.h: New file.
59931
59932         * modules/unistr/u8-strcspn: New file.
59933         * modules/unistr/u16-strcspn: New file.
59934         * modules/unistr/u32-strcspn: New file.
59935         * lib/unistr/u8-strcspn.c: New file.
59936         * lib/unistr/u16-strcspn.c: New file.
59937         * lib/unistr/u32-strcspn.c: New file.
59938         * lib/unistr/u-strcspn.h: New file.
59939
59940         * modules/unistr/u8-strdup: New file.
59941         * modules/unistr/u16-strdup: New file.
59942         * modules/unistr/u32-strdup: New file.
59943         * lib/unistr/u8-strdup.c: New file.
59944         * lib/unistr/u16-strdup.c: New file.
59945         * lib/unistr/u32-strdup.c: New file.
59946         * lib/unistr/u-strdup.h: New file.
59947
59948         * modules/unistr/u8-strlen: New file.
59949         * modules/unistr/u16-strlen: New file.
59950         * modules/unistr/u32-strlen: New file.
59951         * lib/unistr/u8-strlen.c: New file.
59952         * lib/unistr/u16-strlen.c: New file.
59953         * lib/unistr/u32-strlen.c: New file.
59954         * lib/unistr/u-strlen.h: New file.
59955
59956         * modules/unistr/u8-strmblen: New file.
59957         * modules/unistr/u16-strmblen: New file.
59958         * modules/unistr/u32-strmblen: New file.
59959         * lib/unistr/u8-strmblen.c: New file.
59960         * lib/unistr/u16-strmblen.c: New file.
59961         * lib/unistr/u32-strmblen.c: New file.
59962
59963         * modules/unistr/u8-strmbtouc: New file.
59964         * modules/unistr/u16-strmbtouc: New file.
59965         * modules/unistr/u32-strmbtouc: New file.
59966         * lib/unistr/u8-strmbtouc.c: New file.
59967         * lib/unistr/u16-strmbtouc.c: New file.
59968         * lib/unistr/u32-strmbtouc.c: New file.
59969
59970         * modules/unistr/u8-strncat: New file.
59971         * modules/unistr/u16-strncat: New file.
59972         * modules/unistr/u32-strncat: New file.
59973         * lib/unistr/u8-strncat.c: New file.
59974         * lib/unistr/u16-strncat.c: New file.
59975         * lib/unistr/u32-strncat.c: New file.
59976         * lib/unistr/u-strncat.h: New file.
59977
59978         * modules/unistr/u8-strncmp: New file.
59979         * modules/unistr/u16-strncmp: New file.
59980         * modules/unistr/u32-strncmp: New file.
59981         * lib/unistr/u8-strncmp.c: New file.
59982         * lib/unistr/u16-strncmp.c: New file.
59983         * lib/unistr/u32-strncmp.c: New file.
59984
59985         * modules/unistr/u8-strncpy: New file.
59986         * modules/unistr/u16-strncpy: New file.
59987         * modules/unistr/u32-strncpy: New file.
59988         * lib/unistr/u8-strncpy.c: New file.
59989         * lib/unistr/u16-strncpy.c: New file.
59990         * lib/unistr/u32-strncpy.c: New file.
59991         * lib/unistr/u-strncpy.h: New file.
59992
59993         * modules/unistr/u8-strnlen: New file.
59994         * modules/unistr/u16-strnlen: New file.
59995         * modules/unistr/u32-strnlen: New file.
59996         * lib/unistr/u8-strnlen.c: New file.
59997         * lib/unistr/u16-strnlen.c: New file.
59998         * lib/unistr/u32-strnlen.c: New file.
59999         * lib/unistr/u-strnlen.h: New file.
60000
60001         * modules/unistr/u8-strpbrk: New file.
60002         * modules/unistr/u16-strpbrk: New file.
60003         * modules/unistr/u32-strpbrk: New file.
60004         * lib/unistr/u8-strpbrk.c: New file.
60005         * lib/unistr/u16-strpbrk.c: New file.
60006         * lib/unistr/u32-strpbrk.c: New file.
60007         * lib/unistr/u-strpbrk.h: New file.
60008
60009         * modules/unistr/u8-strrchr: New file.
60010         * modules/unistr/u16-strrchr: New file.
60011         * modules/unistr/u32-strrchr: New file.
60012         * lib/unistr/u8-strrchr.c: New file.
60013         * lib/unistr/u16-strrchr.c: New file.
60014         * lib/unistr/u32-strrchr.c: New file.
60015
60016         * modules/unistr/u8-strspn: New file.
60017         * modules/unistr/u16-strspn: New file.
60018         * modules/unistr/u32-strspn: New file.
60019         * lib/unistr/u8-strspn.c: New file.
60020         * lib/unistr/u16-strspn.c: New file.
60021         * lib/unistr/u32-strspn.c: New file.
60022         * lib/unistr/u-strspn.h: New file.
60023
60024         * modules/unistr/u8-strstr: New file.
60025         * modules/unistr/u16-strstr: New file.
60026         * modules/unistr/u32-strstr: New file.
60027         * lib/unistr/u8-strstr.c: New file.
60028         * lib/unistr/u16-strstr.c: New file.
60029         * lib/unistr/u32-strstr.c: New file.
60030         * lib/unistr/u-strstr.h: New file.
60031
60032         * modules/unistr/u8-strtok: New file.
60033         * modules/unistr/u16-strtok: New file.
60034         * modules/unistr/u32-strtok: New file.
60035         * lib/unistr/u8-strtok.c: New file.
60036         * lib/unistr/u16-strtok.c: New file.
60037         * lib/unistr/u32-strtok.c: New file.
60038         * lib/unistr/u-strtok.h: New file.
60039
60040         * modules/unistr/u8-uctomb: New file.
60041         * modules/unistr/u16-uctomb: New file.
60042         * modules/unistr/u32-uctomb: New file.
60043         * lib/unistr/u8-uctomb.c: New file.
60044         * lib/unistr/u16-uctomb.c: New file.
60045         * lib/unistr/u32-uctomb.c: New file.
60046
60047         * MODULES.html.sh (Unicode string functions): Add the new modules.
60048
60049 2007-01-08  Bruno Haible  <bruno@clisp.org>
60050
60051         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
60052         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
60053         subdirectories.
60054
60055 2007-01-08  Karl Berry  <karl@gnu.org>
60056
60057         * doc/error.texi: mention that main() fns must set program_name
60058         when progname is used.
60059
60060 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
60061
60062         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
60063         WCTYPE_H is empty, for the benefit of builds from non-distclean
60064         directories.  Problem reported by Eric Blake in
60065         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
60066
60067 2007-01-08  Bruno Haible  <bruno@clisp.org>
60068
60069         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
60070         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
60071         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
60072         PROVIDE_CANONICALIZE_FILENAME_MODE.
60073         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
60074
60075 2007-01-08  Bruno Haible  <bruno@clisp.org>
60076
60077         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
60078         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
60079         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
60080         * lib/fts.c: Likewise.
60081         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
60082
60083 2006-12-25  Bruno Haible  <bruno@clisp.org>
60084
60085         * modules/utf8-ucs4-safe: New file.
60086         * lib/utf8-ucs4-safe.h: New file.
60087         * lib/unistr/utf8-ucs4-safe.c: New file.
60088
60089         * modules/utf16-ucs4-safe: New file.
60090         * lib/utf16-ucs4-safe.h: New file.
60091         * lib/unistr/utf16-ucs4-safe.c: New file.
60092
60093         * MODULES.html.sh (Unicode string functions): Add the new modules.
60094
60095 2007-01-08  Bruno Haible  <bruno@clisp.org>
60096
60097         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
60098         (Depends-on): Add unitypes.
60099         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
60100         (u8_mbtouc_aux): Move out to separate file.
60101         (u8_mbtouc): Use ucs4_t, uint8_t types.
60102         * lib/unistr/utf8-ucs4.c: New file.
60103
60104         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
60105         (Depends-on): Add unitypes.
60106         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
60107         (u16_mbtouc_aux): Move out to separate file.
60108         (u16_mbtouc): Use ucs4_t, uint16_t types.
60109         * lib/unistr/utf16-ucs4.c: New file.
60110
60111         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
60112         (Depends-on): Add unitypes.
60113         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
60114         (u8_uctomb_aux): Move out to separate file.
60115         (u8_uctomb): Use ucs4_t, uint8_t types.
60116         * lib/unistr/ucs4-utf8.c: New file.
60117
60118         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
60119         (Depends-on): Add unitypes.
60120         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
60121         (u16_uctomb_aux): Move out to separate file.
60122         (u16_uctomb): Use ucs4_t, uint16_t types.
60123         * lib/unistr/ucs4-utf16.c: New file.
60124
60125 2006-12-25  Bruno Haible  <bruno@clisp.org>
60126
60127         * modules/unitypes: New file.
60128         * lib/unitypes.h: New file.
60129         * MODULES.html.sh (func_all_modules): New section "Unicode string
60130         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
60131         this section. Add unitypes.
60132
60133 2007-01-08  Bruno Haible  <bruno@clisp.org>
60134
60135         Avoid variable names that conflict with those from libtool.
60136         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
60137         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
60138         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
60139         library_names_spec to acl_library_names_spec, hardcode_* to
60140         acl_hardcode_*.
60141         Reported by Ralf Wildenhues.
60142
60143 2007-01-08  Bruno Haible  <bruno@clisp.org>
60144
60145         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
60146         definition.
60147         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
60148         definition.
60149         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
60150         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
60151         definition.
60152         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
60153         definition.
60154         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
60155         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
60156         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
60157         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
60158         definition.
60159         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
60160         definition.
60161         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
60162         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
60163         GC_USE_<algorithm>.
60164         * lib/gc-libgcrypt.c: Likewise.
60165         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
60166         * modules/gc-arctwo (configure.ac): Likewise.
60167         * modules/gc-des (configure.ac): Likewise.
60168         * modules/gc-hmac-md5 (configure.ac): Likewise.
60169         * modules/gc-hmac-sha1 (configure.ac): Likewise.
60170         * modules/gc-md2 (configure.ac): Likewise.
60171         * modules/gc-md4 (configure.ac): Likewise.
60172         * modules/gc-md5 (configure.ac): Likewise.
60173         * modules/gc-random (configure.ac): Likewise.
60174         * modules/gc-rijndael (configure.ac): Likewise.
60175         * modules/gc-sha1 (configure.ac): Likewise.
60176
60177 2007-01-08  Bruno Haible  <bruno@clisp.org>
60178
60179         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
60180         macro definition.
60181         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
60182         definition.
60183         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
60184         definition.
60185         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
60186         * modules/fcntl-safer (configure.ac): Likewise.
60187         * modules/fopen-safer (configure.ac): Likewise.
60188         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
60189         GNULIB_FWRITEERROR macro definition.
60190
60191 2007-01-08  Bruno Haible  <bruno@clisp.org>
60192
60193         * m4/gnulib-common.m4: New file.
60194         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
60195         (func_get_filelist): Add m4/gnulib-common.m4.
60196
60197 2007-01-08  Bruno Haible  <bruno@clisp.org>
60198
60199         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
60200         command.
60201
60202 2007-01-08  Jim Meyering  <jim@meyering.net>
60203
60204         Use a more robust test for a "can't happen" condition.
60205         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
60206         narrowed the st_size value.  Presuming the "can't happen" condition
60207         is true, that narrowing could conceivably convert an invalid st_size
60208         value into a valid one.  Instead, use a change based on Matthew
60209         Woehlke's original patch.
60210
60211         Slight readability improvement: use an assert-like macro
60212         in place of literal "abort ()" uses.
60213         * lib/fts.c (fts_assert): Define.
60214         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
60215         Use this macro instead of a bare 'abort'.
60216
60217 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
60218
60219         Don't worry about using IRIX 5.3's wctype.h broken definitions;
60220         simply work around them.
60221         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
60222         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
60223         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
60224         declaring.
60225         Don't bother to define as macros, since the standard doesn't require it.
60226         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
60227         longer worry about IRIX 5.3.
60228         (HAVE_WCTYPE_CTMP_BUG): Remove.
60229
60230 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
60231
60232         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
60233         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
60234         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
60235         Problems reported by Georg Schwarz for IRIX 5.3.
60236
60237         * gnulib-tool (autoconf_minversion): Take the maximum version number
60238         found, not the minimum.  Problem reported by James Youngman.
60239
60240 2007-01-03  Karl Berry  <karl@gnu.org>
60241
60242         * doc/error.texi: new file, explaining interaction with progname.
60243         * doc/gnulib.texi: include it.  Update copyright.
60244
60245 2007-01-03  Simon Josefsson  <simon@josefsson.org>
60246
60247         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
60248         AC_CANONICAL_HOST, to improve autobuild outputs.
60249
60250 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
60251             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
60252
60253         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
60254         sockets, server sockets, and other file descriptors.  Count errors
60255         to compute the return value.  Reorder the code a bit to be easier
60256         to follow.  Don't set event bits that were not requested (except
60257         POLLERR and POLLHUP).
60258
60259 2007-01-01  Bruno Haible  <bruno@clisp.org>
60260
60261         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
60262
60263 2007-01-03  Jim Meyering  <jim@meyering.net>
60264
60265         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
60266
60267 2007-01-02  Bruno Haible  <bruno@clisp.org>
60268
60269         * modules/settime (Include): Require timespec.h.
60270         * modules/nanosleep (Include): Likewise.
60271
60272 2007-01-01  Bruno Haible  <bruno@clisp.org>
60273
60274         * gnulib-tool (func_emit_copyright_notice): Bump year.
60275         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
60276
60277 2007-01-01  Bruno Haible  <bruno@clisp.org>
60278
60279         Improve support for OpenBSD.
60280         * build-aux/config.rpath (libname_spec): Export.
60281         (library_names_spec): New variable. Export.
60282         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
60283         library_names_spec from the config.rpath output. Locate shared library
60284         through the name pattern in library_names_spec.
60285
60286 2007-01-01  Eric Blake  <ebb9@byu.net>
60287
60288         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
60289
60290 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
60291
60292         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
60293         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
60294         assume the C locale, and avoid an "eval" that could cause trouble.
60295         Problem with SORT reported by Bob Proulx.
60296
60297         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
60298         Define.  Trivial patch from Henning Nielsen Lund, originally
60299         sent to bug-grep@gnu.org today.
60300
60301 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
60302
60303         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
60304         struct stat.  Problem reported by Henning Nielsen Lund.
60305         * lib/acl.c: Include acl.h first, to check interface.  Don't
60306         bother to include sys/types.h and sys/stat.h again.
60307
60308 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
60309
60310         Import the following change from libc; problem reported by
60311         Sven Verdoolaege.
60312
60313         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
60314
60315         [BZ #1373]
60316         * lib/argp.h: Remove __NTH for __argp_usage inline function.
60317
60318 2006-12-28  Jim Meyering  <jim@meyering.net>
60319
60320         * build-aux/announce-gen: Do not assume that the package
60321         builds any of tar.gz, tar.bz2, and .xdelta files.
60322         Suggestion from Simon Josefsson.
60323
60324 2006-12-28  Simon Josefsson  <simon@josefsson.org>
60325
60326         * modules/announce-gen: New file.
60327
60328 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
60329
60330         * lib/mbchar.h: Just include <wctype.h>; the wctype module
60331         handles its gotchas now.
60332         * lib/mbswidth.c: Likewise.
60333         * lib/wcwidth.h: Likewise.
60334         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
60335         and iswcntrl; the wctype module does this stuff now.
60336         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
60337         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
60338         * modules/mbchar (Depends-on): Add wctype.
60339         * modules/mbswidth (Depends-on): Likewise.
60340         * modules/wcwidth (Depends-on): Likewise.
60341
60342 2006-12-27  Eric Blake  <ebb9@byu.net>
60343
60344         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
60345         module uses more than what <wctype.h> is required to provide.
60346
60347 2006-12-26  Eric Blake  <ebb9@byu.net>
60348
60349         * gnulib-tool (sed_extract_prog): Avoid space-tab.
60350
60351 2006-12-26  Eric Blake  <ebb9@byu.net>
60352
60353         * modules/absolute-header: New module.
60354         * modules/fcntl (Depends-on): Depend on it.
60355         * modules/inttypes (Depends-on): Likewise.
60356         * modules/stdint (Depends-on): Likewise.
60357         * modules/sys_stat (Depends-on): Likewise.
60358         * modules/wctype (Depends-on): Likewise.
60359         * MODULES.html.sh (Support for building libraries and
60360         executables): Document it.
60361
60362 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
60363
60364         * gnulib-tool (SED): Remove, undoing previous change.
60365         The problem was that it broke coreutils on Solaris, because
60366         "sed --posix" leaked into a makefile.
60367         (sed): New alias, if 'alias' and GNU sed.
60368
60369 2006-12-24  Jim Meyering  <jim@meyering.net>
60370
60371         Work around an fchownat bug in glibc-2.4:
60372         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
60373         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
60374         in spite of the -P option.
60375         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
60376         New macros.
60377         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
60378         * modules/openat (Files): Add lib/fchownat.c.
60379         * lib/openat.c (fchownat): Don't define here.  Move to...
60380         * lib/fchownat.c: ...this new file.
60381
60382 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
60383
60384         Fix bug reported by Bruno Haible in
60385         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
60386         where quotearg.c didn't compile on Mac OS X 10.2 because it
60387         lacks <wchar.h> and wint_t.
60388         * lib/wctype_.h (__wctype_wint_t): New type.
60389         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
60390         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
60391         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
60392         Arg is now of type __wctype_wint_t, not wint_t.
60393         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
60394         substitute HAVE_WINT_T.
60395         * modules/wctype (Files): Add m4/wint_t.m4.
60396         (wctype.h): Substitute HAVE_WINT_T.
60397
60398 2006-12-23  Bruno Haible  <bruno@clisp.org>
60399
60400         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
60401
60402 2006-12-23  Bruno Haible  <bruno@clisp.org>
60403
60404         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
60405         S_ISLNK.
60406         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
60407         mingw.
60408
60409 2006-12-22  Bruno Haible  <bruno@clisp.org>
60410
60411         * lib/copy-file.c: Include acl.h.
60412         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
60413         Close the file descriptors only after being done with copy_acl.
60414         * modules/copy-file (Depends-on): Add acl.
60415
60416 2006-12-22  Bruno Haible  <bruno@clisp.org>
60417
60418         * gnulib-tool (SED): New variable.
60419         Use $SED instead of sed everywhere.
60420
60421 2006-12-22  Bruno Haible  <bruno@clisp.org>
60422
60423         * modules/no-c++: New file.
60424         * m4/no-c++.m4: New file.
60425         * MODULES.html.sh (Support for building libraries and executables):
60426         Add no-c++.
60427
60428 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
60429
60430         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
60431         Include <limits.h>, and use its INT_MAX to rewrite the
60432         j loop so that it does not overflow 'int'.  Problem reported by
60433         Ralf Wildenhues in
60434         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
60435         Play it safe by shifting left by 1 rather than multiplying by 2,
60436         as GCC is less likely to optimize this away when the value
60437         is signed (when it assumes overflow leads to undefined behavior).
60438         Also, don't assume time_t uses two's complement.
60439
60440 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
60441
60442         * MODULES.html.sh: New module wctype.
60443         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
60444         * lib/fnmatch.c: Don't bother to include <wchar.h> before
60445         <wctype.h>, since the new wctype module should fix this.
60446         * lib/quotearg.c: Include <wctype.h> unconditionally, since
60447         the wctype module should arrange for it.
60448         * lib/regex_internal.h: Likewise.
60449         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
60450         since the wctype module should handle this now.
60451         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
60452         * modules/fnmatch (Depends-on): Add wctype.
60453         * modules/quotearg (Depends-on): Likewise.
60454         * modules/regex (Depends-on): Likewise.
60455
60456 2006-12-19  Bruno Haible  <bruno@clisp.org>
60457
60458         * lib/strdup.h [C++]: Wrap definitions in extern "C".
60459         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
60460
60461 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60462
60463         * modules/savewd (Depends-on): Fix dependency on fcntl.
60464
60465 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
60466
60467         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
60468         conforms to C99, rather than relying on the user's environment
60469         setting of STDINT_H.
60470
60471 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
60472         and Eric Blake  <ebb9@byu.net>
60473
60474         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
60475         This is more consistent with the other defines here.
60476         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
60477         Port to z/OS.  Problem reported by Paul Gilmartin.
60478         Change local vars to use gl_ prefix rather than ac_.
60479         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
60480         with other defines.
60481         * modules/double-slash-root: New module.
60482         * modules/dirname (Files): Remove m4/double-slash-root.m4.
60483         (Depends-on): Add double-slash-root.
60484         * MODULES.html.sh (File system functions): Mention new module.
60485
60486 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
60487
60488         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
60489         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
60490         This is for the benefit of gzip, which doesn't do i18n.
60491
60492 2006-12-12  Jim Meyering  <jim@meyering.net>
60493
60494         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
60495         Reported by Andreas Schwab <schwab@suse.de>.
60496
60497 2006-12-12  Bruno Haible  <bruno@clisp.org>
60498
60499         Merge these changes.
60500         2006-09-05  Bruno Haible  <bruno@clisp.org>
60501         * lib/iconvme.c (iconv_string): No need to save and restore errno when
60502         iconv_alloc succeeded.
60503         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
60504         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
60505         test for " && dest " at the end - dest is always != NULL there. Call
60506         iconv with 4xNULL arguments initially, to reset the state. Call iconv
60507         with 2xNULL arguments, also to flush the state storage. Handle the
60508         IRIX iconv behaviour. Realloc the final result, to throw away unused
60509         memory.
60510
60511 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
60512
60513         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
60514         and fchmodat unconditionally, since glibc 2.4 has them.
60515         Problem reported by Arkadiusz Miskiewicz.
60516
60517 2006-12-10  Bruno Haible  <bruno@clisp.org>
60518
60519         * gnulib-tool (func_import): Show the include files only for those
60520         modules that are copied and specified.
60521         Reported by Karl Berry.
60522
60523 2006-12-08  Jim Meyering  <jim@meyering.net>
60524
60525         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
60526         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
60527
60528         * build-aux/announce-gen: Add two new options, both optional:
60529         --bootstrap-tools=TOOL_LIST
60530               a comma-separated list of tools, e.g.,
60531               autoconf,automake,bison,gnulib
60532         --gnulib-snapshot-date=DATE
60533               if gnulib is in the bootstrap tool list,
60534               then report this as the snapshot date.
60535               If not specified, use the current date/time.
60536               If you specify a date here, be sure it's UTC.
60537
60538 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60539
60540         * tests/test-argp-2.sh: Fix test to match actual output.
60541         (func_compare): Fix sed script to be portable.
60542
60543 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
60544
60545         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
60546         workaround for this case.  It is not autoconfigured now; offhand
60547         it's hard to see how to autoconfigure it.
60548
60549 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
60550
60551         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
60552         a directory that is about to be chowned.  Such a directory's
60553         initial file permissions should permit the owner only and this
60554         should not be changed until after the chown, since the group and
60555         other bits would be incorrect if they granted permission before
60556         the chown.
60557
60558         Fix porting problem for iswctype reported by Georg Schwarz in:
60559         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
60560         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
60561         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
60562         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
60563         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
60564
60565 2006-12-03  Jim Meyering  <jim@meyering.net>
60566
60567         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
60568         p->fts_statp may not yet be defined.
60569         (fts_read): Instead, set it in the caller, once p->fts_statp is
60570         sure to be defined, and corresponds to a top-level directory.
60571         This bug made du -x fail.  Here's the coreutils test case:
60572         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
60573         Reported by Mike Frysinger.
60574
60575 2006-12-01  Jim Meyering  <jim@meyering.net>
60576
60577         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
60578         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
60579         Reported by Simon Josefsson.
60580
60581 2006-11-30  Jim Meyering  <jim@meyering.net>
60582
60583         * m4/warning.m4: Use the all-permissive copyright notice
60584         recommended by RMS (rather than LGPL).
60585         * m4/vararrays.m4: Likewise.
60586         * m4/flexmember.m4: Likewise.
60587
60588 2006-11-29  Bruno Haible  <bruno@clisp.org>
60589
60590         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
60591         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
60592         using +=.
60593         Reported by Simon Josefsson <simon@josefsson.org>.
60594
60595 2006-11-28  James Youngman <jay@gnu.org>
60596
60597         * README: Advise users that they might find the bug-gnulib@gnu.org
60598         and autotools-announce@gnu.org mailing lists useful.
60599
60600 2006-11-28  Bruno Haible  <bruno@clisp.org>
60601
60602         * m4/ptrdiff_max.m4: Remove file.
60603
60604 2006-11-21  Bruno Haible  <bruno@clisp.org>
60605
60606         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
60607         _AC_COMPUTE_INT.
60608         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
60609         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
60610         _AC_COMPUTE_INT.
60611         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
60612         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
60613         _AC_COMPUTE_INT.
60614         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
60615
60616 2006-11-28  Jim Meyering  <jim@meyering.net>
60617
60618         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
60619         warning from "gcc -Wshadow" about shadowing the builtin.
60620
60621 2006-11-27  Bruno Haible  <bruno@clisp.org>
60622
60623         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
60624         _AC_COMPUTE_INT.
60625         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
60626
60627 2006-11-27  Bruno Haible  <bruno@clisp.org>
60628             Paul Eggert  <eggert@cs.ucla.edu>
60629
60630         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
60631
60632 2006-11-26  Bruno Haible  <bruno@clisp.org>
60633
60634         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
60635         noinst_LTLIBRARIES.
60636
60637 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
60638             Bruno Haible  <bruno@clisp.org>
60639
60640         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
60641         if compiling with "gcc -ansi".
60642
60643 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
60644
60645         Fix some incompatibilities with gcc -ansi -pedantic.
60646         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
60647         if compiling pedantically with GCC, unless it's C99 or later.
60648         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
60649         it mishandles gcc -ansi -pedantic as well.
60650         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
60651         if gcc -pedantic.
60652         * lib/regexec.c (check_node_accept_bytes): Don't use auto
60653         initializers for struct if -pedantic, unless it's C99 or later.
60654
60655 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
60656
60657         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
60658         Don't close an fd more than once. Identical atimes indicate
60659         success, not failure.
60660
60661 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
60662
60663         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
60664
60665 2006-11-23  Jim Meyering  <jim@meyering.net>
60666
60667         * build-aux/announce-gen: New file.  From coreutils.
60668
60669 2006-11-22  Jim Meyering  <jim@meyering.net>
60670
60671         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
60672         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
60673         (fts_read): Use a temporary to narrow the overused st_size member
60674         before using it in a switch statement.  Reported by Matthew Woehlke.
60675
60676         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
60677         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
60678
60679 2006-11-20  Bruno Haible  <bruno@clisp.org>
60680
60681         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
60682         changequote instead of pairs of brackets.
60683         Reported by Andreas Schwab <schwab@suse.de>.
60684
60685 2006-11-21  Jim Meyering  <jim@meyering.net>
60686
60687         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
60688         so as to remain compatible with older compilers.
60689         Patch from Michael Deutschmann.
60690
60691 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
60692
60693         * MODULES.html.sh (File system functions): Add openat.
60694
60695         * lib/openat.h (rpl_fstatat): New macro, if
60696         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
60697         (fstatat): Define to rpl_fstatat under the same conditions,
60698         unless COMPILING_FSTATAT.
60699         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
60700         seems to have the bug.
60701         * lib/fstatat.c: New file.
60702         * modules/openat (Files): Add it.
60703
60704 2006-11-20  Bruno Haible  <bruno@clisp.org>
60705
60706         * Makefile: New file.
60707
60708 2006-11-20  Jim Meyering  <jim@meyering.net>
60709
60710         The beginnings of syntax-related checks for gnulib.
60711         * lib/Makefile: New file.
60712         * lib/t-idcache: New script.  Ensure that the two halves of
60713         idcache.c stay in sync.
60714
60715         * lib/idcache.c: Adjust comments in user- and group- portions to
60716         be more accurate, and to be consistent with one another.
60717
60718 2006-11-20  Jim Meyering  <jim@meyering.net>
60719
60720         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
60721         continue using the flexible array member (thus, this module performs
60722         half as many malloc calls), with the addition that...
60723         (getgroup, getuser): Consistently record a non-match via an empty
60724         "name" string, and map an empty string match to a NULL return value.
60725         * modules/idcache (Depends-on): Re-add flexmember.
60726
60727         * lib/idcache.c (getuser): Remove all uses of the register keyword.
60728         (getuidbyname, getgroup, getgidbyname): Likewise.
60729
60730         Use cleaner syntax: NULL rather than 0.
60731         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
60732
60733 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
60734
60735         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
60736         It mishandled the case where the group was missing.
60737         Problem reported by Greg Schafer.
60738         * modules/idcache: Likewise.
60739
60740 2006-11-18  Jim Meyering  <jim@meyering.net>
60741
60742         * check-module (%exempt_header): Add exception for some
60743         conditionally-included headers.
60744
60745         * modules/i-ring (Depends-on): Add verify.
60746         (License): Change to LGPL.
60747
60748 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
60749
60750         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
60751         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
60752         and inttostr.h.  Use snprintf rather than uinttostr, so that
60753         LGPLed code doesn't depend on GPLed.
60754
60755 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
60756
60757         * modules/inline (License): Change from GPL to LGPL.
60758
60759 2006-11-17  Jim Meyering  <jim@meyering.net>
60760
60761         * modules/d-type (License): Switch to LGPL.
60762
60763 2006-11-15  Bruno Haible  <bruno@clisp.org>
60764
60765         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
60766
60767 2006-11-15  Eric Blake  <ebb9@byu.net>
60768
60769         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
60770         the module dependency.
60771
60772 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60773             Bruno Haible  <bruno@clisp.org>
60774
60775         * gnulib-tool (func_create_testdir): Add license consistency check.
60776
60777 2006-11-15  Eric Blake  <ebb9@byu.net>
60778
60779         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
60780         random "(cached)" in configure output.
60781
60782 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60783
60784         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
60785         test for conforming inttypes.h is both announced and cached.
60786
60787         * MODULES.html.sh (seen_modules, seen_files): New variables.
60788         (func_module): Rewrite to use a few less gnulib-tool and sed
60789         invocations.  Avoid a couple of quadratic algorithms for ...
60790         (missed_modules, missed_files): ... these, with ...
60791         (func_append, func_tmpdir): ... these new functions, from
60792         gnulib-tool.  Analogously, install traps for cleanup.
60793
60794         * tests/test-gc.c (main): Remove unused variables.
60795         * tests/test-read-file.c: Include stdlib.h, for 'free'.
60796
60797 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
60798
60799         * modules/inttostr (License): Change to LGPL.
60800
60801 2006-11-14  Eric Blake  <ebb9@byu.net>
60802
60803         * modules/tempname (License): Change to LGPL.
60804
60805 2006-11-14  Eric Blake  <ebb9@byu.net>
60806
60807         * doc/functions.texi (Function Portability): *printf functions on
60808         Cygwin now understand all POSIX size specifiers.
60809
60810 2006-11-14  Bruno Haible  <bruno@clisp.org>
60811
60812         * modules/c-ctype (License): Change to LGPL.
60813
60814 2006-11-12  Bruno Haible  <bruno@clisp.org>
60815
60816         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
60817         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
60818         for GNOME libraries, for which the include files are installed in
60819         subdirectories of $prefix/include.
60820
60821 2006-11-12  Bruno Haible  <bruno@clisp.org>
60822
60823         * m4/lib-link.m4: Require at least autoconf-2.54.
60824         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
60825         name to underscores for the --with option.
60826
60827 2006-11-13  Bruno Haible  <bruno@clisp.org>
60828
60829         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
60830         the tests directory.
60831         Reported by Ralf Wildenhues.
60832
60833 2006-11-13  Bruno Haible  <bruno@clisp.org>
60834
60835         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
60836         (func_emit_initmacro_end): Undo the override here.
60837         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
60838         Works around the famous automake error in coreutils.
60839
60840 2006-11-13  Eric Blake  <ebb9@byu.net>
60841
60842         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
60843         element, not its node.
60844
60845 2006-11-12  Bruno Haible  <bruno@clisp.org>
60846
60847         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
60848         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
60849
60850 2006-11-12  Bruno Haible  <bruno@clisp.org>
60851
60852         * gnulib-tool: New option --local-symlink.
60853         (func_usage): Document it.
60854         (lsymbolic): New variable.
60855         (func_import, func_create_testdir): If --symlink was not specified,
60856         test whether --local-symlink was specified and the file comes from
60857         the local_gnulib_dir.
60858
60859 2006-11-12  Bruno Haible  <bruno@clisp.org>
60860
60861         * gnulib-tool (func_ln): New function.
60862         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
60863
60864 2006-11-12  Bruno Haible  <bruno@clisp.org>
60865
60866         Finish support for source files in subdirectories.
60867         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
60868         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
60869         AUTOMAKE_OPTIONS.
60870         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
60871
60872 2006-11-12  Bruno Haible  <bruno@clisp.org>
60873
60874         * gnulib-tool (func_get_automake_snippet): Synthesize also an
60875         EXTRA_lib_SOURCES augmentation.
60876         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
60877
60878 2006-11-12  Jim Meyering  <jim@meyering.net>
60879
60880         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
60881         file descriptors.  This also averts a failure on systems with
60882         native openat support when a traversed directory lacks "x" access.
60883         * lib/fts_.h: Include "i-ring.h"
60884         (struct FTS) [fts_fd_ring]: New member.
60885         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
60886         (FCHDIR): Add parentheses.
60887         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
60888         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
60889         When descending, rather than simply closing the previous
60890         fts_cwd_fd value, push that file descriptor onto the ring.
60891         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
60892         (fts_open): Initialize the new fd_ring member.
60893         (fts_close): Clear the ring.
60894         (fts_safe_changedir): When possible, use our new fd_ring to skip
60895         the diropen and fstat and dev/ino comparison that would normally
60896         accompany a virtual `chdir ("..")'.
60897
60898         * modules/fts (Depends-on): Add i-ring.
60899         * modules/i-ring: New module.
60900         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
60901         * m4/i-ring.m4: New file.
60902
60903 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60904
60905         * gnulib-tool (func_create_testdir): Fix replacement of
60906         `build-aux' in configure.ac.  Run autotools in gltests
60907         subdirectory.
60908         (func_create_testdir, func_create_megatestdir, test): There is
60909         no need for '--force' in most autotool invocations in a new
60910         tree.  Actually fail the whole test if any of the tools, or the
60911         configure or make stages fail.
60912
60913         Sync from Automake.
60914         * build-aux/gnupload: Revert last change.  Add pointer to upload
60915         instructions of the GNU Maintenance Instructions.
60916         Suggestion by Karl Berry.
60917
60918 2006-11-10  Jim Meyering  <jim@meyering.net>
60919
60920         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
60921
60922 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
60923
60924         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
60925         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
60926         (bind_textdomain_codeset) [! ENABLE_NLS]:
60927         Evaluate all the arguments.  That way, callers get compatible behavior
60928         if the arguments have side effects.  Also, it avoids some GCC
60929         diagnostics in some cases; Joel E. Denny reported problems when Bison
60930         was configured with --enable-gcc-warnigs.
60931
60932 2006-11-10  Jim Meyering  <jim@meyering.net>
60933
60934         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
60935         relevant options in CFLAGS (like -O, -fno-inline) are taken into
60936         account.
60937
60938 2006-11-10  Jim Meyering  <jim@meyering.net>
60939
60940         * modules/inline: New file/module.
60941         * modules/xalloc (Files): Remove m4/inline.m4.
60942         (Depends-on): Add inline, instead.
60943         * modules/oset: Likewise.
60944         * modules/list: Likewise.
60945
60946 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
60947
60948         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
60949         Problem reported by Matthew Woehlke.
60950
60951 2006-11-09  Bruno Haible  <bruno@clisp.org>
60952
60953         * lib/tempname.c (gen_tempname): Remove variant that invokes
60954         __gen_tempname.
60955         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
60956         __gen_tempname.
60957
60958 2006-11-08  Bruno Haible  <bruno@clisp.org>
60959
60960         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
60961         to 'yes' instead of 'cross-compiling'.
60962
60963 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
60964
60965         * lib/quotearg.h (quotearg_free): New decl.
60966         * lib/quotearg.c (quotearg_free): New function.
60967         (slot0, nslots, slotvec0, slotvec):
60968         Now file-scope so that quotearg_free can get at them.
60969
60970 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60971
60972         Sync from Automake.
60973         * build-aux/gnupload: Add missing 'gnu' to example URL.
60974         Report by Karl Berry.
60975
60976 2006-11-08  Bruno Haible  <bruno@clisp.org>
60977
60978         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
60979         Suggested by Paul Eggert.
60980
60981 2006-11-08  Jim Meyering  <jim@meyering.net>
60982
60983         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
60984         It's already included if !_LIBC.
60985         (fts_safe_changedir): Add a comment.
60986
60987 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
60988
60989         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
60990         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
60991         Matthew Woehlke.
60992
60993         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
60994         definitions up, to avoid colliding with change below.
60995         (static_inline) [HAVE_INLINE]: New macro.
60996         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
60997         Provide extern decls when !HAVE_INLINE.  Do not define unless
60998         static_inline is defined, either by us or by xmalloc.c.  Use
60999         static_inline rather than static inline.
61000         (XCALLOC): Optimize sizeof(T) = 1 case.
61001         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
61002
61003 2006-11-07  Bruno Haible  <bruno@clisp.org>
61004
61005         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
61006         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
61007         AC_C_INLINE.
61008         * modules/xalloc (Files): Add m4/inline.m4.
61009
61010 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61011
61012         * README: Fix typo.
61013         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
61014         (Miscellanous Notes): ...from this.
61015
61016 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
61017
61018         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
61019         Mention that offsetof should be used instead of sizeof.
61020         From Bruno Haible.
61021
61022 2006-11-07  Bruno Haible  <bruno@clisp.org>
61023
61024         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
61025
61026 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
61027
61028         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
61029         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
61030         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
61031         (gl_tree_add_before, gl_tree_add_after):
61032         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
61033         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
61034         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
61035         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
61036         (gl_linked_add_after, gl_linked_add_at): Likewise.
61037         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
61038         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
61039         (gl_tree_add_before, gl_tree_add_after): Likewise.
61040         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
61041         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
61042         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
61043
61044 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61045
61046         * lib/gl_oset.h: Use C comment style, not C++ comment style.
61047
61048 2006-11-06  Bruno Haible  <bruno@clisp.org>
61049
61050         * m4/inline.m4: New file.
61051         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
61052         * modules/list (Files): Add m4/inline.m4.
61053         * modules/oset (Files): Likewise.
61054
61055 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
61056
61057         * lib/idcache.c: Include <stddef.h>, for offsetof.
61058         (struct userid.name): Change from char * to a flexible array member.
61059         All uses changed.
61060         * modules/idcache (Depends-on): Add flexmember.
61061
61062         * MODULES.html.sh (Core language properties): New module flexmember.
61063         * modules/flexmember, m4/flexmember.m4: New files.
61064
61065         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
61066         inline functions that are identical with the old xnmalloc_inline,
61067         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
61068         that we can avoid some unnecessary integer multiplications and
61069         divisions in the common case where the element size is known at
61070         compile time.
61071         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
61072         needed.
61073         (xnboundedmalloc): Remove.
61074         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
61075         arguments, for consistency with rest of this header.
61076         (xcharalloc): Rewrite using XNMALLOC.
61077         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
61078         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
61079         versions have been moved to lib/xalloc.h and renamed to be the
61080         non-*_inline versions.
61081         (xmalloc, xrealloc): Implement without reference to the xnmalloc
61082         and xnrealloc functions, since those functions are now inline and
61083         now call us.
61084         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
61085         renaming described above.
61086         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
61087         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
61088         captures the dependency in AC_C_INLINE.
61089
61090         New module canonicalize-lgpl, proposed by Charles Wilson in
61091         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
61092         with a few small changes afterwards.
61093         * MODULES.html.sh (File system functions): New module
61094         canonicalize-lgpl.
61095         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
61096         and canonicalize_file_name.
61097         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
61098         * modules/canonicalize-lgpl: New files.
61099
61100 2006-11-05  Bruno Haible  <bruno@clisp.org>
61101
61102         * gnulib-tool (func_import, func_create_testdir): Create directories
61103         also for files in subdirectories of lib/.
61104
61105 2006-11-05  Bruno Haible  <bruno@clisp.org>
61106
61107         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
61108         ANSI C compliant.
61109
61110 2006-11-03  Bruno Haible  <bruno@clisp.org>
61111
61112         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
61113         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
61114         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
61115         (xnboundedmalloc): New inline function.
61116         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
61117         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
61118         xmalloc.
61119         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
61120         xmalloc.
61121         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
61122         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
61123         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
61124         xmalloc.
61125         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
61126         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
61127         xmalloc.
61128         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
61129         gl_tree_add_after): Use XMALLOC instead of xmalloc.
61130         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
61131         xmalloc.
61132         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
61133         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
61134         gl_tree_add_after): Use XMALLOC instead of xmalloc.
61135         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
61136         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
61137         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
61138         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
61139
61140 2006-11-03  Bruno Haible  <bruno@clisp.org>
61141
61142         * lib/c-ctype.h [C++]: Define functions without name mangling.
61143         * lib/fwriteerror.h [C++]: Likewise.
61144         * lib/gcd.h [C++]: Likewise.
61145         * lib/linebreak.h [C++]: Likewise.
61146
61147 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
61148
61149         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
61150         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
61151         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
61152         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
61153         Check for functions and headers just once.
61154         Check for declaration of canonicalize_file_name.
61155         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
61156
61157 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
61158
61159         * gnulib-tool (func_import): Fix typo in actioncmd.
61160
61161 2006-11-02  Bruno Haible  <bruno@clisp.org>
61162
61163         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
61164         newline sequence in the Makefile.am snippet as a space, like "make"
61165         does.
61166         Reported by Roger Persson <perrog@gmail.com>.
61167
61168 2006-11-01  Bruno Haible  <bruno@clisp.org>
61169
61170         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
61171         already declared in <string.h>.
61172         * lib/strcase.h (strncasecmp): Don't declare it if yes.
61173
61174 2006-11-01  Bruno Haible  <bruno@clisp.org>
61175
61176         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
61177         * lib/strcase.h: Include <string.h>.
61178         (strcasecmp): Define to rpl_strcasecmp here.
61179
61180 2006-11-01  Bruno Haible  <bruno@clisp.org>
61181
61182         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
61183
61184 2006-11-01  Eric Blake  <ebb9@byu.net>
61185
61186         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
61187
61188         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
61189
61190 2006-10-29  Bruno Haible  <bruno@clisp.org>
61191
61192         Make it compile in C++ mode.
61193         * lib/full-write.c (full_rw): Add a cast.
61194
61195 2006-11-01  Bruno Haible  <bruno@clisp.org>
61196
61197         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
61198         be POSIX compliant.
61199         Reported by Roger Persson <perrog@gmail.com>.
61200
61201 2006-11-01  Eric Blake  <ebb9@byu.net>
61202
61203         * lib/getopt_.h: Fix comments.
61204
61205 2006-10-31  Eric Blake  <ebb9@byu.net>
61206
61207         * modules/tmpdir (Depends-on): Add sys_stat.
61208         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
61209         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
61210         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
61211         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
61212         tempname.
61213
61214 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
61215
61216         Avoid some C++ diagnostics reported by Bruno Haible.
61217         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
61218         xmalloc.
61219         (quotearg_alloc): Use xcharalloc rather than xmalloc.
61220         (struct slotvec): Move to top level.
61221         (quotearg_n_options): Rewrite to avoid xmalloc.
61222         * lib/xalloc.h (xcharalloc): New function.
61223         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
61224         [defined __cplusplus]: Add function template that provides result
61225         type propagation.  This part of the change is from Bruno Haible.
61226
61227 2006-10-29  Bruno Haible  <bruno@clisp.org>
61228
61229         Make it compile in C++ mode.
61230         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
61231         * lib/strnlen1.c (strnlen1): Cast memchr result.
61232         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
61233         * lib/clean-temp.c (string_equals, string_hash): Add casts.
61234         (create_temp_dir): Rename local variable 'template'.
61235         (compile_csharp_using_sscli): Add cast.
61236         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
61237         * lib/findprog.c (find_in_path): Likewise.
61238         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
61239         * lib/wait-process.c (register_slave_subprocess): Likewise.
61240
61241 2006-10-22  Bruno Haible  <bruno@clisp.org>
61242
61243         * modules/tsearch: New file.
61244         * lib/tsearch.h: New file.
61245         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
61246         * m4/tsearch.m4: New file.
61247         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
61248
61249 2006-10-29  Eric Blake  <ebb9@byu.net>
61250
61251         * lib/arcfour.c: Assume config.h.
61252         * lib/arctwo.c: Likewise.
61253         * lib/base64.c: Likewise.
61254         * lib/check-version.c: Likewise.
61255         * lib/crc.c: Likewise.
61256         * lib/des.c: Likewise.
61257         * lib/gc-gnulib.c: Likewise.
61258         * lib/gc-libgcrypt.c: Likewise.
61259         * lib/gc-pbkdf2-sha1.c: Likewise.
61260         * lib/getaddrinfo.c: Likewise.
61261         * lib/getdelim.c: Likewise.
61262         * lib/getline.c: Likewise.
61263         * lib/hmac-md5.c: Likewise.
61264         * lib/hmac-sha1.c: Likewise.
61265         * lib/iconvme.c: Likewise.
61266         * lib/md2.c: Likewise.
61267         * lib/md4.c: Likewise.
61268         * lib/memxor.c: Likewise.
61269         * lib/read-file.c: Likewise.
61270         * lib/readline.c: Likewise.
61271         * lib/rijndael-alg-fst.c: Likewise.
61272         * lib/rijndael-api-fst.c: Likewise.
61273         * lib/xgetdomainname.c: Likewise.
61274
61275 2006-10-28  Eric Blake  <ebb9@byu.net>
61276
61277         * lib/xstrndup.c: Assume config.h.
61278
61279 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
61280
61281         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
61282         stat-macros.h is now for our own macros, whereas stat_h is for
61283         macros in the <sys/stat.h> name space.
61284         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
61285         (STAT_MACROS_H): Remove.
61286         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
61287         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
61288         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
61289         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
61290         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
61291         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
61292         Move these macros to ...
61293         * lib/stat_.h: here.  Don't include stat-macros.h.
61294         * lib/canonicalize.c: Don't include stat-macros.h.
61295         * lib/chown.c: Likewise.
61296         * lib/euidaccess.c: Likewise.
61297         * lib/file-type.c: Likewise.
61298         * lib/filemode.c: Likewise.
61299         * lib/glob.c: Likewise.
61300         * lib/isapipe.c: Likewise.
61301         * lib/lchown.c: Likewise.
61302         * lib/lstat.c: Likewise.
61303         * lib/mkdir-p.c: Likewise.
61304         * lib/rmdir.c: Likewise.
61305         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
61306         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
61307         unless mkdir isn't declared, to speed up 'configure'.
61308         Always create sys/stat.h, since it's unlikely any real sys/stat.h
61309         would define all the S_* symbols.
61310         * modules/canonicalize (Depends-on):
61311         Depend on sys_stat, not stat-macros.
61312         * modules/chown: Likewise.
61313         * modules/euidaccess: Likewise.
61314         * modules/filemode: Likewise.
61315         * modules/file-type: Likewise.
61316         * modules/glob: Likewise.
61317         * modules/isapipe: Likewise.
61318         * modules/lchown: Likewise.
61319         * modules/lstat: Likewise.
61320         * modules/mkancesdirs: Likewise.
61321         * modules/rmdir: Likewise.
61322         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
61323         * modules/modechange: Likewise.
61324         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
61325         (configure.ac): Remove gl_STAT_MACROS.
61326         * modules/sys_stat (Depends-on): Remove stat-macros.
61327
61328 2006-10-27  Bruno Haible  <bruno@clisp.org>
61329
61330         * m4/signed.m4: Remove file.
61331         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
61332         invocation.
61333         * modules/vasnprintf (Files): Remove m4/signed.m4.
61334
61335 2006-10-27  Bruno Haible  <bruno@clisp.org>
61336
61337         Update to GNU gettext 0.16.
61338         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
61339         m4/inttypes-h.m4, m4/signed.m4.
61340         * m4/gettext.m4: Update to GNU gettext 0.16.
61341         * m4/intl.m4: New file, from GNU gettext.
61342         * m4/intldir.m4: New file, from GNU gettext.
61343         * config/srclist.txt: Update
61344
61345 2006-10-27  Eric Blake  <ebb9@byu.net>
61346
61347         * MODULES.html.sh: Document tempname.
61348         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
61349         dependencies.
61350         (Files): Move lib/tempname.c...
61351         * modules/tempname: ...to this new module.
61352         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
61353         (gl_PREREQ_TEMPNAME): Move...
61354         * m4/tempname.m4: ...to this new file.
61355         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
61356         * modules/sys_stat (Depends-on): Add stat-macros.
61357         * lib/stat_.h (includes): Pick up stat macros.
61358         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
61359         if stat macros are broken.
61360         * lib/tempname.c (includes): No need to include "stat-macros.h".
61361         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
61362         (direxists, __path_search) [!_LIBC]: Don't compile these in
61363         gnulib; the tmpdir module covers that.
61364         * lib/tempname.h: New file.
61365
61366 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
61367
61368         * COPYING: Explain how gnulib-tool converts licence headers.
61369         Almost all wording by Eric Blake.
61370
61371 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
61372
61373         * lib/mbchar.h (is_basic_table): Make read-only.
61374         * lib/mbchar.c (is_basic_table): Likewise.
61375         Reported by John Darrington.
61376
61377 2006-10-25  Bruno Haible  <bruno@clisp.org>
61378
61379         * lib/progname.h (set_program_name): Undefine before defining.
61380
61381 2006-10-25  Bruno Haible  <bruno@clisp.org>
61382
61383         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
61384         false for non-gcc C++ compilers.
61385         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
61386
61387 2006-10-24  Bruno Haible  <bruno@clisp.org>
61388
61389         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
61390         iconv implementations like Irix iconv.
61391
61392 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
61393
61394         * modules/vararrays: New file.
61395         * m4/vararrays.m4: New file, taken from diffutils.
61396         * MODULES.html.sh: New module vararrays.
61397
61398 2006-10-24  Karl Berry  <karl@gnu.org>
61399
61400         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
61401         Don't call GNU Unix.
61402
61403 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61404
61405         * users.txt: Add Libtool.
61406
61407         Sync from Libtool:
61408
61409         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
61410
61411         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
61412         to gnulib's policy of including config.h unconditionally.
61413
61414 2006-10-24  Bruno Haible  <bruno@clisp.org>
61415
61416         * modules/wcwidth (Files): Add m4/wint_t.m4.
61417         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
61418         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
61419
61420 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
61421
61422         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
61423         to pacify GCC with some -W flags enabled.  Problem reported by
61424         Bruno Haible.
61425
61426 2006-10-24  Jim Meyering  <jim@meyering.net>
61427
61428         * MODULES.html.sh: Remove uinttostr.  It's not a module.
61429         Reported by Karl Berry.
61430
61431 2006-10-23  Bruno Haible  <bruno@clisp.org>
61432
61433         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
61434
61435 2006-10-24  Bruno Haible  <bruno@clisp.org>
61436
61437         * lib/gl_list.h: Use C comment style, not C++ comment style.
61438
61439 2006-10-23  Eric Blake  <ebb9@byu.net>
61440
61441         * lib/getaddrinfo.c (includes): Add missing include.
61442
61443 2006-10-23  Bruno Haible  <bruno@clisp.org>
61444             Paul Eggert  <eggert@cs.ucla.edu>
61445
61446         Ability to rename obstack_free.
61447         * lib/obstack.h (__obstack_free): New macro. Declare instead of
61448         obstack_free.
61449         (obstack_free): Invoke the __obstack_free macro.
61450         * lib/obstack.c (obstack_free): Use __obstack_free macro.
61451
61452 2006-10-23  Bruno Haible  <bruno@clisp.org>
61453             Paul Eggert  <eggert@cs.ucla.edu>
61454
61455         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
61456         __argc, __argv from the declaration. (They are defined as macros on
61457         mingw.)
61458
61459 2006-10-22  Bruno Haible  <bruno@clisp.org>
61460
61461         * doc/gnulib-intro.texi: New file.
61462         * doc/gnulib.texi: Include it.
61463
61464 2006-10-21  Bruno Haible  <bruno@clisp.org>
61465
61466         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
61467         "Introduction", "Miscellanous Notes", "Particular Modules".
61468
61469 2006-10-21  Bruno Haible  <bruno@clisp.org>
61470
61471         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
61472         Change mostlyclean-local rule to avoid sh syntax error from bash
61473         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
61474
61475 2006-10-23  Jim Meyering  <jim@meyering.net>
61476
61477         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
61478         in place of snprintf.
61479
61480         * modules/inttostr (Files): Add lib/uinttostr.c.
61481         * lib/uinttostr.c (inttostr): New file/function.
61482         * lib/inttostr.h (uinttostr): Declare.
61483         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
61484         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
61485         Add uinttostr.
61486         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
61487
61488 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
61489
61490         * lib/canonicalize.c (ELOOP): Define if not already defined.
61491         Problem reported by Bruno Haible in
61492         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
61493
61494 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
61495
61496         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
61497         Problem reported by Perry Smith and Ville Laurikari.
61498
61499         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
61500         uses.
61501
61502 2006-10-19  Bruno Haible  <bruno@clisp.org>
61503
61504         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
61505         for mingw.
61506
61507 2006-10-19  Bruno Haible  <bruno@clisp.org>
61508
61509         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
61510         Needed for mingw.
61511
61512 2006-10-19  Bruno Haible  <bruno@clisp.org>
61513
61514         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
61515
61516 2006-10-19  Bruno Haible  <bruno@clisp.org>
61517
61518         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
61519         it.
61520
61521 2006-10-19  Bruno Haible  <bruno@clisp.org>
61522
61523         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
61524         invocation.
61525
61526 2006-10-19  Bruno Haible  <bruno@clisp.org>
61527
61528         * gnulib-tool (func_create_testdir): Don't include ftruncate and
61529         mountlist by default.
61530
61531 2006-10-16  Bruno Haible  <bruno@clisp.org>
61532
61533         * lib/c-strstr.c: Include c-strstr.h.
61534
61535 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
61536
61537         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
61538         in a slash.
61539
61540 2006-10-18  Bruno Haible  <bruno@clisp.org>
61541
61542         * lib/lock.h [C++]: Wrap definitions in extern "C".
61543
61544 2006-10-18  Bruno Haible  <bruno@clisp.org>
61545
61546         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
61547         gl_LIBOBJS list.
61548
61549 2006-10-18  Bruno Haible  <bruno@clisp.org>
61550
61551         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
61552
61553 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
61554
61555         * lib/xstrtol.h: Include gettext.h.
61556         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
61557         Problem reported by Eric Blake.
61558         * modules/xstrtol (Depends-on): Add gettext-h.
61559
61560 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
61561
61562         * lib/strftime.c (advance): New macro.
61563         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
61564         incomplete type, so you can't add 0 to it.  Problem and patch
61565         reported by Eelco Dolstra for dietlibc.
61566
61567 2006-10-18  Jim Meyering  <jim@meyering.net>
61568
61569         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
61570         type for a local, and rename it: s/up/user_proc/.
61571
61572 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
61573
61574         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
61575         READ_UTMP_USER_PROCESS.
61576         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
61577
61578 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
61579
61580         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
61581         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
61582
61583 2006-10-17  Eric Blake  <ebb9@byu.net>
61584
61585         * lib/sigprocmask.c (sigprocmask): Fix typo.
61586
61587         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
61588
61589         * modules/clean-temp (Makefile.am): Don't add to make output...
61590         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
61591         config.h.
61592
61593 2006-10-17  Bruno Haible  <bruno@clisp.org>
61594
61595         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
61596         differently if DEFAULT_TEXT_DOMAIN is set.
61597
61598 2006-10-16  Bruno Haible  <bruno@clisp.org>
61599
61600         * lib/clean-temp.c: Include fwriteerror.h.
61601
61602 2006-10-16  Bruno Haible  <bruno@clisp.org>
61603
61604         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
61605
61606 2006-10-16  Bruno Haible  <bruno@clisp.org>
61607
61608         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
61609         * lib/sigprocmask.h: Include <sys/types.h>.
61610         (sigset_t): Use the system's definition if present.
61611
61612 2006-10-17  Eric Blake  <ebb9@byu.net>
61613
61614         * lib/xvasprintf.c (includes): Assume config.h.
61615         * lib/xasprintf.c (includes): Likewise.
61616
61617 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
61618
61619         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
61620         at least as wide as intmax_t.
61621
61622 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
61623
61624         (Imported from Automake.)
61625         * build-aux/gnupload: Update to version 1.1 of directive file.
61626
61627 2006-10-16  Eric Blake  <ebb9@byu.net>
61628
61629         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
61630         match Automake 1.10a.
61631
61632 2006-10-14  Bruno Haible  <bruno@clisp.org>
61633
61634         * modules/sigprocmask: New file.
61635         * lib/sigprocmask.h: New file.
61636         * lib/sigprocmask.c: New file.
61637         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
61638         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
61639         request sigprocmask.o.
61640         (gl_PREREQ_SIGPROCMASK): New macro.
61641         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
61642         (Depends-on): Add sigprocmask.
61643         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
61644         gt_SIGNALBLOCKING. Test for 'raise' only once.
61645         * lib/fatal-signal.c: Include sigprocmask.h.
61646         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
61647         unblock_fatal_signals): Define always.
61648         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
61649         sigprocmask.
61650
61651 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
61652
61653         Sync from Automake.
61654         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
61655         which incorrectly sets the mode of an existing destination
61656         directory.  In some cases the unpatched install-sh could do the
61657         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
61658         system.  We hope this is rare in practice, but it's clearly worth
61659         fixing.  Problem reported by Alex Unleashed in
61660         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
61661         Also, don't bother to check for -m bugs unless we're using -m;
61662         suggested by Stepan Kasal.
61663
61664 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61665
61666         Sync from Automake.
61667         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
61668         `-c' flag, so they appear at the same position as in %FASTDEP%
61669         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
61670         which ignores unknown options only after the first non-option.
61671         Bug report against M4 by Nelson H. F. Beebe.
61672
61673 2006-10-13  Jim Meyering  <jim@meyering.net>
61674
61675         Fix a bug in yesterday's change.
61676         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
61677         p->fts_statp->st_dev would be used uninitialized.
61678         Ensures that we always call fts_stat on the very first entry.
61679         Miklos Szeredi reported that find -xdev stopped working.
61680
61681 2006-10-12  Bruno Haible  <bruno@clisp.org>
61682
61683         * gnulib-tool (func_get_automake_snippet): Append an automatically
61684         computed EXTRA_DIST augmentation.
61685         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
61686         * modules/alloca-opt (Makefile.am): Likewise.
61687         * modules/allocsa (Makefile.am): Likewise.
61688         * modules/arcfour (Makefile.am): Likewise.
61689         * modules/arctwo (Makefile.am): Likewise.
61690         * modules/argmatch (Makefile.am): Likewise.
61691         * modules/argz (Makefile.am): Likewise.
61692         * modules/atexit (Makefile.am): Likewise.
61693         * modules/backupfile (Makefile.am): Likewise.
61694         * modules/byteswap (Makefile.am): Likewise.
61695         * modules/c-strtod (Makefile.am): Likewise.
61696         * modules/c-strtold (Makefile.am): Likewise.
61697         * modules/calloc (Makefile.am): Likewise.
61698         * modules/canon-host (Makefile.am): Likewise.
61699         * modules/canonicalize (Makefile.am): Likewise.
61700         * modules/chdir-long (Makefile.am): Likewise.
61701         * modules/chdir-safer (Makefile.am): Likewise.
61702         * modules/check-version (Makefile.am): Likewise.
61703         * modules/chown (Makefile.am): Likewise.
61704         * modules/cloexec (Makefile.am): Likewise.
61705         * modules/close-stream (Makefile.am): Likewise.
61706         * modules/closeout (Makefile.am): Likewise.
61707         * modules/crc (Makefile.am): Likewise.
61708         * modules/csharpexec (Makefile.am): Likewise.
61709         * modules/cycle-check (Makefile.am): Likewise.
61710         * modules/des (Makefile.am): Likewise.
61711         * modules/dev-ino (Makefile.am): Likewise.
61712         * modules/dirfd (Makefile.am): Likewise.
61713         * modules/dirname (Makefile.am): Likewise.
61714         * modules/dup2 (Makefile.am): Likewise.
61715         * modules/eealloc (Makefile.am): Likewise.
61716         * modules/error (Makefile.am): Likewise.
61717         * modules/euidaccess (Makefile.am): Likewise.
61718         * modules/exclude (Makefile.am): Likewise.
61719         * modules/exitfail (Makefile.am): Likewise.
61720         * modules/fcntl-safer (Makefile.am): Likewise.
61721         * modules/fcntl (Makefile.am): Likewise.
61722         * modules/file-type (Makefile.am): Likewise.
61723         * modules/fileblocks (Makefile.am): Likewise.
61724         * modules/filemode (Makefile.am): Likewise.
61725         * modules/filenamecat (Makefile.am): Likewise.
61726         * modules/fnmatch (Makefile.am): Likewise.
61727         * modules/fopen-safer (Makefile.am): Likewise.
61728         * modules/fpending (Makefile.am): Likewise.
61729         * modules/fprintftime (Makefile.am): Likewise.
61730         * modules/free (Makefile.am): Likewise.
61731         * modules/fsusage (Makefile.am): Likewise.
61732         * modules/ftruncate (Makefile.am): Likewise.
61733         * modules/fts (Makefile.am): Likewise.
61734         * modules/gc-arcfour (Makefile.am): Likewise.
61735         * modules/gc-des (Makefile.am): Likewise.
61736         * modules/gc-hmac-md5 (Makefile.am): Likewise.
61737         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
61738         * modules/gc-md4 (Makefile.am): Likewise.
61739         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
61740         * modules/gc-sha1 (Makefile.am): Likewise.
61741         * modules/gc (Makefile.am): Likewise.
61742         * modules/getaddrinfo (Makefile.am): Likewise.
61743         * modules/getcwd (Makefile.am): Likewise.
61744         * modules/getdelim (Makefile.am): Likewise.
61745         * modules/getdomainname (Makefile.am): Likewise.
61746         * modules/getgroups (Makefile.am): Likewise.
61747         * modules/gethostname (Makefile.am): Likewise.
61748         * modules/gethrxtime (Makefile.am): Likewise.
61749         * modules/getline (Makefile.am): Likewise.
61750         * modules/getloadavg (Makefile.am): Likewise.
61751         * modules/getlogin_r (Makefile.am): Likewise.
61752         * modules/getndelim2 (Makefile.am): Likewise.
61753         * modules/getopt (Makefile.am): Likewise.
61754         * modules/getpagesize (Makefile.am): Likewise.
61755         * modules/getpass-gnu (Makefile.am): Likewise.
61756         * modules/getpass (Makefile.am): Likewise.
61757         * modules/getsubopt (Makefile.am): Likewise.
61758         * modules/gettime (Makefile.am): Likewise.
61759         * modules/gettimeofday (Makefile.am): Likewise.
61760         * modules/getugroups (Makefile.am): Likewise.
61761         * modules/getusershell (Makefile.am): Likewise.
61762         * modules/glob (Makefile.am): Likewise.
61763         * modules/group-member (Makefile.am): Likewise.
61764         * modules/hard-locale (Makefile.am): Likewise.
61765         * modules/hash (Makefile.am): Likewise.
61766         * modules/hmac-md5 (Makefile.am): Likewise.
61767         * modules/hmac-sha1 (Makefile.am): Likewise.
61768         * modules/human (Makefile.am): Likewise.
61769         * modules/idcache (Makefile.am): Likewise.
61770         * modules/imaxabs (Makefile.am): Likewise.
61771         * modules/imaxdiv (Makefile.am): Likewise.
61772         * modules/inet_ntop (Makefile.am): Likewise.
61773         * modules/inet_pton (Makefile.am): Likewise.
61774         * modules/intprops (Makefile.am): Likewise.
61775         * modules/inttostr (Makefile.am): Likewise.
61776         * modules/inttypes (Makefile.am): Likewise.
61777         * modules/isapipe (Makefile.am): Likewise.
61778         * modules/javaversion (Makefile.am): Likewise.
61779         * modules/lchmod (Makefile.am): Likewise.
61780         * modules/lchown (Makefile.am): Likewise.
61781         * modules/localcharset (Makefile.am): Likewise.
61782         * modules/long-options (Makefile.am): Likewise.
61783         * modules/lstat (Makefile.am): Likewise.
61784         * modules/malloc (Makefile.am): Likewise.
61785         * modules/mathl (Makefile.am): Likewise.
61786         * modules/mbchar (Makefile.am): Likewise.
61787         * modules/md2 (Makefile.am): Likewise.
61788         * modules/md4 (Makefile.am): Likewise.
61789         * modules/md5 (Makefile.am): Likewise.
61790         * modules/memcasecmp (Makefile.am): Likewise.
61791         * modules/memchr (Makefile.am): Likewise.
61792         * modules/memcmp (Makefile.am): Likewise.
61793         * modules/memcoll (Makefile.am): Likewise.
61794         * modules/memcpy (Makefile.am): Likewise.
61795         * modules/memmem (Makefile.am): Likewise.
61796         * modules/memmove (Makefile.am): Likewise.
61797         * modules/mempcpy (Makefile.am): Likewise.
61798         * modules/memrchr (Makefile.am): Likewise.
61799         * modules/memset (Makefile.am): Likewise.
61800         * modules/memxor (Makefile.am): Likewise.
61801         * modules/mkancesdirs (Makefile.am): Likewise.
61802         * modules/mkdir-p (Makefile.am): Likewise.
61803         * modules/mkdir (Makefile.am): Likewise.
61804         * modules/mkdtemp (Makefile.am): Likewise.
61805         * modules/mkstemp (Makefile.am): Likewise.
61806         * modules/mktime (Makefile.am): Likewise.
61807         * modules/modechange (Makefile.am): Likewise.
61808         * modules/mountlist (Makefile.am): Likewise.
61809         * modules/nanosleep (Makefile.am): Likewise.
61810         * modules/obstack (Makefile.am): Likewise.
61811         * modules/openat (Makefile.am): Likewise.
61812         * modules/pagealign_alloc (Makefile.am): Likewise.
61813         * modules/pathmax (Makefile.am): Likewise.
61814         * modules/physmem (Makefile.am): Likewise.
61815         * modules/poll (Makefile.am): Likewise.
61816         * modules/posixtm (Makefile.am): Likewise.
61817         * modules/posixver (Makefile.am): Likewise.
61818         * modules/putenv (Makefile.am): Likewise.
61819         * modules/quote (Makefile.am): Likewise.
61820         * modules/quotearg (Makefile.am): Likewise.
61821         * modules/raise (Makefile.am): Likewise.
61822         * modules/read-file (Makefile.am): Likewise.
61823         * modules/readline (Makefile.am): Likewise.
61824         * modules/readlink (Makefile.am): Likewise.
61825         * modules/readtokens (Makefile.am): Likewise.
61826         * modules/readutmp (Makefile.am): Likewise.
61827         * modules/realloc (Makefile.am): Likewise.
61828         * modules/regex (Makefile.am): Likewise.
61829         * modules/rename-dest-slash (Makefile.am): Likewise.
61830         * modules/rename (Makefile.am): Likewise.
61831         * modules/rijndael (Makefile.am): Likewise.
61832         * modules/rmdir (Makefile.am): Likewise.
61833         * modules/rpmatch (Makefile.am): Likewise.
61834         * modules/safe-read (Makefile.am): Likewise.
61835         * modules/safe-write (Makefile.am): Likewise.
61836         * modules/same-inode (Makefile.am): Likewise.
61837         * modules/same (Makefile.am): Likewise.
61838         * modules/save-cwd (Makefile.am): Likewise.
61839         * modules/savedir (Makefile.am): Likewise.
61840         * modules/setenv (Makefile.am): Likewise.
61841         * modules/settime (Makefile.am): Likewise.
61842         * modules/sha1 (Makefile.am): Likewise.
61843         * modules/sig2str (Makefile.am): Likewise.
61844         * modules/snprintf (Makefile.am): Likewise.
61845         * modules/stat-macros (Makefile.am): Likewise.
61846         * modules/stat-time (Makefile.am): Likewise.
61847         * modules/stdbool (Makefile.am): Likewise.
61848         * modules/stdint (Makefile.am): Likewise.
61849         * modules/stdlib-safer (Makefile.am): Likewise.
61850         * modules/stpcpy (Makefile.am): Likewise.
61851         * modules/stpncpy (Makefile.am): Likewise.
61852         * modules/strcase (Makefile.am): Likewise.
61853         * modules/strcasestr (Makefile.am): Likewise.
61854         * modules/strchrnul (Makefile.am): Likewise.
61855         * modules/strcspn (Makefile.am): Likewise.
61856         * modules/strdup (Makefile.am): Likewise.
61857         * modules/strerror (Makefile.am): Likewise.
61858         * modules/strftime (Makefile.am): Likewise.
61859         * modules/strndup (Makefile.am): Likewise.
61860         * modules/strnlen (Makefile.am): Likewise.
61861         * modules/strpbrk (Makefile.am): Likewise.
61862         * modules/strsep (Makefile.am): Likewise.
61863         * modules/strstr (Makefile.am): Likewise.
61864         * modules/strtod (Makefile.am): Likewise.
61865         * modules/strtoimax (Makefile.am): Likewise.
61866         * modules/strtok_r (Makefile.am): Likewise.
61867         * modules/strtol (Makefile.am): Likewise.
61868         * modules/strtoll (Makefile.am): Likewise.
61869         * modules/strtoul (Makefile.am): Likewise.
61870         * modules/strtoull (Makefile.am): Likewise.
61871         * modules/strtoumax (Makefile.am): Likewise.
61872         * modules/strverscmp (Makefile.am): Likewise.
61873         * modules/sys_socket (Makefile.am): Likewise.
61874         * modules/sys_stat (Makefile.am): Likewise.
61875         * modules/sysexits (Makefile.am): Likewise.
61876         * modules/time_r (Makefile.am): Likewise.
61877         * modules/timegm (Makefile.am): Likewise.
61878         * modules/timespec (Makefile.am): Likewise.
61879         * modules/tmpfile-safer (Makefile.am): Likewise.
61880         * modules/trim (Makefile.am): Likewise.
61881         * modules/unistd-safer (Makefile.am): Likewise.
61882         * modules/unlinkdir (Makefile.am): Likewise.
61883         * modules/unlocked-io (Makefile.am): Likewise.
61884         * modules/userspec (Makefile.am): Likewise.
61885         * modules/utime (Makefile.am): Likewise.
61886         * modules/utimecmp (Makefile.am): Likewise.
61887         * modules/utimens (Makefile.am): Likewise.
61888         * modules/vasnprintf (Makefile.am): Likewise.
61889         * modules/vasprintf (Makefile.am): Likewise.
61890         * modules/vsnprintf (Makefile.am): Likewise.
61891         * modules/xalloc (Makefile.am): Likewise.
61892         * modules/xgetcwd (Makefile.am): Likewise.
61893         * modules/xnanosleep (Makefile.am): Likewise.
61894         * modules/xreadlink (Makefile.am): Likewise.
61895         * modules/xstrtod (Makefile.am): Likewise.
61896         * modules/xstrtol (Makefile.am): Likewise.
61897         * modules/xstrtold (Makefile.am): Likewise.
61898         * modules/yesno (Makefile.am): Likewise.
61899         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
61900
61901 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
61902
61903         * modules/error (Makefile.am): Distribute files through
61904         EXTRA_DIST, not lib_SOURCES.
61905
61906 2006-10-12  Eric Blake  <ebb9@byu.net>
61907
61908         * modules/error (Makefile.am): Distribute files in /lib.
61909         * modules/obstack (Makefile.am): Likewise.
61910
61911 2006-10-12  Bruno Haible  <bruno@clisp.org>
61912
61913         * modules/acl (Makefile.am): Distribute all files in lib/ through
61914         EXTRA_DIST.
61915         * modules/arcfour (Makefile.am): Likewise.
61916         * modules/arctwo (Makefile.am): Likewise.
61917         * modules/argmatch (Makefile.am): Likewise.
61918         * modules/argz (Makefile.am): Likewise.
61919         * modules/atexit (Makefile.am): Likewise.
61920         * modules/backupfile (Makefile.am): Likewise.
61921         * modules/c-strtod (Makefile.am): Likewise.
61922         * modules/c-strtold (Makefile.am): Likewise.
61923         * modules/calloc (Makefile.am): Likewise.
61924         * modules/canon-host (Makefile.am): Likewise.
61925         * modules/canonicalize (Makefile.am): Likewise.
61926         * modules/chdir-long (Makefile.am): Likewise.
61927         * modules/chdir-safer (Makefile.am): Likewise.
61928         * modules/check-version (Makefile.am): Likewise.
61929         * modules/chown (Makefile.am): Likewise.
61930         * modules/cloexec (Makefile.am): Likewise.
61931         * modules/close-stream (Makefile.am): Likewise.
61932         * modules/closeout (Makefile.am): Likewise.
61933         * modules/crc (Makefile.am): Likewise.
61934         * modules/cycle-check (Makefile.am): Likewise.
61935         * modules/des (Makefile.am): Likewise.
61936         * modules/dirfd (Makefile.am): Likewise.
61937         * modules/dirname (Makefile.am): Likewise.
61938         * modules/dup2 (Makefile.am): Likewise.
61939         * modules/euidaccess (Makefile.am): Likewise.
61940         * modules/exclude (Makefile.am): Likewise.
61941         * modules/exitfail (Makefile.am): Likewise.
61942         * modules/fcntl-safer (Makefile.am): Likewise.
61943         * modules/file-type (Makefile.am): Likewise.
61944         * modules/fileblocks (Makefile.am): Likewise.
61945         * modules/filemode (Makefile.am): Likewise.
61946         * modules/filenamecat (Makefile.am): Likewise.
61947         * modules/fnmatch (Makefile.am): Likewise.
61948         * modules/fopen-safer (Makefile.am): Likewise.
61949         * modules/fpending (Makefile.am): Likewise.
61950         * modules/fprintftime (Makefile.am): Likewise.
61951         * modules/free (Makefile.am): Likewise.
61952         * modules/fsusage (Makefile.am): Likewise.
61953         * modules/ftruncate (Makefile.am): Likewise.
61954         * modules/fts (Makefile.am): Likewise.
61955         * modules/gc (Makefile.am): Likewise.
61956         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
61957         * modules/getaddrinfo (Makefile.am): Likewise.
61958         * modules/getcwd (Makefile.am): Likewise.
61959         * modules/getdelim (Makefile.am): Likewise.
61960         * modules/getdomainname (Makefile.am): Likewise.
61961         * modules/getgroups (Makefile.am): Likewise.
61962         * modules/gethostname (Makefile.am): Likewise.
61963         * modules/gethrxtime (Makefile.am): Likewise.
61964         * modules/getline (Makefile.am): Likewise.
61965         * modules/getloadavg (Makefile.am): Likewise.
61966         * modules/getlogin_r (Makefile.am): Likewise.
61967         * modules/getopt (Makefile.am): Likewise.
61968         * modules/getpass (Makefile.am): Likewise.
61969         * modules/getpass-gnu (Makefile.am): Likewise.
61970         * modules/getsubopt (Makefile.am): Likewise.
61971         * modules/gettime (Makefile.am): Likewise.
61972         * modules/gettimeofday (Makefile.am): Likewise.
61973         * modules/getugroups (Makefile.am): Likewise.
61974         * modules/getusershell (Makefile.am): Likewise.
61975         * modules/glob (Makefile.am): Likewise.
61976         * modules/group-member (Makefile.am): Likewise.
61977         * modules/hard-locale (Makefile.am): Likewise.
61978         * modules/hash (Makefile.am): Likewise.
61979         * modules/hmac-md5 (Makefile.am): Likewise.
61980         * modules/hmac-sha1 (Makefile.am): Likewise.
61981         * modules/human (Makefile.am): Likewise.
61982         * modules/idcache (Makefile.am): Likewise.
61983         * modules/imaxabs (Makefile.am): Likewise.
61984         * modules/imaxdiv (Makefile.am): Likewise.
61985         * modules/inet_ntop (Makefile.am): Likewise.
61986         * modules/inet_pton (Makefile.am): Likewise.
61987         * modules/inttostr (Makefile.am): Likewise.
61988         * modules/isapipe (Makefile.am): Likewise.
61989         * modules/lchown (Makefile.am): Likewise.
61990         * modules/long-options (Makefile.am): Likewise.
61991         * modules/lstat (Makefile.am): Likewise.
61992         * modules/malloc (Makefile.am): Likewise.
61993         * modules/mathl (Makefile.am): Likewise.
61994         * modules/mbchar (Makefile.am): Likewise.
61995         * modules/md2 (Makefile.am): Likewise.
61996         * modules/md4 (Makefile.am): Likewise.
61997         * modules/md5 (Makefile.am): Likewise.
61998         * modules/memcasecmp (Makefile.am): Likewise.
61999         * modules/memchr (Makefile.am): Likewise.
62000         * modules/memcmp (Makefile.am): Likewise.
62001         * modules/memcoll (Makefile.am): Likewise.
62002         * modules/memcpy (Makefile.am): Likewise.
62003         * modules/memmem (Makefile.am): Likewise.
62004         * modules/memmove (Makefile.am): Likewise.
62005         * modules/mempcpy (Makefile.am): Likewise.
62006         * modules/memrchr (Makefile.am): Likewise.
62007         * modules/memset (Makefile.am): Likewise.
62008         * modules/memxor (Makefile.am): Likewise.
62009         * modules/mkancesdirs (Makefile.am): Likewise.
62010         * modules/mkdir (Makefile.am): Likewise.
62011         * modules/mkdir-p (Makefile.am): Likewise.
62012         * modules/mkdtemp (Makefile.am): Likewise.
62013         * modules/mkstemp (Makefile.am): Likewise.
62014         * modules/mktime (Makefile.am): Likewise.
62015         * modules/modechange (Makefile.am): Likewise.
62016         * modules/mountlist (Makefile.am): Likewise.
62017         * modules/nanosleep (Makefile.am): Likewise.
62018         * modules/openat (Makefile.am): Likewise.
62019         * modules/pagealign_alloc (Makefile.am): Likewise.
62020         * modules/physmem (Makefile.am): Likewise.
62021         * modules/poll (Makefile.am): Likewise.
62022         * modules/posixtm (Makefile.am): Likewise.
62023         * modules/posixver (Makefile.am): Likewise.
62024         * modules/putenv (Makefile.am): Likewise.
62025         * modules/quote (Makefile.am): Likewise.
62026         * modules/quotearg (Makefile.am): Likewise.
62027         * modules/raise (Makefile.am): Likewise.
62028         * modules/read-file (Makefile.am): Likewise.
62029         * modules/readline (Makefile.am): Likewise.
62030         * modules/readlink (Makefile.am): Likewise.
62031         * modules/readtokens (Makefile.am): Likewise.
62032         * modules/readutmp (Makefile.am): Likewise.
62033         * modules/realloc (Makefile.am): Likewise.
62034         * modules/regex (Makefile.am): Likewise.
62035         * modules/rename (Makefile.am): Likewise.
62036         * modules/rename-dest-slash (Makefile.am): Likewise.
62037         * modules/rijndael (Makefile.am): Likewise.
62038         * modules/rmdir (Makefile.am): Likewise.
62039         * modules/rpmatch (Makefile.am): Likewise.
62040         * modules/safe-read (Makefile.am): Likewise.
62041         * modules/safe-write (Makefile.am): Likewise.
62042         * modules/same (Makefile.am): Likewise.
62043         * modules/save-cwd (Makefile.am): Likewise.
62044         * modules/savedir (Makefile.am): Likewise.
62045         * modules/setenv (Makefile.am): Likewise.
62046         * modules/settime (Makefile.am): Likewise.
62047         * modules/sha1 (Makefile.am): Likewise.
62048         * modules/sig2str (Makefile.am): Likewise.
62049         * modules/snprintf (Makefile.am): Likewise.
62050         * modules/stdlib-safer (Makefile.am): Likewise.
62051         * modules/stpcpy (Makefile.am): Likewise.
62052         * modules/stpncpy (Makefile.am): Likewise.
62053         * modules/strcase (Makefile.am): Likewise.
62054         * modules/strcasestr (Makefile.am): Likewise.
62055         * modules/strchrnul (Makefile.am): Likewise.
62056         * modules/strcspn (Makefile.am): Likewise.
62057         * modules/strdup (Makefile.am): Likewise.
62058         * modules/strerror (Makefile.am): Likewise.
62059         * modules/strftime (Makefile.am): Likewise.
62060         * modules/strndup (Makefile.am): Likewise.
62061         * modules/strnlen (Makefile.am): Likewise.
62062         * modules/strpbrk (Makefile.am): Likewise.
62063         * modules/strsep (Makefile.am): Likewise.
62064         * modules/strstr (Makefile.am): Likewise.
62065         * modules/strtod (Makefile.am): Likewise.
62066         * modules/strtoimax (Makefile.am): Likewise.
62067         * modules/strtok_r (Makefile.am): Likewise.
62068         * modules/strtol (Makefile.am): Likewise.
62069         * modules/strtoll (Makefile.am): Likewise.
62070         * modules/strtoul (Makefile.am): Likewise.
62071         * modules/strtoull (Makefile.am): Likewise.
62072         * modules/strtoumax (Makefile.am): Likewise.
62073         * modules/strverscmp (Makefile.am): Likewise.
62074         * modules/time_r (Makefile.am): Likewise.
62075         * modules/timegm (Makefile.am): Likewise.
62076         * modules/tmpfile-safer (Makefile.am): Likewise.
62077         * modules/unistd-safer (Makefile.am): Likewise.
62078         * modules/unlinkdir (Makefile.am): Likewise.
62079         * modules/userspec (Makefile.am): Likewise.
62080         * modules/utime (Makefile.am): Likewise.
62081         * modules/utimecmp (Makefile.am): Likewise.
62082         * modules/utimens (Makefile.am): Likewise.
62083         * modules/vasnprintf (Makefile.am): Likewise.
62084         * modules/vasprintf (Makefile.am): Likewise.
62085         * modules/vsnprintf (Makefile.am): Likewise.
62086         * modules/xalloc (Makefile.am): Likewise.
62087         * modules/xgetcwd (Makefile.am): Likewise.
62088         * modules/xnanosleep (Makefile.am): Likewise.
62089         * modules/xreadlink (Makefile.am): Likewise.
62090         * modules/xstrtod (Makefile.am): Likewise.
62091         * modules/xstrtol (Makefile.am): Likewise.
62092         * modules/xstrtold (Makefile.am): Likewise.
62093         * modules/yesno (Makefile.am): Likewise.
62094
62095 2006-10-12  Jim Meyering  <jim@meyering.net>
62096
62097         * m4/getloadavg.m4: Revert the change below.
62098
62099         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
62100         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
62101         fail with a symlink, which is what coreutils' ./bootstrap now
62102         creates by default.
62103
62104 2006-10-12  Bruno Haible  <bruno@clisp.org>
62105
62106         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
62107         mingw.
62108         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
62109         MSVC and mingw explicitly.
62110
62111 2006-10-11  Simon Josefsson  <jas@extundo.com>
62112             Bruno Haible  <bruno@clisp.org>
62113
62114         Add support for multiple gnulib-tool invocations in the scope of a
62115         single configure.ac file.
62116         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
62117         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
62118         with the same contents as the _LIBADD variable.
62119         (func_emit_initmacro_start, func_emit_initmacro_end,
62120         func_emit_initmacro_done): New functions.
62121         (func_import, func_create_testdir): Invoke them. Allow the identifiers
62122         gl_LIBOBJS and gl_LTLIBOBJS.
62123
62124 2006-10-11  Bruno Haible  <bruno@clisp.org>
62125
62126         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
62127         (func_create_testdir): Don't create po/Makefile.am, don't invoke
62128         autoreconf. Instead, invoke autopoint explicitly but move back the
62129         *.m4 files from gnulib.
62130
62131 2006-10-11  Bruno Haible  <bruno@clisp.org>
62132
62133         * gnulib-tool (func_usage): Make module names after --create-testdir
62134         optional.
62135         (func_create_testdir): If no module was specified, use nearly all
62136         modules.
62137
62138 2006-10-12  Jim Meyering  <jim@meyering.net>
62139
62140         Big performance improvement for fts-based tools that use FTS_NOSTAT.
62141         Avoid spurious inode-mismatch problems on non-POSIX file systems.
62142         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
62143         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
62144         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
62145         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
62146         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
62147         (fts_set_stat_required): New function.
62148         (fts_open): Defer the calls to fts_stat, if possible or requested.
62149         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
62150         into fts_stat itself.
62151         (fts_read): Perform any required (deferred) fts_stat call.
62152         (fts_build): Likewise, for the directory we're about to open and read.
62153         In the readdir loop, carefully decide whether each entry will require
62154         an eventual call to fts_stat, using dirent.d_type info if available.
62155         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
62156         a command line argument into this function.  Update all callers.
62157         Map a return value of FTS_DOT to FTS_D for a command line argument.
62158         * modules/fts (Depends-on): Add d-type.  Alphabetize.
62159         Thanks to Miklos Szeredi for his tenacity and for the initial
62160         bug report about "find" failing on a FUSE-based file system.
62161
62162         * lib/fts.c (fts_open): Use consistent indentation.
62163
62164 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
62165
62166         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
62167         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
62168         reported by Jim Meyering.  All uses of cache variables renamed
62169         to match Autoconf's.
62170         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
62171         the other one.
62172
62173         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
62174         Fix misspelling in diagnostic.
62175
62176 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
62177
62178         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
62179         defined.  Problem reported by Matthew Woehlke.
62180
62181         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
62182         Add support for Tandem NonStop R series.
62183         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
62184         Use new macro.
62185
62186         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
62187         (has_trailing_slash): Omit size arg; all callers changed.
62188         Omit 'inline', since it doesn't help performance and we'd
62189         need to configure it.
62190         Don't count //, ///, etc. as having a trailing slash.
62191         As a side effect, this removes a C99ism reported by Matthew Woehlke.
62192         (rpl_rename_dest_slash): On failure, use rename's errno rather
62193         than (in some cases) an incorrect or junk errno.
62194         Simplify code by removing need to compute length; this does
62195         cause it to make two passes instead of one over the file name,
62196         but it's worth it.
62197
62198         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
62199         change, since Autoconf's version may no longer be appropriate now
62200         that we are using CVS Autoconf's version.  Add support for Tandem.
62201
62202 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
62203             Bruno Haible  <bruno@clisp.org>
62204
62205         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
62206         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
62207         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
62208         gl_AC_TYPE_LONG_LONG.
62209
62210         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
62211         instead of HAVE_LONG_LONG.
62212         * lib/printf-args.c (printf_fetchargs): Likewise.
62213         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
62214         * lib/vasnprintf.c (VASNPRINTF): Likewise.
62215         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
62216         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
62217         gl_AC_TYPE_LONG_LONG.
62218
62219 2006-10-11  Bruno Haible  <bruno@clisp.org>
62220
62221         * m4/longlong.m4: Add comments.
62222         * m4/ulonglong.m4: Likewise.
62223
62224 2006-10-10  Bruno Haible  <bruno@clisp.org>
62225
62226         Make it possible to #define stpcpy, strdup to aliases.
62227         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
62228         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
62229
62230 2006-10-10  Bruno Haible  <bruno@clisp.org>
62231
62232         Make it possible to #define gcd to an alias.
62233         * lib/gcd.c: Include config.h.
62234
62235 2006-10-10  Bruno Haible  <bruno@clisp.org>
62236
62237         Make it possible to #define c_isascii to an alias.
62238         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
62239         defined. Undefine the macros before defining them, to avoid gcc
62240         warnings.
62241         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
62242         define NO_C_CTYPE_MACROS early.
62243
62244 2006-10-10  Bruno Haible  <bruno@clisp.org>
62245
62246         Make it possible to #define set_program_name to an alias.
62247         * lib/progname.c: Don't undefine set_program_name; instead, undefine
62248         ENABLE_RELOCATABLE early.
62249
62250 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
62251
62252         Port to Tandem NSK OSS, which has 64-bit signed int but at most
62253         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
62254         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
62255         More generally, don't assume that 64-bit signed int is available
62256         if unsigned int is, and vice versa.
62257         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
62258         unsigned symbols, not on their signed counterparts.
62259         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
62260         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
62261         (UINT64_C, UINTMAX_C):
62262         Likewise.
62263         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
62264         unsigned counterparts.
62265         (Have_long_long, Unsigned): New macros.
62266         (Int): Renamed from INT.
62267         (strtoimax): Use the new macros.
62268         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
62269         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
62270         * modules/inttypes (inttypes.h): Substitute
62271         HAVE_UNSIGNED_LONG_LONG_INT.
62272         * modules/stdint (stdint.h): Likewise.
62273         (Files): Add m4/ulonglong.m4.
62274
62275 2006-10-10  Bruno Haible  <bruno@clisp.org>
62276
62277         Fix a gcc -Wshadow warning.
62278         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
62279         to 'bucket'.
62280         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
62281         gl_linked_indexof_from_to): Likewise.
62282         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
62283         Likewise.
62284         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
62285         Likewise.
62286         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
62287         Reported by Eric Blake.
62288
62289 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
62290
62291         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
62292         for NetBSD.  Problem reported by Bruno Haible.
62293
62294 2006-10-09  Jim Meyering  <jim@meyering.net>
62295
62296         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
62297         Patch from Bruno Haible.
62298
62299 2006-10-09  Jim Meyering  <jim@meyering.net>
62300
62301         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
62302         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
62303         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
62304
62305 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
62306
62307         Don't include <config.h> twice; this doesn't work in some cases,
62308         e.g., when config.h has "#define intmax_t long long int" and
62309         we include <config.h>, <inttypes.h>, <config.h> in that order.
62310         Problem reported by Matthew Woehlke in:
62311         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
62312         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
62313         * lib/fts-cycle.c: Don't include config.h.
62314         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
62315         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
62316         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
62317         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
62318         inttypes.h.
62319         * lib/xstrtoumax.c: Likewise.
62320         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
62321         __strtol and the like, so that this module is more like its siblings.
62322         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
62323         Remove; no longer needed now that we assume gnulib inttypes.h.
62324
62325 2006-10-08  Bruno Haible  <bruno@clisp.org>
62326
62327         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
62328         option.
62329
62330 2006-10-07  Jim Meyering  <jim@meyering.net>
62331
62332         * modules/inttypes (inttypes.h): Revert what seems to have been
62333         an inadvertent part of today's change: use "|", not "/" in the
62334         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
62335
62336 2006-10-07  Bruno Haible  <bruno@clisp.org>
62337
62338         * modules/sublist: New file.
62339
62340 2006-10-07  Bruno Haible  <bruno@clisp.org>
62341
62342         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
62343         * modules/argz (argz.h): Likewise.
62344         * modules/arpa_inet (arpa/inet.h): Likewise.
62345         * modules/byteswap (byteswap.h): Likewise.
62346         * modules/configmake (configmake.h): Likewise.
62347         * modules/fcntl (fcntl.h): Likewise.
62348         * modules/fnmatch (fnmatch.h): Likewise.
62349         * modules/getopt (getopt.h): Likewise.
62350         * modules/glob (glob.h): Likewise.
62351         * modules/inttypes (inttypes.h): Likewise.
62352         * modules/netinet_in (netinet/in.h): Likewise.
62353         * modules/poll (poll.h): Likewise.
62354         * modules/stdbool (stdbool.h): Likewise.
62355         * modules/stdint (stdint.h): Likewise.
62356         * modules/sys_select (sys/select.h): Likewise.
62357         * modules/sys_socket (sys/socket.h): Likewise.
62358         * modules/sys_stat (sys/stat.h): Likewise.
62359         * modules/sysexits (sysexits.h): Likewise.
62360         * modules/unistd (unistd.h): Likewise.
62361         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
62362         Add a "DO NOT EDIT" comment to the generated file.
62363         (func_import): Likewise for gnulib-comp.m4.
62364
62365 2006-10-07  Bruno Haible  <bruno@clisp.org>
62366
62367         * lib/gl_sublist.h: New file.
62368         * lib/gl_sublist.c: New file.
62369
62370 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
62371
62372         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
62373         name (relative to the original working directory) and the file
62374         name component (relative to the temporary working directory).  All
62375         callers changed.
62376         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
62377         * lib/mkdir-p.c (make_dir_parents): Likewise.
62378         * lib/mkdir-p.h (make_dir_parents): Likewise.
62379
62380 2006-10-06  Eric Blake  <ebb9@byu.net>
62381
62382         Define several macros for use by the clean-temp module.
62383         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
62384         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
62385         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
62386
62387         * lib/clean-temp.h (close_stream_temp): New declaration.
62388         * lib/clean-temp.c (includes): Pull in headers according to what
62389         other modules are in use.
62390         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
62391
62392 2006-10-06  Bruno Haible  <bruno@clisp.org>
62393
62394         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
62395         instead of fopen, fwriteerror.
62396
62397 2006-10-06  Bruno Haible  <bruno@clisp.org>
62398
62399         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
62400         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
62401         int.
62402         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
62403         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
62404         Return an error indicator.
62405         Suggested by Eric Blake.
62406
62407 2006-10-06  Bruno Haible  <bruno@clisp.org>
62408
62409         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
62410         Reported by Eric Blake.
62411
62412 2006-10-06  Bruno Haible  <bruno@clisp.org>
62413
62414         * modules/closeout (Description): Mention stderr too.
62415
62416 2006-10-06  Bruno Haible  <bruno@clisp.org>
62417         and Paul Eggert  <eggert@cs.ucla.edu>
62418
62419         * lib/closeout.c (close_stdout): Also close stderr.
62420         * lib/closeout.h: Update comment.
62421
62422 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
62423
62424         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
62425         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
62426         * lib/dirchownmod.c: Include lchown.h.
62427         * lib/lchown.c: Don't include files that lchown.h now includes.
62428         Don't declare chown, since lchown.h now does that.
62429         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
62430         (lchown): Define to rpl_chown if lchown is declared but
62431         does not exist.  Declare using a prototype if lchown is not
62432         declared.  Add a copyright notice.
62433         * lib/mkstemp.h: Include <unistd.h>.
62434         * lib/openat.c: Include lchown.h.
62435
62436         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
62437         we now test for that separately.
62438         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
62439         rather than O_NOFOLLOW, when testing whether it's possible to
62440         avoid a race condition reliably.
62441         * lib/savewd.c (savewd_chdir): Likewise.
62442
62443         Remove macros that are no longer needed now that stdint.h is
62444         reliable.
62445         * lib/fsusage.c (UINTMAX_MAX): Remove.
62446         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
62447         * lib/utimecmp.c (SIZE_MAX): Remove.
62448
62449         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
62450
62451         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
62452         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
62453         O_NOATIME works.
62454
62455 2006-10-05  Bruno Haible  <bruno@clisp.org>
62456
62457         * lib/gl_list.h (gl_sortedlist_search_from_to,
62458         gl_sortedlist_indexof_from_to): New declarations.
62459         (gl_list_implementation): New fields sortedlist_search_from_to,
62460         sortedlist_indexof_from_to.
62461         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
62462         inline functions.
62463         * lib/gl_list.c (gl_sortedlist_search_from_to,
62464         gl_sortedlist_indexof_from_to): New functions.
62465         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
62466         function.
62467         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
62468         (gl_array_sortedlist_search_from_to): New function.
62469         (gl_array_list_implementation): Update.
62470         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
62471         function.
62472         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
62473         (gl_carray_sortedlist_search_from_to): New function.
62474         (gl_carray_list_implementation): Update.
62475         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
62476         gl_linked_sortedlist_indexof_from_to): New functions.
62477         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
62478         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
62479         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
62480         gl_tree_sortedlist_indexof_from_to): New functions.
62481         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
62482         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
62483         Update.
62484         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
62485         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
62486         Update.
62487
62488 2006-10-05  Bruno Haible  <bruno@clisp.org>
62489
62490         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
62491         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
62492         (struct gl_list_implementation): Add fields search_from_to,
62493         indexof_from_to. Remove fields search, indexof.
62494         (gl_list_search): Use the search_from_to method.
62495         (gl_list_search_from, gl_list_search_from_to): New functions.
62496         (gl_list_indexof): Use the indexof_from_to method.
62497         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
62498         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
62499         (gl_list_search_from, gl_list_search_from_to): New functions.
62500         (gl_list_indexof): Use the indexof_from_to method.
62501         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
62502         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
62503         gl_array_indexof. Add start_index, end_index arguments.
62504         (gl_array_search_from_to): Renamed from gl_array_search. Add
62505         start_index, end_index arguments.
62506         (gl_array_remove, gl_array_list_implementation): Update.
62507         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
62508         gl_carray_indexof. Add start_index, end_index arguments.
62509         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
62510         start_index, end_index arguments.
62511         (gl_carray_remove, gl_carray_list_implementation): Update.
62512         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
62513         gl_linked_search. Add start_index, end_index arguments.
62514         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
62515         start_index, end_index arguments.
62516         (gl_linked_remove): Update.
62517         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
62518         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
62519         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
62520         field to 'size_t'.
62521         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
62522         gl_tree_search. Add start_index, end_index arguments.
62523         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
62524         start_index, end_index arguments.
62525         (gl_tree_remove): Update.
62526         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
62527         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
62528         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
62529         function.
62530         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
62531         gl_tree_search. Add start_index, end_index arguments.
62532         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
62533         start_index, end_index arguments.
62534         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
62535         Update.
62536         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
62537
62538 2006-10-05  Bruno Haible  <bruno@clisp.org>
62539
62540         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
62541
62542         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
62543         fwriteerror_temp): New declarations.
62544         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
62545         (descriptors): New variable.
62546         (cleanup): First, close the descriptors.
62547         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
62548         fclose_temp, fwriteerror_temp): New functions.
62549
62550 2006-10-04  Jim Meyering  <jim@meyering.net>
62551
62552         * lib/fts.c (fts_open): Tiny comment change.
62553
62554 2006-10-04  Bruno Haible  <bruno@clisp.org>
62555
62556         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
62557         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
62558         gl_LOCK_BODY.
62559         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
62560         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
62561         gl_LOCK_EARLY_BODY.
62562         (gl_LOCK): Require gl_LOCK_BODY.
62563
62564 2006-10-04  Bruno Haible  <bruno@clisp.org>
62565
62566         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
62567         (gl_oset_search_atleast): New declaration.
62568         (struct gl_oset_implementation): Add field 'search_atleast'.
62569         (gl_oset_search_atleast): New inline function.
62570         * lib/gl_oset.c (gl_oset_search_atleast): New function.
62571         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
62572         (gl_array_oset_implementation): Update.
62573         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
62574         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
62575         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
62576
62577 2006-10-04  Bruno Haible  <bruno@clisp.org>
62578
62579         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
62580
62581 2006-10-03  Bruno Haible  <bruno@clisp.org>
62582
62583         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
62584         from gl_avltreehash_list_implementation.
62585
62586 2006-10-03  Bruno Haible  <bruno@clisp.org>
62587
62588         * lib/gl_oset.c (gl_oset_add): Fix return type.
62589
62590 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
62591
62592         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
62593
62594 2006-10-02  Eric Blake  <ebb9@byu.net>
62595
62596         * modules/strnlen (Depends-on): Add extensions.
62597
62598 2006-10-02  Eric Blake  <ebb9@byu.net>
62599
62600         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
62601         definition in 2.60+.
62602
62603 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
62604
62605         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
62606         checks.
62607
62608 2006-10-02  Bruno Haible  <bruno@clisp.org>
62609
62610         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
62611         to the AUTOMAKE_OPTIONS.
62612         Reported by Jim Meyering.
62613
62614 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
62615
62616         Work around bug in Solaris 10 /proc file system:
62617         /proc/self/fd/NNN/.. isn't the parent directory of
62618         the directory whose file descriptor is NNN.  This needs to
62619         be worked around at run time, not compile time, since a
62620         program might be built on Solaris 8, where things work, and
62621         run on Solaris 10.
62622         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
62623         to use the following interface instead:
62624         (OPENAT_BUFFER_SIZE): New macro.
62625         (openat_proc_name): New function.
62626         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
62627         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
62628         Likewise.
62629         * lib/openat-proc.c: New file.
62630         * modules/openat (Files): Add lib/openat-proc.c.
62631         (Depends-on): Add same-inode, stdbool.
62632         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
62633
62634 2006-09-29  Bruno Haible  <bruno@clisp.org>
62635
62636         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
62637         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
62638         argument. Set stdout_closed before testing for ferror, not after.
62639         (fwriteerror, fwriteerror_no_ebadf): New functions.
62640
62641 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62642
62643         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
62644
62645 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
62646
62647         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
62648         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
62649
62650 2006-09-28  Jim Meyering  <jim@meyering.net>
62651
62652         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
62653         Include <unistd.h>.
62654
62655 2006-09-28  Bruno Haible  <bruno@clisp.org>
62656
62657         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
62658         * modules/linkedhash-list (Depends-on): Likewise.
62659         * modules/rbtreehash-list (Depends-on): Likewise.
62660
62661 2006-09-28  Bruno Haible  <bruno@clisp.org>
62662
62663         * lib/strndup.h: Simplify the redefinition of strndup.
62664         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
62665         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
62666
62667 2006-09-28  Bruno Haible  <bruno@clisp.org>
62668
62669         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
62670         * lib/gl_linkedhash_list.c: Likewise.
62671         * lib/gl_rbtreehash_list.c: Likewise.
62672
62673 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
62674
62675         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
62676         getaddrinfo.
62677
62678         * lib/__fpending.h: Don't include <stdio_ext.h> unless
62679         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
62680         it causes <stdio_ext.h> to cause a compile-time error.
62681         Problem reported by Nelson H. F. Beebe.
62682         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
62683         of HAVE_DECL___PENDING.
62684
62685         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
62686         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
62687         declaration.
62688
62689 2006-09-27  Jim Meyering  <jim@meyering.net>
62690
62691         This file could end up with a definition for a function
62692         named __strndup, rather than rpl_strndup on a system with
62693         incomplete weak_alias support.
62694         * lib/strndup.c (strndup): Rename from __strndup.
62695         Remove #defines that used to map __strndup to strndup.
62696         Don't use K&R prototypes.
62697         Remove LIBC-related code, since this file is not sync'd with glibc.
62698         * lib/strndup.h: Revamp, accordingly.
62699         * m4/strndup.m4: Modernize.
62700
62701 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
62702
62703         * modules/savewd (Depends-on): Add 'raise'.
62704         * lib/savewd.c: Include <signal.h>, for 'raise'.
62705
62706 2006-09-26  Jim Meyering  <jim@meyering.net>
62707
62708         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
62709         when we detect Darwin 8.7.0's acl_get_file bug.
62710         Rearrange to perform the new (below) run-test while $LIBS
62711         contains any acl-related library.  Set USE_ACL at the end.
62712         (gl_ACL_GET_FILE): New function.
62713
62714 2006-09-26  Eric Blake  <ebb9@byu.net>
62715
62716         * lib/verror.c: Include <config.h> unconditionally.
62717
62718 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
62719
62720         * modules/clock-time (Maintainer): Add self.
62721         * modules/getlogin_r (Depends-on): Add extensions.
62722
62723 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62724
62725         * modules/clock-time: New module.
62726         * modules/nanosleep (Depends-on): Add clock-time.
62727         * modules/gethrxtime (Depends-on): Likewise.
62728         * modules/gettime (Depends-on): Likewise.
62729         * modules/settime (Depends-on): Likewise.
62730
62731         * modules/fts-lgpl: Depend on openat.
62732         * modules/mkancesdirs: Depend on savewd.
62733         * modules/mkdir-p: Likewise.
62734
62735 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62736
62737         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
62738
62739         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
62740         `gl_have_arbitrary_file_name_length_limit' to
62741         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
62742         actually works between configure runs.
62743
62744 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62745             Bruno Haible  <bruno@clisp.org>
62746
62747         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
62748
62749 2006-09-25  Jim Meyering  <jim@meyering.net>
62750
62751         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
62752         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
62753
62754 2006-09-25  Eric Blake  <ebb9@byu.net>
62755
62756         * gnulib-tool (func_import, func_create_testdir): Fix typos in
62757         exec's in 2006-09-18 patch when shuffling fds.
62758
62759 2006-09-25  Bruno Haible  <bruno@clisp.org>
62760
62761         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
62762         Reported by Jim Meyering.
62763
62764 2006-09-24  Jim Meyering  <jim@meyering.net>
62765
62766         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
62767         compare a pointer against a literal "0".  That caused failures with
62768         at least HP-UX's hpcc.
62769
62770 2006-09-22  Simon Josefsson  <jas@extundo.com>
62771
62772         * modules/gc-sha1:
62773         * modules/gc-md4:
62774         * modules/gc-hmac-sha1:
62775         * modules/gc-hmac-md5:
62776         * modules/gc-des:
62777         * modules/gc-arcfour: Distribute more files.
62778
62779 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62780
62781         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
62782         (gl_linked_iterator_from_to): Initialize struct completely.
62783         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
62784         (gl_tree_iterator_from_to): Likewise
62785         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
62786         * lib/gl_array_list.c [lint] (gl_array_iterator)
62787         (gl_array_iterator_from_to): Likewise.
62788         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
62789         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
62790         (gl_carray_iterator_from_to): Likewise.
62791
62792         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
62793         * lib/md4.c (md4_process_block): Remove unused variable.
62794         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
62795         parentheses for clarity.
62796
62797 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62798
62799         * modules/bison-i18n (Depends-on): Add gettext.
62800
62801 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62802
62803         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
62804         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
62805         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
62806         also add missing comma that caused broken test.
62807         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
62808         stdlib.h, for `abort'.
62809         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
62810         variables.
62811         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
62812         include unistd.h if present, for `rmdir'.
62813         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
62814         variables.
62815         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
62816         in the process include standard headers for prototypes.
62817         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
62818         gets declared on GNU/Linux.
62819         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
62820         unistd.h, for `rmdir'.
62821         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
62822
62823         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
62824         always true.
62825         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
62826
62827         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
62828
62829 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62830
62831         * gnulib-tool (func_version): Create output all at once.  This
62832         may help avoid triggering unnecessary SIGPIPEs, and at any
62833         rate it doesn't hurt.
62834
62835 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62836             Bruno Haible  <bruno@clisp.org>
62837
62838         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
62839         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
62840         * m4/signed.m4 (bh_C_SIGNED): Likewise.
62841
62842         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
62843         (gl_FUNC_VASPRINTF): Invoke it.
62844
62845 2006-09-22  Bruno Haible  <bruno@clisp.org>
62846
62847         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
62848         getloadavg.c as first argument.
62849
62850 2006-09-22  Bruno Haible  <bruno@clisp.org>
62851
62852         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
62853         at the beginning of the gl_INIT macro.
62854         * modules/getloadavg (configure.ac): Pass $gl_source_base to
62855         gl_GETLOADAVG.
62856
62857 2006-09-22  Bruno Haible  <bruno@clisp.org>
62858
62859         * gnulib-tool (func_create_megatestdir): Don't include the config-h
62860         module.
62861         Suggested by Ralf Wildenhues.
62862
62863 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
62864
62865         Import this patch from libc:
62866
62867         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
62868
62869         * lib/regex_internal.c (re_string_reconstruct): Handle
62870         offset < pstr->valid_raw_len && pstr->offsets_needed case.
62871         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
62872         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
62873         re_string_context_at.
62874
62875         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
62876         now requires it.
62877         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
62878         gl_REGEX now does it for us.
62879         (gl_REGEX): Add test taken from
62880         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
62881
62882         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
62883         Check that large offsets work.  Modernize Autoconf usages.
62884         Prefer "yes" to mean a good thing rather than a bad.
62885         Don't put "#define mkstemp" in config.h, as this might interfere
62886         with standard system headers that "#define mkstemp mkstemp64".
62887
62888         * modules/mkstemp (Depends-on): Add extensions, so that
62889         mkstemp is visible on some platforms.
62890         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
62891         (Include): Change to "mkstemp.h" from <stdlib.h>.
62892         (Files): Add mkstemp.h.
62893
62894         * lib/mkstemp.h: New file, since some standard headers
62895         #define mkstemp.
62896         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
62897         Include "mkstemp.h".
62898         Make the _LIBC code resemble glibc original more,
62899         e.g., use K&R style.
62900         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
62901         (mkstemp): Remove, since mkstemp.h does this for us.
62902         * lib/stdlib--.h: Include mkstemp.h.
62903
62904         Import this patch from libc:
62905
62906         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
62907
62908         * lib/tempname.c (__gen_tempname): Change attempts_min
62909         into a macro.  Use preprocessor to decide how to initialize
62910         attempts [Coverity CID 67].
62911
62912 2006-09-20  Bruno Haible  <bruno@clisp.org>
62913
62914         * lib/mkdtemp.c: Import from libc.
62915         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
62916                 * sysdeps/posix/tempname.c (__gen_tempname): Change
62917                 attempts_min into a macro.  Use preprocessor to decide how to
62918                 initialize attempts [Coverity CID 67].
62919         2001-11-27  Paul Eggert  <eggert@twinsun.com>
62920                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
62921                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
62922
62923 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62924
62925         * gnulib-tool (func_exit): New function, to allow to pass the
62926         exit status portably through the trap.  Use everywhere.
62927         (--help, --version): Signal a write error.
62928         (trap): catch SIGPIPE, for write errors.
62929         Exit at the end of the trap, with the correct exit status.
62930
62931 2006-09-19  Karl Berry  <karl@gnu.org>
62932
62933         * doc/gnulib.texi: note about the license texinfo files.
62934
62935 2006-09-19  Eric Blake  <ebb9@byu.net>
62936
62937         * gnulib-tool: Avoid space-tab.
62938
62939 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
62940
62941         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
62942         that prevented coreutils 6.1 from building.  Problem reported
62943         by Petter Reinholdtsen.
62944
62945 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
62946
62947         * gnulib-tool (avoidlist): Fix typo that broke options like
62948         --avoid=lock that are used by coreutils bootstrap.
62949
62950 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
62951
62952         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
62953         more systematically.
62954
62955 2006-09-18  Jim Meyering  <jim@meyering.net>
62956
62957         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
62958
62959 2006-09-18  Bruno Haible  <bruno@clisp.org>
62960
62961         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
62962
62963 2006-09-18  Bruno Haible  <bruno@clisp.org>
62964
62965         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
62966         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
62967         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
62968         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
62969         * m4/gettext.m4: Require autoconf >= 2.52.
62970         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
62971         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
62972         of gl_cv_header_inttypes_h.
62973
62974 2006-09-18  Bruno Haible  <bruno@clisp.org>
62975
62976         * lib/javaversion.c: Include configmake.h.
62977
62978 2006-09-18  Bruno Haible  <bruno@clisp.org>
62979
62980         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
62981         avoid that the while loops be executed in a subshell.
62982
62983 2006-09-18  Bruno Haible  <bruno@clisp.org>
62984
62985         * MODULES.html.sh (func_module): Break long lines.
62986         Suggested by Bruce Korb <bkorb@gnu.org>.
62987
62988 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62989
62990         Speed up by a factor of 1.12.
62991         * gnulib-tool (nl): New variable.
62992         (func_import): Rewrite include directive extraction to only read each
62993         directive once.
62994
62995 2006-09-17  Bruno Haible  <bruno@clisp.org>
62996
62997         * modules/javaversion (Makefile.am): Remove DEFS setting.
62998         (Depends-on): Add configmake, for PKGDATADIR definition.
62999
63000 2006-09-17  Bruno Haible  <bruno@clisp.org>
63001
63002         * gnulib-tool (func_create_testdir): Rewrite all files at once.
63003
63004 2006-09-17  Bruno Haible  <bruno@clisp.org>
63005
63006         * gnulib-tool (func_append): New function, stolen from libtool.m4.
63007         (func_modules_transitive_closure, func_modules_add_dummy,
63008         func_modules_to_filelist, func_import, func_create_testdir,
63009         func_create_megatestdir, ...): Use it wherever possible.
63010         Suggested by Ralf Wildenhues.
63011
63012 2006-09-16  Karl Berry  <karl@gnu.org>
63013
63014         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
63015         to avoid sectioning errors.
63016         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
63017         [ifinfo]: blank line after @center-ed titles.
63018         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
63019         Spell FSF address consistently with others.
63020         (These changes approved by rms.)
63021
63022 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63023
63024         Speed up by a factor of 1.61.
63025         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
63026         already checked module names again.
63027
63028 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63029
63030         Speed up by a factor of 1.13.
63031         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
63032         for new_files, and the input to func_add_or_update.
63033
63034 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63035
63036         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
63037         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
63038
63039 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
63040
63041         * modules/mkancesdirs (Depends-on): Add fcntl.
63042         * modules/savewd: New file.
63043         * MODULES.html.sh (File system functions): Add savewd.
63044
63045         * modules/configmake (Makefile.am): Add support for the
63046         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
63047
63048 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
63049
63050         * m4/savewd.m4: New file.
63051
63052 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
63053
63054         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
63055         (dirchownmod): New arg FD.  All callers changed.
63056         Use FD rather than opening the directory ourself, as opening is
63057         now the caller's responsibility.
63058         * lib/dirchownmod.h: Likewise.
63059         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
63060         hosts that require <sys/types.h> before <sys/stat.h>.  Include
63061         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
63062         (test_dir): Remove.
63063         (mkancesdirs): Return length of prefix of FILE that has already
63064         been made, or -2 if there is a child doing the work.  Redo
63065         algorithm so that it is O(N) rather than O(N**2).  Optimize away
63066         ".", and treat ".." specially since it might stray back into
63067         already-created areas.  Use a subprocess if necessary.  New arg
63068         WD; all users changed.  MAKE_DIR function should now return 1
63069         if it creates a directory that is not readable.  Return -2 if
63070         a child process is spun off.
63071         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
63072         Adjust signature to match code.
63073         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
63074         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
63075         all users changed.
63076         * lib/savewd.c, lib/savewd.h: New files.
63077
63078 2006-09-15  Jim Meyering  <jim@meyering.net>
63079
63080         * modules/rename-dest-slash: New module.
63081         * MODULES.html.sh (posix_compat): Add it here.
63082
63083         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
63084
63085 2006-09-15  Jim Meyering  <jim@meyering.net>
63086
63087         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
63088         file.
63089
63090         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
63091
63092 2006-09-15  Jim Meyering  <jim@meyering.net>
63093
63094         * lib/rename-dest-slash.c (has_trailing_slash): Use
63095         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
63096         (rpl_rename_dest_slash): Perform the cheaper trailing slash
63097         test before testing whether SRC is a directory.
63098         Suggestions from Bruno Haible.
63099
63100         Avoid a warning about an unused variable.
63101         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
63102         into the #ifdef block where it's used.
63103
63104         * lib/rename-dest-slash.c: New file.
63105
63106 2006-09-14  Bruno Haible  <bruno@clisp.org>
63107
63108         * lib/allocsa.c: Include <config.h> unconditionally.
63109         * lib/asnprintf.c: Likewise.
63110         * lib/asprintf.c: Likewise.
63111         * lib/c-strcasecmp.c: Likewise.
63112         * lib/c-strcasestr.c: Likewise.
63113         * lib/c-strncasecmp.c: Likewise.
63114         * lib/c-strstr.c: Likewise.
63115         * lib/classpath.c: Likewise.
63116         * lib/clean-temp.c: Likewise.
63117         * lib/concatpath.c: Likewise.
63118         * lib/copy-file.c: Likewise.
63119         * lib/csharpcomp.c: Likewise.
63120         * lib/csharpexec.c: Likewise.
63121         * lib/execute.c: Likewise.
63122         * lib/fatal-signal.c: Likewise.
63123         * lib/findprog.c: Likewise.
63124         * lib/fwriteerror.c: Likewise.
63125         * lib/gl_array_list.c: Likewise.
63126         * lib/gl_array_oset.c: Likewise.
63127         * lib/gl_avltree_list.c: Likewise.
63128         * lib/gl_avltree_oset.c: Likewise.
63129         * lib/gl_avltreehash_list.c: Likewise.
63130         * lib/gl_carray_list.c: Likewise.
63131         * lib/gl_linked_list.c: Likewise.
63132         * lib/gl_linkedhash_list.c: Likewise.
63133         * lib/gl_list.c: Likewise.
63134         * lib/gl_oset.c: Likewise.
63135         * lib/gl_rbtree_list.c: Likewise.
63136         * lib/gl_rbtree_oset.c: Likewise.
63137         * lib/gl_rbtreehash_list.c: Likewise.
63138         * lib/imaxabs.c: Likewise.
63139         * lib/imaxdiv.c: Likewise.
63140         * lib/javacomp.c: Likewise.
63141         * lib/javaexec.c: Likewise.
63142         * lib/javaversion.c: Likewise.
63143         * lib/linebreak.c: Likewise.
63144         * lib/localcharset.c: Likewise.
63145         * lib/lock.c: Likewise.
63146         * lib/mbchar.c: Likewise.
63147         * lib/mbswidth.c: Likewise.
63148         * lib/mkdtemp.c: Likewise.
63149         * lib/pipe.c: Likewise.
63150         * lib/printf-args.c: Likewise.
63151         * lib/printf-parse.c: Likewise.
63152         * lib/progname.c: Likewise.
63153         * lib/progreloc.c: Likewise.
63154         * lib/readlink.c: Likewise.
63155         * lib/sh-quote.c: Likewise.
63156         * lib/stpcpy.c: Likewise.
63157         * lib/stpncpy.c: Likewise.
63158         * lib/strcasecmp.c: Likewise.
63159         * lib/strcasestr.c: Likewise.
63160         * lib/strcspn.c: Likewise.
63161         * lib/striconv.c: Likewise.
63162         * lib/strncasecmp.c: Likewise.
63163         * lib/strnlen1.c: Likewise.
63164         * lib/strstr.c: Likewise.
63165         * lib/strtok_r.c: Likewise.
63166         * lib/tls.c: Likewise.
63167         * lib/tmpdir.c: Likewise.
63168         * lib/unicodeio.c: Likewise.
63169         * lib/unsetenv.c: Likewise.
63170         * lib/vasnprintf.c: Likewise.
63171         * lib/vasprintf.c: Likewise.
63172         * lib/wait-process.c: Likewise.
63173         * lib/xallocsa.c: Likewise.
63174         * lib/xsetenv.c: Likewise.
63175         * lib/xstriconv.c: Likewise.
63176
63177 2006-09-13  Simon Josefsson  <jas@extundo.com>
63178
63179         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
63180         that internally, suggested by Ralf Wildenhues
63181         <Ralf.Wildenhues@gmx.de>.
63182
63183 2006-09-13  Simon Josefsson  <jas@extundo.com>
63184
63185         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
63186         @LIBOBJS@.
63187         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63188
63189 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
63190
63191         * lib/_fpending.c: Include <config.h> unconditionally, since we no
63192         longer worry about uses that don't define HAVE_CONFIG_H.
63193         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
63194         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
63195         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
63196         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
63197         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
63198         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
63199         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
63200         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
63201         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
63202         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
63203         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
63204         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
63205         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
63206         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
63207         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
63208         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
63209         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
63210         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
63211         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
63212         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
63213         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
63214         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
63215         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
63216         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
63217         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
63218         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
63219         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
63220         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
63221         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
63222         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
63223         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
63224         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
63225         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
63226         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
63227         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
63228         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
63229         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
63230         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
63231         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
63232         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
63233         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
63234         Likewise.
63235
63236 2006-09-13  Eric Blake  <ebb9@byu.net>
63237
63238         * lib/getopt.c: Fix typo in last commit.
63239
63240 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
63241
63242         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
63243         dgettext.
63244
63245 2006-09-12  Jim Meyering  <jim@meyering.net>
63246
63247         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
63248         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
63249         Reported by Nelson H. F. Beebe.
63250
63251 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
63252
63253         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
63254         program_invocation_name and program_invocation_short_name are
63255         initialized.
63256         * lib/argp-namefrob.h: Move declarations of program_invocation_name
63257         and program_invocation_short_name to argp.h, so they are visible
63258         to user programs.
63259         * lib/argp.h: Likewise
63260
63261 2006-09-10  Bruno Haible  <bruno@clisp.org>
63262
63263         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
63264         m4/inttypes_h.m4, m4/uintmax_t.m4.
63265
63266 2006-09-10  Bruno Haible  <bruno@clisp.org>
63267
63268         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
63269         gl_AC_TYPE_UINTMAX_T.
63270
63271 2006-09-10  Bruno Haible  <bruno@clisp.org>
63272
63273         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
63274
63275 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
63276
63277         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
63278         convention.  Text proposed by Bruno Haible.
63279         (struct argp_option): Document the use of N_() wrappers.
63280
63281         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
63282         '\v', and translate the two parts separately, instead of feeding
63283         the whole string to gettext.  This allows to exclude
63284         '\v' from the strings visible to the translator by writing doc
63285         strings as N_("..") "\v" N_("..").
63286
63287 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
63288
63289         * config/srclist.txt: Undo latest change; the bug was fixed.
63290
63291 2006-09-09  Bruno Haible  <bruno@clisp.org>
63292
63293         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
63294         assignments if building a library without libtool.
63295         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
63296         in func_emit_lib_Makefile_am.
63297         (func_import): When building a static library libfoo.a, arrange to
63298         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
63299         (func_create_testdir): Likewise.
63300         * modules/gc (configure.ac, Makefile.am): If building statically,
63301         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
63302         * modules/iconvme (configure.ac, Makefile.am): Likewise.
63303         * modules/striconv (configure.ac, Makefile.am): Likewise.
63304         Based on a suggestion by Ralf Wildenhues.
63305
63306 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
63307
63308         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
63309         Check for unistd.h too, since Autoconf doesn't assume POSIX.
63310         Also:
63311
63312         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
63313         Add year_2050_test to catch glibc bug 2821
63314         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
63315
63316         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
63317         Prefer #ifdef to #if.
63318
63319         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
63320         Return from 'main' instead of calling 'exit'.
63321
63322 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
63323
63324         * lib/mktime.c (guess_time_tm): Fix bug where mktime
63325         returned the maximum time_t value rather than (time_t) -1.
63326         Problem originally reported by William Bardwell
63327         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
63328
63329         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
63330         Moved to here ...
63331         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
63332         ... from here.
63333
63334 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
63335
63336         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
63337         2821 is fixed.
63338
63339 2006-09-08  Jim Meyering  <jim@meyering.net>
63340
63341         Don't make generated files read-only.  That would bother too many
63342         people.  However, do retain the ability to work when targets are
63343         read-only: remove the destination and temporary files before writing
63344         them (when generated via sed or echo), or by using the -f option for
63345         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
63346         * modules/alloca-opt, modules/argz, modules/arpa_inet:
63347         * modules/byteswap, modules/configmake, modules/fcntl:
63348         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
63349         * modules/localcharset, modules/netinet_in, modules/poll:
63350         * modules/stdbool, modules/stdint, modules/sys_select:
63351         * modules/sys_socket, modules/sys_stat, modules/sysexits:
63352
63353 2006-09-08  Jim Meyering  <jim@meyering.net>
63354
63355         Avoid new build failure on FreeBSD 6.0.
63356         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
63357         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
63358         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
63359
63360 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63361
63362         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
63363
63364 2006-09-07  Jim Meyering  <jim@meyering.net>
63365
63366         Fix global typo in last change: use chmod u-w, not chmod u-x.
63367         Spotted by Paul Eggert and Bruce Korb.
63368         * modules/alloca-opt, modules/argz, modules/arpa_inet:
63369         * modules/byteswap, modules/configmake, modules/fcntl:
63370         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
63371         * modules/localcharset, modules/netinet_in, modules/poll:
63372         * modules/stdbool, modules/stdint, modules/sys_select:
63373         * modules/sys_socket, modules/sys_stat, modules/sysexits:
63374
63375 2006-09-06  Jim Meyering  <jim@meyering.net>
63376
63377         Make generated files be read-only.
63378         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
63379         Ensure that each generated file is now read-only.
63380         * modules/argz: Likewise.
63381         * modules/arpa_inet: Likewise.
63382         * modules/byteswap: Likewise.
63383         * modules/configmake: Likewise.
63384         * modules/fcntl: Likewise.
63385         * modules/fnmatch: Likewise.
63386         * modules/getopt: Likewise.
63387         * modules/glob: Likewise.
63388         * modules/inttypes: Likewise.
63389         * modules/netinet_in: Likewise.
63390         * modules/poll: Likewise.
63391         * modules/stdbool: Likewise.
63392         * modules/stdint: Likewise.
63393         * modules/sys_select: Likewise.
63394         * modules/sys_socket: Likewise.
63395         * modules/sys_stat: Likewise.
63396         * modules/sysexits: Likewise.
63397         * modules/localcharset: Same as above, but continue using temporary
63398         file named "t-$@" (why different?) rather than the "$@-t" used
63399         everywhere else.
63400
63401         * modules/sysexits (Makefile.am): Replace literal occurrences
63402         of "sysexit.h" more readable, and more consistent, "$@".
63403
63404 2006-09-06  Bruno Haible  <bruno@clisp.org>
63405
63406         * modules/striconv: New file.
63407         * modules/xstriconv: New file.
63408         * MODULES.html.sh (Internationalization functions): Add striconv,
63409         xstriconv.
63410
63411 2006-09-06  Bruno Haible  <bruno@clisp.org>
63412
63413         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
63414         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
63415         not using libtool correctly.
63416
63417 2006-09-06  Bruno Haible  <bruno@clisp.org>
63418
63419         * lib/striconv.h: New file.
63420         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
63421         iconvstring.c.
63422         * lib/xstriconv.h: New file.
63423         * lib/xstriconv.c: New file.
63424
63425 2006-09-06  Bruno Haible  <bruno@clisp.org>
63426
63427         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
63428         lib_..._LDFLAGS.
63429
63430 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63431
63432         * lib/argz_.h: Sync from Libtool.
63433
63434         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
63435                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
63436
63437         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
63438
63439 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
63440
63441         * modules/trim: New file.
63442
63443 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
63444
63445         * lib/trim.h: New file.
63446         * lib/trim.c: New file.
63447
63448 2006-09-05  Bruno Haible  <bruno@clisp.org>
63449
63450         * MODULES.html.sh (String handling): Add trim.
63451
63452 2006-09-04  Karl Berry  <karl@gnu.org>
63453
63454         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
63455         until next release.
63456
63457 2006-09-03  Bruno Haible  <bruno@clisp.org>
63458
63459         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
63460         correctly.
63461
63462 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
63463
63464         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
63465         not gl_GETLOADAVG.  Omit unneeded semicolons.
63466         Problems reported by Ralf Wildenhues in
63467         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
63468         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
63469         at the end, which is the usual gnulib style.
63470
63471         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
63472         of doing all the work ourselves.
63473         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
63474         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
63475
63476 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
63477
63478         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
63479         Problem reported by Ralf Wildenhues in
63480         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
63481
63482         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
63483         HAVE_STRUCT_STATFS_F_FSTYPENAME.
63484
63485 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
63486
63487         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
63488         yesterday's patch by changing test -n to test -z.
63489
63490 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63491
63492         * modules/getloadavg (Files): Add m4/getloadavg.m4.
63493         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
63494         the former is now obsolescent.
63495
63496         * modules/chdir-long (Depends-on): Add fcntl.
63497
63498 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63499
63500         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
63501         obsolescent, and programs should use gnulib instead.
63502         * m4/getloadavg.m4: New file, with contents taken from Autoconf
63503         but with prefixes changed.
63504
63505 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63506
63507         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
63508         or stdbool.h, because they might not exist while configuring.
63509
63510         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
63511         Don't include unistd.h or limits.h; not needed, since chdir-long.h
63512         does that for us.
63513         (O_DIRECTORY): Remove.
63514
63515 2006-08-31  Eric Blake  <ebb9@byu.net>
63516
63517         * gnulib-tool: Don't let emacs change spaces to TAB.
63518
63519 2006-08-31  Bruno Haible  <bruno@clisp.org>
63520
63521         * gnulib-tool: When calling func_import more than once, do it in a
63522         subshell.
63523         Reported by Eric Blake <ebb9@byu.net>.
63524
63525 2006-08-31  Bruno Haible  <bruno@clisp.org>
63526
63527         * gnulib-tool (nl): Remove variable.
63528         (sed_transform_lib_file): Use more robust test for config-h module.
63529         (func_import): Fix typo in 2006-08-25 patch.
63530
63531 2006-08-31  Bruno Haible  <bruno@clisp.org>
63532
63533         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
63534         specified, augment Makefile.am variables instead of assigning them.
63535
63536 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
63537
63538         Work around a bug in both the Linux and SunOS 64-bit kernels:
63539         nanosleep mishandles sleeps for longer than 2**31 seconds.
63540         Problem reported by Frank v Waveren in
63541         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
63542         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
63543         Check for nanosleep bug.
63544         (LIB_NANOSLEEP): Append clock_gettime library if needed.
63545
63546 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
63547
63548         Work around a bug in both the Linux and SunOS 64-bit kernels:
63549         nanosleep mishandles sleeps for longer than 2**31 seconds.
63550         Problem reported by Frank v Waveren in
63551         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
63552         * lib/nanosleep.c (BILLION): New constant.
63553         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
63554         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
63555         implementation.
63556
63557 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
63558
63559         * modules/nanosleep (Depends-on): Add gettime.
63560
63561 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
63562         and Simon Josefsson  <jas@extundo.com>
63563         and Oskar Liljeblad  <oskar@osk.mine.nu>
63564
63565         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
63566         * gnulib-tool (func_import): New license type 'unmodifiable license
63567         text'.
63568         * modules/fdl: Use it.  Longer description.
63569         * module/gpl, module/lgpl: New files.
63570
63571 2006-08-30  Jim Meyering  <jim@meyering.net>
63572
63573         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
63574         shadowing the parameter.
63575
63576 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63577
63578         Sync from Libtool:
63579
63580         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63581
63582         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
63583         sharing with gnulib.  Report by Eric Blake.
63584
63585 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
63586
63587         * modules/isapipe: New file.
63588         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
63589
63590 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
63591
63592         * modules/configmake (Makefile.am): Add a comment, and omit
63593         the CONFIGMAKE_ prefix from generated macro names.  Suggested
63594         by Bruno Haible.
63595
63596 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
63597
63598         * m4/isapipe.m4: New file.
63599
63600 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
63601
63602         * lib/isapipe.c, lib/isapipe.h: New files.
63603
63604 2006-08-29  Jim Meyering  <jim@meyering.net>
63605
63606         * modules/configmake (Makefile.am): Make configmake.h depend on
63607         Makefile.  Otherwise, a stale configmake.h could hang around.
63608
63609 2006-08-29  Eric Blake  <ebb9@byu.net>
63610
63611         * lib/error.c (error_at_line, print_errno_message): Match libc, after
63612         resolution of upstream bug 3044.
63613
63614 2006-08-29  Bruno Haible  <bruno@clisp.org>
63615
63616         * modules/localcharset (Depends-on): Add configmake.
63617         (Makefile.am): Remove setting of LIBDIR through DEFS.
63618
63619 2006-08-29  Bruno Haible  <bruno@clisp.org>
63620
63621         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
63622         defined.
63623
63624 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
63625
63626         * modules/fcntl: New file.
63627         * modules/chdir-safer (Depends-on): Add fcntl.
63628         * modules/fts: Likewise.
63629         * modules/mkdir-p: Likewise.
63630
63631         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
63632         This undoes the most recent change, since we're now addressing the
63633         problem in a different way.
63634
63635         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
63636         into output, since the output might be called Makefile.am even
63637         if $makefile_name is something different.
63638         (func_import): Use $makefile_am rather than
63639         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
63640         empty.
63641
63642         * modules/inttypes (Files): Add m4/inttypes-h.m4.
63643
63644 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
63645
63646         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
63647         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
63648         recent change to stdint.m4, since we're now addressing the problem in a
63649         different way.
63650
63651 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
63652
63653         * m4/fcntl_h.m4: New file.
63654
63655 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
63656
63657         * lib/fcntl_.h: New file.
63658         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
63659         the fcntl module.
63660         * lib/dirchownmod.c: Likewise.
63661         * lib/fts.c: Likewise.
63662
63663         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
63664         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
63665         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
63666         just before including <inttypes.h>, to avoid circular inclusion.
63667
63668 2006-08-28  Jim Meyering  <jim@meyering.net>
63669
63670         * doc/visibility.texi: Actually read and correct the grammar of the
63671         sentence affected by yesterday's change.
63672
63673 2006-08-28  Eric Blake  <ebb9@byu.net>
63674
63675         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
63676         needs wrapper.
63677
63678 2006-08-28  Eric Blake  <ebb9@byu.net>
63679
63680         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
63681
63682 2006-08-28  Eric Blake  <ebb9@byu.net>
63683
63684         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
63685
63686 2006-08-28  Bruno Haible  <bruno@clisp.org>
63687
63688         * modules/c-strstr: New file, from GNU gettext.
63689         * MODULES.html.sh (String handling): Add c-strstr.
63690
63691 2006-08-28  Bruno Haible  <bruno@clisp.org>
63692
63693         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
63694         macros.
63695         Reported by Eric Blake.
63696
63697 2006-08-28  Bruno Haible  <bruno@clisp.org>
63698
63699         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
63700         (VASNPRINTF): Return a string of length > INT_MAX without failing.
63701         * lib/vasprintf.c: Include errno.h, limits.h.
63702         (EOVERFLOW): New fallback definition.
63703         (vasprintf): Test here whether the string length is > INT_MAX.
63704         * lib/vsnprintf.c: Include errno.h, limits.h.
63705         (EOVERFLOW): New fallback definition.
63706         (vsnprintf): Fix bug when generated string was too long for the buffer.
63707         Test here whether the string length is > INT_MAX.
63708
63709 2006-08-28  Bruno Haible  <bruno@clisp.org>
63710
63711         * lib/inttypes_.h (SCNX*): Remove definitions.
63712         Reported by Eric Blake.
63713
63714 2006-08-28  Bruno Haible  <bruno@clisp.org>
63715
63716         * lib/c-strstr.h: New file, from GNU gettext.
63717         * lib/c-strstr.c: New file, from GNU gettext.
63718
63719 2006-08-28  Bruno Haible  <bruno@clisp.org>
63720
63721         * gnulib-tool: Reorder some statements.
63722
63723 2006-08-28  Bruno Haible  <bruno@clisp.org>
63724
63725         * gnulib-tool: New option --makefile-name.
63726         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
63727         $makefile_name.
63728         (func_import): Write $makefile_name to the cache file, and read it from
63729         there unless explicitly specified. Use $makefile_name as file name
63730         instead of Makefile.am. Adjust the recommendations accordingly.
63731
63732 2006-08-28  Bruno Haible  <bruno@clisp.org>
63733
63734         * gnulib-tool (func_verify_module): Check against misapplying patch.
63735
63736 2006-08-28  Bruno Haible  <bruno@clisp.org>
63737
63738         * gnulib-tool (func_relativize, func_relconcat): New functions.
63739         Give an error if --local-dir is given with --update.
63740         Remove trailing slashes from $local_gnulib_dir.
63741         (func_import): Store the relativized $local_gnulib_dir in
63742         gnulib-cache.m4, and read it from there if not specified explicitly.
63743
63744 2006-08-28  Bruno Haible  <bruno@clisp.org>
63745
63746         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
63747         is the current directory. Respect also $local_gnulib_dir.
63748
63749 2006-08-28  Bruno Haible  <bruno@clisp.org>
63750             Simon Josefsson  <jas@extundo.com>
63751
63752         BeOS portability.
63753         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
63754
63755 2006-08-27  Jim Meyering  <jim@meyering.net>
63756
63757         * doc/visibility.texi: Remove duplicate word: "pointer".
63758
63759 2006-08-26  Bruno Haible  <bruno@clisp.org>
63760
63761         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
63762         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
63763         (Makefile.am): Create inttypes.h from inttypes_.h.
63764         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
63765
63766         * modules/imaxabs: New file.
63767
63768         * modules/imaxdiv: New file.
63769
63770 2006-08-26  Bruno Haible  <bruno@clisp.org>
63771
63772         * m4/inttypes.m4: New file.
63773         * m4/_inttypes_h.m4: Remove file.
63774         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
63775         PRI_MACROS_BROKEN.
63776         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
63777
63778         * m4/imaxabs.m4: New file.
63779
63780         * m4/imaxdiv.m4: New file.
63781
63782 2006-08-26  Bruno Haible  <bruno@clisp.org>
63783
63784         * lib/inttypes_.h: New file.
63785         * lib/inttypes.h: Remove file.
63786         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
63787
63788         * lib/imaxabs.c: New file.
63789
63790         * lib/imaxdiv.c: New file.
63791
63792 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
63793
63794         New config-h module, so that "make" output needn't be cluttered
63795         by -DHAVE_CONFIG_H.
63796         * MODULES.html.sh (Support for building libraries and executables):
63797         Add config-h.
63798         * modules/config-h: New file.
63799         * gnulib-tool (nl, sed_transform_lib_file): New vars.
63800         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
63801         the config-h module is used.
63802
63803         New configmake module, so that "make" output needn't be cluttered
63804         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
63805         * MODULES.html.sh (Support for building libraries and executables):
63806         Add configmake.
63807         * modules/configmake: New file.
63808
63809 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
63810
63811         * m4/config-h.m4: New file.
63812
63813 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
63814
63815         * config/srclist.txt: Add elisp-comp.
63816
63817 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
63818
63819         * MODULES.html.sh (Support for building libraries and executables):
63820         Add elisp-comp.
63821         * build-aux/elisp-comp: New file.
63822         * modules/elisp-comp: New file.
63823
63824 2006-08-24  Bruno Haible  <bruno@clisp.org>
63825
63826         * gnulib-tool (func_create_testdir): Use non-default values of
63827         sourcebase and m4base.
63828
63829 2006-08-24  Bruno Haible  <bruno@clisp.org>
63830
63831         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
63832         HTML structure.
63833
63834 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
63835
63836         * modules/openat (Depends-on): Add lchown.
63837
63838 2006-08-23  Bruno Haible  <bruno@clisp.org>
63839
63840         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
63841         of gl_LOCK_EARLY instead of gl_LOCK.
63842
63843 2006-08-23  Bruno Haible  <bruno@clisp.org>
63844
63845         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
63846         on OSF/1 to no.
63847         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
63848
63849 2006-08-23  Bruno Haible  <bruno@clisp.org>
63850
63851         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
63852         as unusable.
63853
63854         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
63855         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
63856         (gl_LOCK): New macro.
63857
63858 2006-08-22  Simon Josefsson  <jas@extundo.com>
63859
63860         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
63861         to md5 module.
63862
63863 2006-08-22  Simon Josefsson  <jas@extundo.com>
63864
63865         * MODULES.html.sh: Add "Support for maintaining and release
63866         projects".
63867
63868         * build-aux/gnupload: New file, from coreutils.
63869
63870 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
63871
63872         Avoid the need for AC_LIBSOURCES in m4 macros.
63873         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
63874         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
63875         * modules/check-version (EXTRA_DIST): Add check-version.h.
63876         * modules/crc (EXTRA_DIST): Add crc.h.
63877         * modules/des (EXTRA_DIST): Add des.h.
63878         * modules/gc (EXTRA_DIST): Add gc.h.
63879         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
63880         * modules/getline (EXTRA_DIST): Add getline.h.
63881         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
63882         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
63883         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
63884         * modules/md2 (EXTRA_DIST): Add md2.h.
63885         * modules/md4 (EXTRA_DIST): Add md4.h.
63886         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
63887         * modules/read-file (EXTRA_DIST): Add read-file.h.
63888         * modules/readline (EXTRA_DIST): Add readline.h.
63889         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
63890         rijndael-api-fst.h.
63891
63892 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
63893
63894         * m4/rijndael.m4 (gl_ARCFOUR):
63895         * m4/arctwo.m4 (gl_ARCTWO):
63896         * m4/check-version.m4 (gl_CHECK_VERSION):
63897         * m4/crc.m4 (gl_CRC):
63898         * m4/des.m4 (gl_DES):
63899         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
63900         * m4/gc.m4 (gl_GC):
63901         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
63902         * m4/getline.m4 (gl_FUNC_GETLINE):
63903         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
63904         * m4/hmac-md5.m4 (gl_HMAC_MD5):
63905         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
63906         * m4/md2.m4 (gl_MD2):
63907         * m4/md4.m4 (gl_MD4):
63908         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
63909         * m4/read-file.m4 (gl_FUNC_READ_FILE):
63910         * m4/readline.m4 (gl_FUNC_READLINE):
63911         * m4/rijndael.m4 (gl_RIJNDAEL):
63912         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
63913         to get the necessary .h files and whatnot.
63914
63915 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
63916
63917         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
63918         gnulib rather than the other way around.
63919         * config/srclistvars.sh (COREUTILS): Remove.
63920
63921 2006-08-22  Jim Meyering  <jim@meyering.net>
63922
63923         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
63924
63925         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
63926
63927 2006-08-22  Eric Blake  <ebb9@byu.net>
63928
63929         * modules/regexprops-generic: New file.
63930         * MODULES.html.sh (Support for building documentation): List it.
63931
63932 2006-08-22  Eric Blake  <ebb9@byu.net>
63933
63934         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
63935         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
63936         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
63937         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
63938
63939 2006-08-22  Bruno Haible  <bruno@clisp.org>
63940
63941         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
63942         and lib_LTLIBRARIES like the other lib_* variables.
63943
63944 2006-08-22  Bruno Haible  <bruno@clisp.org>
63945
63946         * build-aux/x-to-1.in: New file, from GNU gettext.
63947
63948 2006-08-22  Bruno Haible  <bruno@clisp.org>
63949
63950         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
63951         <utmpx.h> exists.
63952
63953 2006-08-22  Bruno Haible  <bruno@clisp.org>
63954
63955         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
63956         <utmpx.h> exists.
63957
63958 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
63959
63960         BeOS portability.
63961         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
63962         exist.
63963         Problem reported by Bruno Haible.
63964
63965 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
63966
63967         Avoid the need for AC_LIBSOURCES in m4 macros.
63968         * modules/acl (EXTRA_DIST): Add acl.h.
63969         * modules/argmatch (Files): Add m4/argmatch.m4.
63970         (configure.ac): Add gl_ARGMATCH.
63971         (EXTRA_DIST): Renamed from lib_SOURCES, for
63972         consistency with the other modules.  Remove argmatch.c.
63973         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
63974         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
63975         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
63976         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
63977         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
63978         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
63979         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
63980         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
63981         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
63982         * modules/closeout (EXTRA_DIST): Add closeout.h.
63983         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
63984         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
63985         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
63986         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
63987         dirname.h; remove basename.c and stripslash.c.
63988         * modules/exclude (EXTRA_DIST): Add exclude.h.
63989         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
63990         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
63991         * modules/file-type (EXTRA_DIST): Add file-type.h.
63992         * modules/filemode (EXTRA_DIST): Add filemode.h.
63993         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
63994         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
63995         * modules/fpending (EXTRA_DIST): Add __fpending.h.
63996         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
63997         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
63998         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
63999         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
64000         * modules/getdate (EXTRA_DIST): Add getdate.c.
64001         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
64002         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
64003         * modules/getpass (EXTRA_DIST): Add getpass.h.
64004         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
64005         * modules/group-member (EXTRA_DIST): Add group-member.h.
64006         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
64007         * modules/hash (EXTRA_DIST): Add hash.h.
64008         * modules/human (EXTRA_DIST): Add human.h.
64009         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
64010         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
64011         * modules/lchown (EXTRA_DIST): Add lchown.h.
64012         * modules/long-options (EXTRA_DIST): Add long-options.h.
64013         * modules/lstat (EXTRA_DIST): Add lstat.h.
64014         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
64015         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
64016         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
64017         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
64018         * modules/memxor (EXTRA_DIST): Add memxor.h.
64019         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
64020         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
64021         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
64022         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
64023         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
64024         * modules/physmem (EXTRA_DIST): Add physmem.h.
64025         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
64026         * modules/posixver (EXTRA_DIST): Add posixver.h.
64027         * modules/quote (EXTRA_DIST): Add quote.h.
64028         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
64029         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
64030         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
64031         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
64032         regex_internal.h regexec.c.
64033         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
64034         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
64035         * modules/same (EXTRA_DIST): Add same.h.
64036         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
64037         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
64038         * modules/savedir (EXTRA_DIST): Add savedir.h.
64039         * modules/sha1 (EXTRA_DIST): Add sha1.h.
64040         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
64041         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
64042         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
64043         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
64044         * modules/strdup (EXTRA_DIST): Add strdup.h.
64045         * modules/strftime (EXTRA_DIST): Add strftime.h.
64046         * modules/strndup (EXTRA_DIST): Add strndup.h.
64047         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
64048         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
64049         * modules/time_r (EXTRA_DIST): Add time_r.h.
64050         * modules/timespec (EXTRA_DIST): Add timespec.h.
64051         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
64052         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
64053         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
64054         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
64055         * modules/userspec (EXTRA_DIST): Add userspec.h.
64056         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
64057         * modules/utimens (EXTRA_DIST): Add utimens.h.
64058         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
64059         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
64060         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
64061         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
64062         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
64063         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
64064         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
64065         * modules/yesno (EXTRA_DIST): Add yesno.h.
64066
64067 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
64068
64069         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
64070
64071         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
64072         * m4/dev-ino.m4, same-inode.m4: Remove.
64073
64074         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
64075         * m4/acl.m4 (AC_FUNC_ACL):
64076         * m4/backupfile.m4 (gl_BACKUPFILE):
64077         * m4/c-strtod.m4 (gl_C99_STRTOLD):
64078         * m4/canon-host.m4 (gl_CANON_HOST):
64079         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
64080         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
64081         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
64082         * m4/cloexec.m4 (gl_CLOEXEC):
64083         * m4/close-stream.m4 (gl_CLOSE_STREAM):
64084         * m4/closeout.m4 (gl_CLOSEOUT):
64085         * m4/dirfd.m4 (gl_FUNC_DIRFD):
64086         * m4/dirname.m4 (gl_DIRNAME):
64087         * m4/exclude.m4 (gl_EXCLUDE):
64088         * m4/exitfail.m4 (gl_EXITFAIL):
64089         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
64090         * m4/file-type.m4 (gl_FILE_TYPE):
64091         * m4/filemode.m4 (gl_FILEMODE):
64092         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
64093         * m4/fpending.m4 (gl_FUNC_FPENDING):
64094         * m4/fprintftime.m4 (gl_FPRINTFTIME):
64095         * m4/fts.m4 (gl_FUNC_FTS):
64096         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
64097         * m4/getdate.m4 (gl_GETDATE):
64098         * m4/gethrxtime.m4 (gl_GETHRXTIME):
64099         * m4/getpagesize.m4 (gl_GETPAGESIZE):
64100         * m4/getpass.m4 (gl_FUNC_GETPASS):
64101         * m4/gettime.m4 (gl_GETTIME):
64102         * m4/getugroups.m4 (gl_GETUGROUPS):
64103         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
64104         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
64105         * m4/hard-locale.m4 (gl_HARD_LOCALE):
64106         * m4/hash.m4 (gl_HASH):
64107         * m4/idcache.m4 (gl_IDCACHE):
64108         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
64109         * m4/lchown.m4 (gl_FUNC_LCHOWN):
64110         * m4/long-options.m4 (gl_LONG_OPTIONS):
64111         * m4/lstat.m4 (gl_FUNC_LSTAT):
64112         * m4/md5.m4 (gl_MD5):
64113         * m4/memcasecmp.m4 (gl_MEMCASECMP):
64114         * m4/memcoll.m4 (gl_MEMCOLL):
64115         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
64116         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
64117         * m4/memxor.m4 (gl_MEMXOR):
64118         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
64119         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
64120         * m4/modechange.m4 (gl_MODECHANGE):
64121         * m4/mountlist.m4 (gl_MOUNTLIST):
64122         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
64123         * m4/openat.m4 (gl_FUNC_OPENAT):
64124         * m4/pathmax.m4 (gl_PATHMAX):
64125         * m4/physmem.m4 (gl_PHYSMEM):
64126         * m4/posixtm.m4 (gl_POSIXTM):
64127         * m4/posixver.m4 (gl_POSIXVER):
64128         * m4/quote.m4 (gl_QUOTE):
64129         * m4/quotearg.m4 (gl_QUOTEARG):
64130         * m4/readtokens.m4 (gl_READTOKENS):
64131         * m4/readutmp.m4 (gl_READUTMP):
64132         * m4/regex.m4 (gl_REGEX):
64133         * m4/safe-read.m4 (gl_SAFE_READ):
64134         * m4/safe-write.m4 (gl_SAFE_WRITE):
64135         * m4/same.m4 (gl_SAME):
64136         * m4/save-cwd.m4 (gl_SAVE_CWD):
64137         * m4/savedir.m4 (gl_SAVEDIR):
64138         * m4/settime.m4 (gl_SETTIME):
64139         * m4/sha1.m4 (gl_SHA1):
64140         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
64141         * m4/stat-macros.m4 (gl_STAT_MACROS):
64142         * m4/stat-time.m4 (gl_STAT_TIME):
64143         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
64144         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
64145         * m4/strdup.m4 (gl_FUNC_STRDUP):
64146         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
64147         * m4/strndup.m4 (gl_FUNC_STRNDUP):
64148         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
64149         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
64150         * m4/time_r.m4 (gl_TIME_R):
64151         * m4/timespec.m4 (gl_TIMESPEC):
64152         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
64153         * m4/unlinkdir.m4 (gl_UNLINKDIR):
64154         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
64155         * m4/userspec.m4 (gl_USERSPEC):
64156         * m4/utimecmp.m4 (gl_UTIMECMP):
64157         * m4/utimens.m4 (gl_UTIMENS):
64158         * m4/xalloc.m4 (gl_XALLOC):
64159         * m4/xgetcwd.m4 (gl_XGETCWD):
64160         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
64161         * m4/xreadlink.m4 (gl_XREADLINK):
64162         * m4/xstrtod.m4 (gl_XSTRTOD):
64163         * m4/yesno.m4 (gl_YESNO):
64164         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
64165         to get the necessary .h files and whatnot.
64166
64167 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
64168             Bruno Haible  <bruno@clisp.org>
64169
64170         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
64171         /bin/sh understanding of '!' conditional negation.
64172
64173 2006-08-21  Jim Meyering  <jim@meyering.net>
64174
64175         * modules/openat (Depends-on): Really alphabetize.
64176
64177         * modules/acl (Depends-on): Add error and quote.
64178
64179         * check-module (find_included_lib_files): Add at-func.c to the
64180         ok-to-include-more-than-once white list.
64181
64182         * modules/openat (Depends-on): Add lstat.  Alphabetize.
64183
64184 2006-08-21  Bruno Haible  <bruno@clisp.org>
64185
64186         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
64187         Emit a pkgdata_DATA variable only if some snippets add contents to it.
64188         Reported by Martin Lambers <marlam@marlam.de>.
64189
64190 2006-08-21  Bruno Haible  <bruno@clisp.org>
64191
64192         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
64193         specify an installation location, don't emit a noinst_LIBRARIES or
64194         noinst_LTLIBRARIES assignment.
64195
64196 2006-08-21  Bruno Haible  <bruno@clisp.org>
64197
64198         BeOS portability.
64199         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
64200         BeOS has mbrtowc() but no <wctype.h>.
64201
64202 2006-08-21  Bruno Haible  <bruno@clisp.org>
64203
64204         BeOS portability.
64205         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
64206         exist.
64207
64208 2006-08-21  Bruno Haible  <bruno@clisp.org>
64209
64210         BeOS portability.
64211         * lib/mbchar.h: Include <wctype.h> only if it exists.
64212
64213 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
64214
64215         Remove files that are no longer needed by their respective modules.
64216         * m4/obstack.m4: Remove.
64217         * m4/strerror_r.m4: Remove.
64218         * m4/uint32_t.m4: Remove.
64219         * m4/uintptr_t.m4: Remove.
64220         * m4/ullong_max.m4: Remove.
64221         * m4/xstrtoimax.m4: Remove.
64222         * m4/xstrtoumax.m4: Remove.
64223
64224         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
64225         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
64226         dependencies now capture this.
64227
64228         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
64229         Do not use AC_LIBSOURCES, since gnulib modules now do this.
64230         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
64231         * m4/human.m4 (gl_HUMAN): Likewise.
64232         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
64233         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
64234
64235         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
64236
64237         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
64238         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
64239         stdint.
64240         * m4/human.m4 (gl_HUMAN): Likewise.
64241         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
64242         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
64243         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
64244         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
64245         * m4/xstrtol (gl_XSTRTOL): Likewise.
64246
64247         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
64248         AC_TYPE_LONG_LONG_INT.
64249         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
64250         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
64251         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
64252         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
64253
64254         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
64255         on stdbool.
64256
64257         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
64258         (gl_PREREQ_XSTRTOUL): Remove.
64259
64260         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
64261
64262         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
64263         mode.
64264
64265 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
64266
64267         Add and change modules to make it easier for coreutils to use
64268         gnulib-tool.
64269         * modules/backupfile (Files): Remove m4/d-ino.m4.
64270         (Depends-on): Add d-ino.
64271         * modules/cycle-check (Depends-on): Add stdint.
64272         (lib_SOURCES): Add cycle-check.h.
64273         * modules/d-ino: New module.
64274         * modules/d-type: New module.
64275         * modules/error (Files): Remove m4/strerror_r.m4.
64276         * modules/filemode (Files): Add m4/st_dm_mode.m4.
64277         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
64278         m4/inttypes_h.m4, m4/uintmax_t.m4.
64279         (Depends-on): Add stdint.
64280         (lib_SOURCES): Add fsusage.h.
64281         * modules/getcwd (Files): Remove d-ino.m4.
64282         (Depends-on): Add d-ino.
64283         * modules/getndelim2 (Depends-on): Add stdint.
64284         * modules/glob (Files): Remove m4/d-type.m4.
64285         (Depends-on): Add d-type.
64286         * modules/host-os: New module.
64287         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
64288         m4/inttypes_h.m4, m4/uintmax_t.m4.
64289         * Depends-on: Add stdint.
64290         (lib_SOURCES): Add human.h.
64291         * modules/inttostr (Files): Remove m4/intmax_t.m4,
64292         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
64293         m4/uintmax_t.m4, m4/ulonglong.m4.
64294         (Depends-on): Add stdint.
64295         (EXTRA_DIST): Add inttostr.h.
64296         * modules/lchmod: New module.
64297         * modules/link-follow: New module.
64298         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
64299         (Depends-on): Add lchmod.
64300         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
64301         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
64302         (Depends-on): Add stdint.
64303         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
64304         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
64305         (Depends-on): Add stdint.
64306         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
64307         * modules/perl: New module.
64308         * modules/regex (Depends-on): Add stdint.
64309         * modules/rmdir-errno: New module.
64310         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
64311         m4/intmax_t.m4.
64312         (Depends-on): Add stdint.
64313         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
64314         m4/uintmax_t.m4.
64315         (Depends-on): Add stdint.
64316         * modules/unlink-busy: New module.
64317         * modules/utimecmp (Depends-on): Add stdint.
64318         * modules/uptime: New module.
64319         * modules/winsz-ioctl: New module.
64320         * modules/winsz-termios: New module.
64321         * modules/xnanosleep (Depends-on): Add nanosleep.
64322         * modules/ullong_max: Remove.
64323         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
64324         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
64325         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
64326         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
64327         (Depends-on): Add inttypes.
64328         (lib_SOURCES): Add xstrtol.h.
64329         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
64330         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
64331         * MODULES.html.sh: Move 'assert' into the assert section.
64332         Move 'dummy' into the linking section.
64333         Remove ullong_max.
64334         Add section for compatibility checks for POSIX:2001 functions,
64335         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
64336         winsz-ioctl, and winsz-termios into it.
64337         Add lchmod.
64338         Add top-level Misc section and put host-os, perl, and uptime
64339         into it.
64340
64341 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
64342
64343         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
64344         now assume the stdint module.  Do not include inttypes.h.
64345         * lib/fsusage.h: Likewise.
64346         * lib/getndelim2.c: Likewise.
64347         * lib/human.h: Likewise.
64348         * lib/inttostr.h: Likewise.
64349         * lib/obstack.c: Likewise.
64350         * lib/regex_internal.h: Likewise.
64351         * lib/tempname.c: Likewise.
64352         * lib/utimecmp.c: Likewise.
64353         * lib/xstrtol.h: Likewise.
64354
64355         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
64356
64357         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
64358         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
64359         * lib/xtime.h: Likewise.
64360
64361 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
64362
64363         * modules/openat (Files): Add lib/fchmodat.c.
64364         Fixes problem reported by Jay Youngman.
64365
64366 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
64367
64368         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
64369         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
64370
64371 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
64372             Bruno Haible  <bruno@clisp.org>
64373
64374         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
64375         and is a script that invokes bison. Tighten the code. Add comments.
64376
64377 2006-08-18  Jim Meyering  <jim@meyering.net>
64378
64379         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
64380         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
64381         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
64382         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
64383
64384 2006-08-18  Bruno Haible  <bruno@clisp.org>
64385
64386         * modules/bison-i18n: New file.
64387         * MODULES.html.sh (Internationalization functions): Add it.
64388
64389 2006-08-18  Bruno Haible  <bruno@clisp.org>
64390
64391         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
64392         sys/statvfs.h. When getmntinfo was found, check its declaration and
64393         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
64394
64395 2006-08-18  Bruno Haible  <bruno@clisp.org>
64396
64397         * m4/bison-i18n.m4: New file, from bison.
64398
64399 2006-08-18  Bruno Haible  <bruno@clisp.org>
64400
64401         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
64402         (ME_DUMMY): Treat "kernfs" as a dummy.
64403         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
64404
64405 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
64406
64407         Update from coreutils.
64408
64409         2006-08-15  Jim Meyering  <jim@meyering.net>
64410
64411         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
64412
64413         2006-01-17  Jim Meyering  <jim@meyering.net>
64414
64415         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
64416
64417         2006-01-11  Jim Meyering  <jim@meyering.net>
64418
64419         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
64420         Check for the lchmod function.
64421
64422 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
64423
64424         Update from coreutils.
64425
64426         * lib/__fpending.h: Add copyright notice.
64427         * lib/fprintftime.h: Likewise.
64428         * lib/savedir.c: Use (C) in copyright notice.
64429         * lib/savedir.h: Likewise.
64430
64431         2006-08-15  Jim Meyering  <jim@meyering.net>
64432
64433         * lib/at-func.c: New file, with the logic of all emulated at-functions.
64434         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
64435         in support of the EXPECTED_ERRNO macro.
64436         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
64437         definitions.  Instead, define the appropriate symbols and include
64438         "at-func.c".
64439         * lib/mkdirat.c (mkdirat): Likewise.
64440         * lib/fchmodat.c (fchmodat): Likewise.
64441         (ENOSYS): Remove definition.
64442         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
64443         it.  Don't include "unistd--.h" -- it wasn't ever used.
64444
64445         2006-01-17  Jim Meyering  <jim@meyering.net>
64446
64447         Rewrite fts.c not to change the current working directory,
64448         by using openat, fstatat, fdopendir, etc..
64449
64450         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
64451         (HAVE_OPENAT_SUPPORT): Define.
64452         [_LIBC] (fchdir): Don't undef or define; no longer used.
64453         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
64454         Now, this `function' always succeeds, and consumes its file descriptor
64455         parameter -- so callers must not close such FDs.  Update callers.
64456         (diropen_fd, opendirat, cwd_advance_fd): New functions.
64457         (diropen): Add parameter, SP.  Adjust all callers.
64458         Implement using diropen_fd, rather than open.
64459         (fts_open): Initialize new member, fts_cwd_fd.
64460         Remove fts_rft-setting code.
64461         (fts_close): Close fts_cwd_fd, if necessary.
64462         (__opendir2): Define in terms of opendir or opendirat,
64463         depending on whether the FST_NOCHDIR flag is set.
64464         (fts_build): Since fts_safe_changedir consumes its FD, and since
64465         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
64466         and close the dup'd file descriptor upon failure.
64467         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
64468         (fts_safe_changedir): Tweak semantics to reflect that this function
64469         now calls cwd_advance_fd and hence consumes its FD argument.
64470         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
64471         [struct FTS] (fts_rft): Remove now-unused member.
64472         [struct FTS] (fts_cycle.state): Improve comment.
64473
64474         * lib/openat.c (openat_needs_fchdir): New function.
64475         * lib/openat.h (openat_needs_fchdir): Declare it.
64476
64477 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
64478
64479         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
64480         Problem and fix reported by Pádraig Brady in
64481         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
64482
64483 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
64484
64485         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
64486
64487 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
64488
64489         * lib/memcoll.c (memcoll): Optimize for the common case where the
64490         arguments are bytewise equal.
64491
64492 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
64493
64494         * doc/regexprops-generic.texi: Add a copyright notice.
64495
64496 2006-08-15  Bruno Haible  <bruno@clisp.org>
64497
64498         * modules/tmpdir (License): Change to LGPL.
64499
64500 2006-08-15  Bruno Haible  <bruno@clisp.org>
64501
64502         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
64503         module.
64504
64505 2006-08-14  Simon Josefsson  <jas@extundo.com>
64506
64507         * config/srclist.txt: Add gnupload.
64508
64509 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
64510
64511         Change copyright notice from LGPL 2 to GPL 2, since that's the
64512         standard form used in the gnulib repository.
64513         * tests/test-lock.c: Likewise.
64514         * tests/test-stdint.c: Likewise.
64515         * tests/test-tls.c: Likewise.
64516
64517         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
64518         prelude-manager.  User shorter URLs for GNU projects, without '?'.
64519         Add copyright notice.
64520
64521         * check-module: Add copyright notice.  Output a copyright
64522         notice if "--version" is specified.
64523         * modules/COPYING: New file.
64524         * tests/test-getaddrinfo.c: Add copyright notice.
64525         * tests/test-verify.c: Likewise.
64526
64527 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
64528
64529         Change copyright notice from LGPL 2 to GPL 2, since that's the
64530         standard form used in the gnulib repository.
64531         * lib/lock.c: LGPL -> GPL.
64532         * lib/lock.h: Likewise.
64533         * lib/strnlen1.c: Likewise.
64534         * lib/strnlen1.h: Likewise.
64535         * lib/tls.c: Likewise.
64536         * lib/tls.h: Likewise.
64537         * lib/tmpdir.c: Likewise.
64538
64539         * lib/TODO: Remove; this belongs only in coreutils.
64540
64541 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
64542
64543         Add copyright notices to long-enough files that lack them, since
64544         otherwise the files aren't clearly free.  Use the same notice that
64545         getdate.texi already uses.
64546         * doc/alloca-opt.texi: Add copyright notice.
64547         * doc/alloca.texi: Likewise.
64548         * doc/ctime.texi: Likewise.
64549         * doc/functions.texi: Likewise.
64550         * doc/gcd.texi: Likewise.
64551         * doc/gnulib-tool.texi: Likewise.
64552         * doc/inet_ntoa.texi: Likewise.
64553         * doc/visibility.texi: Likewise.
64554
64555         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
64556         * doc/quote.texi: Add copyright notice.
64557
64558         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
64559         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
64560         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
64561         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
64562         is now obsolete, and give a pointer to the Sun list.
64563         Add copyright notice.
64564
64565 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
64566
64567         * config/srclistvars.sh: Add copyright notice.
64568
64569 2006-08-14  Eric Blake  <ebb9@byu.net>
64570
64571         Import the following change from libc:
64572
64573         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
64574
64575         Upstream bug 2997.
64576         * lib/misc/error.c: Add space between program name and message if file
64577         name is missing.
64578
64579 2006-08-12  Karl Berry  <karl@gnu.org>
64580
64581         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
64582         remove, these originate in gnulib now.
64583
64584 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64585
64586         * doc/Makefile (standards.info standards.html standards.dvi):
64587         Also depend on make-stds.texi.
64588
64589 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
64590
64591         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
64592         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
64593
64594         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
64595         in wchar_t.  Problem reported by Eric Blake.
64596
64597         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
64598         LEN is smaller than SIZE.  Suggested by Bruno Haible.
64599         Also, help the compiler to keep LEN in a register.
64600
64601 2006-08-11  Eric Blake  <ebb9@byu.net>
64602
64603         * users.txt: Sort.  Add tar.
64604
64605 2006-08-11  Bruno Haible  <bruno@clisp.org>
64606
64607         * users.txt: New file.
64608
64609 2006-08-11  Bruno Haible  <bruno@clisp.org>
64610
64611         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
64612         before <wchar.h>. Needed for OSF/1 and BSD/OS.
64613
64614 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
64615
64616         * modules/snprintf (Depends-on): Remove minmax.
64617         (Maintainer): Add self and Bruno.
64618
64619 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
64620
64621         * lib/.cppi-disable: Add snprintf.h, socket_.h.
64622         * lib/snprintf.c: Include <errno.h> and <limits.h>.
64623         (EOVERFLOW): Define if the system does not.
64624         Do not include "minmax.h"; it wasn't used.
64625         (snprintf): Don't assume size_t promotes to an unsigned type.
64626         Fix bug when generated string was too long for the buffer: the
64627         buffer's contents are supposed to be the initial prefix of the
64628         output.  Don't assume vasnprintf returns EOVERFLOW if the size
64629         exceeds INT_MAX; do the check ourselves.
64630
64631         Import the following changes from libc:
64632
64633         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
64634
64635         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
64636         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
64637         set wc to the byte which couldn't be converted.
64638         (re_string_reconstruct): Don't clear valid_raw_len before calling
64639         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
64640         tip_context using re_string_context_at.
64641
64642         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
64643
64644         * lib/posix/regex.h: g++ still cannot handled [restrict].
64645
64646         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
64647
64648         * lib/posix/regex.h: Remove special handling for VMS.
64649
64650 2006-08-10  Jim Meyering  <jim@meyering.net>
64651
64652         * modules/same-inode: New module.
64653         * modules/dev-ino: New module.
64654         * modules/cycle-check: Depend on these modules, rather than simply
64655         including their .h files.
64656         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
64657         required via m4/cycle-check.m4.
64658         * modules/same: Depend on new same-inode module, rather than
64659         including same-inode.h.
64660         * modules/chdir-safer: New file.
64661
64662         * modules/chown (Depends-on): Add stat-macros.
64663
64664 2006-08-10  Jim Meyering  <jim@meyering.net>
64665
64666         * m4/cycle-check.m4: New file.
64667         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
64668         * m4/dev-ino.m4, m4/same-inode.m4: New files.
64669
64670 2006-08-10  Eric Blake  <ebb9@byu.net>
64671
64672         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
64673         in from original proposal.
64674
64675 2006-08-10  Eric Blake  <ebb9@byu.net>
64676         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
64677
64678         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
64679         namespace.
64680
64681 2006-08-10  Bruno Haible  <bruno@clisp.org>
64682
64683         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
64684         as well.
64685
64686 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
64687
64688         Sync from coreutils.
64689
64690         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
64691
64692         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
64693         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
64694
64695 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
64696
64697         * modules/restrict: Remove; no longer needed now that we assume
64698         Autoconf 2.59 or later.
64699         * MODULES.html.sh: Remove 'restrict'.
64700         * modules/argp (Depends-on): Remove 'restrict'.
64701         * modules/base64 (Depends-on): Likewise.
64702         * modules/gc (Depends-on): Likewise.
64703         * modules/getaddrinfo (Depends-on): Likewise.
64704         * modules/glob (Depends-on): Likewise.
64705         * modules/inet_ntop (Depends-on): Likewise.
64706         * modules/inet_pton (Depends-on): Likewise.
64707         * modules/memxor (Depends-on): Likewise.
64708         * modules/regex (Depends-on): Likewise.
64709         * modules/strtok_r (Depends-on): Likewise.
64710         * modules/time_r (Depends-on): Likewise.
64711
64712 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
64713
64714         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
64715         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
64716         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
64717         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
64718         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
64719         * m4/memxor.m4 (gl_MEMXOR): Likewise.
64720         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
64721         gl_C_RESTRICT replaced by AC_C_RESTRICT.
64722
64723         Merge from coreutils.
64724         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
64725         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
64726         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
64727         * m4/time_r.m4 (gl_TIME_R): Likewise.
64728
64729 2006-08-09  Karl Berry  <karl@gnu.org>
64730
64731         * config/srclist.txt: no more gettext-tools, per Bruno.
64732
64733 2006-08-08  Eric Blake  <ebb9@byu.net>
64734
64735         * modules/verror: New module.
64736         * MODULES.html.sh: Document it.
64737
64738 2006-08-08  Eric Blake  <ebb9@byu.net>
64739
64740         * lib/verror.h, lib/verror.c: New files.
64741
64742 2006-08-08  Eric Blake  <ebb9@byu.net>
64743
64744         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
64745         verror_at_line output complies with GNU Coding Standards even when
64746         file is NULL.
64747
64748 2006-08-07  Bruno Haible  <bruno@clisp.org>
64749
64750         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
64751         versions of AIX.
64752         Reported by Ralf Wildenhues.
64753
64754 2006-08-07  Bruno Haible  <bruno@clisp.org>
64755
64756         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
64757         in an AC_DEFUN. Needed so that the autoconf snippets can use
64758         AC_REQUIRE.
64759
64760 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64761
64762         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
64763         Initialize pkgdata_DATA.
64764         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
64765         overriding it.
64766
64767 2006-08-06  Eric Blake  <ebb9@byu.net>
64768
64769         * lib/error.h: Fold in some upstream changes from glibc.
64770         * lib/error.c: Likewise.
64771
64772 2006-08-04  Bruno Haible  <bruno@clisp.org>
64773
64774         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
64775         Make the mostlyclean-local rule depend on mostlyclean-generic.
64776         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
64777
64778 2006-07-31  Bruno Haible  <bruno@clisp.org>
64779
64780         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
64781         <stdlib.h>, <string.h>.
64782
64783 2006-07-30  Bruno Haible  <bruno@clisp.org>
64784
64785         * modules/readlink (License): Change to LGPL.
64786
64787 2006-07-30  Bruno Haible  <bruno@clisp.org>
64788
64789         * modules/javaversion (Makefile.am): Distribute javaversion.java and
64790         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
64791         set PKGDATADIR to point to it.
64792
64793 2006-07-30  Bruno Haible  <bruno@clisp.org>
64794
64795         * modules/csharpexec (configure.ac): Comment out macro invocation.
64796         * modules/javaexec (configure.ac): Likewise.
64797         * modules/javacomp-script (configure.ac): Likewise.
64798
64799         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
64800
64801 2006-07-30  Bruno Haible  <bruno@clisp.org>
64802
64803         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
64804         linked-list.
64805
64806 2006-07-30  Bruno Haible  <bruno@clisp.org>
64807
64808         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
64809
64810 2006-07-30  Bruno Haible  <bruno@clisp.org>
64811
64812         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
64813         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
64814         get removed.
64815
64816 2006-07-29  Bruno Haible  <bruno@clisp.org>
64817
64818         Make it possible for gnulib-tool to work with locally modified or
64819         augmented gnulib repositories.
64820         * gnulib-tool (func_usage): Document --local-dir option.
64821         (local_gnulib_dir): New variable.
64822         Handle --local-dir option.
64823         (func_lookup_file): New function.
64824         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
64825         (func_get_description, func_get_filelist, func_get_description,
64826         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
64827         func_get_automake_snippet, func_get_include_directive,
64828         func_get_license, func_get_maintainer): Use func_lookup_file.
64829         (func_import, func_create_testdir): Use func_lookup_file.
64830
64831 2006-07-29  Bruno Haible  <bruno@clisp.org>
64832
64833         * modules/setenv (Depends-on): Add unistd.
64834
64835 2006-07-29  Bruno Haible  <bruno@clisp.org>
64836
64837         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
64838
64839 2006-07-29  Bruno Haible  <bruno@clisp.org>
64840
64841         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
64842
64843 2006-07-29  Bruno Haible  <bruno@clisp.org>
64844
64845         * gnulib-tool (import, update): If there is no Makefile.am, look at
64846         aclocal.m4, instead of bailing out.
64847
64848 2006-07-29  Bruno Haible  <bruno@clisp.org>
64849
64850         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
64851         Categorize the options by when they are useful.
64852
64853 2006-07-29  Bruno Haible  <bruno@clisp.org>
64854
64855         * gnulib-tool (func_usage): Document option --no-libtool.
64856         Handle option --no-libtool.
64857         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
64858         for changed semantics of $libtool variable.
64859         (func_import): Likewise. If libtool is not used, show this through
64860         an option --no-libtool.
64861         (func_create_testdir): Update.
64862
64863 2006-07-29  Bruno Haible  <bruno@clisp.org>
64864
64865         * gnulib-tool (func_import): Extend error message about missing
64866         --doc-base.
64867
64868 2006-07-29  Bruno Haible  <bruno@clisp.org>
64869
64870         * gnulib-tool (func_import): Don't create the $docbase directory if
64871         there is no file to store there.
64872
64873 2006-07-29  Bruno Haible  <bruno@clisp.org>
64874
64875         * gnulib-tool (autoconf_minversion): If a --dir option is given and
64876         relevant, look for configure.ac there, not in the current directory.
64877         Also use a simple search for AC_PREREQ, not "autoconf --trace".
64878
64879 2006-07-29  Bruno Haible  <bruno@clisp.org>
64880
64881         * gnulib-tool (SORT): New variable.
64882         (func_usage): Undocument --assume-autoconf option.
64883         Remove --assume-autoconf option handling.
64884         (autoconf_minversion): Determine from the contents of configure.ac.
64885         (func_import): Remove autoconf_minversion handling.
64886         Suggested by Eric Blake.
64887
64888 2006-07-29  Bruno Haible  <bruno@clisp.org>
64889
64890         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
64891
64892 2006-07-29  Bruno Haible  <bruno@clisp.org>
64893
64894         * config/srclist.txt (*setenv.[ch]): Remove rules.
64895
64896 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64897
64898         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
64899
64900 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64901
64902         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
64903         arpa/inet.h.
64904
64905 2006-07-28  Simon Josefsson  <jas@extundo.com>
64906
64907         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
64908         * modules/inet_pton (Depends-on): Likewise.
64909
64910 2006-07-28  Simon Josefsson  <jas@extundo.com>
64911
64912         * m4/netinet_in_h.m4: New file.
64913
64914 2006-07-28  Simon Josefsson  <jas@extundo.com>
64915
64916         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
64917         #include's.
64918
64919 2006-07-28  Simon Josefsson  <jas@extundo.com>
64920
64921         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
64922         #include's.
64923
64924 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
64925
64926         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
64927         setgid on directories only if they set these bits.
64928         * lib/modechange.h: Remove obsolete comment about masks.
64929
64930 2006-07-28  Eric Blake  <ebb9@byu.net>
64931
64932         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
64933         macro expansion.
64934
64935 2006-07-28  Bruno Haible  <bruno@clisp.org>
64936
64937         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
64938
64939 2006-07-28  Bruno Haible  <bruno@clisp.org>
64940
64941         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
64942
64943 2006-07-28  Bruno Haible  <bruno@clisp.org>
64944
64945         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
64946         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
64947         Define fallbacks.
64948         Avoids link error on FreeBSD 4.x.
64949         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
64950
64951         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
64952         encoding.
64953         * lib/mbswidth.c (iswcntrl): Likewise.
64954
64955 2006-07-27  Bruno Haible  <bruno@clisp.org>
64956
64957         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
64958         test.
64959
64960 2006-07-27  Bruno Haible  <bruno@clisp.org>
64961
64962         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
64963         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
64964         defined.
64965
64966 2006-07-26  Eric Blake  <ebb9@byu.net>
64967
64968         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
64969
64970 2006-07-26  Eric Blake  <ebb9@byu.net>
64971
64972         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
64973         like mingw that lack mkstemp.
64974         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
64975         avoid compilation warning on mingw.
64976
64977 2006-07-26  Bruno Haible  <bruno@clisp.org>
64978
64979         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
64980         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
64981         INT_FAST*_MIN, INTPTR_MIN.
64982
64983 2006-07-25  Bruno Haible  <bruno@clisp.org>
64984
64985         * modules/version-etc (Depends-on): Add stdarg.
64986
64987 2006-07-25  Bruno Haible  <bruno@clisp.org>
64988
64989         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
64990         complex commands.
64991
64992 2006-07-25  Bruno Haible  <bruno@clisp.org>
64993
64994         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
64995         defined in <stdarg.h> or config.h.
64996
64997 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
64998
64999         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
65000         (gl_STDIO_SAFER): Remove.
65001
65002 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
65003
65004         * MODULES.html.sh (File stream based Input/Output):
65005         Add fopen-safer, tmpfile-safer; remove stdio-safer.
65006         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
65007         * modules/fopen-safer, modules/tmpfile-safer: New files.
65008         * modules/stdio-safer: Remove.
65009
65010 2006-07-24  Bruno Haible  <bruno@clisp.org>
65011
65012         * modules/tmpdir: New file.
65013         * MODULES.html.sh (File system functions): Add it.
65014
65015 2006-07-24  Bruno Haible  <bruno@clisp.org>
65016
65017         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
65018         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
65019
65020 2006-07-24  Bruno Haible  <bruno@clisp.org>
65021
65022         * modules/clean-temp: New file.
65023
65024 2006-07-24  Bruno Haible  <bruno@clisp.org>
65025
65026         * m4/tmpdir.m4: New file, from GNU gettext.
65027
65028 2006-07-24  Bruno Haible  <bruno@clisp.org>
65029
65030         * lib/tmpdir.h: New file, from GNU gettext.
65031         * lib/tmpdir.c: New file, from GNU gettext.
65032
65033 2006-07-24  Bruno Haible  <bruno@clisp.org>
65034
65035         * lib/clean-temp.h: New file, from GNU gettext.
65036         * lib/clean-temp.c: New file, from GNU gettext.
65037
65038 2006-07-23  Eric Blake  <ebb9@byu.net>
65039
65040         * modules/stdio-safer (Files): Add tmpfile-safer.c.
65041         (Depends-on): Add binary-io.
65042
65043 2006-07-23  Eric Blake  <ebb9@byu.net>
65044
65045         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
65046
65047 2006-07-23  Eric Blake  <ebb9@byu.net>
65048
65049         * lib/tmpfile-safer.c: New file.
65050         * lib/stdio-safer.h (fopen_safer): Add prototype.
65051         * lib/stdio--.h (tmpfile): Make safer.
65052
65053 2006-07-23  Bruno Haible  <bruno@clisp.org>
65054
65055         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
65056         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
65057         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
65058         gl_linked_remove_at): Use it.
65059
65060 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65061         and Simon Josefsson <jas@extundo.com>
65062
65063         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
65064
65065         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
65066
65067 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
65068
65069         * modules/close-stream: New file.
65070         * modules/closeout (Description): Make it clear that it exits
65071         with a diagnostic on error.
65072         (Depends-on): Add close-stream.  Remove fpending, stdbool.
65073         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
65074
65075 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
65076
65077         * m4/close-stream.m4: New file.
65078
65079 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
65080
65081         * lib/close-stream.c, lib/close-stream.h: New files.
65082
65083 2006-07-22  Bruno Haible  <bruno@clisp.org>
65084
65085         Merge from GNU gettext 0.15.
65086
65087         2006-05-01  Bruno Haible  <bruno@clisp.org>
65088
65089                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
65090
65091         2006-07-22  Bruno Haible  <bruno@clisp.org>
65092
65093                 * modules/javaversion: New file.
65094                 * MODULES.html.sh (Java): Add javaversion.
65095
65096         2006-03-12  Bruno Haible  <bruno@clisp.org>
65097
65098                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
65099
65100         2005-12-04  Bruno Haible  <bruno@clisp.org>
65101
65102                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
65103                 (untested).
65104
65105         2006-06-21  Bruno Haible  <bruno@clisp.org>
65106
65107                 Avoid warnings from recent versions of mcs.
65108                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
65109                 -o, -L, -r any more. Use options documented since mcs-1.0
65110                 instead. Similarly for -g.
65111
65112         2005-12-04  Bruno Haible  <bruno@clisp.org>
65113
65114                 * build-aux/csharpcomp.sh.in: Suffix for resources is
65115                 .resources, not .resource.
65116
65117         2005-07-09  Bruno Haible  <bruno@clisp.org>
65118
65119                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
65120                 add a .dll suffix.
65121                 Reported by Mark Junker <mjscod@gmx.de>.
65122
65123         2006-07-22  Bruno Haible  <bruno@clisp.org>
65124
65125                 * modules/gettext: Upgrade to gettext-0.15.
65126                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
65127                 m4/visibility.m4.
65128                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
65129
65130 2006-07-22  Bruno Haible  <bruno@clisp.org>
65131
65132         Merge from GNU gettext 0.15.
65133
65134         2006-03-25  Bruno Haible  <bruno@clisp.org>
65135
65136                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
65137
65138         2006-07-21  Bruno Haible  <bruno@clisp.org>
65139
65140                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
65141                 "1.1".
65142
65143         2006-05-09  Bruno Haible  <bruno@clisp.org>
65144
65145                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
65146                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
65147                 for the conftestver execution.
65148
65149         2006-05-01  Bruno Haible  <bruno@clisp.org>
65150
65151                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
65152                 optional target-version argument. Verify that the compiler
65153                 groks source of the specified source-version, or add -source
65154                 option as necessary. Verify that the compiler produces
65155                 bytecode in the specified target-version, or add -target and
65156                 -source options as necessary. Make the result of the test
65157                 available as variable CONF_JAVAC. Also log error output in
65158                 config.log.
65159
65160         2006-03-11  Bruno Haible  <bruno@clisp.org>
65161
65162                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
65163
65164         2006-05-09  Bruno Haible  <bruno@clisp.org>
65165
65166                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
65167                 CLASSPATH_SEPARATOR to a semicolon.
65168
65169         2006-03-12  Bruno Haible  <bruno@clisp.org>
65170
65171                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
65172                 available as variable CONF_JAVA, for subsequent autoconf
65173                 tests. Also log error output in config.log.
65174
65175         2006-07-19  Bruno Haible  <bruno@clisp.org>
65176
65177                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
65178                 that getline works on glibc2 systems. Needed to avoid trouble
65179                 in relocatable.c.
65180                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
65181
65182         2005-12-04  Bruno Haible  <bruno@clisp.org>
65183
65184                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
65185                 launcher (untested).
65186
65187         2005-12-04  Bruno Haible  <bruno@clisp.org>
65188
65189                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
65190
65191         2006-07-22  Bruno Haible  <bruno@clisp.org>
65192
65193                 * gettext.m4: Update from GNU gettext-0.15.
65194                 * nls.m4: Likewise.
65195                 * po.m4: Likewise.
65196                 * inttypes-pri.m4: Likewise.
65197                 * inttypes-h.m4: Renamed from inttypes.m4.
65198                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
65199
65200 2006-07-22  Bruno Haible  <bruno@clisp.org>
65201
65202         Merge from GNU gettext 0.15.
65203
65204         2005-07-05  Bruno Haible  <bruno@clisp.org>
65205
65206                 * printf-args.c (printf_fetchargs): Work around broken
65207                 definition of wint_t on mingw.
65208
65209         2005-02-12  Bruno Haible  <bruno@clisp.org>
65210
65211                 * xallocsa.h: Add extern "C" for C++.
65212
65213         2006-05-17  Bruno Haible  <bruno@clisp.org>
65214
65215                 Cygwin portability.
65216                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
65217
65218         2006-04-30  Bruno Haible  <bruno@clisp.org>
65219
65220                 * progreloc.c: Include <mach-o/dyld.h> if available.
65221                 (find_executable): Use _NSGetExecutablePath when possible.
65222
65223         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
65224
65225                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
65226                 function.
65227
65228         2005-12-29  Bruno Haible  <bruno@clisp.org>
65229
65230                 * progreloc.c (set_program_name_and_installdir): Fix
65231                 compilation error.
65232
65233         2005-12-04  Bruno Haible  <bruno@clisp.org>
65234
65235                 Cygwin portability.
65236                 * progreloc.c: Include <windows.h> also on Cygwin.
65237                 (find_executable): Add support for Cygwin.
65238                 (set_program_name_and_installdir): Handle also platforms with
65239                 nonempty EXEEXT.
65240
65241         2006-07-11  Bruno Haible  <bruno@clisp.org>
65242
65243                 * javacomp.c: Fix a comment.
65244                 Reported by Jim Meyering.
65245
65246         2006-04-30  Bruno Haible  <bruno@clisp.org>
65247
65248                 * javacomp.h (compile_java_class): Add source_version,
65249                 target_version arguments.
65250                 * javacomp.c: Rewritten to choose only a compiler that
65251                 respects the specified source_version and target_version.
65252
65253         2006-06-27  Bruno Haible  <bruno@clisp.org>
65254
65255                 Assume correct S_ISDIR macro.
65256                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
65257
65258         2006-07-22  Bruno Haible  <bruno@clisp.org>
65259
65260                 * javaversion.h: New file, from GNU gettext.
65261                 * javaversion.c: New file, from GNU gettext.
65262                 * javaversion.java: New file, from GNU gettext.
65263                 * javaversion.class: New file, from GNU gettext.
65264
65265         2006-05-17  Bruno Haible  <bruno@clisp.org>
65266
65267                 Cygwin portability.
65268                 * javaexec.c (execute_java_class): Test for jview program
65269                 also on Cygwin.
65270
65271         2006-04-09  Bruno Haible  <bruno@clisp.org>
65272
65273                 * fatal-signal.c: Don't include string.h.
65274                 (at_fatal_signal): Use a copying loop instead of memcpy.
65275
65276         2005-12-04  Bruno Haible  <bruno@clisp.org>
65277
65278                 * csharpexec.c: Add support for 'clix' launcher (untested).
65279                 (execute_csharp_using_sscli): New function.
65280                 (execute_csharp_program): Call it.
65281
65282         2006-06-21  Bruno Haible  <bruno@clisp.org>
65283
65284                 Avoid warnings from recent versions of mcs.
65285                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
65286                 -o, -L, -r any more. Use options documented since mcs-1.0
65287                 instead. Similarly for -g.
65288
65289         2005-07-09  Bruno Haible  <bruno@clisp.org>
65290
65291                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
65292                 add a .dll suffix.
65293                 Reported by Mark Junker <mjscod@gmx.de>.
65294
65295         2006-06-17  Bruno Haible  <bruno@clisp.org>
65296
65297                 * config.charset: Update for NetBSD 3.0.
65298
65299         2006-05-17  Bruno Haible  <bruno@clisp.org>
65300
65301                 Cygwin portability.
65302                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
65303
65304         2006-05-16  Bruno Haible  <bruno@clisp.org>
65305
65306                 * localcharset.c [CYGWIN]: Include <windows.h>.
65307                 (get_charset_aliases): For Cygwin, return the same CPxxx
65308                 aliases list as under WIN32.
65309                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
65310                 the environment variables. Fall back to GetACP().
65311
65312         2006-04-05  Bruno Haible  <bruno@clisp.org>
65313
65314                 * config.charset: Update Juan Manuel Guerrero's address.
65315
65316         2005-02-12  Bruno Haible  <bruno@clisp.org>
65317
65318                 * allocsa.h: Add extern "C" for C++.
65319
65320         2005-02-10  Bruno Haible  <bruno@clisp.org>
65321
65322                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
65323                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
65324
65325         2006-07-22  Bruno Haible  <bruno@clisp.org>
65326
65327                 * gettext.h: Update to GNU gettext-0.15.
65328
65329 2006-07-22  Bruno Haible  <bruno@clisp.org>
65330
65331         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
65332         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
65333         lib-prefix.m4, longdouble.m4, ssize_t.m4.
65334
65335 2006-07-21  Eric Blake  <ebb9@byu.net>
65336
65337         * modules/stdlib-safer: New file.
65338         * MODULES.html.sh (File stream based Input/Output): Add
65339         stdlib-safer.
65340
65341 2006-07-21  Eric Blake  <ebb9@byu.net>
65342
65343         * lib/stdlib-safer.h: New file from coreutils, required by
65344         stdlib--.h.
65345
65346 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
65347
65348         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
65349
65350 2006-07-20  Bruno Haible  <bruno@clisp.org>
65351
65352         * gnulib-tool: Recognize new option --assume-autoconf.
65353         (autoconf_minversion): New variable.
65354         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
65355
65356 2006-07-20  Bruno Haible  <bruno@clisp.org>
65357
65358         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
65359
65360 2006-07-19  Derek R. Price  <derek@ximbiot.com>
65361
65362         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
65363         Reindent and repaginate.
65364
65365 2006-07-19  Derek Price  <derek@ximbiot.com>
65366
65367         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
65368         Correct grammar.
65369
65370 2006-07-17  Bruno Haible  <bruno@clisp.org>
65371
65372         * modules/list: New file.
65373         * modules/array-list: New file.
65374         * modules/carray-list, modules/carray-list-tests: New files.
65375         * modules/linked-list, modules/linked-list-tests: New files.
65376         * modules/avltree-list, modules/avltree-list-tests: New files.
65377         * modules/rbtree-list, modules/rbtree-list-tests: New files.
65378         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
65379         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
65380         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
65381         * modules/oset: New file.
65382         * modules/array-oset: New file.
65383         * modules/avltree-oset, modules/avltree-oset-tests: New files.
65384         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
65385         * tests/test-carray_list.c: New file.
65386         * tests/test-linked_list.c: New file.
65387         * tests/test-avltree_list.c: New file.
65388         * tests/test-rbtree_list.c: New file.
65389         * tests/test-linkedhash_list.c: New file.
65390         * tests/test-avltreehash_list.c: New file.
65391         * tests/test-rbtreehash_list.c: New file.
65392         * tests/test-avltree_oset.c: New file.
65393         * tests/test-rbtree_oset.c: New file.
65394         * MODULES.html.sh (Container data structures): New section.
65395
65396 2006-07-17  Bruno Haible  <bruno@clisp.org>
65397
65398         * m4/gl_list.m4: New file.
65399
65400 2006-07-17  Bruno Haible  <bruno@clisp.org>
65401
65402         * lib/gl_list.h: New file.
65403         * lib/gl_list.c: New file.
65404         * lib/gl_array_list.h: New file.
65405         * lib/gl_array_list.c: New file.
65406         * lib/gl_carray_list.h: New file.
65407         * lib/gl_carray_list.c: New file.
65408         * lib/gl_linked_list.h: New file.
65409         * lib/gl_linked_list.c: New file.
65410         * lib/gl_anylinked_list1.h: New file.
65411         * lib/gl_anylinked_list2.h: New file.
65412         * lib/gl_avltree_list.h: New file.
65413         * lib/gl_avltree_list.c: New file.
65414         * lib/gl_anyavltree_list1.h: New file.
65415         * lib/gl_anyavltree_list2.h: New file.
65416         * lib/gl_rbtree_list.h: New file.
65417         * lib/gl_rbtree_list.c: New file.
65418         * lib/gl_anyrbtree_list1.h: New file.
65419         * lib/gl_anyrbtree_list2.h: New file.
65420         * lib/gl_anytree_list1.h: New file.
65421         * lib/gl_anytree_list2.h: New file.
65422         * lib/gl_linkedhash_list.h: New file.
65423         * lib/gl_linkedhash_list.c: New file.
65424         * lib/gl_anyhash_list1.h: New file.
65425         * lib/gl_anyhash_list2.h: New file.
65426         * lib/gl_avltreehash_list.h: New file.
65427         * lib/gl_avltreehash_list.c: New file.
65428         * lib/gl_rbtreehash_list.h: New file.
65429         * lib/gl_rbtreehash_list.c: New file.
65430         * lib/gl_anytreehash_list1.h: New file.
65431         * lib/gl_anytreehash_list2.h: New file.
65432
65433         * lib/gl_oset.h: New file.
65434         * lib/gl_oset.c: New file.
65435         * lib/gl_array_oset.h: New file.
65436         * lib/gl_array_oset.c: New file.
65437         * lib/gl_avltree_oset.h: New file.
65438         * lib/gl_avltree_oset.c: New file.
65439         * lib/gl_rbtree_oset.h: New file.
65440         * lib/gl_rbtree_oset.c: New file.
65441         * lib/gl_anytree_oset.h: New file.
65442
65443 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
65444
65445         * m4/mkancesdirs.m4: New file.
65446         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
65447         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
65448         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
65449         it.
65450
65451 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
65452
65453         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
65454         * lib/mkancesdirs.h: New files.
65455         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
65456         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
65457         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
65458         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
65459         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
65460         callers changed.  Revamp internals significantly, by not
65461         attempting to create directories that are temporarily more
65462         permissive than the final results.  Do not attempt to use
65463         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
65464         This removes some race conditions, fixes some bugs, and simplifies
65465         things.  Use new dirchownmod function to do owner and mode changes.
65466         * lib/mkdir-p.h: Likewise.
65467         * lib/modechange.c (octal_to_mode): New function.
65468         (struct mode_change): New member mentioned.
65469         (make_node_op_equals): New arg mentioned.  All callers changed.
65470         (mode_compile): Keep track of which mode bits the user has explicitly
65471         mentioned.
65472         (mode_adjust): New arg DIR, so that we implement the X op correctly.
65473         New arg PMODE_BITS, to keep track of which mode bits the user
65474         mentioned; it treats S_ISUID and S_ISGID speciall.
65475         All callers changed.
65476         * lib/modechange.h: Likewise.
65477
65478 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
65479
65480         * MODULES.html.sh: Add mkancestors.
65481         * modules/mkancesdirs: New module.
65482         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
65483         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
65484         The chdir-safer and afs files are now orphans; I'll remove them
65485         unless someone speaks up.
65486         Add lib/dirchownmod.c, lib/dirchownmod.h.
65487         (Depends-on): Remove alloca, chown, save-cwd, dirname.
65488         Add lchown, mkancesdirs.
65489         (Maintainer): Add self.
65490
65491 2006-07-15  Karl Berry  <karl@gnu.org>
65492
65493         * gnulib-tool: help message wording/arrangement.
65494
65495 2006-07-14  Simon Josefsson  <jas@extundo.com>
65496
65497         * doc/gnulib.texi (Libtool and Windows): New section.
65498
65499 2006-07-12  Simon Josefsson  <jas@extundo.com>
65500
65501         * modules/gendocs (License): Fix license, approved by Karl.
65502
65503 2006-07-12  Eric Blake  <ebb9@byu.net>
65504
65505         * MODULES.html.sh: Add gendocs.
65506
65507 2006-07-11  Eric Blake  <ebb9@byu.net>
65508
65509         * modules/fdl: New module, to install doc/fdl.texi.
65510         * MODULES.html.sh: Add new section for documentation modules.
65511         * gnulib-tool: Avoid space-tab.
65512         (--doc-base): New option, to manage files from doc.
65513
65514 2006-07-11  Eric Blake  <ebb9@byu.net>
65515
65516         * m4/absolute-header.m4: Fix comments to match recent change.
65517
65518 2006-07-11  Eric Blake  <ebb9@byu.net>
65519
65520         * gnulib-tool: List --doc-base before --tests-base.
65521
65522 2006-07-11  Derek R. Price  <derek@ximbiot.com>
65523
65524         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
65525
65526 2006-07-11  Bruno Haible  <bruno@clisp.org>
65527
65528         * README: Mention where to put documentation.
65529
65530 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65531
65532         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
65533
65534 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
65535
65536         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
65537         to stdint.m4.
65538
65539 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
65540
65541         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
65542         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
65543         "no/such/file/stdint.h" when there is no such file, so that
65544         the resulting C code can be parsed by dodgy compilers.
65545         Problems reported by Bob Proulx.
65546
65547 2006-07-10  Derek R. Price  <derek@ximbiot.com>
65548
65549         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
65550         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
65551         macros into the GNU _D_EXACT_NAMLEN.
65552         * lib/savedir.c:  Likewise.
65553         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
65554
65555 2006-07-10  Derek R. Price  <derek@ximbiot.com>
65556         and Paul Eggert  <eggert@cs.ucla.edu>
65557
65558         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
65559         * m4/savedir.m4:
65560         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
65561         macros into the GNU _D_EXACT_NAMLEN.
65562
65563 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
65564
65565         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
65566         around the absolute name, to work around a problem with the HP-UX
65567         11.23 native C compiler, reported by Bob Proulx.
65568
65569 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
65570
65571         * doc/maintain.texi, make-stds.texi: Sync from
65572         <http://savannah.gnu.org/projects/gnustandards>.
65573
65574 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
65575
65576         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
65577
65578 2006-07-09  Jim Meyering  <jim@meyering.net>
65579
65580         * m4/glob.m4: Remove a doubled word in a comment.
65581
65582 2006-07-09  Jim Meyering  <jim@meyering.net>
65583
65584         * lib/argp-pv.c: Remove a doubled word in a comment.
65585         * lib/check-version.c (check_version): Likewise.
65586         * lib/javacomp.c (compile_java_class): Likewise.
65587
65588 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
65589
65590         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
65591         for the benefit of people using Autoconf 2.60.  If you want to
65592         support older Autoconf versions you can copy m4/onceonly_2_57.m4
65593         (or m4/onceonly.m4, if pre-2.57) manually.
65594
65595 2006-07-08  Jim Meyering  <jim@meyering.net>
65596
65597         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
65598         comment.
65599         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
65600         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
65601         comment.
65602
65603 2006-07-08  Jim Meyering  <jim@meyering.net>
65604
65605         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
65606
65607 2006-07-07  Simon Josefsson  <jas@extundo.com>
65608
65609         * tests/test-crc.c: Change expected crc value, the test vector
65610         were probably computed using the old broken crc.c?
65611
65612 2006-07-06  Simon Josefsson  <jas@extundo.com>
65613
65614         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
65615         now the canonical place for the M4 file).
65616
65617         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
65618         from the sys_socket dependency now.
65619
65620         * modules/inet_pton (Files): Ditto.
65621
65622         * modules/inet_ntop (Files): Ditto.
65623
65624 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
65625
65626         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
65627         not gl_PREREQ_GETUSERSHELL.
65628
65629 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65630
65631         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
65632         with only one argument, for Autoconf 2.60.
65633         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
65634         expand to nothing, so add a shell command to avoid syntax error.
65635         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
65636
65637 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65638
65639         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
65640
65641 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
65642
65643         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
65644         no longer needed.  Check for isblank decl.
65645         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
65646         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
65647         of existence.
65648
65649 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
65650
65651         * lib/getloadavg.c: Use __VMS, not VMS.
65652         * lib/getopt.c: Likewise.
65653         * lib/getpagesize.h: Likewise.
65654         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
65655         and probably does not work.
65656
65657 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
65658
65659         * lib/.cppi-disable: Add wcwidth.
65660         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
65661         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
65662         (ISGRAPH): Remove.  All uses changed to isgraph.
65663         (FOLD) [!defined _LIBC]: Remove special case.
65664         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
65665         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
65666         HAVE_ISBLANK.
65667         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
65668         case.
65669
65670 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
65671
65672         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
65673         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
65674         brackets.  Other minor changes to suppress some compiler
65675         warnings.
65676
65677 2006-07-06  Derek R. Price  <derek@ximbiot.com>
65678         and Paul Eggert  <eggert@cs.ucla.edu>
65679
65680         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
65681         of invoking obsolescent AC_HEADER_DIRENT macro.
65682         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
65683         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
65684         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
65685         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
65686         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
65687         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
65688         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
65689         * m4/readdir.m4: Remove; no longer needed.
65690
65691 2006-07-06  Derek R. Price  <derek@ximbiot.com>
65692         and Paul Eggert  <eggert@cs.ucla.edu>
65693
65694         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
65695         Don't worry about this obsolete case any more.
65696         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
65697         directories.
65698         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
65699         worry about this obsolete case any more.
65700         * lib/fts.c: Likewise.
65701         * lib/getcwd.c: Likewise.
65702         * lib/glob.h: Likewise.
65703         * lib/savedir.c: Likewise.
65704
65705 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
65706
65707         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
65708         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
65709         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
65710         needed.
65711         All uses removed.
65712         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
65713         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
65714         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
65715         needed.
65716         * m4/getdate.m4 (gl_GETDATE): Likewise.
65717         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
65718         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
65719         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
65720         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
65721         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
65722         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
65723         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
65724         needed.
65725
65726 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
65727
65728         * lib/memcasecmp.c: Include <limits.h>.
65729         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
65730         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
65731         Don't assume isdigit succeeds only on '0' through '9'.
65732
65733 2006-07-05  Eric Blake  <ebb9@byu.net>
65734
65735         * modules/getaddrinfo (Depends-on): Add snprintf.
65736
65737 2006-07-05  Eric Blake  <ebb9@byu.net>
65738
65739         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
65740         to avoid 'header present but could not be compiled' on cygwin.
65741
65742 2006-07-05  Eric Blake  <ebb9@byu.net>
65743
65744         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
65745         missing from netdb.h.
65746         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
65747
65748 2006-07-05  Derek R. Price  <derek@ximbiot.com>
65749
65750         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
65751         no longer needed.
65752         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
65753         * m4/getdate.m4 (gl_GETDATE): Likewise.
65754         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
65755         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
65756         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
65757         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
65758         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
65759
65760 2006-07-05  Derek R. Price  <derek@ximbiot.com>
65761
65762         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
65763         All uses of is_space replaced by isspace.
65764         * lib/exit.h: Don't talk about STDC_HEADERS.
65765         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
65766         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
65767         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
65768         replaced by isprint etc.
65769         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
65770         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
65771         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
65772         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
65773         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
65774         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
65775
65776 2006-07-05  Bruno Haible  <bruno@clisp.org>
65777
65778         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
65779         the function exists, before testing against AIX.
65780         Reported by Martin Lambers <marlam@marlam.de>.
65781
65782 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
65783
65784         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
65785         From Mark D. Baushke.
65786
65787 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
65788
65789         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
65790         to the absolute name, not just one, to bypass Sun C 5.8's
65791         "warning: #include of /usr/include/... may be non-portable".
65792
65793 2006-07-04  Eric Blake  <ebb9@byu.net>
65794
65795         * modules/dirname-tests: New test module.
65796         * tests/test-dirname.c: New file, replacing dirname.c
65797         TEST_DIRNAME section that was recently deleted.
65798
65799 2006-07-04  Bruno Haible  <bruno@clisp.org>
65800
65801         Assume ANSI C header files and <ctype.h> functions.
65802         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
65803         (mbsnwidth): Use isprint, iscntrl instead.
65804
65805 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
65806
65807         Merge from coreutils.
65808         * MODULES.html.sh: Add xstrtold.
65809         * modules/xstrtold: New file.
65810         * modules/cycle-check (Files): Add lib/same-inode.h.
65811         * modules/dirname (Files): Add m4/double-slash-root.m4.
65812         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
65813         * modules/mkdir-p (Files): Add lib/same-inode.h.
65814         * modules/same (Files): Add lib/same-inode.h.
65815
65816 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
65817
65818         * m4/absolute-header.m4: Renamed from full-header-path.m4.
65819         This is to keep the terminology clean; POSIX talks about
65820         "absolute pathnames", not "full pathnames", but the GNU
65821         Coding Standards say to use "path" for something else;
65822         so use "absolute" to keep both sides happy.
65823         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
65824         Set gl_absolute_header, not gl_full_header_path.
65825         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
65826         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
65827         All uses changed.
65828
65829         Merge from coreutils.
65830
65831         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
65832
65833         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
65834         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
65835         want to require the building of c-strtod.o.
65836         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
65837         needs -lm directly.
65838         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
65839
65840         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
65841
65842         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
65843         --as-needed option if available.  Problem reported by Albert Chin in
65844         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
65845         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
65846         cc merely issues a bunch of annoying warnings for --as-needed
65847         (this problem was reported by Bob Proulx).  Also, try linking with
65848         -lm to detect a bug in binutils 2.16 (this problem was reported
65849         by Ralf Wildenhues).
65850
65851         2006-06-18  Jim Meyering  <jim@meyering.net>
65852
65853         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
65854         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
65855         macro.
65856         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
65857         also check for glibc-2.4's abort-inducing bug.
65858
65859         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
65860         Low-probability clean-up should be to use rmdir to get rid of
65861         the just-created directory, not unlink.
65862
65863         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
65864         configure fail, and request a bug report to inform us about it.
65865         Add a comment that, barring reports to the contrary, in 2007 we'll
65866         assume ftruncate is universally available.
65867
65868         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
65869
65870         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
65871
65872         2006-03-12  Jim Meyering  <jim@meyering.net>
65873
65874         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
65875         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
65876         * m4/same.m4 (gl_SAME): Likewise.
65877         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
65878
65879         2006-03-11  Eric Blake  <ebb9@byu.net>
65880
65881         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
65882         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
65883         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
65884         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
65885
65886 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
65887
65888         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
65889         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
65890         reported by Mark D. Baushke, one in
65891         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
65892
65893         Merge from coreutils.
65894
65895         * lib/.cppi-disable: Add stdint_.h.
65896         * lib/.cvsignore: Add stdint.h.
65897
65898         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
65899
65900         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
65901         both double and long double versions.
65902         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
65903         * lib/xstrtold.c: New file.
65904         * lib/xstrtod.h (xstrtold): New decl.
65905
65906         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
65907
65908         * lib/filemode.c (setst): Remove.
65909         (strmode): Rewrite to avoid setst.  This makes the code shorter,
65910         (arguably) clearer, and the generated code is a bit smaller on my
65911         Debian GNU/Linux stable x86 host.
65912
65913         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
65914
65915         * lib/filemode.c: Include "filemode.h" first, to test the interface.
65916         Assume that filemode.h includes sys/types.h and sys/stat.h.
65917         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
65918         (ftypelet): Reorder to put common cases first, for efficiency.
65919         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
65920         to do 'M'.
65921         (strmode): Renamed from mode_string, and now stores 12 bytes instead
65922         of 10, for compatibility with FreeBSD.  All callers changed.
65923         (filemodestring): Now stores 12 bytes instead of 10, and sets file
65924         types that can't be deduced solely from st_mode.  First arg is now a
65925         const pointer.
65926         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
65927         (strmode): Renamed from mode_string.
65928         (filemodestring): New decl.
65929         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
65930         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
65931         needed.
65932         (S_ISPORT, S_ISWHT): New macros, if not already defined.
65933
65934         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
65935
65936         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
65937         fsusage.h now does that.  Include fsusage.h first, to test interface.
65938         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
65939         at most one method (the old code could have generated decls that
65940         didn't conform to C89, not that this was ever exercised).
65941         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
65942
65943         2006-03-19  Jim Meyering  <jim@meyering.net>
65944
65945         Work even in a chroot where d_ino values for entries in "/"
65946         don't match the stat.st_ino values for the same names.
65947         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
65948         number, iterate through all entries again, using lstat instead.
65949         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
65950         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
65951
65952         * lib/getcwd.c (__getcwd): Clarify a comment.
65953         Use memcpy in place of a call to strcpy.
65954
65955         2006-03-12  Jim Meyering  <jim@meyering.net>
65956
65957         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
65958         matches that of the current directory (which we're about to chdir ".."
65959         out of), then save the dev-ino of the parent, instead.
65960
65961         * lib/same-inode.h (SAME_INODE): New file/macro.
65962         * lib/chdir-safer.c (SAME_INODE): Remove definition.
65963         Include "same-inode.h", instead.
65964         * lib/same.c: Likewise.
65965         * lib/cycle-check.h: Include "same-inode.h".
65966         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
65967         * lib/cycle-check.c (SAME_INODE): Remove definition.
65968         * lib/root-dev-ino.h: Include "same-inode.h".
65969
65970         2006-03-11  Eric Blake  <ebb9@byu.net>
65971
65972         * lib/same.c (same_name): s/base_name/last_component/
65973         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
65974         * lib/filenamecat.c (file_name_concat): Likewise.
65975
65976         2006-03-11  Eric Blake  <ebb9@byu.net>,
65977                     Paul Eggert  <eggert@cs.ucla.edu>
65978
65979         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
65980         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
65981         drive prefix.
65982         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
65983         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
65984         (last_component): New method.
65985         * lib/dirname.c (dir_len): Determine when drive letters need a
65986         subsequent slash.  Preserve // when it is special.
65987         (dir_name): Don't append dot when drive letter is absolute.
65988         [TEST_DIRNAME]: Move into a full-blown gnulib test.
65989         * lib/basename.c (base_name): New semantics - malloc the result.
65990         Preserve // when it is special.  Preserve relative files that look
65991         like drive letters.
65992         (base_len): Preserve // when it is special.
65993         (last_component): New method, similar to old base_name semantics.
65994         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
65995         base_name.  Strip redundant slashes from ///.
65996
65997 2006-07-03  Jim Meyering  <jim@meyering.net>
65998
65999         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
66000         macro is used before the first cycle_check call.
66001
66002 2006-07-03  Eric Blake  <ebb9@byu.net>
66003
66004         * modules/dirname (Depends-on): Add xstrndup.
66005
66006 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
66007
66008         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
66009         test cases, so that config.log is a bit easier to follow.
66010
66011 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
66012
66013         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
66014         both are 64 bits, since this seems to be the tradition, and this
66015         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
66016         we ever run into a host that prefers long long to long in this
66017         case, we'll need another configure-time test.  Problem reported by
66018         Jim Meyering.
66019
66020 2006-07-02  Eric Blake  <ebb9@byu.net>
66021
66022         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
66023
66024 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
66025
66026         * modules/inttypes (Depends-on): No longer depends on stdint.
66027         * modules/stdint (Description): Say more about assumptions.
66028         Say that the fast types might differ.  Say macros are used.
66029         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
66030         (Makefile.am): Revise list of substituted symbols to match
66031         new stdint.m4.
66032         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
66033         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
66034         * tests/test-stdint.c (verify_same_types)
66035         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
66036         the code conforms to C99/C89.
66037         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
66038         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
66039
66040 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
66041
66042         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
66043         but fix a bug, by requiring at least 64 bits.
66044         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
66045         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
66046         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
66047         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
66048
66049         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
66050         changes.  Make 2.59 a prerequisite.  Check and substitute for
66051         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
66052         inttypes.h.  Do not use special include files; just use the
66053         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
66054         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
66055         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
66056         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
66057         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
66058         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
66059         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
66060         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
66061         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
66062         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
66063         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
66064         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
66065         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
66066         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
66067         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
66068         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
66069         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
66070         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
66071         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
66072         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
66073         WINT_MAX.  Check for C99 conformance more strictly, by detecting
66074         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
66075         not check for things that C99 does not require, e.g., int8_t.  If
66076         a test isn't needed unless <stdint.h> isn't working, and is
66077         unlikely to be needed for any other reason, then don't do it
66078         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
66079         size_t, since we assume C89 freestanding at least.  Do not check
66080         for sig_atomic_t, wchar_t, or wint_t, since the code now does
66081         the right thing even if the types are not defined.  Instead use:
66082         (gl_STDINT_TYPE_PROPERTIES): New macro.
66083         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
66084         testing whether <sys/types.h> clashes, as Autoconf does this for
66085         us now.  All uses removed.
66086         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
66087         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
66088         (gl_CHECK_TYPE_SAME):
66089         Remove; no longer needed.
66090         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
66091         exists, since we'll return 0 anyway in that case.
66092         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
66093
66094 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
66095
66096         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
66097         possible collision with system files.
66098         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
66099         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
66100         WCHAR_MIN and WCHAR_MAX in this case.
66101         (<stddef.h>): Do not include; no longer needed.
66102         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
66103         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
66104         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
66105         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
66106         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
66107         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
66108         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
66109         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
66110         !defined(__c99))]: Include in this case too, since it's harmless
66111         now.
66112         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
66113         dangerous to do so.
66114         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
66115         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
66116         (_STDINT_MIN, _STDINT_MAX): New macros.
66117         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
66118         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
66119         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
66120         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
66121         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
66122         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
66123         macros, not typedefs; this simplifies things quite a bit.
66124         Use long int for all types narrower than int64_t.
66125         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
66126         Define in terms of long long int or int64_t or long int,
66127         not int64_t or int32_t.  This saves some compile-time testing.
66128         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
66129         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
66130         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
66131         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
66132         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
66133         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
66134         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
66135         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
66136         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
66137         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
66138         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
66139         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
66140         undef any previous version and define our own version, for
66141         simplicity and consistency with the new macros for types.
66142         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
66143         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
66144         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
66145         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
66146         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
66147         @WINT_T_SUFFIX@ to keep things simple here.
66148         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
66149         Simplify by assuming typical 8/16/32/64 host, since we're
66150         already doing that elsewhere anyway.
66151         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
66152         and assume long long int is 64 bits if available.  This
66153         speeds up 'configure'.
66154
66155 2006-07-01  Eric Blake  <ebb9@byu.net>
66156
66157         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
66158         Reported by Andreas Buening.
66159
66160 2006-07-01  Eric Blake  <ebb9@byu.net>
66161
66162         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
66163
66164 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
66165
66166         * lib/getaddrinfo.c: fixed typo
66167
66168 2006-06-29  Jim Meyering  <jim@meyering.net>
66169
66170         * modules/strftime (Maintainer): Add my name, since with the
66171         FPRINTFTIME changes strftime.c has forked from glibc.
66172
66173 2006-06-29  Eric Blake  <ebb9@byu.net>
66174
66175         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
66176
66177 2006-06-29  Eric Blake  <ebb9@byu.net>
66178
66179         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
66180
66181 2006-06-29  Eric Blake  <ebb9@byu.net>
66182
66183         * lib/stat_.h: New file.
66184
66185 2006-06-29  Eric Blake  <ebb9@byu.net>
66186
66187         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
66188         unused static function.
66189
66190 2006-06-29  Eric Blake  <ebb9@byu.net>
66191
66192         * doc/functions.texi (Function Portability): Document missing lstat
66193         on mingw.
66194
66195 2006-06-29  Eric Blake  <ebb9@byu.net>
66196
66197         * MODULES.html.sh: Add sys_stat.
66198         * modules/sys_stat: New module.
66199         * modules/mkstemp (Depends-on): Add sys_stat.
66200
66201 2006-06-29  Derek R. Price  <derek@ximbiot.com>
66202
66203         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
66204
66205 2006-06-29  Derek R. Price  <derek@ximbiot.com>
66206
66207         * m4/c-bs-a.m4: Removed.
66208
66209 2006-06-29  Derek R. Price  <derek@ximbiot.com>
66210
66211         * lib/strftime.c: Assume strftime() exists.
66212
66213 2006-06-29  Derek Price  <derek@ximbiot.com>
66214
66215         * modules/c-bs-a: Removed - \a is C89.
66216         * MODULES.html.sh: Remove c-bs-a.
66217
66218 2006-06-29  Bruno Haible  <bruno@clisp.org>
66219
66220         * modules/wcwidth (License): Change to LGPL.
66221
66222 2006-06-28  Simon Josefsson  <jas@extundo.com>
66223
66224         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
66225         on _WIN32.
66226
66227         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
66228         getnameinfo.
66229
66230 2006-06-28  Simon Josefsson  <jas@extundo.com>
66231
66232         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
66233
66234 2006-06-28  Simon Josefsson  <jas@extundo.com>
66235
66236         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
66237         functions there.  It will succeed on Windows XP, but on Windows
66238         2000 and (presumably) earlier, it will fail, and use the internal
66239         re-implementation.
66240         (use_win32_p): New function.
66241         (getaddrinfo): Use strtoul on servname, to support numeric ports.
66242         Support AI_NUMERICSERV to disable getservbyname.
66243         (getnameinfo): New function, only supports
66244         NI_NUMERICHOST|NI_NUMERICSERV for now.
66245
66246         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
66247         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
66248         getnameinfo.
66249
66250 2006-06-28  Eric Blake  <ebb9@byu.net>
66251
66252         * modules/wcwidth: New file.
66253         * modules/mbchar (Depends-on): Add wcwidth.
66254         * modules/mbswidth (Depends-on): Add wcwidth.
66255         * MODULES.html.sh: Add wcwidth.
66256
66257 2006-06-28  Eric Blake  <ebb9@byu.net>
66258
66259         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
66260         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
66261
66262 2006-06-28  Eric Blake  <ebb9@byu.net>
66263
66264         * lib/xvasprintf.h: Fix comments.
66265
66266 2006-06-28  Eric Blake  <ebb9@byu.net>
66267
66268         * lib/mbchar.h (wcwidth): Include wcwidth.h.
66269         * lib/mbswidth.c (wcwidth): Move from here...
66270         * lib/wcwidth.h: ...to this new file.
66271
66272 2006-06-28  Derek R. Price  <derek@ximbiot.com>
66273
66274         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
66275
66276         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
66277         it's obsolete.
66278         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
66279
66280 2006-06-28  Derek R. Price  <derek@ximbiot.com>
66281
66282         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
66283         Autoconf 2.60 says this stuff was obsolete.
66284
66285 2006-06-28  Bruno Haible  <bruno@clisp.org>
66286
66287         * modules/wcwidth (Files): Add m4/wchar_t.m4.
66288
66289 2006-06-28  Bruno Haible  <bruno@clisp.org>
66290
66291         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
66292         gt_TYPE_WCHAR_T.
66293
66294 2006-06-28  Bruno Haible  <bruno@clisp.org>
66295
66296         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
66297         declaration for wcwidth.
66298         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
66299
66300 2006-06-28  Bruno Haible  <bruno@clisp.org>
66301
66302         * lib/mkdtemp.c [MINGW]: Include <io.h>.
66303         (mkdir): Define using _mkdir.
66304
66305 2006-06-28  Bruno Haible  <bruno@clisp.org>
66306
66307         * lib/getaddrinfo.h: Fix POSIX URL.
66308         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
66309         _WIN32.
66310         (use_win32_p): Make static.
66311         (getaddrinfo): Reject service name if it is empty or does not consist
66312         solely of decimal digits, or if its value is > 65535.
66313         (getnameinfo): Remove useless casts.
66314
66315 2006-06-27  Simon Josefsson  <jas@extundo.com>
66316
66317         * modules/sys_select: New file, suggested by Bruno Haible, Paul
66318         Eggert and Martin Lambers.
66319
66320 2006-06-27  Simon Josefsson  <jas@extundo.com>
66321
66322         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
66323         Eggert and Martin Lambers.
66324
66325 2006-06-27  Bruno Haible  <bruno@clisp.org>
66326
66327         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
66328         result to 0, not to empty.
66329         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
66330
66331 2006-06-27  Bruno Haible  <bruno@clisp.org>
66332
66333         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
66334
66335 2006-06-26  Simon Josefsson  <jas@extundo.com>
66336
66337         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
66338         present.
66339
66340 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
66341
66342         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
66343         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
66344         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
66345
66346 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
66347
66348         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
66349
66350 2006-06-26  Bruno Haible  <bruno@clisp.org>
66351
66352         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
66353
66354 2006-06-26  Bruno Haible  <bruno@clisp.org>
66355
66356         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
66357
66358 2006-06-26  Bruno Haible  <bruno@clisp.org>
66359
66360         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
66361         SGI C compiler in pre-C99 mode.
66362         Suggested by Mark D. Baushke and Larry Jones.
66363
66364 2006-06-26  Bruno Haible  <bruno@clisp.org>
66365
66366         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
66367         WCHAR_MAX.
66368         Reported by Mark D. Baushke and Larry Jones.
66369
66370 2006-06-26  Bruno Haible  <bruno@clisp.org>
66371
66372         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
66373         in pre-C99 mode.
66374         Suggested by Mark D. Baushke and Larry Jones.
66375
66376 2006-06-23  Simon Josefsson  <jas@extundo.com>
66377             Bruno Haible  <bruno@clisp.org>
66378
66379         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
66380         Emit mostlyclean-local rule.
66381         (func_emit_tests_Makefile_am): Likewise.
66382         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
66383
66384 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
66385
66386         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
66387
66388 2006-06-23  Bruno Haible  <bruno@clisp.org>
66389
66390         * tests/test-stdint.c: Update to match ISO C 99 Technical
66391         Corrigendum 1.
66392
66393 2006-06-23  Bruno Haible  <bruno@clisp.org>
66394
66395         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
66396
66397 2006-06-23  Bruno Haible  <bruno@clisp.org>
66398
66399         * lib/stdint_.h: Treat IRIX like OpenBSD.
66400
66401 2006-06-23  Bruno Haible  <bruno@clisp.org>
66402
66403         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
66404         ISO C 99 Technical Corrigendum 1.
66405
66406 2006-06-22  Simon Josefsson  <jas@extundo.com>
66407
66408         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
66409         MinGW.
66410
66411 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
66412
66413         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
66414         needed.  Some compiler complained about some of them.  Problem reported
66415         by Larry Jones in
66416         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
66417
66418 2006-06-21  Simon Josefsson  <jas@extundo.com>
66419
66420         * tests/test-getaddrinfo.c: New file.
66421
66422         * modules/getaddrinfo-tests: New file.
66423
66424         * MODULES.html.sh: Add inet_pton.
66425
66426         * modules/inet_pton: New file.
66427
66428 2006-06-21  Simon Josefsson  <jas@extundo.com>
66429
66430         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
66431         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
66432         of using the (limited) gnulib implementation on Windows XP.
66433
66434         * m4/inet_pton.m4: New file.
66435
66436 2006-06-21  Simon Josefsson  <jas@extundo.com>
66437
66438         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
66439         variable.
66440
66441         * lib/socket_.h: Don't define WINVER.
66442
66443         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
66444         slightly modified to work in gnulib.
66445
66446 2006-06-21  Simon Josefsson  <jas@extundo.com>
66447
66448         * doc/gnulib.texi (Windows sockets): Add.
66449
66450 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
66451
66452         * lib/read-file.c (fread_file): Start with buffer allocation of
66453         0 bytes rather than 1 byte; this simplifies the code.
66454         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
66455         code to free buffer and save/restore errno.
66456         (internal_read_file): Remove unused local.
66457
66458 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
66459
66460         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
66461         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
66462         Problem reported by Denis Excoffier in
66463         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
66464
66465 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66466
66467         * modules/sys_socket, modules/socklen: Include sys/types since
66468         FreeBSD 4.x's sys/socket.h needs it.
66469
66470 2006-06-19  Simon Josefsson  <jas@extundo.com>
66471
66472         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
66473
66474 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
66475
66476         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
66477
66478 2006-06-19  Bruno Haible  <bruno@clisp.org>
66479
66480         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
66481         and FULL_PATH_INTTYPES_H in angle brackets.
66482         Reported by Mark D. Baushke <mdb@gnu.org>.
66483
66484 2006-06-17  Eric Blake  <ebb9@byu.net>
66485
66486         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
66487         errno.
66488
66489 2006-06-17  Bruno Haible  <bruno@clisp.org>
66490
66491         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
66492         <sys/inttypes.h>.
66493
66494 2006-06-17  Bruno Haible  <bruno@clisp.org>
66495
66496         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
66497         whether errno is declared. Assume <errno.h> declares errno.
66498
66499 2006-06-17  Bruno Haible  <bruno@clisp.org>
66500
66501         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
66502
66503 2006-06-17  Bruno Haible  <bruno@clisp.org>
66504
66505         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
66506         problem on Solaris 2.5.1.
66507
66508 2006-06-16  Eric Blake  <ebb9@byu.net>
66509
66510         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
66511         * lib/unicodeio.c [!defined errno]: Likewise.
66512         * lib/strtol.c [!defined errno]: Likewise.
66513         * lib/strtod.c [!defined errno]: Likewise.
66514
66515 2006-06-15  Eric Blake  <ebb9@byu.net>
66516
66517         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
66518
66519 2006-06-15  Eric Blake  <ebb9@byu.net>
66520
66521         * config/srclist.txt (ssize_t.m4): Lose sync.
66522
66523 2006-06-15  Bruno Haible  <bruno@clisp.org>
66524
66525         * modules/stdint (Files): Include m4/full-header-path.m4,
66526         m4/size_max.m4, m4/wchar_t.m4.
66527         (Makefile.am): Many more substitutions.
66528         * modules/stdint-tests: New file.
66529         * tests/test-stdint.c: New file.
66530
66531 2006-06-15  Bruno Haible  <bruno@clisp.org>
66532
66533         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
66534         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
66535         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
66536         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
66537         gl_CHECK_TYPE_SAME): New macros.
66538
66539 2006-06-15  Bruno Haible  <bruno@clisp.org>
66540
66541         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
66542
66543 2006-06-15  Bruno Haible  <bruno@clisp.org>
66544
66545         * lib/stdint_.h: Rewritten to be fully auto-configured.
66546         Fixes bug on HP-UX/IA64.
66547
66548 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
66549
66550         * lib/getdate.y (__attribute__): Don't define if already defined.
66551         Problem reported by Larry Jones.
66552         * lib/utimens.c (__attribute__): Likewise.
66553
66554 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
66555
66556         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
66557         reported by Andreas Schwab.
66558
66559 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66560             Bruno Haible  <bruno@clisp.org>
66561
66562         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
66563         check for the declaration of strnlen and a run test that exposes the
66564         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
66565         rpl_strndup.
66566
66567 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66568             Bruno Haible  <bruno@clisp.org>
66569
66570         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
66571
66572 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66573
66574         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
66575         compile test, for Tru64 4.0D.
66576
66577 2006-05-28  Karl Berry  <karl@gnu.org>
66578
66579         * config/srclist.txt (printf-args.c): lose sync.
66580
66581 2006-05-26  Martin Lambers  <marlam@marlam.de>
66582
66583         * lib/getpass.c: Updates the test for the native W32 API, and adds
66584         missing includes, thus fixing compilation warnings.
66585
66586 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
66587
66588         * lib/exclude.c (exclude_fnmatch): New function.
66589         (excluded_file_name): Call exclude_fnmatch.
66590         * lib/exclude.h (excluded_file_name): New prototype
66591
66592 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
66593
66594         * lib/tempname.c (small_open, large_open): New macros.
66595         (__open, __open64) [!_LIBC]: Remove.
66596         (__gen_tempname): Use small_open and large_open instead of __open
66597         and __open64.  This fixes a portability bug on HP-UX 11.11i
66598         reported by Simon Wing-Tang in
66599         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
66600
66601 2006-05-24  Bruno Haible  <bruno@clisp.org>
66602
66603         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
66604         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
66605         Reported by Thorsten Maerz <torte@netztorte.de> via
66606         Aaron Stone <aaron@serendipity.cx>.
66607
66608 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
66609
66610         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
66611         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
66612         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
66613         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
66614         not really conditional on the cache.
66615         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
66616
66617 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
66618
66619         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
66620         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
66621         (my_usleep): Don't mishandle maximum value.
66622
66623 2006-05-19  Jim Meyering  <jim@meyering.net>
66624
66625         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
66626
66627 2006-05-17  Bruno Haible  <bruno@clisp.org>
66628
66629         Cygwin portability.
66630         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
66631
66632 2006-05-17  Bruno Haible  <bruno@clisp.org>
66633
66634         * lib/stdint_.h: Fix recognition of Cygwin.
66635
66636 2006-05-15  Bruno Haible  <bruno@clisp.org>
66637
66638         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
66639         on libtool patch by Ralf Wildenhues.
66640
66641 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
66642
66643         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
66644         test for C99 conformance; (bool) 0.5 is an integer constant
66645         expression, but (bool) -0.5 is not.  Problem reported by Fedor
66646         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
66647
66648 2006-05-11  Simon Josefsson  <jas@extundo.com>
66649
66650         * m4/xvasprintf.m4: Fix obvious typo.
66651
66652 2006-05-11  Jim Meyering  <jim@meyering.net>
66653
66654         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
66655         James Lemley.
66656
66657 2006-05-10  Simon Josefsson  <jas@extundo.com>
66658
66659         * lib/md4.c: Typo fix, update copyright years.
66660         (K1, K2): Don't use L because it turn computations into 64-bit on
66661         64-bit platforms.
66662
66663 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
66664
66665         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
66666         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
66667         unwanted sign propagation, e.g., on hosts with 64-bit int.
66668         There still are some problems with reeelly weird theoretical hosts
66669         (e.g., 33-bit int) but it's not worth worrying about now.
66670         * lib/sha1.c (rol): Likewise.
66671         (K1, K2, K3, K4): Remove unnecessary L suffix.
66672
66673 2006-05-10  Bruno Haible  <bruno@clisp.org>
66674
66675         * lib/des.c: Cast to avoid warnings.
66676
66677 2006-05-09  Bruno Haible  <bruno@clisp.org>
66678
66679         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
66680         (Depends-on): Depend also on xsize, stdarg.
66681         (configure.ac): Add gl_XVASPRINTF.
66682
66683 2006-05-09  Bruno Haible  <bruno@clisp.org>
66684
66685         * m4/xvasprintf.m4: New file.
66686
66687 2006-05-09  Bruno Haible  <bruno@clisp.org>
66688
66689         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
66690         (EOVERFLOW): Define fallback value.
66691         (xstrcat): New function.
66692         (xvasprintf): Recognize the special case of a string concatenation.
66693
66694 2006-05-08  Eric Blake  <ebb9@byu.net>
66695
66696         * gnulib-tool (func_version): Base copyright year on CVS date.
66697         (func_emit_copyright_notice): New function.
66698         (func_emit_lib_Makefile_am): Use it.
66699         (func_emit_tests_Makefile_am): Likewise.
66700         (func_import): Likewise.
66701
66702 2006-05-08  Bruno Haible  <bruno@clisp.org>
66703
66704         * modules/stdarg: New file.
66705         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
66706
66707 2006-05-08  Bruno Haible  <bruno@clisp.org>
66708
66709         * m4/stdarg.m4: New file, from GNU gettext.
66710
66711 2006-05-08  Bruno Haible  <bruno@clisp.org>
66712
66713         * config/srclist.txt (build-aux/config.rpath): different from latest
66714         release.
66715
66716 2006-05-08  Bruno Haible  <bruno@clisp.org>
66717
66718         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
66719
66720 2006-05-05  Jim Meyering  <jim@meyering.net>
66721
66722         * m4/warning.m4: New file, derived from bison's file by the same name.
66723
66724 2006-05-03  Bruno Haible  <bruno@clisp.org>
66725
66726         * lib/stdint_.h: Shorter URL.
66727         * lib/inttypes.h: Likewise.
66728
66729 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
66730
66731         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
66732
66733 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
66734
66735         * lib/verify.h: Document the internals better.  Most of this change
66736         was written by Bruno Haible.
66737
66738 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
66739
66740         * doc/verify.texi: New file, partly based on a proposal by
66741         Bruno Haible.
66742
66743 2006-05-02  Bruno Haible  <bruno@clisp.org>
66744
66745         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
66746         test from here...
66747         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
66748
66749 2006-04-29  Bruno Haible  <bruno@clisp.org>
66750
66751         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
66752         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
66753
66754 2006-04-29  Bruno Haible  <bruno@clisp.org>
66755
66756         * gnulib-tool: Make --update option actually work.
66757
66758 2006-04-29  Bruno Haible  <bruno@clisp.org>
66759
66760         * doc/gcd.texi: New file.
66761         * doc/gnulib.texi: Include it.
66762
66763 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
66764
66765         * lib/getdate.y (get_date): When adding relative date, start with the
66766         initial time, not with the result of the first mktime call.
66767
66768 2006-04-25  Bruno Haible  <bruno@clisp.org>
66769
66770         * gnulib-tool (func_import): Output the include directives in three
66771         blocks, sorted separately.
66772         Reported by Ben Pfaff <blp@cs.stanford.edu>.
66773
66774 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
66775
66776         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
66777         to define main with arguments, for C++.  Reported by Eric Blake.
66778         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
66779         Prefer 'int main ()' to 'int main (void)', for C++.
66780         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
66781         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
66782         for 'main', for C99 and C++.
66783
66784 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
66785
66786         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
66787         Don't assume that exit status -1 is valid.
66788         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
66789         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
66790         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
66791         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
66792         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
66793         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
66794         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
66795         functions can be used without declaring them, or that you can
66796         exit with status -1.
66797         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
66798
66799 2006-04-24  Karl Berry  <karl@gnu.org>
66800
66801         * config/srclist.txt (longdouble.m4): sync lost.
66802
66803 2006-04-24  Eric Blake  <ebb9@byu.net>
66804
66805         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
66806
66807 2006-04-24  Bruno Haible  <bruno@clisp.org>
66808
66809         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
66810         poll() implementation in AIX.
66811         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
66812
66813 2006-04-24  Bruno Haible  <bruno@clisp.org>
66814
66815         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
66816         assigned exactly once.
66817
66818 2006-04-23  Claudio Fontana  <claudio@gnu.org>
66819             Bruno Haible  <bruno@clisp.org>
66820
66821         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
66822         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
66823         for AM_CPPFLAGS.
66824
66825 2006-04-23  Bruno Haible  <bruno@clisp.org>
66826
66827         * modules/copy-file: Depend on unistd.
66828         * modules/execute: Likewise.
66829         * modules/fatal-signal: Likewise.
66830         * modules/findprog: Likewise.
66831         * modules/mkdtemp : Likewise.
66832         * modules/pipe: Likewise.
66833         * modules/wait-process: Likewise.
66834
66835 2006-04-23  Bruno Haible  <bruno@clisp.org>
66836
66837         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
66838         condition was already detected.
66839         Reported by Ben Pfaff <blp@cs.stanford.edu>.
66840
66841 2006-04-23  Bruno Haible  <bruno@clisp.org>
66842
66843         * lib/copy-file.c: Include <unistd.h> unconditionally.
66844         * lib/execute.c: Likewise.
66845         * lib/fatal-signal.c: Likewise.
66846         * lib/findprog.c: Likewise.
66847         * lib/mkdtemp.c: Likewise.
66848         * lib/pipe.h: Likewise.
66849         * lib/pipe.c: Likewise.
66850         * lib/wait-process.h: Likewise.
66851
66852 2006-04-23  Bruno Haible  <bruno@clisp.org>
66853
66854         * gnulib-tool (func_usage): Fix --import description. Document
66855         --update.
66856         (func_import): Create temporary file in a temporary directory, if
66857         --dry-run is specified. Silence errors from 'grep' when there are no
66858         m4 files in $m4dir.
66859         (func_create_testdir): Silence errors from 'grep' when there are no
66860         m4 files in $m4dir.
66861         Reported by Karl Berry <karl@freefriends.org>.
66862
66863 2006-04-20  Bruno Haible  <bruno@clisp.org>
66864
66865         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
66866         one argument, so that the code will be portable to Autoconf 2.60.
66867         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
66868         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
66869         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
66870
66871 2006-04-19  Derek Price  <derek@ximbiot.com>
66872             Eric Blake  <ebb9@byu.net>
66873
66874         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
66875         rather than "/full/path.h".  Update comment to match.  Shorten &
66876         generalize m4_translit call via AS_TR_CPP.
66877
66878 2006-04-19  Derek Price  <derek@ximbiot.com>
66879             Eric Blake  <ebb9@byu.net>
66880
66881         * lib/inttypes.h: Correct grammar in comment.
66882
66883 2006-04-18  Derek Price  <derek@ximbiot.com>
66884             Paul Eggert  <eggert@cs.ucla.edu>
66885
66886         * modules/inttypes: New file.
66887         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
66888
66889 2006-04-18  Derek Price  <derek@ximbiot.com>
66890             Paul Eggert  <eggert@cs.ucla.edu>
66891
66892         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
66893         New files.
66894
66895 2006-04-18  Derek Price  <derek@ximbiot.com>
66896             Paul Eggert  <eggert@cs.ucla.edu>
66897
66898         * lib/inttypes.h: New file.
66899         * lib/strtoimax.c: Assume <inttypes.h>.
66900
66901 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
66902
66903         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
66904         isn't mounted.  Problem reported by Kir Kolyshkin.
66905
66906 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
66907
66908         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
66909         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
66910         Derek R. Price.
66911         * lib/regex.h (RE_DUP_MAX): Update comment to match current
66912         implementation.
66913
66914 2006-04-12  Eric Blake  <ebb9@byu.net>
66915
66916         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
66917         is now done automatically by the corresponding Autoconf macro.
66918
66919 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
66920
66921         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
66922         time_r.h.
66923
66924 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
66925
66926         Merge regex changes from libc, removing some of our
66927         POSIX-conformance changes that were rejected and redoing them in a
66928         less-intrusive way.
66929
66930         * lib/regcomp.c (re_compile_internal, init_dfa):
66931         Length arg is now size_t, not Idx.  All uses changed.
66932         (peek_token): Forward decl now says internal_function.
66933         (__re_error_msgid, __re_error_msgid_idx):
66934         Now static rather than extern with attribute_hidden.
66935         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
66936         For some reason libc prefers K&R style defns for external functions.
66937         (regerror) [!defined _LIBC]: Likewise.
66938         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
66939         (seek_collating_symbol_entry, lookup_collation_sequence_value):
66940         (build_range_exp, build_collating_symbol):
66941         Use K&R-style defn.
66942         (re_compile_fastmap): Use '\0' to memset, not 0.
66943         (utf8_sb_map): Make the calculations more obvious.
66944         (init_dfa, parse_bracket_exp, build_charclass_op):
66945         Call calloc and cast result, as glibc does.
66946         (init_word_char, fetch_token, peek_token, peek_token_bracket):
66947         (build_range_exp, build_collating_symbol):
66948         Now internal functions.
66949
66950         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
66951
66952         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
66953         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
66954         Don't depend on VMS; depend on __VMS instead, for POSIX
66955         namespace cleanness.
66956         (regoff_t): Define to ssize_t, not long int.
66957
66958         Remove the REG_ macros named below.  Instead, make the old names
66959         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
66960         __USE_GNU_REGEX.
66961         (REG_BACKSLASH_ESCAPE_IN_LISTS):
66962         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
66963         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
66964         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
66965         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
66966         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
66967         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
66968         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
66969         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
66970         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
66971         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
66972         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
66973         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
66974         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
66975         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
66976         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
66977         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
66978         (REG_NREGS):
66979         Remove.  All uses replaced by the old RE_* names.
66980         (RE_BACKSLASH_ESCAPE_IN_LISTS):
66981         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
66982         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
66983         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
66984         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
66985         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
66986         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
66987         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
66988         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
66989         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
66990         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
66991         Don't bother having these macros be independent of each others'
66992         values, since they no longer exist in the POSIX name space.
66993
66994         Rename the following member names back to their old names,
66995         unless !__USE_GNU_REGEX.  All uses changed back.
66996         (buffer): Renamed from re_buffer.
66997         (allocated): Renamed from re_allocated.
66998         (used): Renamed from re_used.
66999         (syntax): Renamed from re_syntax.
67000         (fastmap): Renamed from re_fastmap.
67001         (translate): Renamed from re_translate.
67002         (can_be_null): Renamed from re_can_be_null.
67003         (regs_allocated): Renamed from re_regs_allocated.
67004         (fastmap_accurate): Renamed from re_fastmap_accurate.
67005         (no_sub): Renamed from re_no_sub.
67006         (not_bol): Renamed from re_not_bol.
67007         (not_eol): Renamed from re_not_eol.
67008         (newline_anchor): Renamed from re_newline_anchor.
67009         (num_regs): Renamed from rm_num_regs.
67010         (start): Renamed from rm_start.
67011         (end): Renamed from rm_end.
67012
67013         (free_state): Move up a bit.
67014
67015         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
67016         #define to be empty.
67017         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
67018         when that is what is intended.
67019         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
67020         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
67021         (MAX): New macro.
67022         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
67023         All uses changed back to re_malloc, etc.  It's now the caller's
67024         responsibility to check for overflow; all callers changed.
67025         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
67026         (re_x2nrealloc): Remove.
67027         (free_state): Remove decl.
67028
67029         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
67030         (re_set_registers, re_exec):
67031         Use K&R-style defn.
67032
67033         2006-01-31  Roland McGrath  <roland@redhat.com>
67034
67035         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
67036         Reported by Mike Frysinger <vapier@gentoo.org>.
67037
67038         2006-01-15  Andreas Jaeger  <aj@suse.de>
67039
67040         [BZ #1950]
67041         * lib/regex_internal.c (re_string_reconstruct): Adjust for
67042         build_wcs_upper_buffer change.
67043         (build_wcs_upper_buffer): Change return type.
67044
67045         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
67046
67047         * lib/regex_internal.h: Include <stdint.h> if available.
67048
67049         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
67050
67051         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
67052
67053         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
67054
67055         * lib/regcomp.c: Adjust for changed secondary hash function.
67056
67057         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
67058
67059         * lib/regex.h: Pretty printing.
67060         Clean up namespace a bit.
67061
67062         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
67063
67064         * lib/regexec.c (update_cur_sifted_state, check_arrival,
67065         check_arrival_add_next_nodes): Avoid using uninitialized variable.
67066
67067         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
67068                     Ulrich Drepper  <drepper@redhat.com>
67069
67070         [BZ #1302]
67071         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
67072         changed.
67073         (bitset_word_t): Renamed from bitset_word.  All uses changed.
67074
67075         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
67076
67077         [BZ #281]
67078         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
67079         * lib/regcomp.c: Remove unnecessary uses of
67080         unsigned RE_TRANSLATE_TYPE.
67081         * lib/regex_internal.h: Likewise.
67082         * lib/regex_internal.c: Likewise.
67083         * lib/regexec.c: Likewise.
67084         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
67085
67086         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
67087
67088         * lib/regexec.c (find_recover_state): Remove unnecessary
67089         initialization.
67090         (transit_state_bkref): Make DFA a const pointer.
67091         (get_subexp): Likewise.
67092         (check_arrival): Likewise.
67093         (update_cur_sifted_state): Likewise.
67094         (re_search_internal): Likewise.
67095         (prune_impossible_nodes): Likewise.
67096         (acquire_init_state_context): Likewise.
67097         (proceed_next_node): Likewise.
67098         (set_regs): Likewise.
67099         (free_fail_stack_return): Likewise.
67100         (check_arrival_expand_ecl): Mark DFA parameter as const.
67101         (check_arrival_expand_ecl_sub): Likewise.
67102         (check_subexp_limits): Likewise.
67103         (sub_epsilon_src_nodes):  Likewise.
67104         (add_epsilon_src_nodes):  Likewise.
67105         (merge_state_array): Likewise.
67106         (update_regs): Likewise.
67107         (build_trtable): Likewise.
67108         (sift_states_backward): Mark MCTX parameter as const.
67109         (build_sifted_states): Likewise.
67110         (update_cur_sifted_state): Likewise.
67111         (sift_states_mkref): Likewise.
67112         (check_arrival_expand_ecl): Mark eclosure as const.
67113         (check_dst_limits_calc_pos_1): Likewise.
67114         * lib/regex_internal.h (re_match_context_t): Make dfa a const
67115         pointer.
67116
67117         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
67118
67119         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
67120         (transit_state_sb): Likewise.
67121         (transit_state_mb): Likewise.
67122         (sift_states_iter_mb): Likewise.
67123         (check_arrival_add_next_nodes): Likewise.
67124         (check_node_accept_bytes): Change first parameter to pointer-to-const.
67125         [_LIBC] (re_search_2_stub): Use mempcpy.
67126
67127         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
67128         mbrtowc for very simple UTF-8 case.
67129
67130         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
67131         a pointer-to-const.
67132         (re_acquire_state_context): Likewise.
67133         * lib/regex_internal.h: Adjust prototypes.
67134
67135         * lib/regex.c: Prevent using C++ compilers.
67136
67137         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
67138         (re_acquire_state_context): Likewise.
67139
67140 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
67141
67142         * modules/regex (Depends-on): Add ssize_t.
67143
67144 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
67145
67146         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
67147         translation table.
67148
67149 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
67150
67151         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
67152
67153 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
67154             Bruno Haible  <bruno@clisp.org>
67155
67156         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
67157         <sys/types.h> and <inttypes.h>.
67158
67159 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67160
67161         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
67162         `__error_t_defined', so argp.h will not typedef the former.
67163
67164 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
67165
67166         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
67167         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
67168         glibc names.  Even if glibc is changed to conform to POSIX, the
67169         traditional names will be available anyway, since regex depends on
67170         the extensions module.  Also, fix a longstanding typo in the
67171         implementation of Spencer ERE test #75 from grep 2.3.  Problems
67172         reported by Emanuele Giaquinta.  Also, change sense of cached
67173         variable, so that the message makes sense.
67174
67175 2006-03-24  Simon Josefsson  <jas@extundo.com>
67176
67177         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
67178         including some doc fixes.
67179         (base64_encode_alloc): Fix +1 bug on allocation failures.
67180
67181 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67182
67183         * lib/base64.c (base64_encode): Do not read past end of array with
67184         unsanitized input on systems with CHAR_BIT > 8.
67185
67186 2006-03-24  Eric Blake  <ebb9@byu.net>
67187
67188         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
67189
67190 2006-03-22  Karl Berry  <karl@gnu.org>
67191
67192         * config/srclist.txt (*setenv.[ch]): get from coreutils.
67193         * config/srclistvars.sh (COREUTILS): new var.
67194
67195 2006-03-17  Jim Meyering  <jim@meyering.net>
67196
67197         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
67198         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
67199
67200 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
67201
67202         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
67203         no longer needs it.  Instead, check that regoff_t is as least
67204         as wide as ptrdiff_t.
67205
67206         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
67207         so that our regex.h stays compatible with the installed regex.
67208         This is helpful for installers who configure --without-included-regex.
67209         Problem reported by Emanuele Giaquinta.
67210
67211 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
67212
67213         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
67214         Typedef to long int, not to off_, as POSIX will likely change
67215         in that direction.
67216
67217 2006-03-15  Eric Blake  <ebb9@byu.net>
67218
67219         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
67220
67221 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
67222
67223         * lib/argp-help.c (validate_uparams): Fix typo
67224         * lib/argp-parse.c (argp_default_options): Consistently begin help
67225         messages with a lowercase letter.
67226
67227 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
67228
67229         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
67230         overrun buffers and shouldn't be used (much as gets shouldn't be
67231         used).
67232         * lib/time_r.c (asctime_r, ctime_r): Likewise.
67233
67234 2006-03-08  Simon Josefsson  <jas@extundo.com>
67235
67236         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
67237         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67238
67239 2006-03-08  Simon Josefsson  <jas@extundo.com>
67240
67241         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
67242         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67243
67244 2006-03-08  Simon Josefsson  <jas@extundo.com>
67245
67246         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
67247         signal that configure disabled the device.
67248
67249 2006-03-08  Simon Josefsson  <jas@extundo.com>
67250
67251         * build-aux/maint.mk: Fix refresh-po, to handle no translated
67252         languages.
67253
67254 2006-03-07  Simon Josefsson  <jas@extundo.com>
67255
67256         * modules/getopt (Depends-on): Add unistd.
67257
67258         * modules/unistd: New file.
67259
67260 2006-03-07  Simon Josefsson  <jas@extundo.com>
67261
67262         * modules/gc-random: New file.
67263
67264 2006-03-07  Simon Josefsson  <jas@extundo.com>
67265
67266         * m4/unistd_h.m4: New file.
67267
67268 2006-03-07  Simon Josefsson  <jas@extundo.com>
67269
67270         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
67271         test to be side-effect free by storing the result in the cache
67272         variable gl_cv_lib_readline, and moving the assignment of
67273         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
67274         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67275
67276 2006-03-07  Simon Josefsson  <jas@extundo.com>
67277
67278         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
67279         error on missing devices (the functions will return an error).
67280
67281         * m4/gc.m4: Move random stuff to gc-random.m4
67282
67283 2006-03-07  Simon Josefsson  <jas@extundo.com>
67284
67285         * lib/unistd_.h: New file.
67286
67287 2006-03-07  Simon Josefsson  <jas@extundo.com>
67288
67289         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
67290
67291 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
67292
67293         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
67294         Problem reported by Juan Manuel Guerrero.
67295
67296 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
67297
67298         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
67299         the unistd module.
67300         * lib/getlogin_r.c: Likewise.
67301         * lib/getlogin_r.h: Likewise.
67302         * lib/glob.c: Likewise.
67303         * lib/pagealign_alloc.c: Likewise.
67304         * lib/unistd_.h: Remove; no longer needed.
67305
67306 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
67307
67308         * MODULES.html.sh (Support for systems lacking POSIX:2001):
67309         Add unistd.
67310         * modules/c-stack (Depends-on): Add unistd.
67311         * modules/getlogin_r: Likewise.
67312         * modules/glob: Likewise.
67313         * modules/pagealign_alloc: Likewise.
67314         * modules/unistd (Files): Remove lib/unistd_.h.
67315         (EXTRA_DIST): Remove.
67316         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
67317         need unistd_.h.
67318         (MOSTLYCLEANFILES): Remove unistd.h-t.
67319
67320 2006-03-03  Simon Josefsson  <jas@extundo.com>
67321
67322         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
67323
67324 2006-03-03  Simon Josefsson  <jas@extundo.com>
67325
67326         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
67327         libidn and bison.
67328
67329 2006-03-03  Simon Josefsson  <jas@extundo.com>
67330
67331         * build-aux/maint.mk: Add indent target.
67332
67333 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
67334
67335         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
67336         our replacement poll.h in any case, to avoid a differing
67337         declaration from a system header.  Seen on AIX.
67338
67339 2006-03-01  Simon Josefsson  <jas@extundo.com>
67340
67341         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
67342         <kasal@ucw.cz>.
67343
67344 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
67345
67346         * modules/gettime (Depends-on): Add extensions module.
67347         * modules/nanosleep (Depends-on): Likewise.
67348         * modules/settime (Depends-on): Likewise.
67349
67350 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
67351
67352         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
67353         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
67354         pedantically.
67355         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
67356         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
67357
67358         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
67359         not "==".  Reported by Ralf Wildenhues.
67360
67361 2006-03-01  Karl Berry  <karl@gnu.org>
67362
67363         * doc/Copyright/request-*: new files, synced from gnuorg.
67364
67365 2006-03-01  Karl Berry  <karl@gnu.org>
67366
67367         * config/srclist.txt (Copyright/*): new entries.
67368
67369 2006-02-28  Simon Josefsson  <jas@extundo.com>
67370
67371         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
67372
67373 2006-02-27  Simon Josefsson  <jas@extundo.com>
67374
67375         * lib/base64.h: Indent #define's.  From Jim Meyering
67376         <jim@meyering.net>.
67377
67378 2006-02-27  Jim Meyering  <jim@meyering.net>
67379
67380         Revert the change of 2006-02-24, so these files can continue
67381         to be sync'd from gettext.
67382         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
67383         of `config.h'.
67384
67385 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
67386
67387         * modules/intprops: New file.
67388         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
67389         Add intprops.
67390         * modules/getloadavg (Files): Remove lib/intprops.h.
67391         (Depends-on): Add intprops.
67392         * modules/human: Likewise.
67393         * modules/inttostr: Likewise.
67394         * modules/openat: Likewise.
67395         * modules/sig2str: Likewise.
67396         * modules/userspec: Likewise.
67397         * modules/utimecmp: Likewise.
67398         * modules/xnanosleep: Likewise.
67399         * modules/xstrtol: Likewise.
67400
67401 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
67402
67403         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
67404         * modules/lock-tests (TESTS): Use $(EXEEXT).
67405         * modules/tls-tests: Likewise.
67406         * modules/argp-tests: Likewise.
67407         (check_PROGRAMS): New var, replacing...
67408         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
67409
67410 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67411
67412         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
67413         `config.h'.
67414
67415 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
67416
67417         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
67418
67419 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67420
67421         Sync from coreutils.
67422         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
67423         gl_CHDIR_SAFER.
67424
67425 2006-02-22  Jim Meyering  <jim@meyering.net>
67426
67427         Sync from coreutils.
67428         * m4/chdir-safer.m4: New file.
67429
67430 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
67431
67432         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
67433         AT_FDCWD exceeds INT_MAX.
67434         * lib/openat.h (AT_FDCWD): Likewise.
67435
67436 2006-02-17  Eric Blake  <address@hidden>
67437
67438         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
67439
67440 2006-02-16  Simon Josefsson  <jas@extundo.com>
67441
67442         * modules/getaddrinfo (Depends-on): Add sys_socket.
67443
67444 2006-02-15  Simon Josefsson  <jas@extundo.com>
67445
67446         * build-aux/maint.mk: Add dsyntax-check rule.
67447
67448 2006-02-15  Eric Blake  <ebb9@byu.net>
67449
67450         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
67451         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
67452         'present but cannot compile' warnings on cygwin.
67453         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
67454         use ws2tcpip.h if sys/socket.h works.
67455         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
67456         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
67457
67458 2006-02-14  Simon Josefsson  <jas@extundo.com>
67459
67460         * modules/maintainer-makefile (Files): Rename.
67461
67462         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
67463         and (the local) Makefile.cfg to maint-cfg.mk.
67464
67465         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
67466         to the latter.
67467
67468         * modules/maintainer-makefile: New module.
67469
67470         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
67471         severaly stripped to make it possible to build it up from scratch
67472         with reliable tests.
67473
67474         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
67475         fixes to permit overriding the default actions when configure and
67476         makefile are not available.
67477
67478 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
67479
67480         Sync from coreutils.
67481         * modules/lstat (Depends-on): Don't depend on xalloc.
67482         (License): Change from GPL to LGPL, since this is now simply a
67483         replacement for a libc function.
67484
67485 2006-02-14  Jim Meyering  <jim@meyering.net>
67486
67487         Sync from coreutils.
67488
67489         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
67490         failure on deficient systems, and simplify gnulib lgpl dependencies.
67491         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
67492         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
67493
67494         * lib/xalloc-die.c: Remove unused definition of N_.
67495
67496 2006-02-14  Jim Meyering  <jim@meyering.net>
67497
67498         Sync from coreutils.
67499         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
67500         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
67501         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
67502         double-quote uses of that variable, to accommodate the rare case in
67503         which getmntent is available in none of the libraries checked.  This
67504         happens at least on FreeBSD 5.0.
67505
67506 2006-02-13  Simon Josefsson  <jas@extundo.com>
67507
67508         * gnulib-tool (Usage): Fix --import, from
67509         karl@freefriends.org (Karl Berry).
67510
67511 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
67512
67513         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
67514
67515 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
67516
67517         * lib/argp-namefrob.h: Restore changes accidentally lost during the
67518         "autoupdate" on 2005-12-12.
67519
67520 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
67521
67522         * modules/closeout (Depends-on): Remove atexit.
67523
67524 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
67525
67526         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
67527         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
67528
67529 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
67530
67531         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
67532         __EXTENSIONS__ if this causes compilation to fail.  Problem
67533         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
67534         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
67535
67536 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
67537
67538         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
67539         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
67540         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
67541         All uses changed.
67542
67543 2006-01-26  Simon Josefsson  <jas@extundo.com>
67544
67545         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
67546         prototype is visible on mingw32.
67547
67548         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
67549         for mingw32.
67550
67551         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
67552         mingw32).
67553
67554 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
67555
67556         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
67557         attempt to open for write; this always fails, at least on POSIX
67558         hosts.  This reinstates the 2006-01-09 change, which was
67559         inadvertently removed.
67560
67561 2006-01-26  Bruno Haible  <bruno@clisp.org>
67562
67563         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
67564         Reported by Paul Eggert.
67565
67566 2006-01-26  Bruno Haible  <bruno@clisp.org>
67567             Paul Eggert  <eggert@cs.ucla.edu>
67568
67569         * lib/stdbool_.h (_Bool)
67570         [(! (defined __cplusplus || defined __BEOS__)
67571           && !defined __GNUC__
67572           && !(defined __HP_cc || defined __xlc__
67573                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
67574                || defined __sgi))]:
67575         #define to signed char in these cases too; this simplifies
67576         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
67577         etc., separately) and makes it more conservative.
67578
67579 2006-01-25  Simon Josefsson  <jas@extundo.com>
67580
67581         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
67582         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
67583         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
67584
67585 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
67586
67587         * lib/argp-namefrob.h: Bugfix. Remove stray #
67588
67589 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
67590
67591         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
67592         so that we test the test.
67593         Check for yet another HP-UX cc bug involving *bool |= bool.
67594
67595 2006-01-25  Karl Berry  <karl@gnu.org>
67596
67597         * config/srclist.txt (vasnprintf.c): sync lost.
67598
67599 2006-01-25  Jim Meyering  <jim@meyering.net>
67600
67601         Sync from the stable (b5) branch of coreutils:
67602
67603         * lib/fts.c (fts_children): Don't let close() clobber errno from
67604         failed fchdir().
67605
67606         * lib/fts.c (fts_stat): When following a symlink-to-directory,
67607         don't necessarily interpret stat-fails+lstat-succeeds as indicating
67608         a dangling symlink.  That can also happen at least for ELOOP.
67609         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
67610         FYI, this bug predates the inclusion of fts.c in coreutils.
67611
67612         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
67613         in their own block, so pre-c99 compilers don't object.
67614
67615         Avoid the double-free (first in fts_read, second in fts_close) that
67616         would occur when an `active' directory is made inaccessible (e.g.,
67617         via chmod a-x) during a traversal.
67618         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
67619         before returning.  Reproduce this failure by
67620         mkdir -p a/b; cd a; chmod a-x . b
67621         Reported by Stavros Passas.
67622
67623 2006-01-25  Jim Meyering  <jim@meyering.net>
67624
67625         * lib/fileblocks.c: Remove more useless parentheses.
67626         * lib/readutmp.h: Likewise.
67627
67628 2006-01-25  Bruno Haible  <bruno@clisp.org>
67629
67630         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
67631         warnings.
67632         Reported by Paul Eggert.
67633
67634 2006-01-25  Bruno Haible  <bruno@clisp.org>
67635
67636         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
67637         rid of a trap command. For Solaris sh.
67638         Reported by Mark D. Baushke <mdb@gnu.org>.
67639
67640 2006-01-24  Simon Josefsson  <jas@extundo.com>
67641
67642         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
67643         Bruno.
67644
67645 2006-01-24  Karl Berry  <karl@gnu.org>
67646
67647         * config/srclist.txt (argp-namefrob.h): sync lost.
67648
67649 2006-01-24  Jim Meyering  <jim@meyering.net>
67650
67651         * modules/openat (Files): Add lib/intprops.h.
67652         From Mark D. Baushke.
67653
67654 2006-01-24  Jim Meyering  <jim@meyering.net>
67655
67656         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
67657         Reported by Mark D. Baushke.
67658
67659 2006-01-24  Jim Meyering  <jim@meyering.net>
67660
67661         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
67662
67663 2006-01-24  Bruno Haible  <bruno@clisp.org>
67664
67665         * modules/strnlen (Maintainer): Change from glibc to all.
67666
67667 2006-01-24  Bruno Haible  <bruno@clisp.org>
67668
67669         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
67670         Patch by Paul Eggert.
67671
67672 2006-01-24  Bruno Haible  <bruno@clisp.org>
67673
67674         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
67675         already has it.
67676         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
67677         2005-11-26.
67678
67679         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
67680         'signed char' to avoid problems with the built-in _Bool type.
67681         Reported by Paul Eggert on 2005-11-26.
67682
67683 2006-01-24  Bruno Haible  <bruno@clisp.org>
67684
67685         * gnulib-tool (func_import): Avoid constructing complicated sed
67686         expressions inside backquote.
67687         Report and solution by Mark D. Baushke <mdb@gnu.org>.
67688
67689 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
67690
67691         These changes imported from libc.
67692         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
67693         test and two separate function calls.
67694         * lib/strndup.c (__strndup): Add libc_hidden_def.
67695
67696 2006-01-23  Simon Josefsson  <jas@extundo.com>
67697
67698         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
67699         Remove the test_*_SOURCES variable: automake infers it by default.
67700         * modules/tls-tests: Likewise.
67701
67702 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
67703
67704         Work around porting bugs reported by Dieter in
67705         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
67706         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
67707         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
67708         Include "getopt.h" first, to check interface.
67709         (getenv): Declare only if defined HAVE_DECL_GETENV &&
67710         !HAVE_DECL_GETENV.
67711         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
67712         (__strndup): Revert to K&R-style function dfns, the glibc style.
67713         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
67714         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
67715         Include strnlen.h first, to get prototype properly.
67716         (strnlen): Renamed from __strnlen.
67717         Remove weak alias.
67718
67719 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
67720
67721         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
67722
67723 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
67724
67725         * config/srclist.txt: Adjust to reflect glibc reorganization.
67726         This affects only comments.
67727
67728 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
67729
67730          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
67731          Reported by Bruce Korb <bkorb@gnu.org>.
67732
67733 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
67734
67735         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
67736         to pacify gcc -Wswitch-default.
67737
67738 2006-01-22  Bruno Haible  <bruno@clisp.org>
67739
67740         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
67741         temporary buffer for sprintf, take into account the precision also
67742         for 'd', 'i', 'u', 'o', 'x', 'X'.
67743
67744 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
67745
67746         * modules/argp-tests: New module
67747         * tests/test-argp.c: New file
67748         * tests/test-argp-2.sh: New file
67749
67750 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
67751
67752         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
67753         (__argp_base_name): Removed
67754         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
67755         typo.
67756         (__argp_base_name): Provide macro definition or extern declaration
67757         depending on the configuration
67758
67759 2006-01-20  Simon Josefsson  <jas@extundo.com>
67760
67761         * modules/inet_ntop (Depends-on): Depend on sys_socket.
67762
67763 2006-01-20  Simon Josefsson  <jas@extundo.com>
67764
67765         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
67766
67767 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
67768
67769         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
67770         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
67771         Suggested by Bruno Haible.
67772
67773 2006-01-20  Karl Berry  <karl@gnu.org>
67774
67775         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
67776         until changes propagate, I guess.
67777
67778 2006-01-19  Simon Josefsson  <jas@extundo.com>
67779
67780         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
67781
67782 2006-01-19  Simon Josefsson  <jas@extundo.com>
67783
67784         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
67785
67786 2006-01-19  Simon Josefsson  <jas@extundo.com>
67787
67788         * gnulib-tool: Set check_PROGRAMS.
67789
67790         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
67791         modules/des-tests, modules/gc-arcfour-tests,
67792         modules/gc-arctwo-tests, modules/gc-des-tests,
67793         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
67794         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
67795         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
67796         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
67797         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
67798         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
67799         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
67800         test_*_SOURCES.
67801
67802 2006-01-18  Simon Josefsson  <jas@extundo.com>
67803
67804         * modules/socklen (Depends-on): Depend on sys_socket.
67805
67806 2006-01-18  Simon Josefsson  <jas@extundo.com>
67807
67808         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
67809         modules/des-tests, modules/gc-arcfour-tests,
67810         modules/gc-arctwo-tests, modules/gc-des-tests,
67811         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
67812         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
67813         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
67814         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
67815         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
67816         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
67817         $(EXEEXT) to automake TESTS variable, for mingw32.
67818
67819 2006-01-17  Simon Josefsson  <jas@extundo.com>
67820
67821         * modules/socklen (Include): Need sys/socket.h.
67822
67823 2006-01-17  Bruno Haible  <bruno@clisp.org>
67824
67825         * modules/ssize_t (Include): Add <sys/types.h>.
67826
67827 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
67828
67829         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
67830         it's not portable and it doesn't work with cross-compiles.
67831         Problem reported by Bruno Haible.  Fix missing-$ typo in
67832         'test "gl_cv_ignore_unused_libraries" ...' that prevented
67833         -zignore from being used with Sun's C compiler.
67834
67835 2006-01-12  Simon Josefsson  <jas@extundo.com>
67836
67837         * lib/base64.c: Fix warning, reported by Bruno Haible
67838         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
67839
67840 2006-01-12  Bruno Haible  <bruno@clisp.org>
67841
67842         * modules/ldd: New file.
67843         * build-aux/ldd.sh.in: New file.
67844         * MODULES.html.sh (Support for building libraries and executables): Add
67845         ldd.
67846
67847 2006-01-12  Bruno Haible  <bruno@clisp.org>
67848
67849         * m4/ldd.m4: New file.
67850
67851 2006-01-12  Bruno Haible  <bruno@clisp.org>
67852
67853         * gnulib-tool (func_import, func_create_testdir): Don't go into an
67854         endless loop while replacing $auxdir with build-aux.
67855
67856 2006-01-11  Simon Josefsson  <jas@extundo.com>
67857
67858         * lib/stdint_.h (SIZE_MAX): Add missing (.
67859
67860 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
67861
67862         Sync from coreutils.
67863         * lib/md5.c: Fix commentary typos.
67864         (alignof, UNALIGNED_P): No need for a GCC-specific version.
67865         * lib/md5.h (__attribute__): Remove; unused.
67866         * lib/sha1.c: Fix commentary to match md5 better.
67867         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
67868         so that we don't need to worry about alignment.  All uses changed.
67869         This merges the 2005-10-28 md5 change into sha1.
67870
67871 2006-01-11  Jim Meyering  <jim@meyering.net>
67872
67873         Sync from coreutils.
67874         * lib/md5.c (OP): Fix spacing.
67875
67876 2006-01-11  Bruno Haible  <bruno@clisp.org>
67877
67878         Ensure automatic ordering between gl_LOCK and gl_ARGP.
67879         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
67880         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
67881
67882 2006-01-11  Bruno Haible  <bruno@clisp.org>
67883
67884         Ensure automatic ordering between gl_LOCK and gl_ARGP.
67885         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
67886         the "early" section as well.
67887
67888 2006-01-11  Bruno Haible  <bruno@clisp.org>
67889
67890         Avoid "ar: no archive members specified" error on MacOS X.
67891         * gnulib-tool (func_modules_add_dummy): New function.
67892         (func_import, func_create_testdir): Invoke it.
67893
67894 2006-01-11  Bruno Haible  <bruno@clisp.org>
67895
67896         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
67897         with $auxdir in AC_CONFIG_FILES statements.
67898
67899 2006-01-11  Bruno Haible  <bruno@clisp.org>
67900
67901         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
67902         Initialize also noinst_HEADERS to empty.
67903
67904 2006-01-11  Bruno Haible  <bruno@clisp.org>
67905
67906         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
67907         variables.
67908         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
67909         autoreconf.
67910
67911 2006-01-11  Bruno Haible  <bruno@clisp.org>
67912
67913         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
67914         overridable by the user.
67915         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67916
67917 2006-01-10  Simon Josefsson  <jas@extundo.com>
67918
67919         * modules/sys_socket: New file.
67920
67921 2006-01-10  Simon Josefsson  <jas@extundo.com>
67922
67923         * m4/sys_socket_h.m4: New file.
67924
67925 2006-01-10  Simon Josefsson  <jas@extundo.com>
67926
67927         * lib/socket_.h: New file.
67928
67929 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
67930
67931         * modules/readutmp (Maintainer): Add myself.
67932
67933 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
67934
67935         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
67936         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
67937         People who are still concerned with buggy memcmp implementations
67938         can invoke gl_FUNC_MEMCMP themselves.
67939
67940 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
67941
67942         * lib/regex_internal.h (BITSET_WORD_BITS):
67943         Work around a bug in 64-bit PGC (before version 6.1-2), where the
67944         preprocessor mishandles large unsigned values as if they were signed.
67945         Problem reported by Claudio Fontana in
67946         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
67947
67948 2006-01-10  Jim Meyering  <jim@meyering.net>
67949
67950         Avoid the double-free (first in fts_read, second in fts_close) that
67951         would occur when an `active' directory is made inaccessible (e.g.,
67952         via chmod a-x) during a traversal.
67953         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
67954         before returning.  Reproduce this failure by
67955         mkdir -p a/b; cd a; chmod a-x . b
67956         Reported by Stavros Passas.
67957
67958         Sync from coreutils.
67959         * lib/sha1.c: Tweak grammar in a comment.
67960
67961 2006-01-10  Jim Meyering  <jim@meyering.net>
67962
67963         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
67964         Patch by Joerg Sonnenberger.
67965
67966 2006-01-10  Bruno Haible  <bruno@clisp.org>
67967
67968         * modules/readutmp: Depend on module free.
67969         * modules/strtok_r: Depend on module restrict.
67970
67971 2006-01-10  Bruno Haible  <bruno@clisp.org>
67972
67973         * modules/gettext (configure.ac): Add an invocation of
67974         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
67975
67976 2006-01-10  Bruno Haible  <bruno@clisp.org>
67977
67978         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
67979         Reported by Werner Lemberg <wl@gnu.org>.
67980
67981 2006-01-10  Bruno Haible  <bruno@clisp.org>
67982
67983         * lib/localcharset.c: Update from GNU gettext.
67984
67985 2006-01-10  Bruno Haible  <bruno@clisp.org>
67986
67987         * lib/argp.h (__const): Remove macro. Use const instead.
67988         * lib/argp-fmtstream.h (__const): Likewise.
67989         * lib/glob_.h (__const): Remove macro.
67990         * lib/glob-libc.h: Use const instead of __const.
67991
67992 2006-01-10  Bruno Haible  <bruno@clisp.org>
67993
67994         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
67995         variable.
67996         Needed to avoid an automake error regarding the 'gettext' module.
67997
67998 2006-01-09  Simon Josefsson  <jas@extundo.com>
67999
68000         * modules/inet_ntop (Depends-on): Add restrict.
68001
68002 2006-01-09  Simon Josefsson  <jas@extundo.com>
68003
68004         * modules/gc-rijndael-tests (License): Put under LGPL.
68005
68006         * modules/gc-des-tests (License): Likewise.
68007
68008         * modules/gc-arcfour-tests (License): Likewise.
68009
68010         * modules/gc-arctwo-tests (License): Likewise.
68011
68012         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
68013
68014         * modules/gc-hmac-sha1-tests (Files): Likewise.
68015
68016         * modules/gc-hmac-md5-tests (License): Likewise.
68017
68018         * modules/gc-sha1-tests (License): Likewise.
68019
68020         * modules/gc-md5-tests (License): Likewise.
68021
68022         * modules/gc-md4-tests (License): Likewise.
68023
68024         * modules/gc-md2-tests (License): Likewise.
68025
68026         * modules/gc-tests (License): Likewise.
68027
68028         * modules/des-tests (License): Likewise.
68029
68030         * modules/md4-tests (License): Likewise.
68031
68032         * modules/md2-tests (License): Likewise.
68033
68034 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
68035
68036         Sync from coreutils:
68037
68038         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
68039         * modules/lib-ignore: New file.
68040         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
68041         chdir-safer.m4, lchmod.m4.
68042         * modules/openat: Add mkdirat.c, openat-priv.h.
68043
68044 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
68045
68046         Sync from coreutils.
68047         * m4/lib-ignore.m4: New file.
68048         * m4/lchmod.m4: New file.
68049
68050 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
68051
68052         Sync from coreutils.
68053         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
68054         for write access: POSIX says that must fail.
68055         * lib/fts.c (diropen): Likewise.
68056         * lib/save-cwd.c (save_cwd): Likewise.
68057         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
68058         well, for minor improvements on hosts that lack O_DIRECTORY.
68059         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
68060         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
68061         Fall back on chown if open failed with EACCES.
68062
68063         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
68064         Report an error at compile-time if only a 1-second nominal clock
68065         resolution is found.
68066
68067         * lib/lchmod.h: New file.
68068         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
68069         (make_dir_parents): Use lchown rather than chown, and
68070         lchmod rather than chmod.
68071
68072         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
68073         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
68074         "proc" reported by n0dalus.
68075
68076         * lib/mountlist.c: Include <limits.h>.
68077         (dev_from_mount_options)
68078         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
68079         New function.  It no longer assumes "dev=" has the System V meaning
68080         on Linux (since it doesn't).  It also parses "dev=" more carefully.
68081         (read_file_system_list)
68082         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
68083         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
68084         dev= in that case.
68085
68086         * lib/posixtm.h (PDS_PRE_2000): New macro.
68087         * lib/posixtm.c (year): Arg is now syntax_bits rather than
68088         allow_century.  All usages changed.  Reject dates outside the range
68089         1969-1999 if PDS_PRE_2000 is used.
68090
68091 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
68092
68093         Sync from coreutils.
68094         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
68095         (Time of day items): Mention the possibility of leap seconds.
68096         Problem reported by Dr. David Alan Gilbert.
68097
68098 2006-01-09  Jim Meyering  <jim@meyering.net>
68099
68100         Sync from coreutils.
68101
68102         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
68103
68104         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
68105
68106         * lib/modechange.c (mode_compile): Reject an invalid mode string
68107         that starts with an octal digit.  From Andreas Gruenbacher.
68108
68109         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
68110         and dup to open_safer and dup_safer, respectively.
68111         (openat_permissive): Fix typo in comment.
68112
68113         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
68114         "gettext.h"; either no longer needed or are guaranteed by openat.h.
68115         (_): Remove; no longer needed.
68116         (openat): Renamed from rpl_openat; no need for rpl_openat
68117         since openat.h renames openat for us.
68118         Replace most of the body with a call to openat_permissive,
68119         to avoid duplicate code.
68120         Port to (probably hypothetical) environments were mode_t is
68121         wider than int.
68122         (openat_permissive): Require mode arg, so that we can check
68123         types better.  Put it just after flags.  Change cwd failure
68124         indicator from pointer-to-bool to pointer-to-errno-value.
68125         All callers changed.
68126         Invoke openat_save_fail and/or openat_restore_fail if
68127         cwd_errno is null, so that openat can call us.
68128         (openat_permissive, fdopendir, fstatat, unlinkat):
68129         Simplify errno handling to avoid some duplicate code,
68130         as it's OK to set errno on success.
68131         * lib/openat.h: Revamp code so that function macros depend on
68132         __OPENAT_PREFIX only, not also on AT_FDCWD.
68133         (openat_ro): Remove.  Caller changed to use openat_permissive.
68134         (openat_permissive): Now a macro, if not a function.
68135         (openat_restore_fail, openat_save_fail): Now always functions,
68136         since mkdirat needs them even if __OPENAT_PREFIX is defined.
68137
68138         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
68139         and openat.c.
68140         * lib/mkdirat.c: Include openat-priv.h.
68141         Remove definitions of macros defined therein.
68142         * lib/openat.c: Likewise.
68143
68144         * lib/mkdirat.c (mkdirat): New file and function.
68145         * lib/openat.h (mkdirat): Declare.
68146
68147         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
68148
68149         * lib/openat.h (openat_permissive): Declare.
68150         (openat_ro): Define.
68151
68152         * lib/openat.c (EXPECTED_ERRNO): New macro.
68153         (openat_permissive): New function -- used in remove.c rewrite.
68154         (all functions): Set errno just before returning, only if there
68155         was an actual failure.
68156         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
68157
68158         Emulate openat-family functions using Linux's procfs, if possible.
68159         Idea and some code based on Ulrich Drepper's glibc changes.
68160
68161         * lib/openat.c: (BUILD_PROC_NAME): New macro.
68162         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
68163         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
68164         before falling back on save_cwd and restore_cwd.
68165         (fdopendir, fstatat, unlinkat): Likewise.
68166
68167         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
68168         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
68169
68170         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
68171         as second argument to va_arg.  Otherwise, some versions of gcc
68172         warn that `if this code is reached, the program will abort'.
68173
68174 2006-01-09  Jim Meyering  <jim@meyering.net>
68175
68176         Sync from coreutils.
68177         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
68178         Require openat-priv.h.
68179
68180 2006-01-09  Bruno Haible  <bruno@clisp.org>
68181
68182         * modules/strnlen (Include): Use strnlen.h.
68183
68184 2006-01-09  Bruno Haible  <bruno@clisp.org>
68185
68186         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
68187
68188 2006-01-09  Bruno Haible  <bruno@clisp.org>
68189
68190         * lib/sysexit_.h (EX_OK): New macro.
68191         Suggested by Martin Lambers <marlam@marlam.de>.
68192
68193 2006-01-09  Bruno Haible  <bruno@clisp.org>
68194
68195         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
68196         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
68197
68198 2006-01-09  Bruno Haible  <bruno@clisp.org>
68199
68200         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
68201         numbers.
68202
68203 2006-01-09  Bruno Haible  <bruno@clisp.org>
68204
68205         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
68206         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
68207         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
68208         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
68209
68210 2006-01-09  Bruno Haible  <bruno@clisp.org>
68211
68212         * build-aux/javacomp.sh.in: New file, moved from lib/.
68213         * modules/javacomp-script (Files): Update.
68214         (configure.ac): Add AC_CONFIG_FILES invocation.
68215         (EXTRA_DIST): Remove variable.
68216
68217         * build-aux/javaexec.sh.in: New file, moved from lib/.
68218         * modules/javaexec (Files): Update.
68219         (configure.ac): Add AC_CONFIG_FILES invocation.
68220         (EXTRA_DIST): Remove javaexec.sh.in.
68221
68222         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
68223         * modules/csharpcomp-script (Files): Update.
68224         (configure.ac): Add AC_CONFIG_FILES invocation.
68225         (EXTRA_DIST): Remove variable.
68226
68227         * build-aux/csharpexec.sh.in: New file, moved from lib/.
68228         * modules/csharpexec (Files): Update.
68229         (configure.ac): Add AC_CONFIG_FILES invocation.
68230         (EXTRA_DIST): Remove csharpexec.sh.in.
68231
68232 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
68233
68234         Sync from coreutils.
68235
68236         Add POSIX ACL support
68237         * lib/acl.h (copy_acl, set_acl): Add declarations.
68238         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
68239         systems other than Linux.
68240         (chmod_or_fchmod): New function: use fchmod when possible,
68241         and chmod otherwise.
68242         (file_has_acl): Add a POSIX ACL implementation, with a
68243         Linux-specific subcase.
68244         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
68245         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
68246         acls are unsupported.
68247         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
68248         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
68249         are unsupported.
68250
68251 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
68252
68253         Sync from coreutils.
68254         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
68255
68256 2006-01-07  Bruno Haible  <bruno@clisp.org>
68257
68258         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
68259         gl_EARLY.
68260
68261 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
68262
68263         * lib/strftime.c (tzname): Don't declare if it is already #defined.
68264         Problem reported for Mingw by Mark Junker.
68265
68266 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
68267
68268         * README: Gnulib normally doesn't generate a tarball.
68269
68270 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
68271
68272         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
68273         long int, not int, for nanosecond counts, so that people who are
68274         used to POSIX struct timespec won't be surprised.  Reported by Jim
68275         Meyering.
68276
68277 2005-12-28  Bruno Haible  <bruno@clisp.org>
68278
68279         * build-aux/config.rpath: Update from GNU gettext.
68280
68281 2005-12-16  Jim Meyering  <jim@meyering.net>
68282
68283         * modules/fprintftime: New module.
68284         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
68285
68286 2005-12-16  Jim Meyering  <jim@meyering.net>
68287
68288         * m4/fprintftime.m4: New file.
68289
68290 2005-12-16  Jim Meyering  <jim@meyering.net>
68291
68292         * lib/fprintftime.c, lib/fprintftime.h: New files.
68293
68294 2005-12-15  Simon Josefsson  <jas@extundo.com>
68295
68296         * modules/socklen (configure.ac): Fix M4 macro name, to align with
68297         new m4/socklen.m4.
68298
68299 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
68300
68301         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
68302         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
68303
68304 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
68305
68306         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
68307         * lib/argp-help.c (fill_in_uparams): Check if the constructed
68308         struct uparams is valid. Fall back to the default values if it is
68309         not.
68310
68311 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
68312
68313         * modules/argp (Files): Add argp-pin.c
68314         (Depends-on): dirname
68315         (lib_SOURCES): Add argp-pin.c
68316
68317 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
68318
68319         * m4/argp.m4:  Check if program_invocation_name and
68320         program_invocation_short_name are declared and define appropriate
68321         macros if they are not.
68322
68323 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
68324
68325         * lib/argp-help.c (__argp_base_name): New function
68326         (__argp_short_program_name): Rewrite using __argp_base_name
68327         * lib/argp-namefrob.h: Define program_invocation_name and
68328         program_invocation_short_name if requested
68329         (__argp_base_name): Add prototype
68330         * lib/argp-parse.c (argp_def): Use gettext wrappers
68331         (argp_default_parser): Use __argp_base_name
68332         * lib/argp-pin.c: New file. Defines program_invocation_name and
68333         program_invocation_short_name on systems that lack them.
68334
68335 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
68336
68337         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
68338         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
68339         porting problem reported by Georg Schwarz in
68340         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
68341
68342 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
68343
68344         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
68345         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
68346         porting problem reported by Georg Schwarz in
68347         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
68348
68349 2005-12-05  Bruno Haible  <bruno@clisp.org>
68350
68351         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
68352         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
68353         Reported by Mark Junker <mjscod@gmx.de>.
68354
68355 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
68356
68357         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
68358         Use implementation from Albert Chin, with some
68359         comments/corrections by Stepan Kasal and myself.
68360
68361 2005-12-02  Bruno Haible  <bruno@clisp.org>
68362
68363         * gnulib-tool (func_import): Accept GPLed build tool modules when
68364         --lgpl is given.
68365         * modules/csharpcomp-script: New file.
68366         * modules/csharpcomp: Depend on it.
68367         * modules/javacomp-script: New file.
68368         * modules/javacomp: Depend on it.
68369         Suggested by Simon Josefsson.
68370
68371 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
68372
68373         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
68374         statement, to work around an HP-UX 10.20 compiler bug reported by
68375         Peter O'Gorman.
68376
68377 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
68378
68379         * modules/savedir (Depends-on): Add openat.
68380
68381 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
68382
68383         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
68384         (uintmax_t) [defined uintmax_t]: Do not declare.
68385         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
68386         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
68387         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
68388         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
68389         sake of portability to weird hosts that C allows (though we don't
68390         know of any practical examples).
68391
68392         * lib/savedir.h (fdsavedir): New decl.
68393         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
68394         contains most of the former guts of savedir.
68395         (savedir): Use savedirstream.
68396         Include "openat.h".
68397
68398 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
68399
68400         * modules/obstack (Files): Add m4/ulonglong.m4.
68401         Problem reported by Davide Angelocola.
68402
68403 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
68404
68405         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
68406         coreutils no longer futzes with rounding modes.
68407
68408 2005-11-14  Jim Meyering  <jim@meyering.net>
68409
68410         * lib/mkstemp-safer.c: Include <config.h>, required for possible
68411         replacement of mkstemp.
68412
68413 2005-11-10  Simon Josefsson  <jas@extundo.com>
68414
68415         * lib/readline.c: Remove EOL.
68416
68417 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
68418
68419         * modules/gethrxtime (Depends-on): Add gettime.
68420
68421 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
68422
68423         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
68424         or gettimeofday; no longer needed.
68425
68426 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
68427
68428         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
68429         time business.
68430         (gethrxtime) [! (HAVE_NANOUPTIME
68431         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
68432         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
68433         our own approximation.
68434
68435 2005-11-08  Eric Blake  <ebb9@byu.net>
68436
68437         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
68438
68439 2005-11-08  Eric Blake  <ebb9@byu.net>
68440
68441         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
68442
68443 2005-11-04  Bruno Haible  <bruno@clisp.org>
68444
68445         * gnulib-tool: Implement --update mode.
68446
68447 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
68448
68449         Fix porting problem reported by Theodoros V. Kalamatianos.
68450         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
68451         Don't assume that futimes failing means we must fail.
68452
68453 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
68454
68455         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
68456         variables to suggest the intended function of the PATH_MAX check.
68457
68458 2005-10-30  Kean Johnston  <jkj@sco.com>
68459
68460         Trivial changes to support SCO systems.
68461         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
68462         as PATH_MAX.
68463         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
68464         where __ptr is null when no I/O is pending.
68465
68466 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
68467
68468         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
68469         leave errno alone.  Problem reported by Dmitry V. Levin.
68470
68471 2005-10-28  Simon Josefsson  <jas@extundo.com>
68472
68473         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
68474         Test more.
68475
68476         * tests/test-gc-md2.c, tests/test-md2.c: New files.
68477
68478         * modules/md2, modules/md2-tests: New files.
68479
68480 2005-10-28  Simon Josefsson  <jas@extundo.com>
68481
68482         * m4/inet_ntop.m4: More tests.
68483
68484         * m4/gc-md2.m4, md2.m4: New file.
68485
68486 2005-10-28  Simon Josefsson  <jas@extundo.com>
68487
68488         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
68489         "restrict" keywords, as per POSIX.  Protect the function
68490         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
68491         Don't use K&R prototypes.  Check the sprintf return values.
68492         Re-define EAFNOSUPPORT if not present.  Indent.
68493
68494         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
68495         suggested by Bruno Haible <bruno@clisp.org>.
68496
68497         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
68498
68499         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
68500
68501         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
68502         libgcrypt).
68503
68504         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
68505
68506         * lib/md2.h, lib/md2.c: New files.
68507
68508 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
68509
68510         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
68511         errno alone.  Problem reported by Frederic Jolliton.
68512
68513 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
68514
68515         * modules/verify (License): Change from GPL to LGPL.  This is a
68516         tiny module and there are apparently near-equivalents that are
68517         under the BSD license.
68518
68519 2005-10-24  Simon Josefsson  <jas@extundo.com>
68520
68521         * modules/sha1: Relicense to LGPL.
68522
68523 2005-10-24  Simon Josefsson  <jas@extundo.com>
68524
68525         * lib/md4.h: Shrink buffer size, now that we changed the type.
68526
68527 2005-10-23  Simon Josefsson  <jas@extundo.com>
68528
68529         * gnulib-tool (func_import): Fix --tests-base.
68530
68531 2005-10-22  Simon Josefsson  <jas@extundo.com>
68532
68533         * modules/arcfour (Depends-on): Need stdint.
68534
68535 2005-10-22  Simon Josefsson  <jas@extundo.com>
68536
68537         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
68538         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
68539
68540 2005-10-22  Simon Josefsson  <jas@extundo.com>
68541
68542         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
68543         suggested by Bruno Haible <bruno@clisp.org>.
68544
68545 2005-10-22  Simon Josefsson  <jas@extundo.com>
68546
68547         * lib/crc.h: Include stddef.h, for size_t.
68548
68549 2005-10-22  Simon Josefsson  <jas@extundo.com>
68550
68551         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
68552         arcfour_context struct (simplify test vector testing in GNU
68553         Shishi).
68554
68555 2005-10-21  Simon Josefsson  <jas@extundo.com>
68556
68557         * modules/des, modules/des-tests: New files.
68558
68559         * modules/gc-des, modules/gc-des-tests: New files.
68560
68561         * tests/test-des.c, tests/test-gc-des.c: New file.
68562
68563 2005-10-21  Simon Josefsson  <jas@extundo.com>
68564
68565         * modules/arctwo, modules/arctwo-tests: New files.
68566
68567         * tests/test-arctwo.c: New file.
68568
68569         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
68570
68571         * tests/test-gc-arctwo.c: New file.
68572
68573 2005-10-21  Simon Josefsson  <jas@extundo.com>
68574
68575         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
68576         Bruno Haible <bruno@clisp.org>.
68577
68578         * m4/gc-des.m4: New file.
68579
68580 2005-10-21  Simon Josefsson  <jas@extundo.com>
68581
68582         * m4/arctwo.m4: New file.
68583
68584         * m4/gc-arctwo.m4: New file.
68585
68586 2005-10-21  Simon Josefsson  <jas@extundo.com>
68587
68588         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
68589         block.
68590
68591 2005-10-21  Simon Josefsson  <jas@extundo.com>
68592
68593         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
68594         <bruno@clisp.org>.
68595
68596         * lib/hmac-sha1.c (hmac_sha1): Likewise.
68597
68598         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
68599         Bruno Haible <bruno@clisp.org>.
68600
68601         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
68602         <bruno@clisp.org>.
68603
68604 2005-10-21  Simon Josefsson  <jas@extundo.com>
68605
68606         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
68607
68608 2005-10-21  Simon Josefsson  <jas@extundo.com>
68609
68610         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
68611
68612 2005-10-21  Simon Josefsson  <jas@extundo.com>
68613
68614         * lib/des.h, lib/des.c: New files.
68615
68616         * lib/gc-gnulib.c: Support DES.c
68617
68618 2005-10-21  Simon Josefsson  <jas@extundo.com>
68619
68620         * lib/arctwo.h, lib/arctwo.c: New files.
68621
68622         * lib/gc-gnulib.c: Support ARCTWO.
68623
68624 2005-10-21  Simon Josefsson  <jas@extundo.com>
68625
68626         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
68627         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
68628
68629 2005-10-21  Simon Josefsson  <jas@extundo.com>
68630
68631         * gnulib-tool (func_import, func_create_testdir): Define automake
68632         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
68633         Makefile.am snippet),
68634         suggested by Bruno Haible <bruno@clisp.org>.
68635
68636         * modules/gc (Makefile.am): Use it.
68637
68638 2005-10-21  Bruno Haible  <bruno@clisp.org>
68639
68640         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
68641         patch.
68642
68643 2005-10-19  Simon Josefsson  <jas@extundo.com>
68644
68645         * tests/test-gc-rijndael.c: New file.
68646
68647         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
68648
68649 2005-10-19  Simon Josefsson  <jas@extundo.com>
68650
68651         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
68652         interface too.
68653
68654 2005-10-19  Simon Josefsson  <jas@extundo.com>
68655
68656         * tests/test-gc-arcfour.c: New file.
68657
68658         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
68659
68660 2005-10-19  Simon Josefsson  <jas@extundo.com>
68661
68662         * modules/gc-md4, modules/gc-md4-tests: New file.
68663
68664         * tests/test-gc-md4.c: New file.
68665
68666 2005-10-19  Simon Josefsson  <jas@extundo.com>
68667
68668         * m4/gc-md4.m4: New file.
68669
68670 2005-10-19  Simon Josefsson  <jas@extundo.com>
68671
68672         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
68673         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
68674         <kasal@ucw.cz>.
68675
68676 2005-10-19  Simon Josefsson  <jas@extundo.com>
68677
68678         * m4/gc-arcfour.m4: New file.
68679
68680         * m4/gc-rijndael.m4: New file.
68681
68682 2005-10-19  Simon Josefsson  <jas@extundo.com>
68683
68684         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
68685
68686 2005-10-19  Simon Josefsson  <jas@extundo.com>
68687
68688         * lib/gc-gnulib.c: Support ARCFOUR.
68689
68690 2005-10-19  Simon Josefsson  <jas@extundo.com>
68691
68692         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
68693         support.
68694
68695         * lib/gc.h: Add ECB enum type.
68696
68697         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
68698
68699 2005-10-18  Simon Josefsson  <jas@extundo.com>
68700
68701         * tests/test-md5.c: New file.
68702
68703         * modules/md5-tests: New file.
68704
68705 2005-10-18  Simon Josefsson  <jas@extundo.com>
68706
68707         * tests/test-md4.c: New file.
68708
68709         * modules/md4, modules/md4-tests: New files.
68710
68711 2005-10-18  Simon Josefsson  <jas@extundo.com>
68712
68713         * m4/md4.m4: New file.
68714
68715 2005-10-18  Simon Josefsson  <jas@extundo.com>
68716
68717         * lib/md4.h, lib/md4.c: New files, based on md5.?.
68718
68719 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
68720
68721         * gnulib-tool (func_create_testdir): Omit the second check whether
68722         BUILT_SOURCES in nonempty.
68723
68724 2005-10-17  Simon Josefsson  <jas@extundo.com>
68725
68726         * tests/test-rijndael.c: New file.
68727
68728 2005-10-17  Simon Josefsson  <jas@extundo.com>
68729
68730         * modules/sha1: Depend on stdint instead of md5.
68731
68732         * modules/md5: Depend on stdint, remove uint32_t.
68733
68734 2005-10-17  Simon Josefsson  <jas@extundo.com>
68735
68736         * modules/gc-sha1-tests: New file.
68737
68738         * tests/test-gc-sha1.c: New file.
68739
68740 2005-10-17  Simon Josefsson  <jas@extundo.com>
68741
68742         * m4/md5.m4: Remove call to uint32_t.m4.
68743
68744 2005-10-17  Simon Josefsson  <jas@extundo.com>
68745
68746         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
68747
68748         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
68749         md5.h.
68750
68751         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
68752
68753         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
68754
68755 2005-10-17  Simon Josefsson  <jas@extundo.com>
68756
68757         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
68758
68759 2005-10-17  Simon Josefsson  <jas@extundo.com>
68760
68761         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
68762
68763 2005-10-17  Simon Josefsson  <jas@extundo.com>
68764
68765         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
68766
68767         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
68768
68769 2005-10-17  Bruno Haible  <bruno@clisp.org>
68770
68771         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
68772         that it can also be used in a test.
68773
68774 2005-10-16  Bruno Haible  <bruno@clisp.org>
68775
68776         * gnulib-tool (func_emit_tests_Makefile_am): Also define
68777         TESTS_ENVIRONMENT, so that individual tests can augment it.
68778
68779         * gnulib-tool (func_create_testdir): Use an intermediate target for
68780         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
68781         macros, like $(ALLOCA_H), which cannot be passed through the command
68782         line.
68783
68784 2005-10-15  Simon Josefsson  <jas@extundo.com>
68785
68786         * modules/rijndael-tests: New file.
68787
68788         * modules/rijndael: New file.
68789
68790 2005-10-15  Simon Josefsson  <jas@extundo.com>
68791
68792         * m4/rijndael.m4: New file.
68793
68794 2005-10-15  Simon Josefsson  <jas@extundo.com>
68795
68796         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
68797
68798         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
68799
68800 2005-10-14  Simon Josefsson  <jas@extundo.com>
68801
68802         * tests/test-arcfour.c: New file.
68803
68804         * modules/arcfour, modules/arcfour-tests: New files.
68805
68806 2005-10-14  Simon Josefsson  <jas@extundo.com>
68807
68808         * m4/arcfour.m4: New file.
68809
68810 2005-10-14  Simon Josefsson  <jas@extundo.com>
68811
68812         * lib/arcfour.h, lib/arcfour.c: New files.
68813
68814 2005-10-14  Roland McGrath  <roland@redhat.com>
68815
68816         Import from libc.  [BZ #1331]
68817         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
68818         macro argument.
68819         Reported by Matej Vela <vela@debian.org>.
68820
68821 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
68822
68823         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
68824         include <wchar.h>; no longer needed.
68825
68826 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
68827
68828         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
68829
68830 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
68831         and  Ulrich Drepper  <drepper@redhat.com>
68832
68833         Import from libc.
68834         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
68835         instead of inline stream orientation test and two separate
68836         function calls.  Pay no attention to USE_IN_LIBIO.
68837
68838 2005-10-13  Simon Josefsson  <jas@extundo.com>
68839
68840         * modules/gc-hmac-md5-tests: New file.
68841
68842         * tests/test-gc-hmac-sha1.c: New file.
68843
68844         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
68845
68846         * modules/gc-hmac-md5-tests: New file.
68847
68848         * tests/test-gc-md5.c: New file.
68849
68850         * modules/gc-md5-tests: New file.
68851
68852 2005-10-13  Simon Josefsson  <jas@extundo.com>
68853
68854         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
68855         Move memory allocation outside of loop.
68856
68857 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
68858
68859         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
68860         intermediate directory is in a read-only file system.  Problem
68861         reported by Eric Blake.
68862
68863 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
68864
68865         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
68866
68867 2005-10-12  Simon Josefsson  <jas@extundo.com>
68868
68869         * tests/test-hmac-sha1.c: New file.
68870
68871         * modules/hmac-sha1-tests: New file.
68872
68873         * modules/hmac-sha1: New file.
68874
68875 2005-10-12  Simon Josefsson  <jas@extundo.com>
68876
68877         * modules/gc-sha1: New file.
68878
68879 2005-10-12  Simon Josefsson  <jas@extundo.com>
68880
68881         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
68882
68883         * tests/test-gc-pbkdf2-sha1.c: New file.
68884
68885 2005-10-12  Simon Josefsson  <jas@extundo.com>
68886
68887         * modules/gc-md5, modules/gc-hmac-md5: New files.
68888
68889         * modules/gc (Files): Remove md5, memxor and hmac files.
68890
68891 2005-10-12  Simon Josefsson  <jas@extundo.com>
68892
68893         * m4/gc-pbkdf2-sha1.m4: New file.
68894
68895         * m4/gc-hmac-sha1.m4: New file.
68896
68897         * m4/gc-sha1: New file.
68898
68899         * m4/hmac-sha1.m4: New file.
68900
68901 2005-10-12  Simon Josefsson  <jas@extundo.com>
68902
68903         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
68904
68905         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
68906
68907 2005-10-12  Simon Josefsson  <jas@extundo.com>
68908
68909         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
68910         suggested by Bruno Haible <bruno@clisp.org>.
68911
68912 2005-10-12  Simon Josefsson  <jas@extundo.com>
68913
68914         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
68915
68916 2005-10-12  Simon Josefsson  <jas@extundo.com>
68917
68918         * lib/gc-pbkdf2-sha1.c: New file.
68919
68920         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
68921
68922 2005-10-12  Simon Josefsson  <jas@extundo.com>
68923
68924         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
68925
68926         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
68927
68928 2005-10-12  Simon Josefsson  <jas@extundo.com>
68929
68930         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
68931         GC_USE_HMAC_MD5, respectively.
68932
68933         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
68934         (gc_md5): Fix typo.
68935
68936         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
68937
68938         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
68939
68940         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
68941
68942 2005-10-12  Bruno Haible  <bruno@clisp.org>
68943
68944         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
68945         Reported by Stepan Kasal <kasal@ucw.cz>.
68946
68947 2005-10-11  Simon Josefsson  <jas@extundo.com>
68948
68949         * tests/test-crc.c: New file.
68950
68951         * modules/crc, modules/crc-tests: New files.
68952
68953 2005-10-11  Simon Josefsson  <jas@extundo.com>
68954
68955         * m4/crc.m4: New file.
68956
68957 2005-10-11  Simon Josefsson  <jas@extundo.com>
68958
68959         * lib/gc.h: Add gc_hash and gc_hash_buffer.
68960
68961         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
68962
68963         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
68964
68965 2005-10-11  Simon Josefsson  <jas@extundo.com>
68966
68967         * lib/crc.h, lib/crc.c: New files.
68968
68969         * lib/gc.h (gc_hash_buffer): Add doc.
68970
68971 2005-10-11  Bruno Haible  <bruno@clisp.org>
68972
68973         * modules/c-strcasestr: New file.
68974         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
68975
68976 2005-10-11  Bruno Haible  <bruno@clisp.org>
68977
68978         * modules/c-strcase: New file.
68979         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
68980
68981 2005-10-11  Bruno Haible  <bruno@clisp.org>
68982
68983         * lib/strcasecmp.c: Include limits.h.
68984         (strcasecmp): Avoid integer overflow on exotic platforms.
68985         * lib/strncasecmp.c: Include limits.h.
68986         (strncasecmp): Avoid integer overflow on exotic platforms.
68987         Reported by Paul Eggert.
68988
68989 2005-10-11  Bruno Haible  <bruno@clisp.org>
68990
68991         * lib/c-strcasestr.h: New file, from GNU gettext.
68992         * lib/c-strcasestr.c: New file, from GNU gettext.
68993
68994 2005-10-11  Bruno Haible  <bruno@clisp.org>
68995
68996         * lib/c-strcase.h: New file, from GNU gettext.
68997         * lib/c-strcasecmp.c: New file, from GNU gettext.
68998         * lib/c-strncasecmp.c: New file, from GNU gettext.
68999
69000 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
69001
69002         * modules/mempcpy (License): GPL -> LGPL.
69003         * modules/strchrnul (License): Likewise.
69004         * modules/sysexits (License): Likewise.
69005
69006 2005-10-08  Simon Josefsson  <jas@extundo.com>
69007
69008         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
69009
69010 2005-10-07  Simon Josefsson  <jas@extundo.com>
69011
69012         * m4/memxor.m4: Remove gl_C_RESTRICT call.
69013
69014 2005-10-06  Simon Josefsson  <jas@extundo.com>
69015
69016         * tests/test-hmac-md5.c: New file.
69017
69018         * modules/hmac-md5-tests: New file.
69019
69020         * modules/hmac-md5: New file.
69021
69022 2005-10-06  Simon Josefsson  <jas@extundo.com>
69023
69024         * m4/hmac-md5.m4: New file.
69025
69026         * m4/memxor.m4: Require gl_C_RESTRICT.
69027
69028 2005-10-06  Simon Josefsson  <jas@extundo.com>
69029
69030         * lib/memxor.c (memxor): Avoid casts and warnings.
69031
69032 2005-10-06  Simon Josefsson  <jas@extundo.com>
69033
69034         * lib/hmac-md5.c: New file.
69035
69036         * lib/hmac.h: New file.
69037
69038 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
69039
69040         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
69041         promotes to int, not unsigned int, to catch the AIX 5.3
69042         compiler bug.
69043
69044 2005-10-05  Simon Josefsson  <jas@extundo.com>
69045
69046         * modules/memxor: New file.
69047
69048         * modules/iconv (Files): Move config.rpath to havelib, it is used
69049         there.
69050
69051         * modules/havelib (Files): Add config.rpath.
69052
69053 2005-10-05  Simon Josefsson  <jas@extundo.com>
69054
69055         * m4/memxor.m4: New file.
69056
69057 2005-10-05  Simon Josefsson  <jas@extundo.com>
69058
69059         * lib/memxor.c (memxor): Fix compiler error.
69060
69061         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
69062         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
69063
69064         * lib/memxor.h, lib/memxor.c: New files.
69065
69066         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
69067         we assume all systems have it, suggested by Jim Meyering
69068         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
69069         any systems lack sys/socket.h; mingw32 is known to lack it, but we
69070         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
69071         same reasons.
69072
69073 2005-10-05  Simon Josefsson  <jas@extundo.com>
69074
69075         * config/srclist.txt: Add glibc bug 1423 for md5.h.
69076
69077 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
69078
69079         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
69080         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
69081         needed, since the source code now assumes these .h files.
69082
69083 2005-10-05  Derek Price  <derek@ximbiot.com>
69084
69085         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
69086
69087 2005-10-05  Bruno Haible  <bruno@clisp.org>
69088
69089         * modules/stdint (License): Change to LGPL.
69090
69091 2005-10-04  Simon Josefsson  <jas@extundo.com>
69092
69093         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
69094         D. Baushke" <mdb@gnu.org>.
69095
69096 2005-10-04  Bruno Haible  <bruno@clisp.org>
69097
69098         * lib/verify.h (verify_true): Provide alternative definition for C++.
69099
69100 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
69101
69102         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
69103         (SSIZE_MAX): New macro, if not already defined.
69104         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
69105         than 2 GiB.
69106
69107 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
69108
69109         Sync from coreutils.
69110         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
69111         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
69112         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
69113         ULLONG_MAX doesn't work with 2.7.2.1.
69114
69115 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
69116
69117         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
69118         From Ben Pfaff.
69119
69120         * modules/exclude (Depends-on): Depend on verify.
69121         * modules/strtoimax (Depends-on): Likewise.
69122         * modules/utimecmp (Depends-on): Likewise.
69123
69124 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
69125
69126         * lib/exclude.c: Include verify.h.
69127         (verify): Remove.  All callers changed to use verify.h's version.
69128         * lib/strtoimax.c: Likewise.
69129         * lib/utimecmp.c: Likewis.e
69130
69131         Sync from coreutils.
69132         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
69133         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
69134         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
69135         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
69136         bother returning ENOSYS if settimeofday or stime fails; just let
69137         them return whatever errno they want to return.
69138         * lib/utimens.c: Include unistd.h, for dup2.
69139         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
69140         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
69141
69142 2005-10-02  Jim Meyering  <jim@meyering.net>
69143
69144         Sync from coreutils.
69145         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
69146         from glibc-2.2.5 that fails for read-only files.
69147
69148 2005-10-02  Jim Meyering  <jim@meyering.net>
69149
69150         Sync from coreutils.
69151         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
69152         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
69153         `#if HAVE_CONFIG_H'.
69154         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
69155         Remove AT_FDCWD test.
69156         Do not consume the fd unless successful.
69157         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
69158         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
69159         block, so that we don't even try to compile it if settimeofday is
69160         available.  This works around a compilation failure on OSF1 V5.1,
69161         due to stime requiring a `long int*' while tv_sec is `int'.
69162
69163 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
69164
69165         Sync from coreutils.
69166         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
69167         against `yes', rather than just testing for nonempty.
69168
69169 2005-10-01  Simon Josefsson  <jas@extundo.com>
69170
69171         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
69172         and Darwin.
69173
69174         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
69175         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
69176         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
69177         freeaddrinfo and gai_strerror are declared by the POSIX headers.
69178         Check if struct addrinfo is declared.
69179
69180 2005-10-01  Simon Josefsson  <jas@extundo.com>
69181
69182         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
69183         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
69184         AI_* and EAI_* definitions.  Protect function declarations.
69185
69186 2005-10-01  Jim Meyering  <jim@meyering.net>
69187
69188         Sync from coreutils.
69189
69190         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
69191         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
69192         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
69193         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
69194         in the inet and nsl libraries.  Required on Solaris 5.7.
69195
69196 2005-10-01  Jim Meyering  <jim@meyering.net>
69197
69198         Sync from coreutils.
69199         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
69200         in the inet and nsl libraries.  Required on Solaris 5.7.
69201
69202 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
69203
69204         * lib/getdelim.c (getdelim): Remove unused variables.
69205
69206 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
69207
69208         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
69209         so that the code works even with ancient cpp.  Portability problem
69210         with GCC 2.7.2.1 reported by Thomas M.Ott.
69211
69212 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
69213
69214         * modules/regex (Depends-on): Add strcase.
69215
69216         * modules/gethostname (Licence): Change from GPL to LGPL, since
69217         gethostname.c is a trivial implementation of a standard library
69218         function.
69219         * modules/poll (License): Change from GPL to LGPL, since it's
69220         derived from LGPL code.
69221
69222 2005-09-27  Jim Meyering  <jim@meyering.net>
69223
69224         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
69225         HAVE_CONFIG_H.
69226
69227         * lib/intprops.h (signed_type_or_expr__): Define.
69228         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
69229         for unsigned types.
69230
69231 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
69232
69233         * lib/verify.h (verify_expr): Remove, replacing with:
69234         (verify_true): New macro that returns true instead of void.
69235         (verify_type__): Remove.
69236         (verify): Use verify_true rather than verify_type__.
69237
69238 2005-09-26  Bruno Haible  <bruno@clisp.org>
69239
69240         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
69241         is necessary.
69242         (lib_SOURCES): Remove mbchar.c.
69243         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
69244         (Files): Add m4/mbrtowc.m4.
69245         * modules/mbiter: Likewise.
69246         * modules/mbuiter: Likewise.
69247
69248 2005-09-26  Bruno Haible  <bruno@clisp.org>
69249
69250         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
69251         compile mbchar.c if they are not both present.
69252         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
69253         * m4/mbiter.m4 (gl_MBITER): Likewise.
69254         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
69255         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
69256         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
69257
69258 2005-09-25  Jim Meyering  <jim@meyering.net>
69259
69260         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
69261         also uses socklen_t.
69262
69263 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
69264
69265         * lib/utimens.c (ENOSYS): Define if not already defined.
69266         (futimens): Support having a null PATH if the file descriptor
69267         is nonnegative.
69268
69269         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
69270         Remove.
69271         (__attribute): Define to empty unless GCC 3.1 or later.
69272         This works around a core dump on OpenBSD 3.4, which has GCC
69273         2.95.3, which dumps core when given __attribute__(()).  It also
69274         simplifies other tests, since we really don't want to bother with
69275         worrying about which ancient version of GCC supported what.
69276         Original problem reported by Yoann Vandoorselaere, with part of
69277         the fix suggested by Derek Price.
69278
69279 2005-09-24  Jim Meyering  <jim@meyering.net>
69280
69281         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
69282         so we can once again use a positive bitfield width of 1 -- now we
69283         don't have to explain why we were using a bitfield width of 2.
69284
69285 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
69286
69287         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
69288         and similarly for the other external symbols.  Problem reported
69289         by James Gallager.
69290
69291         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
69292         bug reported by Jim Meyering.
69293
69294         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
69295         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
69296         not needed, since socklen is a prerequisite module.
69297
69298 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
69299
69300         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
69301         Problem reported by Eric Blake.
69302         (getaddrinfo): Initialize se so that it's not garbage.
69303         Redo internal storage allocation so that it doesn't make unportable
69304         assumptions about alignment.
69305         Fix a memory leak.
69306
69307         * lib/utimens.c (futimens): Use futimesat if available.
69308         Prefer it to futimes since it doesn't have the futimes bug.
69309
69310         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
69311         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
69312         Instead, declare a function that returns a pointer to an array,
69313         and use verify_type__ to declare the size of the array.
69314         Problem and germ of a solution reported by Bruno Haible.
69315         (verify_type__): Use 2, not 1, for bitfield size, to avoid
69316         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
69317
69318 2005-09-23  Jim Meyering  <jim@meyering.net>
69319
69320         Sync from coreutils.
69321         Correct build failure (socklen_t not defined) on at least
69322         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
69323         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
69324
69325 2005-09-23  Jim Meyering  <jim@meyering.net>
69326
69327         * modules/getaddrinfo (Depends-on): Add socklen.
69328
69329 2005-09-23  Bruno Haible  <bruno@clisp.org>
69330
69331         * tests/test-verify.c: New file.
69332
69333 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
69334
69335         Sync from coreutils.
69336
69337         * modules/argmatch (Depends-on): Add verify.
69338         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
69339         unistd-safer.
69340         * modules/save-cwd (Depends-on): Likewise.
69341
69342         * modules/openat (Files): Add lib/openat-die.c.
69343         (Depends-on): Remove error, exitfail.
69344         Add dirname.
69345
69346         * modules/verify: New file.
69347         * MODULES.html.sh (Diagnostics <assert.h>): New section,
69348         with "verify" module.
69349
69350 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
69351
69352         Sync from coreutils.
69353
69354         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
69355         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
69356         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
69357         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
69358         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
69359         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
69360         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
69361         Don't bother checking for string.h, stdlib.h, unistd.h.
69362         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
69363         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
69364         module's job.
69365         * m4/jm-macros.m4 (gl_MACROS): Likewise.
69366         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
69367
69368         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
69369         (gl_GETDATE): Use it.
69370
69371         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
69372
69373 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
69374
69375         Sync from coreutils.
69376
69377         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
69378         stat-time.h.
69379         * lib/argmatch.h: Include verify.h
69380         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
69381         (ARGMATCH_ASSERT): Remove; unused.
69382         * lib/canonicalize.c: Assume STDC_HEADERS.
69383         * lib/exclude.c: Include "strcase.h".
69384         * lib/regex_internal.h [!defined _LIBC]: Likewise.
69385         * lib/getusershell.c: Include stdio--.h rather than stdio.h
69386         and stdio-safer.h.
69387         (getusershell): Call fopen, not fopen_safer.
69388         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
69389         Do not include unistd-safer.h.
69390         (save_cwd): Don't call fd_safer; no longer needed
69391         now that we include fcntl--.h.
69392
69393         * lib/getdate.y (relative_time): New type.
69394         (RELATIVE_TIME_0): New constant.
69395         (parser_control): Use relative_time instead of doing it ourselves.
69396         (%union): Add new relative_time rel member.
69397         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
69398         Now typeless.
69399         (relunit, relunit_snumber): Now of type rel.
69400         (zone, rel, relunit, get_date): Adjust to above changes.
69401
69402         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
69403         Do not include unistd-safer.h.
69404         (getloadavg): Don't call fd_safer; no longer needed
69405         now that we include fcntl--.h.
69406
69407         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
69408         (make_dir_parents): Treat ENOSYS like EEXIST.
69409
69410         Improve quality of diagnostics on restore_cwd failure.
69411         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
69412         (make_dir_parents): Last arg is now int * (for errno), not bool *.
69413         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
69414         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
69415         each time through the loop.  Do not diagnose restore_cwd failure;
69416         that is the caller's job (and perhaps the caller does not care).
69417
69418         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
69419         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
69420         If the file already exists but is not a directory, don't bother
69421         to try to make its parents.
69422         Close potential file descriptor leak if we can't chdir("/") (!).
69423         Don't always return true if chdir($PWD) fails; return true only
69424         if the requested action was done successfully (except for the
69425         chdir($PWD)).
69426         Don't log final directory unless we actually made it.
69427         Refactor to avoid duplicate code to fix up permissions.
69428         Don't attempt to fix up parent permissions if chdir($PWD) fails.
69429
69430         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
69431         to make it a bit faster and (I hope) clearer.
69432         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
69433         Fix bug in formats like %2N.
69434
69435         * lib/verify.h: New file.
69436
69437 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
69438
69439         Sync from coreutils.
69440         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
69441
69442 2005-09-22  Jim Meyering  <jim@meyering.net>
69443
69444         Sync from coreutils.
69445
69446         * m4/lstat.m4 (gl_FUNC_LSTAT):
69447         Use AC_LIBSOURCES to require lstat.c and lstat.h.
69448         Remove obsolete comment.
69449         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
69450         * m4/xstrtod.m4: Likewise.
69451
69452         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
69453
69454 2005-09-22  Jim Meyering  <jim@meyering.net>
69455
69456         Sync from coreutils.
69457
69458         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
69459
69460         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
69461         the .tm_year member, since otherwise gcc-4.0 would now warn about
69462         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
69463
69464         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
69465         order to avoid an unsuppressible warning from gcc on 64-bit systems.
69466
69467         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
69468         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
69469         when run in a time zone for which daylight savings time is in effect
69470         for the starting date.
69471
69472         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
69473         stop us from restricting permissions of just-created absolute-named
69474         directories.
69475         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
69476         to restore initial working directory.
69477         * lib/mkdir-p.c (make_dir_parents): New parameter:
69478         different_working_dir, to tell caller if/when we change the working
69479         directory and are unable to return to the initial one.
69480         * lib/mkdir-p.h (make_dir_parents): Update prototype.
69481         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
69482         `return false'.  This fixes a bug introduced on 2004-07-30.
69483
69484         * lib/openat.c (fdopendir): Be sure to close the supplied
69485         file descriptor before returning.  This makes our replacement
69486         implementation a little closer to Solaris's, where fdopendir
69487         ties the file descriptor to the returned DIR* pointer.
69488         * lib/openat.c (unlinkat): New function.
69489         * lib/openat.h (unlinkat): Add prototype.
69490         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
69491         (openat_restore_fail): Rename from openat_restore_die.
69492         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
69493
69494         Provide an alternative to exiting immediately upon save_cwd or
69495         restore_cwd failure.  Now, an application can arrange e.g.,
69496         to perform a longjump in that case.
69497         * lib/openat.c: Include dirname.h.
69498         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
69499         (rpl_openat, fdopendir, fstatat): Call openat_save_die
69500         and openat_restore_die rather than calling error directly.
69501         Don't include "error.h" or "exitfail.h"; they're no longer needed.
69502
69503         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
69504         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
69505         define.
69506
69507         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
69508         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
69509                             int utc, int nanoseconds);
69510         Background:
69511         date should not have to allocate a megabyte of virtual memory to
69512         handle a format argument like +%1048575T.  When implemented with
69513         strftime, it must allocate such a buffer, use strftime to fill it
69514         in, print it, then free it.
69515         With fprintftime, it simply prints everything and exits.
69516         With no need for memory allocation, that's one fewer way to fail.
69517         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
69518         optional field width, not before, so we accept %9:z, not %:9z.
69519         (my_strftime): Be sure to use L_('x') for literals.
69520
69521         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
69522         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
69523         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
69524         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
69525         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
69526         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
69527         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
69528         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
69529         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
69530         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
69531         * lib/xgethostname.c, lib/xreadlink.c:
69532         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
69533
69534         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
69535         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
69536         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
69537         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
69538         and don't include <sys/file.h>).
69539
69540 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
69541
69542         Sync from coreutils.
69543
69544         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
69545         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
69546         [!LDAV_DONE]: Avoid unused variable warning.
69547
69548 2005-09-21  Bruno Haible  <bruno@clisp.org>
69549
69550         * lib/unicodeio.h (unicode_to_mb): New declaration.
69551
69552 2005-09-20  Derek Price  <derek@ximbiot.com>
69553
69554         * lib/getaddrinfo.c: Don't include <netdb.h> included from
69555         getaddrinfo.h.
69556
69557 2005-09-20  Bruno Haible  <bruno@clisp.org>
69558
69559         * gnulib-tool: Remove trailing slashes from the values specified for
69560         --source-base, --m4-base, --tests-base, --aux-dir.
69561         Suggested by Simon Josefsson <jas@extundo.com>.
69562
69563 2005-09-20  Bruno Haible  <bruno@clisp.org>
69564
69565         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
69566         func_modules_to_filelist, func_import, func_create_testdir): Make all
69567         sorting results locale-independent, so that gnulib-cache.m4 doesn't
69568         change when gnulib-tool is invoked in a different locale.
69569
69570 2005-09-19  Simon Josefsson  <jas@extundo.com>
69571
69572         * m4/socklen.m4: Fix typo.
69573
69574 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69575
69576         Use a consistent style for including <config.h>.
69577         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
69578         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
69579         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
69580         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
69581         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
69582         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
69583         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
69584         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
69585         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
69586         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
69587         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
69588         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
69589         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
69590         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
69591         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
69592         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
69593         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
69594         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
69595         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
69596         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
69597         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
69598         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
69599         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
69600         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
69601         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
69602         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
69603         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
69604         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
69605         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
69606         lib/xstrtoumax.c, lib/yesno.c:
69607         Standardize inclusion of config.h.
69608         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
69609         lib/inttostr.h:  Removed inclusion of config.h from header files.
69610         * lib/inttostr.c:  Adjusted in-tree users.
69611         * lib/timespec.h: Remove superfluous warning to include config.h.
69612         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
69613         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
69614         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
69615         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
69616         config.h with HAVE_CONFIG_H.
69617
69618 2005-09-19  Jim Meyering  <jim@meyering.net>
69619
69620         * modules/pathmax (License): Change to LGPL.
69621
69622 2005-09-19  Derek Price  <derek@ximbiot.com>
69623
69624         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
69625
69626 2005-09-19  Bruno Haible  <bruno@clisp.org>
69627
69628         * gnulib-tool (import): Provide default for --tests-base.
69629
69630 2005-09-19  Bruno Haible  <bruno@clisp.org>
69631
69632         * doc/quote.texi: New file, extracted from gnulib.texi.
69633         * doc/ctime.texi: New file, extracted from gnulib.texi.
69634         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
69635         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
69636         * doc/gnulib.texi: Include them.
69637
69638 2005-09-18  Bruno Haible  <bruno@clisp.org>
69639
69640         Portability fix.
69641         * gnulib-tool (func_readlink): New function.
69642         (func_ln_if_changed): Use it.
69643
69644 2005-09-18  Bruno Haible  <bruno@clisp.org>
69645
69646         * gnulib-tool: Support --with-tests also with --import.
69647         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
69648         (func_import): Use variables $testsbase and $inctests. Emit a
69649         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
69650         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
69651         SUBDIRS += $testsdir.
69652         (func_create_testdir): Update.
69653
69654 2005-09-18  Bruno Haible  <bruno@clisp.org>
69655
69656         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
69657         instead of $dry_run.
69658         (func_cp_if_changed, func_mv_if_changed): Remove functions.
69659         (func_ln_if_changed): Don't handle dry-run here.
69660         (func_import): In dry-run mode, detect more precisely which actions
69661         would be performed, and don't use "...ing" verbs.
69662
69663 2005-09-18  Bruno Haible  <bruno@clisp.org>
69664
69665         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
69666         (func_import): Use join on two temporary files instead of three nested
69667         loops, in order to determine which files are new or old.
69668
69669 2005-09-18  Bruno Haible  <bruno@clisp.org>
69670
69671         * gnulib-tool (func_import): Comment out code that spits out the
69672         new files with --dry-run.
69673
69674 2005-09-18  Bruno Haible  <bruno@clisp.org>
69675
69676         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
69677
69678 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
69679
69680         * lib/stat-time.h: New file.
69681         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
69682         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
69683         in a different way.
69684         (timespec_cmp): New function.
69685         * lib/utimecmp.c: Include stat-time.h.
69686         (SYSCALL_RESOLUTION): Depend on whether various struct stat
69687         members exist, not on the obsolescent ST_MTIM_NSEC.
69688         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
69689
69690 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
69691
69692         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
69693
69694 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
69695
69696         * MODULES.html.sh (File system functions): Add stat-time.
69697         * modules/stat-time: New file.
69698         * modules/timespec (Files): Remove m4/st_mtim.m4; this
69699         is now done in a different way, by the stat-time module.
69700         * modules/utimecmp (Depends-on): Add stat-time.
69701
69702 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
69703
69704         * m4/st_mtim.m4: Remove.  Superseded by...
69705         * m4/stat-time.m4: New file.
69706         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
69707         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
69708
69709 2005-09-15  Derek Price  <derek@ximbiot.com>
69710
69711         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
69712
69713 2005-09-15  Derek Price  <derek@ximbiot.com>
69714
69715         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
69716         * lib/regex_internal.c: Ditto, using this...
69717         (__GNUC_PREREQ): ...new macro.
69718         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
69719         using...
69720         (__GNUC_PREREQ): ...this new macro.
69721
69722         * lib/strstr.h: Include string.h. Define strstr as a macro here.
69723
69724 2005-09-15  Derek Price  <derek@ximbiot.com>
69725             Paul Eggert  <eggert@cs.ucla.edu>
69726
69727         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
69728         changes, consolidating in...
69729         * lib/regex_internal.h: ...this file.
69730
69731 2005-09-13  Jim Meyering  <jim@meyering.net>
69732
69733         * lib/canon-host.c: Filter through gnu indent and reword comments
69734         slightly.
69735         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
69736
69737 2005-09-13  Derek Price  <derek@ximbiot.com>
69738
69739         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
69740         failure.
69741         Reported by Jim Meyering  <jim@meyering.net>.
69742
69743 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
69744
69745         * lib/base64.c: Typo.
69746         (base64_encode): Put b64str in initialized data section.
69747
69748 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
69749
69750         Merge glibc and coreutils changes into gnulib, plus a few
69751         extra fixes.
69752         * lib/md5.c: Use #error rather than a string.
69753         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
69754         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
69755         (__attribute__): Define to empty for non recent-GCC.
69756         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
69757         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
69758         Renamed from their non-__ counterparts, with new macros replacing
69759         them if not _LIBC.  Add __THROW attribute.
69760         (rol): Remove.
69761         (struct md5_ctx): Align buffer if using GCC.
69762         * lib/sha1.h (struct sha1_ctx): Likewise.
69763         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
69764         The old name was backwards.
69765         (NOTSWAP): Remove; not used.
69766         (rol): New macro, moved here from md5.h.
69767         (sha1_process_block): Remove a FIXME that doesn't make sense.
69768
69769 2005-09-12  Derek Price  <derek@ximbiot.com>
69770
69771         Return usable errors from canon-host.
69772         * lib/canon-host.h: New file.
69773         * lib/canon-host.c (canon_host): Wrap...
69774         (canon_host_r): ...this new function, which now relies exclusively on
69775         getaddrinfo.
69776         (ch_strerror): New function.
69777         (last_cherror): New global.
69778         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
69779         interface.
69780         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
69781         void *.
69782         (freeaddrinfo): Free ai->ai_canonname when set.
69783
69784 2005-09-12  Derek Price  <derek@ximbiot.com>
69785
69786         Make canon-host require getaddrinfo.
69787         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
69788         AC_LIBSOURCE canon-host.h.  Call...
69789         (gl_PREREQ_CANON_HOST): ...this new function, which requires
69790         gl_GETADDRINFO.
69791         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
69792
69793 2005-09-12  Derek Price  <derek@ximbiot.com>
69794
69795         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
69796         LGPL.
69797         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
69798
69799 2005-09-12  Derek Price  <derek@ximbiot.com>
69800
69801         * lib/gai_strerror.c: Include config.h when available.  Include
69802         getaddrinfo.h before other headers to test interface.
69803         Reported by Larry Jones <lawrence.jones@ugs.com>.
69804
69805 2005-09-12  Derek Price  <derek@ximbiot.com>
69806             Paul Eggert  <eggert@cs.ucla.edu>
69807
69808         * modules/glob (Files): Add glob-libc.h.
69809
69810 2005-09-12  Derek Price  <derek@ximbiot.com>
69811             Paul Eggert  <eggert@cs.ucla.edu>
69812
69813         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
69814         glob_.h, glob-libc.h.
69815         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
69816
69817 2005-09-12  Derek Price  <derek@ximbiot.com>
69818             Paul Eggert  <eggert@cs.ucla.edu>
69819
69820         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
69821         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
69822         protecting things that should be done only in gnulib contexts.
69823         * lib/glob_.h: New file, containing only the glob things needed for
69824         gnulib.
69825         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
69826         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
69827         (glob, globfree, glob_pattern_p): Now defined simply in terms of
69828         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
69829         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
69830         and to respect the namespace rules better.
69831
69832 2005-09-08  Simon Josefsson  <jas@extundo.com>
69833
69834         * modules/socklen: New file.
69835
69836 2005-09-08  Simon Josefsson  <jas@extundo.com>
69837
69838         * m4/socklen.m4: New file.
69839
69840 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
69841
69842         * modules/utimens (Files): Add m4/utimbuf.m4, since
69843         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
69844         Reported by Sergey Poznyakoff.
69845
69846 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
69847
69848         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
69849         definitions, since that's the preferred style in glibc.
69850         Fix a minor spacing issue, and update copyright notice to match
69851         glibc's.
69852
69853 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
69854
69855         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
69856
69857 2005-09-06  Simon Josefsson  <jas@extundo.com>
69858
69859         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
69860         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
69861
69862 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
69863
69864         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
69865         warning.
69866
69867 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
69868
69869         * config/srclist.txt: Add glibc bug 1302.
69870
69871 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
69872
69873         Change bitset word type from unsigned int to unsigned long int,
69874         as this has better performance on typical 64-bit hosts.
69875         Port bitset code to hosts with unusual word sizes.
69876         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
69877         (build_collating_symbol):
69878         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
69879         argument is a bitset.  This is merely a style issue, but it makes
69880         it clearer that an entire array is expected.
69881         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
69882         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
69883         Port to the case where bitset_word is not the same as unsigned int.
69884         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
69885         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
69886         Likewise.
69887         * lib/regexec.c (check_dst_limits_calc_pos_1,
69888         check_subexp_matching_top):
69889         (build_trtable, group_nodes_into_DFAstates):
69890         Likewise.
69891         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
69892         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
69893         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
69894         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
69895         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
69896         * lib/regcomp.c (optimize_subexps, lower_subexp):
69897         Work even if bitset_word has holes in its bitwise representation.
69898         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
69899         * lib/regexec.c (check_dst_limits_calc_pos_1,
69900         check_subexp_matching_top):
69901         Likewise.
69902         * lib/regex_internal.c (re_string_reconstruct):
69903         Don't assume UCHAR_MAX == 255.
69904         * lib/regex_internal.h (bitset_set_all): Likewise.
69905         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
69906         All uses changed.
69907         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
69908         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
69909         All uses changed.
69910         (BITSET_WORD_MAX): New macro.
69911         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
69912         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
69913         (bitset_empty, bitset_copy):
69914         Prefer sizeof (bitset) to multiplying it out ourselves.
69915         (bitset_not_merge): Remove; unused.
69916         (bitset_contain): Return bool, not unsigned int with one bit on.
69917         All callers changed.
69918         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
69919         alignment than re_node_set; do this by defining a new internal
69920         type struct dests_alloc and using it to allocate memory.
69921
69922 2005-09-05  Bruno Haible  <bruno@clisp.org>
69923
69924         * gnulib-tool (func_import): Fix comparison in handling of symbolic
69925         links.
69926
69927 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
69928
69929         * modules/size_max (Makefile.am): Add size_max.h
69930
69931 2005-09-04  Derek Price  <derek@ximbiot.com>
69932
69933         * gnulib-tool (func_import): Fix reversed $symbolic logic.
69934
69935 2005-09-03  Simon Josefsson  <jas@extundo.com>
69936
69937         * gnulib-tool: Fix typo.
69938
69939 2005-09-03  Simon Josefsson  <jas@extundo.com>
69940
69941         * config/srclist.txt: Add glibc bug 1293.
69942
69943 2005-09-03  Derek Price  <derek@ximbiot.com>
69944
69945         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
69946         From Larry Jones <lawrence.jones@ugs.com>.
69947
69948 2005-09-02  Simon Josefsson  <jas@extundo.com>
69949
69950         * modules/socklen: New file.
69951
69952 2005-09-02  Simon Josefsson  <jas@extundo.com>
69953
69954         * modules/havelib: New module.
69955
69956         * modules/gettext, modules/iconv, modules/lock, modules/readline:
69957         Use havelib.
69958
69959 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
69960
69961         Check for arithmetic overflow when calculating sizes, to prevent
69962         some buffer-overflow issues.  These patches are conservative, in the
69963         sense that when I couldn't determine whether an overflow was possible,
69964         I inserted a run-time check.
69965         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
69966         macros.
69967         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
69968         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
69969         (re_xnrealloc, re_x2nrealloc): New inline functions.
69970         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
69971         parse_bracket_exp):
69972         (build_equiv_class, build_charclass): Check for arithmetic overflow
69973         in size expression calculations.
69974         * lib/regex_internal.c (re_string_realloc_buffers):
69975         (build_wcs_upper_buffer, re_node_set_add_intersect):
69976         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
69977         (re_dfa_add_node, register_state): Likewise.
69978         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
69979         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
69980         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
69981         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
69982
69983 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
69984
69985         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
69986         m4/ulonglong.m4.  Problem reported by Martin Lambers.
69987
69988 2005-09-02  Bruno Haible  <bruno@clisp.org>
69989
69990         Support for lib vs. lib64 distinction on biarch platforms.
69991         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
69992         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
69993         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
69994
69995 2005-09-02  Bruno Haible  <bruno@clisp.org>
69996
69997         * gnulib-tool (import): In the other first-use case, provide defaults
69998         as well.
69999
70000 2005-09-02  Bruno Haible  <bruno@clisp.org>
70001
70002         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
70003         patches not yet found in the latest gettext release.
70004
70005 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
70006
70007         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
70008         to avoid a collision with bits/local_lim.h in glibc.
70009         All uses changed.  Problem reported by Dmitry V. Levin in
70010         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
70011
70012         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
70013         bugs in int versus size_t comparisons.
70014         (re_string_context_at): Fix bug where the code assumed that
70015         Idx is signed.
70016
70017         Use bool where appropriate.
70018         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
70019         All callers changed.
70020         (calc_eclosure_iter): Likewise, for ROOT arg.
70021         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
70022         (build_charclass_op): Likewise, for NON_MATCH arg.
70023         * lib/regex_internal.c (re_string_allocate, re_string_construct):
70024         (re_string_construct_common): Likewise, for ICASE arg.
70025         * lib/regexec.c (re_search_2_stub, re_search_stub):
70026         Likewise, for RET_LEN arg.
70027         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
70028         (set_regs): Likewise, for FL_BACKTRACK arg.
70029         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
70030         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
70031         (calc_eclosure_iter, parse_bracket_exp):
70032         Use bool for internal variables that are booleans.
70033         * lib/regexec.c (re_search_internal, check_matching,
70034         proceed_next_node):
70035         (set_regs, build_sifted_states, sift_states_bkref):
70036         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
70037         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
70038         (find_collation_sequence_value):
70039         Likewise.
70040         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
70041         (re_node_set_compare):
70042         Return bool, not int. All callers changed.
70043         * lib/regexec.c (check_halt_node_context, check_dst_limits):
70044         (build_trtable, check_node_accept): Likewise.
70045         * lib/regex_internal.h: Include stdbool.h.
70046
70047         Fix bugs uncovered when converting to bool.
70048         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
70049         failure instead of charging ahead blindly.
70050         * lib/regex_internal.c (register_state): Likewise.
70051         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
70052         for freeing internal storage.
70053         (group_nodes_into_DFA_states): Use unsigned int, not int, for
70054         bitset pieces used as boolean, to avoid undefined behavior
70055         on hosts that do int overflow checking.
70056
70057 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
70058
70059         * config/srclist.txt: Add glibc bugs 1285-1287.
70060
70061 2005-09-01  Jim Meyering  <jim@meyering.net>
70062
70063         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
70064         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
70065         Require gl_STAT_MACROS, too.
70066
70067 2005-09-01  Bruno Haible  <bruno@clisp.org>
70068
70069         * gnulib-tool (import): In the first-use case, provide defaults.
70070
70071 2005-09-01  Bruno Haible  <bruno@clisp.org>
70072
70073         * gnulib-tool (func_import): Remove the .tmp files.
70074
70075 2005-09-01  Bruno Haible  <bruno@clisp.org>
70076
70077         * gnulib-tool (func_import): Fix handling of symbolic links.
70078
70079 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
70080
70081         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
70082         old glibc regex code mishandles strings longer than 2**31 bytes.
70083         This patch fixes this when the regex code is used in gnulib
70084         (i.e., outside glibc).
70085
70086         This patch should not affect the use of the regex code inside
70087         glibc.  No doubt this problem also needs to be handled for glibc
70088         as well, but the result will be an incompatible change to the
70089         glibc ABI, and the old ABI will have to be supported too.  That
70090         can be the the subject for another patch.
70091
70092         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
70093         governing whether the rest of this patch is active.  By default,
70094         the macro is disabled and the patch has no effect.
70095         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
70096         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
70097         (struct re_pattern_buffer, re_search, re_search_2, re_match):
70098         (re_match_2, re_set_registers): Use the new types.
70099         * lib/regex_internal.h (Idx, re_hashval_t): New types.
70100         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
70101         New macros.
70102         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
70103         (re_string_context_at, bin_tree_t, re_dfastate_t):
70104         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
70105         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
70106         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
70107         (re_string_char_size_at, re_string_wchar_at):
70108         (re_string_elem_size_at):
70109         Use the new types and macros to port to 64-bit hosts.
70110         Use unsigned types for internal values, so that the code
70111         mostly works even for arrays larger than SSIZE_MAX.
70112         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
70113         (search_duplicated_node, calc_eclosure_iter, fetch_number):
70114         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
70115         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
70116         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
70117         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
70118         (calc_inveclosure, parse_dup_op, build_range_exp):
70119         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
70120         (fetch_number, create_token_tree, mark_opt_subexp):
70121         Likewise.
70122         * lib/regex_internal.c (re_string_construct_common,
70123         create_ci_newstate):
70124         (create_cd_newstate, re_string_allocate, re_string_construct):
70125         (re_string_realloc_buffers, build_wcs_upper_buffer):
70126         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
70127         (re_string_reconstruct, re_string_peek_byte_case):
70128         (re_string_fetch_byte_case, re_string_context_at):
70129         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
70130         (re_node_set_init_copy, re_node_set_add_intersect):
70131         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
70132         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
70133         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
70134         (re_acquire_state, re_acquire_state_context, register_state):
70135         Likewise.
70136         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
70137         search_cur_bkref_entry):
70138         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
70139         (re_search_internal, re_search_2_stub, re_search_stub)
70140         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
70141         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
70142         (update_cur_sifted_state, check_dst_limits):
70143         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
70144         (check_subexp_limits, sift_states_bkref, merge_state_array):
70145         (check_subexp_matching_top, get_subexp, get_subexp_sub):
70146         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
70147         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
70148         (expand_bkref_cache, check_node_accept_bytes):
70149         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
70150         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
70151         (acquire_init_state_context, check_halt_node_context):
70152         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
70153         (sift_states_backward, clean_state_log_if_needed):
70154         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
70155         (find_recover_state, transit_state_sb, transit_state_mb):
70156         (transit_state_bkref, build_trtable, match_ctx_clean):
70157         Likewise.
70158         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
70159         to work around an assumption that REG_MISSING is negative.
70160
70161         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
70162         (seek_collating_symbol_entry) [defined _LIBC]:
70163         (lookup_collation_sequence_value) [defined _LIBC]:
70164         (build_range_exp, build_collating_symbol) [defined _LIBC]:
70165         Use prototypes rather than old-style function definitions.
70166         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
70167         (transit_state_sb) [0]:
70168         (find_collation_sequence_value) [defined _LIBC]: Likewise.
70169
70170         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
70171         rm_eo.
70172
70173         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
70174         (optimize_subexps, lower_subexp):
70175         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
70176         since the signed shift might overflow.  Use 1u<<31 instead.
70177         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
70178         Likewise.
70179         * lib/regexec.c (check_dst_limits_calc_pos_1,
70180         check_subexp_matching_top): Likewise.
70181
70182         * lib/regcomp.c (optimize_subexps, lower_subexp):
70183         Use CHAR_BIT rather than 8, for clarity.
70184         * lib/regexec.c (check_dst_limits_calc_pos_1):
70185         (check_subexp_matching_top): Likewise.
70186         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
70187         have to worry about portability issues when shifting it left.
70188         Remove no-longer-needed test for table_size > 0.
70189         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
70190         in a word, as the resulting behavior is undefined.
70191         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
70192         in one case, a <= should have been an <, and in another case the
70193         whole test was missing.
70194         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
70195         the standard name CHAR_BIT.
70196         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
70197         this is not true on one's complement and signed-magnitude hosts.
70198
70199         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
70200         next_last_offset.
70201         (struct re_dfa_t): Remove unused member states_alloc.
70202         * lib/regcomp.c (init_dfa): Don't initialize unused members.
70203
70204 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
70205
70206         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
70207         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
70208         and large-file glibc and in 32-bit large-file Solaris.
70209
70210 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
70211
70212         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
70213         lengths fit in regoff_t; this isn't true if regoff_t is the same
70214         width as size_t.
70215         * lib/regex.c (re_search_internal): 5th arg is LAST_START
70216         (= START + RANGE) instead of RANGE.  This avoids overflow
70217         problems when regoff_t is the same width as size_t.
70218         All callers changed.
70219         (re_search_2_stub): Check for overflow when adding the
70220         sizes of the two strings.
70221         (re_search_stub): Check for overflow when adding START
70222         to RANGE; if it occurs, substitute the extreme value.
70223
70224 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
70225
70226         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
70227
70228 2005-08-31  Jim Meyering  <jim@meyering.net>
70229
70230         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
70231         a pointer-to-const.
70232         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
70233         (register_state): Likewise.
70234         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
70235         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
70236         (group_nodes_into_DFAstates): Likewise.
70237
70238 2005-08-31  Jim Meyering  <jim@meyering.net>
70239
70240         * check-module: Add a FIXME comment.
70241
70242 2005-08-31  Eric Blake  <ebb9@byu.net>
70243
70244         * modules/unistd-safer (Files): Add unistd--.h.
70245         * modules/stdio-safer (Files): Add stdio--.h.
70246
70247 2005-08-31  Derek Price  <derek@ximbiot.com>
70248
70249         * lib/getdelim.c (getdelim): Return EOF on EOF.
70250         Reported by Larry Jones <lawrence.jones@ugs.com>.
70251
70252 2005-08-31  Bruno Haible  <bruno@clisp.org>
70253
70254         Avoid unnecessary diffs in the generated lib/Makefile.am.
70255         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
70256         the generated files.
70257         (func_import): Don't set cmd.
70258
70259 2005-08-31  Bruno Haible  <bruno@clisp.org>
70260
70261         * lib/strstr.c: Include <stddef.h>, for NULL.
70262         * lib/strcasestr.c: Likewise.
70263         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
70264
70265 2005-08-31  Bruno Haible  <bruno@clisp.org>
70266
70267         * gnulib-tool: New option --macro-prefix.
70268         (func_import): Use macro_prefix.
70269         (import): Handle option --macro-prefix.
70270
70271 2005-08-31  Bruno Haible  <bruno@clisp.org>
70272
70273         * gnulib-tool (import): Rename most ac_* variables to cached_*.
70274         Also use new variables cached_lgpl, cached_libtool.
70275
70276 2005-08-31  Bruno Haible  <bruno@clisp.org>
70277
70278         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
70279         always instantiating them.
70280
70281 2005-08-31  Bruno Haible  <bruno@clisp.org>
70282
70283         * gnulib-tool (func_import): Read the previous cached settings
70284         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
70285         earlier added by gnulib but are now dropped. Warn when a gnulib file
70286         overwrites a non-gnulib file.
70287
70288 2005-08-31  Bruno Haible  <bruno@clisp.org>
70289
70290         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
70291         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
70292         projects that don't keep autogenerated files in CVS. Put into
70293         actioncmd only the specified modules, not the transitive closure.
70294
70295 2005-08-31  Bruno Haible  <bruno@clisp.org>
70296
70297         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
70298         Create directories that shall be filled.
70299         (import): Don't look for gl_* macros in configure.ac. Recurse across
70300         all directories containing a gnulib-cache.m4 files, if meaningful.
70301
70302 2005-08-31  Bruno Haible  <bruno@clisp.org>
70303
70304         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
70305         (import): Set seen_libtool when we see gl_LIBTOOL.
70306
70307 2005-08-31  Bruno Haible  <bruno@clisp.org>
70308
70309         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
70310         declaration macro definitions from generated gnulib.m4.
70311
70312 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
70313
70314         * lib/iconvme.h: Add prototype for iconv_alloc.
70315
70316 2005-08-29  Simon Josefsson  <jas@extundo.com>
70317
70318         * lib/iconvme.c: Fix errno.
70319
70320 2005-08-29  Bruno Haible  <bruno@clisp.org>
70321
70322         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
70323         that it works when the directory contains spaces.
70324
70325 2005-08-29  Bruno Haible  <bruno@clisp.org>
70326
70327         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
70328
70329 2005-08-29  Bruno Haible  <bruno@clisp.org>
70330
70331         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
70332         Emit more advice.
70333
70334 2005-08-29  Bruno Haible  <bruno@clisp.org>
70335         and Stepan Kasal  <kasal@ucw.cz>
70336
70337         * check-module: If more parameters are given, check each of them
70338         separately; add more exceptions, as noted by Jim Meyering.
70339         (check_module): New procedure.
70340         (%exempt_header): Now contains all exceptions.
70341
70342 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
70343
70344         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
70345
70346 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
70347
70348         * lib/iconvme.c: Split iconv_string into iconv_alloc.
70349
70350 2005-08-28  Bruno Haible  <bruno@clisp.org>
70351
70352         * m4/gnulib-tool.m4: New file.
70353
70354 2005-08-27  Jim Meyering  <jim@meyering.net>
70355
70356         * modules/unistd-safer (Files): Add pipe-safer.c.
70357         * modules/fcntl-safer (Files): Add creat-safer.c.
70358
70359 2005-08-27  Jim Meyering  <jim@meyering.net>
70360
70361         * m4/stdlib-safer.m4: New file.  From coreutils.
70362         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
70363         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
70364         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
70365         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
70366         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
70367
70368 2005-08-27  Jim Meyering  <jim@meyering.net>
70369
70370         * lib/fopen-safer.c: Merge minor changes from coreutils.
70371         * lib/dup-safer.c: Likewise.
70372         * lib/fd-safer.c: Likewise.
70373
70374         Merge from coreutils.
70375         * lib/stdio--.h: New file.
70376         * lib/stdlib--.h: New file.
70377         * lib/mkstemp-safer.c: New file.
70378
70379         GNU tar needs these.
70380         * lib/pipe-safer.c: New file.
70381         * lib/creat-safer.c: New file.
70382         * lib/fcntl--.h (creat): Define to creat_safer.
70383         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
70384         * lib/unistd--.h (pipe): Define to pipe_safer.
70385         * lib/unistd-safer.h: Declare pipe_safer.
70386
70387 2005-08-26  Simon Josefsson  <jas@extundo.com>
70388
70389         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
70390         Haible <bruno@clisp.org>.
70391
70392 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
70393
70394         * lib/regex_internal.h: Remove all references to
70395         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
70396         or better.
70397         (bitset_not, bitset_merge, bitset_not_merge):
70398         (bitset_mask, re_string_allocate, re_string_construct):
70399         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
70400         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
70401         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
70402         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
70403         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
70404         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
70405         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
70406         (re_acquire_state_context):
70407         Remove unnecessary forward decls.
70408         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
70409         Put __attribute at function definition,
70410         now that the function decl has been removed.
70411         * lib/regex_internal.c (re_string_peek_byte_case):
70412         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
70413         Likewise.
70414
70415 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
70416
70417         * m4/regex.m4: Add AC_PREREQ(2.50).
70418         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
70419
70420 2005-08-25  Simon Josefsson  <jas@extundo.com>
70421
70422         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
70423         __fsetlocking.
70424
70425 2005-08-25  Simon Josefsson  <jas@extundo.com>
70426
70427         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
70428         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
70429         GLIBC specific code.
70430
70431 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
70432
70433         Make regex safe for g++.  This fixes one real bug (an "err"
70434         that should have been "*err").  g++ problem reported by
70435         Sam Steingold.
70436         * lib/regex_internal.h (re_calloc): New macro, consistent with
70437         re_malloc etc.  All callers of calloc changed to use re_calloc.
70438         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
70439         not int.  All callers changed.
70440         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
70441         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
70442         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
70443         (find_recover_state): Change "err" to "*err"; this fixes what
70444         appears to be a real bug.
70445         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
70446         versus int.
70447
70448 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
70449
70450         * modules/regex (Depends-on): Add malloc, since the code
70451         assumes that !malloc(0) means failure.
70452
70453 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
70454
70455         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
70456
70457         alloca modernization/simplification for regex.
70458         * lib/regex.c: Remove portability cruft for alloca.  This no longer
70459         needs to be at the start of the file, and can be moved into
70460         regex_internal.h and simplified.
70461         * lib/regex_internal.h: Include <alloca.h>.
70462         (__libc_use_alloca) [!defined _LIBC]: New macro.
70463         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
70464         now works outside glibc.
70465
70466 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
70467
70468         * config/srclist.txt: Add glibc bugs 1241, 1245.
70469
70470 2005-08-25  Jim Meyering  <jim@meyering.net>
70471
70472         * lib/open-safer.c: Include <config.h>.
70473         Otherwise, we'd lose LARGEFILE support in any file using
70474         e.g. "fcntl--.h"
70475
70476 2005-08-25  Bruno Haible  <bruno@clisp.org>
70477
70478         * m4/minmax.m4: Require autoconf 2.52.
70479         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
70480         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
70481         alternatives of translit over the alphabet.
70482         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
70483
70484 2005-08-24  Simon Josefsson  <jas@extundo.com>
70485
70486         * tests/test-getpass.c: New file.
70487
70488 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
70489
70490         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
70491         for GNU regex features.
70492
70493 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
70494
70495         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
70496         * lib/regex.h (regerror): Likewise.
70497
70498         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
70499         requires this.  (The code never needed it.)
70500
70501         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
70502         All uses of recently-renamed identifiers changed to use the new,
70503         POSIX-compliant names.  The code will build and run just fine
70504         without these changes, but it's better to eat our own dog food
70505         and use the standard-conforming names.
70506
70507         * lib/regex.h: Fix a multitude of POSIX name space violations.
70508         These changes have an effect only for programs that define
70509         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
70510         do not change anything for programs compiled in the normal way.
70511         Also, there is no effect on the ABI.
70512
70513         (_REGEX_SOURCE): New macro.
70514         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
70515         defined and _GNU_SOURCE is not; this fixes a name space violation.
70516
70517         Rename the following macros to obey POSIX requirements.
70518         The old names are still visible as macros if _REGEX_SOURCE is defined.
70519         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
70520         RE_BACKSLASH_ESCAPE_IN_LISTS.
70521         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
70522         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
70523         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
70524         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
70525         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
70526         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
70527         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
70528         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
70529         (REG_INTERVALS): renamed from RE_INTERVALS.
70530         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
70531         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
70532         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
70533         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
70534         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
70535         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
70536         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
70537         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
70538         RE_UNMATCHED_RIGHT_PAREN_ORD.
70539         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
70540         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
70541         (REG_DEBUG): renamed from RE_DEBUG.
70542         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
70543         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
70544         unusual, since we can't clash with the POSIX REG_ICASE.
70545         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
70546         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
70547         (REG_NO_SUB): renamed from RE_NO_SUB.
70548         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
70549         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
70550         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
70551         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
70552         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
70553         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
70554         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
70555         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
70556         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
70557         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
70558         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
70559         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
70560         RE_SYNTAX_POSIX_MINIMAL_BASIC.
70561         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
70562         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
70563         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
70564         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
70565         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
70566         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
70567         (REG_FIXED): Renamed from REGS_FIXED.
70568         (REG_NREGS): Renamed from RE_NREGS.
70569
70570         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
70571         of other REG_* macros, since POSIX says the user is allowed to
70572         #undef these macros selectively.
70573
70574         (reg_errcode_t): Update comment stating what other tables need
70575         to be consistent.
70576
70577         Rename the following enum values to obey POSIX requirements.
70578         The old names are still visible as macros.
70579         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
70580         is not defined, since GNU is supposed to be a superset of POSIX as
70581         much as possible, and since we want reg_errcode_t to be a signed
70582         type for implementation consistency.
70583         (_REG_NOERROR): Renamed from REG_NOERROR.
70584         (_REG_NOMATCH): Renamed from REG_NOMATCH.
70585         (_REG_BADPAT): Renamed from REG_BADPAT.
70586         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
70587         (_REG_ECTYPE): Renamed from REG_ECTYPE.
70588         (_REG_EESCAPE): Renamed from REG_EESCAPE.
70589         (_REG_ESUBREG): Renamed from REG_ESUBREG.
70590         (_REG_EBRACK): Renamed from REG_EBRACK.
70591         (_REG_EPAREN): Renamed from REG_EPAREN.
70592         (_REG_EBRACE): Renamed from REG_EBRACE.
70593         (_REG_BADBR): Renamed from REG_BADBR.
70594         (_REG_ERANGE): Renamed from REG_ERANGE.
70595         (_REG_ESPACE): Renamed from REG_ESPACE.
70596         (_REG_BADRPT): Renamed from REG_BADRPT.
70597         (_REG_EEND): Renamed from REG_EEND.
70598         (_REG_ESIZE): Renamed from REG_ESIZE.
70599         (_REG_ERPAREN): Renamed from REG_ERPAREN.
70600         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
70601         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
70602         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
70603         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
70604
70605         (_REG_RE_NAME, _REG_RM_NAME): New macros.
70606         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
70607         changed.  But support the old name if the new one is not defined
70608         and if _REGEX_SOURCE.
70609
70610         Change the following member names in struct re_pattern_buffer.
70611         The old names are still supported if !_REGEX_SOURCE.
70612         The new names are always supported, regardless of _REGEX_SOURCE.
70613         (re_buffer): Renamed from buffer.
70614         (re_allocated): Renamed from allocated.
70615         (re_used): Renamed from used.
70616         (re_syntax): Renamed from syntax.
70617         (re_fastmap): Renamed from fastmap.
70618         (re_translate): Renamed from translate.
70619         (re_can_be_null): Renamed from can_be_null.
70620         (re_regs_allocated): Renamed from regs_allocated.
70621         (re_fastmap_accurate): Renamed from fastmap_accurate.
70622         (re_no_sub): Renamed from no_sub.
70623         (re_not_bol): Renamed from not_bol.
70624         (re_not_eol): Renamed from not_eol.
70625         (re_newline_anchor): Renamed from newline_anchor.
70626
70627         Change the following member names in struct re_registers.
70628         The old names are still supported if !_REGEX_SOURCE.
70629         The new names are always supported, regardless of _REGEX_SOURCE.
70630         (rm_num_regs): Renamed from num_regs.
70631         (rm_start): Renamed from start.
70632         (rm_end): Renamed from end.
70633
70634         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
70635         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
70636         Prepend __ to parameter names.
70637
70638         Undo yesterday's changes.
70639
70640 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
70641
70642         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
70643         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
70644         lib/regex.c.
70645
70646 2005-08-24  Jim Meyering  <jim@meyering.net>
70647
70648         Sync from coreutils.
70649         * m4/fcntl-safer.m4: New file.
70650
70651         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
70652         and object files for this module.
70653
70654 2005-08-24  Jim Meyering  <jim@meyering.net>
70655
70656         Sync from coreutils.
70657         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
70658
70659 2005-08-24  Jim Meyering  <jim@meyering.net>
70660
70661         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
70662         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
70663
70664 2005-08-24  Jim Meyering  <jim@meyering.net>
70665
70666         * modules/fcntl-safer: New module.
70667         * modules/fts (Depends-on): Add fcntl-safer.
70668         * MODULES.html.sh (File descriptor based Input/Output):
70669         Add fcntl-safer.
70670
70671 2005-08-24  Bruno Haible  <bruno@clisp.org>
70672
70673         Support for unit test modules.
70674         * modules/README: Mention tests modules.
70675         * modules/TEMPLATE-TESTS: New file.
70676         * gnulib-tool: New options --extract-tests-module, --with-tests and
70677         --tests-base (unused for the moment).
70678         (testsbase, inctests): New variables.
70679         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
70680         (func_verify_module): Exclude TEMPLATE-TESTS.
70681         (func_verify_nontests_module, func_verify_tests_module): New functions.
70682         (func_get_dependencies): Add implicit dependency for tests modules.
70683         (func_get_tests_module): New function.
70684         (func_modules_transitive_closure): When --with-tests was specified,
70685         include the unit tests as well, unless explicitly avoided.
70686         (func_emit_lib_Makefile_am): Ignore the tests modules here.
70687         (func_emit_tests_Makefile_am): New function.
70688         (func_create_testdir): When --with-tests was specified, emit a
70689         tests/ directory.
70690         * MODULES.html.sh (Future developments): Update.
70691
70692 2005-08-24  Bruno Haible  <bruno@clisp.org>
70693
70694         * modules/tls-tests: New file.
70695         * tests/test-tls.c: New file, from GNU gettext.
70696
70697 2005-08-24  Bruno Haible  <bruno@clisp.org>
70698
70699         * modules/lock-tests: New file.
70700         * tests/test-lock.c: New file, from GNU gettext.
70701
70702 2005-08-24  Bruno Haible  <bruno@clisp.org>
70703
70704         * lib/lock.h: Add multiple inclusion guard.
70705         * lib/tls.h: Add multiple inclusion guard.
70706
70707 2005-08-24  Bruno Haible  <bruno@clisp.org>
70708
70709         * gnulib-tool: Add support for the --aux-dir option to
70710         --create-testdir, --create-megatestdir, --test, --megatest.
70711         (func_create_testdir, func_create_megatestdir): Optionally emit a
70712         AC_CONFIG_AUX_DIR directive.
70713         (create-testdir, create-megatestdir, test, megatest): Provide a
70714         default value for $auxdir.
70715
70716 2005-08-24  Bruno Haible  <bruno@clisp.org>
70717
70718         * gnulib-tool (import): Use compound statement instead of subshell
70719         where possible.
70720
70721 2005-08-24  Bruno Haible  <bruno@clisp.org>
70722
70723         * gnulib-tool (import): Change --aux-dir default to "build-aux".
70724
70725 2005-08-24  Bruno Haible  <bruno@clisp.org>
70726
70727         * gnulib-tool (func_version): Update.
70728
70729 2005-08-24  Bruno Haible  <bruno@clisp.org>
70730
70731         * gnulib-tool (func_import, func_create_testdir,
70732         func_create_megatestdir): Quote all autoconf macro arguments.
70733
70734 2005-08-24  Bruno Haible  <bruno@clisp.org>
70735
70736         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
70737         option --force, because --force causes the aclocal.m4 of each
70738         subdirectory to be newer than the corresponding config.h.in.
70739
70740 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
70741
70742         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
70743         All contents moved to gl_REGEX.
70744         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
70745         assume that it does.
70746
70747 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
70748
70749         * lib/regex.h (REG_NOSYS)
70750         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
70751         Define, since POSIX requires it as of 2001.
70752         (_REG_ENOSYS)
70753         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
70754         New private symbol, used to keep the enum signed in all cases.
70755         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
70756         Youngman in
70757         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
70758
70759         * lib/regex_internal.c (re_string_skip_chars, register_state):
70760         (calc_state_hash):
70761         Remove forward decls; no longer needed now that we use prototypes.
70762         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
70763         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
70764         (clean_state_log_if_needed): Likewise.
70765
70766 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
70767
70768         * config/srclist.txt: Add glibc bugs 1231-1233.
70769
70770 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
70771
70772         Fix problems reported by Sam Steingold in
70773         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
70774         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
70775         assumed that reg_errcode_t is a signed type, which is not
70776         necessarily true if _XOPEN_SOURCE is not defined.
70777         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
70778         since some compilers warn about it otherwise.
70779
70780 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
70781
70782         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
70783         (init_word_char, create_initial_state, duplicate_node_closure):
70784         (fetch_token, peek_token_bracket, build_range_exp):
70785         (build_collating_symbol): Remove forward decls; no longer needed
70786         now that we use prototypes.
70787
70788         * lib/regcomp.c:
70789         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
70790         (re_compile_fastmap_iter, regcomp, regerror, regfree):
70791         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
70792         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
70793         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
70794         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
70795         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
70796         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
70797         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
70798         (build_range_exp, build_collating_symbol, parse_bracket_exp):
70799         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
70800         (build_charclass, build_charclass_op, fetch_number, create_tree):
70801         (create_token_tree, mark_opt_subexp, duplicate_tree):
70802         Use prototypes rather than old-style definitions.
70803
70804         * lib/regex_internal.c:
70805         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
70806         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
70807         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
70808         (re_string_reconstruct, re_string_peek_byte_case):
70809         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
70810         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
70811         (re_node_set_init_copy, re_node_set_add_intersect):
70812         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
70813         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
70814         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
70815         (re_acquire_state, re_acquire_state_context, register_state):
70816         (create_ci_newstate, create_cd_newstate, free_state):
70817         Likewise.
70818         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
70819         re_search_2):
70820         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
70821         (re_search_internal, prune_impossible_nodes):
70822         (acquire_init_state_context, check_matching, static):
70823         (check_halt_node_context, check_halt_state_context, proceed_next_node):
70824         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
70825         (update_regs, sift_states_backward, build_sifted_states):
70826         (clean_state_log_if_needed, merge_state_array):
70827         (update_cur_sifted_state, add_epsilon_src_nodes):
70828         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
70829         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
70830         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
70831         (find_recover_state, check_subexp_matching_top, transit_state_mb):
70832         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
70833         (check_arrival, check_arrival_add_next_nodes):
70834         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
70835         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
70836         (check_node_accept_bytes, check_node_accept, extend_buffers):
70837         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
70838         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
70839         (sift_ctx_init):
70840         Likewise.
70841
70842         * lib/regex_internal.h:
70843         (re_string_allocate, re_string_construct, re_string_reconstruct):
70844         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
70845         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
70846         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
70847         (re_string_context_at, re_string_peek_byte_case):
70848         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
70849         is defined, since we now use prototypes always.
70850
70851         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
70852         C89 or better.  All uses removed.
70853
70854 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
70855
70856         * config/srclist.txt: Add glibc bugs 1220-1227.
70857
70858 2005-08-20  Jim Meyering  <jim@meyering.net>
70859
70860         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
70861         of unused local, dfa.
70862
70863 2005-08-20  Bruno Haible  <bruno@clisp.org>
70864
70865         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
70866
70867 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
70868
70869         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
70870         (re_node_set_insert_last, re_dfa_add_node):
70871         Rename local variables to avoid GCC shadowing warnings.
70872
70873 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
70874
70875         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
70876         [defined lint]: Suppress bogus uninitialized-variable warnings.
70877
70878         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
70879         and let the caller return REG_ESPACE if out of space.  This
70880         removes an uninitialied-variable warning with GCC 4.0.1, and also
70881         avoids taking the address of a local variable.  All callers
70882         changed.
70883
70884 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
70885
70886         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
70887         $LIBCSRC/posix/regexec.c.
70888         Add glibc bug 1217 for regcomp.c.
70889
70890 2005-08-19  Jim Meyering  <jim@meyering.net>
70891
70892         * lib/regexec.c (proceed_next_node): Redo local variables to
70893         avoid GCC shadowing warnings.
70894
70895 2005-08-18  Bruno Haible  <bruno@clisp.org>
70896
70897         * lib/strstr.c (strstr): Fix return value in multibyte case.
70898         * lib/strcasestr.c (strcasestr): Likewise.
70899
70900 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
70901
70902         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
70903
70904 2005-08-17  Jim Meyering  <jim@meyering.net>
70905
70906         Make the %s format (seconds since the epoch) work for a negative
70907         number and when used with a zero-padded field width, e.g. %015s.
70908
70909         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
70910         label so that it precedes the code to set `digits'.  Otherwise,
70911         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
70912         print `00-22'.  Now, it prints `-0022', as it should.
70913
70914 2005-08-17  Bruno Haible  <bruno@clisp.org>
70915
70916         * modules/strstr (Files): Add m4/mbrtowc.m4.
70917         (Depends-on): Add mbuiter.
70918
70919 2005-08-17  Bruno Haible  <bruno@clisp.org>
70920
70921         * modules/strcasestr: New file.
70922         * MODULES.html.sh (String handling, based on ANSI C 89): Add
70923         strcasestr.
70924
70925 2005-08-17  Bruno Haible  <bruno@clisp.org>
70926
70927         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
70928
70929 2005-08-17  Bruno Haible  <bruno@clisp.org>
70930
70931         * modules/mbuiter: New file.
70932         * MODULES.html.sh (Extended multibyte and wide character utilities):
70933         Add mbuiter.
70934
70935 2005-08-17  Bruno Haible  <bruno@clisp.org>
70936
70937         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
70938         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
70939
70940 2005-08-17  Bruno Haible  <bruno@clisp.org>
70941
70942         * m4/strcasestr.m4: New file.
70943
70944 2005-08-17  Bruno Haible  <bruno@clisp.org>
70945
70946         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
70947         * lib/strstr.c: Completely rewritten, with multibyte locale support.
70948
70949 2005-08-17  Bruno Haible  <bruno@clisp.org>
70950
70951         * lib/strcasestr.h: New file.
70952         * lib/strcasestr.c: New file.
70953
70954 2005-08-17  Bruno Haible  <bruno@clisp.org>
70955
70956         * lib/strcasecmp.c: Use mbuiter.h.
70957
70958 2005-08-17  Bruno Haible  <bruno@clisp.org>
70959
70960         * lib/mbuiter.h: New file.
70961
70962 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
70963
70964         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
70965         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
70966         and gl_GETOPT are both invoked via different paths (as happens
70967         with GNU tar CVS because it uses both argp and getopt), the former
70968         wins.
70969
70970 2005-08-16  Bruno Haible  <bruno@clisp.org>
70971
70972         * modules/tls: New file.
70973         * MODULES.html.sh (Multithreading): Add tls.
70974
70975 2005-08-16  Bruno Haible  <bruno@clisp.org>
70976
70977         * modules/strnlen1: New file.
70978         * MODULES.html.sh (String handling): Add strnlen1.
70979
70980 2005-08-16  Bruno Haible  <bruno@clisp.org>
70981
70982         * modules/strcase (Files): Add m4/mbrtowc.m4.
70983         (Depends-on): Add strnlen1, mbchar.
70984
70985 2005-08-16  Bruno Haible  <bruno@clisp.org>
70986
70987         * modules/mbiter: New file.
70988         * MODULES.html.sh (Extended multibyte and wide character utilities):
70989         Add mbiter.
70990
70991 2005-08-16  Bruno Haible  <bruno@clisp.org>
70992
70993         * modules/mbfile: New file.
70994         * MODULES.html.sh (Extended multibyte and wide character utilities):
70995         Add mbfile.
70996
70997 2005-08-16  Bruno Haible  <bruno@clisp.org>
70998
70999         * modules/mbchar: New file.
71000         * MODULES.html.sh (Extended multibyte and wide character utilities):
71001         New section.
71002
71003 2005-08-16  Bruno Haible  <bruno@clisp.org>
71004
71005         * m4/tls.m4: New file, from GNU gettext.
71006
71007 2005-08-16  Bruno Haible  <bruno@clisp.org>
71008
71009         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
71010         always.
71011         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
71012
71013 2005-08-16  Bruno Haible  <bruno@clisp.org>
71014
71015         * m4/mbiter.m4: New file.
71016
71017 2005-08-16  Bruno Haible  <bruno@clisp.org>
71018
71019         * m4/mbfile.m4: New file.
71020
71021 2005-08-16  Bruno Haible  <bruno@clisp.org>
71022
71023         * m4/mbchar.m4: New file.
71024
71025 2005-08-16  Bruno Haible  <bruno@clisp.org>
71026
71027         * lib/tls.h: New file, from GNU gettext.
71028         * lib/tls.c: New file, from GNU gettext.
71029
71030 2005-08-16  Bruno Haible  <bruno@clisp.org>
71031
71032         * lib/strnlen1.h: New file.
71033         * lib/strnlen1.c: New file.
71034
71035 2005-08-16  Bruno Haible  <bruno@clisp.org>
71036
71037         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
71038         (mbi_init): Update.
71039         (mbi_avail, mbi_advance): Let the iteration end before the terminating
71040         NUL byte, not after it.
71041
71042 2005-08-16  Bruno Haible  <bruno@clisp.org>
71043
71044         * lib/strcase.h (strcasecmp): Add note in comments.
71045         * lib/strncasecmp.c: Use code from strcasecmp.c.
71046         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
71047         (strcasecmp): Work correctly in multibyte locales.
71048
71049 2005-08-16  Bruno Haible  <bruno@clisp.org>
71050
71051         * lib/mbiter.h: New file.
71052
71053 2005-08-16  Bruno Haible  <bruno@clisp.org>
71054
71055         * lib/mbfile.h: New file.
71056
71057 2005-08-16  Bruno Haible  <bruno@clisp.org>
71058
71059         * lib/mbchar.h: New file.
71060         * lib/mbchar.c: New file.
71061
71062 2005-08-16  Bruno Haible  <bruno@clisp.org>
71063
71064         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
71065         the valid ones. Makes the comparison operations transitive:
71066         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
71067         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
71068
71069 2005-08-15  Simon Josefsson  <jas@extundo.com>
71070
71071         * modules/ssize_t (License): Change to 'unlimited'.
71072
71073         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
71074
71075 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
71076
71077         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
71078         Add comments for each pending glibc patch.
71079
71080 2005-08-15  Bruno Haible  <bruno@clisp.org>
71081
71082         * lib/regex.h (__restrict_arr): Don't define to __restrict if
71083         __cplusplus is defined.
71084
71085 2005-08-14  Jim Meyering  <jim@meyering.net>
71086
71087         Sync from coreutils.
71088
71089         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
71090         Use the hash-table-based cycle-detection code not just when
71091         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
71092         Reported by James Youngman in
71093         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
71094         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
71095         FTS_TIGHT_CYCLE_CHECK.
71096         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
71097         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
71098         once again.
71099         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
71100         * lib/fts.c (fd_safer): Remove decl.
71101         Include fcntl--.h rather than unistd-safer.h
71102         (fts_safe_changedir): Don't call fd_safer; no longer needed
71103         now that we include fcntl--.h.
71104
71105 2005-08-12  Simon Josefsson  <jas@extundo.com>
71106
71107         * modules/getndelim2: Use ssize_t module.
71108         * modules/getnline: Likewise.
71109         * modules/safe-read: Likewise.
71110         * modules/xreadlink: Likewise.
71111
71112         * modules/ssize_t: New file.
71113
71114 2005-08-12  Simon Josefsson  <jas@extundo.com>
71115
71116         * m4/readline.m4: Look for termcap, curses or ncurses if required.
71117
71118 2005-08-12  Simon Josefsson  <jas@extundo.com>
71119
71120         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
71121         ssize_t.
71122
71123 2005-08-12  Simon Josefsson  <jas@extundo.com>
71124
71125         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
71126         readline, getdelim and check_version.
71127         (Support for systems lacking ISO C 99: Sizes of integer types):
71128         Add size_max.
71129
71130 2005-08-12  Bruno Haible  <bruno@clisp.org>
71131
71132         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
71133
71134 2005-08-11  Simon Josefsson  <jas@extundo.com>
71135
71136         * modules/readline: New file.
71137
71138         * modules/strnlen (Files): Add strnlen.h.
71139
71140 2005-08-11  Simon Josefsson  <jas@extundo.com>
71141
71142         * m4/readline.m4: New file.
71143
71144 2005-08-11  Simon Josefsson  <jas@extundo.com>
71145
71146         * lib/readline.h, readline.c: New file.
71147
71148 2005-08-11  Simon Josefsson  <jas@extundo.com>
71149
71150         * doc/gnulib.texi (Initial import, Finishing touches): Mention
71151         gl_AVOID.
71152
71153 2005-08-11  Bruno Haible  <bruno@clisp.org>
71154
71155         * lib/strnlen.h (strnlen): Change parameter name to match comment.
71156
71157 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
71158
71159         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
71160
71161 2005-08-10  Simon Josefsson  <jas@extundo.com>
71162
71163         * tests/test-iconvme.c: New file.
71164
71165 2005-08-10  Simon Josefsson  <jas@extundo.com>
71166
71167         * m4/strnlen.m4: New file.
71168
71169         * m4/strndup.m4: Don't check for strnlen declaration, done in
71170         strnlen.m4.
71171
71172 2005-08-10  Simon Josefsson  <jas@extundo.com>
71173
71174         * lib/strndup.c: Use strnlen.h.
71175
71176         * lib/strnlen.h: New file.
71177
71178 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
71179
71180         * README: Typos.
71181
71182 2005-08-02  Simon Josefsson  <jas@extundo.com>
71183
71184         * modules/readline: New file.
71185
71186 2005-08-02  Simon Josefsson  <jas@extundo.com>
71187
71188         * modules/getdelim: New file.
71189
71190         * modules/getline: Rewrite, don't use getndelim2.
71191
71192 2005-08-02  Simon Josefsson  <jas@extundo.com>
71193
71194         * m4/getline.m4: Separate out getdelim stuff into separate module.
71195
71196         * m4/getdelim.m4: New file.
71197
71198 2005-08-02  Simon Josefsson  <jas@extundo.com>
71199
71200         * lib/getline.h, getline.c: Rewrite.
71201
71202         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
71203
71204 2005-07-31  Bruno Haible  <bruno@clisp.org>
71205
71206         * lib/lock.h (gl_lock_initializer): New macro.
71207         (gl_lock_define_initialized): Use it.
71208         (gl_rwlock_initializer): New macro.
71209         (gl_rwlock_define_initialized): Use it.
71210         (gl_recursive_lock_initializer): New macro.
71211         (gl_recursive_lock_define_initialized): Use it.
71212
71213 2005-07-30  Karl Berry  <karl@gnu.org>
71214
71215         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
71216         Report from Ben Pfaff, regarding getopt.
71217
71218 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
71219
71220         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
71221         normal way.
71222         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
71223         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
71224         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
71225         (gl_GETOPT): Use the new macros.  Most of the implementation
71226         is moved to the new macros.  This is for programs like Emacs
71227         that don't want all the functionality of gl_GETOPT.
71228
71229 2005-07-26  Bruno Haible  <bruno@clisp.org>
71230
71231         * m4/lock.m4: Update from GNU gettext.
71232
71233 2005-07-26  Bruno Haible  <bruno@clisp.org>
71234
71235         * lib/lock.h: Update from GNU gettext.
71236         * lib/lock.c: Update from GNU gettext.
71237
71238 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
71239
71240         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
71241         obsolescent AC_TRY_RUN.  Include the default includes files, for
71242         'exit'.
71243
71244 2005-07-24  Bruno Haible  <bruno@clisp.org>
71245
71246         * modules/visibility: New file.
71247         * MODULES.html.sh (Misc): Add visibility.
71248
71249 2005-07-24  Bruno Haible  <bruno@clisp.org>
71250
71251         * m4/visibility.m4: New file.
71252
71253 2005-07-24  Bruno Haible  <bruno@clisp.org>
71254
71255         * doc/visibility.texi: New file.
71256
71257 2005-07-22  Bruno Haible  <bruno@clisp.org>
71258
71259         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
71260         $(ALLOCA_H), redundant through BUILT_SOURCES.
71261         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
71262         redundant through BUILT_SOURCES.
71263         * modules/byteswap (Makefile.am): Remove explicit dependency on
71264         $(BYTESWAP_H), redundant through BUILT_SOURCES.
71265         * modules/fnmatch (Makefile.am): Remove explicit dependency on
71266         $(FNMATCH_H), redundant through BUILT_SOURCES.
71267         * modules/getopt (Makefile.am): Remove explicit dependency on
71268         $(GETOPT_H), redundant through BUILT_SOURCES.
71269         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
71270         redundant through BUILT_SOURCES.
71271         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
71272         redundant through BUILT_SOURCES.
71273         * modules/stdbool (Makefile.am): Remove explicit dependency on
71274         $(STDBOOL_H), redundant through BUILT_SOURCES.
71275         * modules/stdint (Makefile.am): Remove explicit dependency on
71276         $(STDINT_H), redundant through BUILT_SOURCES.
71277         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
71278         Remove explicit dependency on $(SYSEXITS_H).
71279         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
71280
71281 2005-07-18  Simon Josefsson  <jas@extundo.com>
71282
71283         * lib/check-version.c (check_version): Accept identical versions too.
71284
71285 2005-07-18  Bruno Haible  <bruno@clisp.org>
71286
71287         * modules/lock: New file.
71288         * MODULES.html.sh (Multithreading): New section.
71289
71290 2005-07-18  Bruno Haible  <bruno@clisp.org>
71291
71292         * m4/lock.m4: New file, from GNU gettext.
71293
71294 2005-07-18  Bruno Haible  <bruno@clisp.org>
71295
71296         * lib/lock.h: New file, from GNU gettext.
71297         * lib/lock.c: New file, from GNU gettext.
71298
71299 2005-07-18  Bruno Haible  <bruno@clisp.org>
71300
71301         * lib/lock.h (gl_once_t): New type.
71302         (gl_once_define, gl_once): New macros.
71303         * lib/lock.c (fresh_once): New variable.
71304         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
71305         functions.
71306
71307 2005-07-16  Simon Josefsson  <jas@extundo.com>
71308
71309         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
71310         workaround, suggested by Bruno.
71311
71312 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
71313
71314         * modules/xalloc (Depends-on): Add xalloc-die.
71315         * modules/xvasprintf (Depends-on): Add xalloc-die.
71316
71317 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
71318
71319         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
71320         with a minor change.
71321
71322 2005-07-15  Bruno Haible  <bruno@clisp.org>
71323
71324         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
71325         When using lib/poll.c, define poll as rpl_poll.
71326
71327 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
71328
71329         * modules/argp (Depends-on): Remove unlocked-io.
71330
71331 2005-07-14  Derek Price  <derek@ximbiot.com>
71332
71333         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
71334         for glob symlink bug.
71335
71336 2005-07-14  Bruno Haible  <bruno@clisp.org>
71337
71338         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
71339         Instead, test for *_unlocked function declarations directly.
71340
71341 2005-07-11  Simon Josefsson  <jas@extundo.com>
71342
71343         * modules/size_max: New file.
71344
71345         * modules/xsize: Depend on size_max module for size_max.m4.
71346
71347 2005-07-11  Simon Josefsson  <jas@extundo.com>
71348
71349         * lib/size_max.h: New file.
71350
71351 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
71352
71353         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
71354         copyright symbol and the year.
71355         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
71356         (version_etc_va): Use parameterized copyright notice.
71357         Reword to conform to the current GNU coding standards.
71358
71359 2005-07-11  Karl Berry  <karl@gnu.org>
71360
71361         * doc/gnulib.texi (Quoting): new node.
71362         (Initial import): more info, from Patrice.
71363
71364 2005-07-11  Bruno Haible  <bruno@clisp.org>
71365
71366         * gnulib-tool (func_usage): Document option --avoid.
71367         (Command line options): Handle --avoid.
71368         (func_acceptable): New function.
71369         (func_modules_transitive_closure): Use it.
71370
71371 2005-07-11  Bruno Haible  <bruno@clisp.org>
71372
71373         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
71374         Reported by Jim Meyering.
71375
71376 2005-07-10  Bruno Haible  <bruno@clisp.org>
71377
71378         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
71379         Needed when size_t is smaller than 'unsigned int'.
71380         Reported by Paul Eggert.
71381
71382 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
71383
71384         * modules/argp (Depends-on): Add unlocked-io
71385
71386 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
71387
71388         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
71389         block of defines.
71390
71391 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
71392
71393         * config/srclist.txt: Comment out regcomp.c, since we have a porting
71394         fix now.
71395
71396 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
71397         and Paul Eggert  <eggert@cs.ucla.edu>
71398
71399         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
71400         in wint_t, not wchar_t.  Remove now-unnecessary cast.
71401
71402 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
71403
71404         * modules/regex (Files): Add lib/regex_internal.c,
71405         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
71406         (Depends-on): Add extensions.
71407         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
71408
71409 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
71410
71411         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
71412         pathconf.
71413         * m4/same.m4 (gl_SAME): Likewise.
71414         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
71415
71416         * m4/regex.m4: Adjust to new libc regex implementation.
71417         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
71418         all the .c and .h parts of (the new) regex.
71419         Quote the m4 stuff better.
71420         Check for RE_ICASE bug of old gnulib.
71421         Check for REG_STARTEND of recent libc.
71422         Rename local variables from jm_* to gl_*.
71423         Quote operand of "test -f".
71424         Say "recent enough" version of libc, not "version 2".
71425         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
71426         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
71427         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
71428         Remove check for btowc, isascii.
71429         Require AM_LANGINFO_CODESET.
71430
71431 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
71432
71433         * lib/regex.c, regex.h: Sync from libc.
71434         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
71435         * lib/regexec.c:
71436         New files, synced from libc, except that regex_internal.h
71437         currently has a small porting fix.
71438
71439 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
71440
71441         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
71442         regex_internal.c, regexec.c.
71443         Add regex_internal.h too, but as a comment, since the libc version
71444         is currently broken in gnulib mode.
71445
71446 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
71447
71448         Support programs like Emacs that use gnulib but not gettext.
71449         * MODULES.html.sh (Internationalization functions): Add gettext-h.
71450         * modules/gettext-h: New file.
71451         * modules/gettext (Files): Remove lib/gettext.h.
71452         (Depends-on): Add gettext-h.
71453         (Makefile.am): Remove lib_SOURCES.
71454         * modules/argmatch, modules/c-stack, modules/closeout:
71455         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
71456         * modules/execute, modules/file-type, modules/getaddrinfo:
71457         * modules/getopt, modules/human, modules/javacomp:
71458         * modules/javaexec, modules/mkdir-p, modules/obstack:
71459         * modules/openat, modules/pagealign_alloc, modules/pipe:
71460         * modules/quotearg, modules/regex, modules/rpmatch:
71461         * modules/unicodeio, modules/userspec, modules/version-etc:
71462         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
71463         * modules/xsetenv:
71464         Depend on gettext-h, not gettext.
71465
71466 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
71467
71468         * gnulib-tool (func_import): Add support for 'public domain' license.
71469         * modules/alloca, modules/atexit, modules/memmove:
71470         Now public domain, not GPL.
71471         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
71472         * modules/realloc, modules/strerror, modules/strtod:
71473         Now LGPL, not GPL.
71474
71475 2005-07-05  Bruno Haible  <bruno@clisp.org>
71476
71477         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
71478         autoconf CVS. Needed for mingw.
71479
71480 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
71481
71482         Remove the dependency of the strftime module on the tzset module.
71483         * modules/strftime (Depends-on): Remove dependency on tzset.
71484
71485 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
71486
71487         Remove the dependency of the strftime module on the tzset module.
71488         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
71489         gl_FUNC_TZSET_CLOBBER.
71490
71491 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
71492
71493         Remove the dependency of the strftime module on the tzset module.
71494         * lib/strftime.c (my_strftime)
71495         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
71496         Copy the input structure, to work around some of the bug with
71497         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
71498         Solaris releases, you should also use the tzset module, but we won't
71499         require it as a dependency any more since we don't want LGPLed code
71500         to depend on GPLed code.
71501
71502 2005-07-02  Jim Meyering  <jim@meyering.net>
71503
71504         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
71505         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
71506         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
71507         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
71508
71509 2005-07-02  Jim Meyering  <jim@meyering.net>
71510
71511         * lib/backupfile.c (backup_args): Change a `0' to NULL.
71512
71513 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
71514
71515         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
71516         declares only 'struct timespec;' (!).
71517
71518 2005-07-01  Jim Meyering  <jim@meyering.net>
71519
71520         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
71521         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
71522         * lib/save-cwd.c, tempname.c:
71523         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
71524         and don't include <sys/file.h>).
71525
71526 2005-06-29  Jim Meyering  <jim@meyering.net>
71527
71528         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
71529         type name.  Use the variable name instead.
71530         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
71531         Likewise.
71532
71533 2005-06-28  Simon Josefsson  <jas@extundo.com>
71534
71535         * modules/check-version (Files): Add check-version.m4.
71536
71537 2005-06-28  Simon Josefsson  <jas@extundo.com>
71538
71539         * m4/check-version.m4: New file, suggested by Jim Meyering
71540         <jim@meyering.net>.
71541
71542 2005-06-28  Simon Josefsson  <jas@extundo.com>
71543
71544         * lib/check-version.h, lib/check-version.c: New files.
71545
71546 2005-06-28  Simon Josefsson  <jas@extundo.com>
71547
71548         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
71549         collision with global variable.  Better indentation.  Don't
71550         increment buffer pointer beyond buffer end.  Based on comments
71551         from Paul Eggert <eggert@cs.ucla.edu>.
71552
71553         * lib/base64.h: Indent.
71554
71555 2005-06-28  Simon Josefsson  <jas@extundo.com>
71556
71557         * doc/gnulib.texi (Library version handling): New section.
71558
71559 2005-06-28  Jim Meyering  <jim@meyering.net>
71560
71561         * check-module (find_included_lib_files): Hard-code another
71562         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
71563         but modules/fts-lgpl (correctly) does not list those files.
71564
71565         * modules/canonicalize (Files): Add lib/pathmax.h.
71566
71567 2005-06-25  Simon Josefsson  <jas@extundo.com>
71568
71569         * modules/check-version: New file.
71570
71571 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
71572
71573         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
71574         initializer of struct addrinfo, as an indication that we don't
71575         care how many members the structure has.
71576
71577 2005-06-24  Derek Price  <derek@ximbiot.com>
71578         and Bruno Haible  <bruno@clisp.org>
71579
71580         Remove stat module & update lstat.
71581         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
71582         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
71583         * m4/stat.m4: Remove this file.
71584
71585 2005-06-24  Derek Price  <derek@ximbiot.com>
71586         and Bruno Haible  <bruno@clisp.org>
71587
71588         Remove stat module & update lstat.
71589         * lib/stat.c: Remove this file...
71590         (slash_aware_lstat): ...moving this content and its support...
71591         * lib/lstat.c (rpl_lstat): ...into here.
71592         * lib/lstat.h: New file.
71593
71594 2005-06-24  Derek Price  <derek@ximbiot.com>
71595         and Bruno Haible  <bruno@clisp.org>
71596
71597         Remove stat module & update lstat.
71598         * config/srclist.txt (libc sources): Remove stat.
71599
71600 2005-06-24  Derek Price  <derek@ximbiot.com>
71601         and Bruno Haible  <bruno@clisp.org>
71602
71603         Remove stat module & update lstat.
71604         * MODULES.html.sh (stat): Remove.
71605         * MODULES.html: Regenerated.
71606         * modules/lstat (Description): Correct function name.
71607         (Files): Add "lstat.h".
71608         (Depends-on): Remove stat, add xalloc, stat-macros.
71609         * modules/stat: Remove this file.
71610         (Include): Add "lstat.h", remove <sys/stat.h>.
71611
71612 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
71613
71614         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
71615         (ranged_convert): Don't save conversion in a temporary struct.
71616         This causes a warning with GCC 4.0.0, and anyway in the typical
71617         case it's not worth the extra 100 bytes or so of code.
71618         (ranged_convert, __mktime_internal): When calling a function via a
71619         pointer P, use P () rather than (*P) (), as we now assume C89 or
71620         better.
71621
71622 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
71623
71624         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
71625         "who -r" failed to give output.  Problem reported by Tim Waugh.
71626
71627         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
71628         (xcalloc): Use it to avoid needless tests.
71629         Problem reported by Jim Meyering.
71630
71631 2005-06-20  Derek Price  <derek@ximbiot.com>
71632
71633         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
71634         unnecessary for Autoconfs > 2.59c.
71635
71636 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
71637
71638         * lib/argp.h (__option_is_short): Check upper limit of
71639         __key. Isprint() requires its argument to have the value
71640         of an unsigned char or EOF.
71641
71642 2005-06-16  Jim Meyering  <jim@meyering.net>
71643
71644         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
71645         when either N or S is zero.
71646
71647 2005-06-16  Derek Price  <derek@ximbiot.com>
71648
71649         * m4/bison.m4: Declare YACC & YFLAGS precious.
71650
71651 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
71652
71653         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
71654         multibyte string or pattern, fall back on unibyte matching.
71655         Problem reported by James Youngman.
71656
71657 2005-06-08  Bruno Haible  <bruno@clisp.org>
71658
71659         * modules/csharpcomp: New file.
71660         * MODULES.html.sh (C#): Add csharpcomp.
71661
71662 2005-06-08  Bruno Haible  <bruno@clisp.org>
71663
71664         * m4/csharpcomp.m4: New file, from GNU gettext.
71665
71666 2005-06-08  Bruno Haible  <bruno@clisp.org>
71667
71668         * lib/csharpcomp.h: New file, from GNU gettext.
71669         * lib/csharpcomp.c: New file, from GNU gettext.
71670         * lib/csharpcomp.sh.in: New file, from GNU gettext.
71671
71672 2005-06-08  Bruno Haible  <bruno@clisp.org>
71673
71674         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
71675         warning on mingw.
71676
71677 2005-06-07  Derek Price  <derek@ximbiot.com>
71678
71679         Sync from CVS.
71680         * lib/glob_.h: Indent nested #ifdef.
71681
71682 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
71683
71684         Sync from coreutils.
71685         Use "file name" when talking about file names, instead of "filename"
71686         or "path", as per the GNU coding standards.
71687         * lib/mkdir-p.c: Renamed from makepath.c.
71688         (make_dir_parents): Renamed from make_path.  All callers changed.
71689         * lib/mkdir-p.h: Likewise.  All includers changed.
71690         * lib/filenamecat.c: Renamed from path-concat.c.
71691         (file_name_concat): Renamed from path_concat.  All callers changed.
71692         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
71693         * lib/filenamecat.h: Likewise.  All includers changed.
71694         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
71695         in comments or local variable names.
71696         * lib/basename.c: Likewise.
71697         * lib/canonicalize.c, canonicalize.h: Likewise.
71698         * lib/dirname.c, dirname.h: Likewise.
71699         * lib/euidaccess.c: Likewise.
71700         * lib/exclude.c: Likewise
71701         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
71702         * lib/fsusage.c, fsuage.h: Likewise.
71703         * lib/fts.c, fts_.h: Likewise.
71704         * lib/getcwd.c: Likewise.
71705         * lib/getloadavg.c: Likewise.
71706         * lib/mkstemp.c: Likewise.
71707         * lib/mountlist.c, mountlist.h: Likewise.
71708         * lib/openat.c, openat.h: Likewise.
71709         * lib/readlink-stub.c: Likewise.
71710         * lib/readutmp.c, readutmp.h: Likewise.
71711         * lib/rename.c: Likewise.
71712         * lib/rmdir.c: Likewise.
71713         * lib/same.c: Likewise.
71714         * lib/savedir.c: Likewise.
71715         * lib/stripslash.c: Likewise.
71716         * lib/tempname.c: Likewise.
71717         * lib/xreadlink.c: Likewise.
71718         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
71719         All uses changed.
71720         * lib/exclude.h: Likewise.
71721
71722         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
71723         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
71724         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
71725         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
71726         * lib/pathmax.h: Include <limits.h> unconditionally, since other
71727         files have been getting away with it for years (MORE/BSD 4.3
71728         is extinct now).
71729         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
71730         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
71731
71732         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
71733         Define to 256, not 255, as per modern POSIX.
71734
71735 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
71736
71737         Sync from coreutils.
71738         Use "file name" when talking about file names, instead of "filename"
71739         or "path", as per the GNU coding standards.
71740         * MODULES.html.sh: mkdir-p renamed from makepath.
71741         filenamecat renamed from path-concat.
71742         * modules/filenamecat: Renamed from modules/path-concat.
71743         (Files): filenamecat.h and filenamecat.c renamed from
71744         path-concat.h and path-concat.c.
71745         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
71746         (Include): filenamecat.h, not path-concat.h.
71747         * modules/mkdir-p: Renamed from modules/makepath.
71748         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
71749         makepath.c.
71750         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
71751         (Include): mkdir-p.h, not makepath.h.
71752
71753 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
71754
71755         Sync from coreutils.
71756         * m4/mkdir-p.m4: Renamed from makepath.m4.
71757         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
71758         Rename files from makepath.c to mkdir-p.c, and from
71759         makepath.h to mkdir-p.h.
71760         * m4/filenamecat.m4: Renamed from path-concat.m4.
71761         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
71762         Rename files from path-concat.c to filenamecat.c,
71763         and from path-concat.h to filenamecat.h.
71764         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
71765         "file name" in local variables or comments.
71766         * m4/rename.m4: Likewise.
71767
71768 2005-06-01  Bruno Haible  <bruno@clisp.org>
71769
71770         * modules/csharpexec: New file.
71771         * MODULES.html.sh (C#): New section.
71772
71773 2005-06-01  Bruno Haible  <bruno@clisp.org>
71774
71775         * m4/csharp.m4: New file, from GNU gettext.
71776         * m4/csharpexec.m4: New file, from GNU gettext.
71777
71778 2005-06-01  Bruno Haible  <bruno@clisp.org>
71779
71780         * lib/csharpexec.h: New file, from GNU gettext.
71781         * lib/csharpexec.c: New file, from GNU gettext.
71782         * lib/csharpexec.sh.in: New file, from GNU gettext.
71783
71784 2005-05-31  Derek Price  <derek@ximbiot.com>
71785             Paul Eggert  <eggert@cs.ucla.edu>
71786
71787         Sync from cvs.
71788         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
71789
71790 2005-05-31  Derek Price  <derek@ximbiot.com>
71791             Paul Eggert  <eggert@cs.ucla.edu>
71792
71793         Sync from cvs.
71794         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
71795
71796 2005-05-29  Derek Price  <derek@ximbiot.com>
71797
71798         * config/srclist.txt (glob_.h, glob.c): Add these files.
71799
71800 2005-05-29  Derek Price  <derek@ximbiot.com>
71801
71802         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
71803         * modules/glob: New file.
71804         * modules/getlogin_r: Add link to POSIX spec in description.
71805
71806 2005-05-29  Derek Price  <derek@ximbiot.com>
71807             Paul Eggert  <eggert@cs.ucla.edu>
71808
71809         * m4/glob.m4: New file.
71810
71811 2005-05-29  Derek Price  <derek@ximbiot.com>
71812             Paul Eggert  <eggert@cs.ucla.edu>
71813
71814         * lib/glob_.h, lib/glob.c: New files.
71815
71816 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
71817
71818         * modules/fts (Files): Remove m4/inttypes-pri.m4.
71819         * modules/fts-lgpl (Depends-on): Remove gettext.
71820
71821 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
71822
71823         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
71824         and don't require gt_INTTYPES_PRI.
71825
71826 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
71827
71828         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
71829
71830         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
71831         the configuration hassle isn't worth it.
71832         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
71833         (LONGEST_MODIFIER, PRIuMAX): Remove.
71834
71835 2005-05-27  Bruno Haible  <bruno@clisp.org>
71836
71837         * lib/getlogin_r.h: Remove second include of <stddef.h>.
71838
71839 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
71840
71841         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
71842         _POSIX_PTHREAD_SEMANTICS for Solaris.
71843
71844 2005-05-25  Derek Price  <derek@ximbiot.com>
71845
71846         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
71847
71848 2005-05-25  Derek Price  <derek@ximbiot.com>
71849             Paul Eggert  <eggert@cs.ucla.edu>
71850
71851         * modules/getlogin_r, m4/getlogin_r.m4: New files.
71852         * lib/getlogin_r.c, getlogin_r.h: New files.
71853
71854 2005-05-25  Bruno Haible  <bruno@clisp.org>
71855             Derek Price  <derek@ximbiot.com>
71856
71857         * lib/getlogin_r.h: Simplify API documentation.
71858
71859 2005-05-23  Derek Price  <derek@ximbiot.com>
71860
71861         * modules/minmax (Files): Add m4/minmax.m4.
71862         (configure.ac): Add gl_MINMAX.
71863
71864 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
71865
71866         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
71867         so that unistd-safer.h (GPL'ed code) need not be included.
71868
71869 2005-05-22  Bruno Haible  <bruno@clisp.org>
71870
71871         * m4/minmax.m4: New file.
71872         Based on a patch by Derek Price <derek@ximbiot.com>.
71873
71874 2005-05-22  Bruno Haible  <bruno@clisp.org>
71875
71876         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
71877         (INT64_MIN): Fix definition.
71878         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
71879
71880         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
71881         NEED_SIGNED_INT_TYPES.
71882
71883         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
71884         HAVE_SYSTEM_INTTYPES.
71885
71886 2005-05-22  Bruno Haible  <bruno@clisp.org>
71887
71888         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
71889         Also include <sys/param.h> if it defines MIN, MAX.
71890         Based on a patch by Derek Price <derek@ximbiot.com>.
71891
71892 2005-05-21  Jim Meyering  <jim@meyering.net>
71893
71894         * modules/fts (Files): Add m4/inttypes-pri.m4.
71895         (Depends-on): Add lstat and remove gettext.  Alphabetize.
71896
71897 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
71898
71899         New fts module.
71900         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
71901         (setup_dir, free_dir): New functions.
71902         (enter_dir, leave_dir): Define trivial
71903         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
71904         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
71905         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
71906         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
71907         Move to fts-cycle.c.
71908         (fts_open): Use setup_dir.
71909         (fts_close): Use free_dir.
71910         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
71911         This adds a label and some gotos, but the alternatives were messier.
71912         Check for memory allocation failure when entering a dir.
71913         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
71914         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
71915         (FTS): New member fts_cycle, that is a union that contains the
71916         old active_dir_ht and cycle_state.  All uses changed to mention
71917         fts_cycle.ht and fts_cycle.state.
71918         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
71919         fts.c, with the following changes:
71920         (setup_dir, free_dir): New functions.
71921         (enter_dir): Now returns bool.  Return true if successful, false
71922         if memory exhausted.  All callers changed.
71923         Do not bother partly cleaning up on
71924         memory allocation failure; that is free_dir's job.
71925         However, free ad if hash_insert fails, to avoid memory leak.
71926         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
71927         fts->fts_options to see which union member to use.
71928
71929 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
71930
71931         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
71932         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
71933
71934 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
71935
71936         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
71937
71938 2005-05-20  Jim Meyering  <jim@meyering.net>
71939
71940         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
71941         Now a macro, to pacify GCC.
71942
71943 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
71944
71945         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
71946         of -1.
71947
71948 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
71949
71950         * lib/chown.c (rpl_chown): Return -1 on failure.
71951
71952 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
71953
71954         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
71955         Don't check for stddef.h.
71956         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
71957         don't use its results.
71958         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
71959         since we include them unconditionally.  Don't require
71960         AM_STDBOOL_H, since stdbool is a prerequisite.
71961         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
71962         since we assume C89 or better.
71963         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
71964         as we don't use their results.
71965         Don't check for fchdir, memmove, memset, strrchr, as we use
71966         them unconditionally.
71967         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
71968         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
71969
71970 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
71971
71972         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
71973         Include <stddef.h> unconditionally, since we assume C89 now.
71974         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
71975         * lib/fts.c: Include fts_.h first, to check interface.
71976         Do not include intprops.h; no longer needed.
71977         Include cycle-check.h and hash.h, since fts_.h no longer does.
71978         Remove unnecessary casts of closedir to void.
71979         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
71980         decide whether to decrement nlinks.
71981         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
71982         (FTS): Use struct hash_table * instead of Hash_table, so that
71983         we no longer need to include hash.h here.
71984
71985 2005-05-18  Jim Meyering  <jim@meyering.net>
71986
71987         * modules/dirfd (License): Change to LGPL.  Most of the code
71988         is already in the public domain.
71989
71990 2005-05-18  Jim Meyering  <jim@meyering.net>
71991
71992         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
71993         Reported by Yoann Vandoorselaere.
71994
71995 2005-05-17  Jim Meyering  <jim@meyering.net>
71996
71997         * m4/fts.m4: New file, from coreutils.
71998
71999 2005-05-17  Jim Meyering  <jim@meyering.net>
72000
72001         * lib/fts.c, lib/fts_.h: New files, from coreutils.
72002
72003 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
72004
72005         Sync from coreutils.
72006         * m4/unlinkdir.m4: New file.
72007
72008 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
72009
72010         Sync from coreutils.
72011         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
72012         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
72013         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
72014         White space changes only.
72015         * lib/makepath.c (make_path): Port to hosts where leading "//" is
72016         special.
72017         * lib/yesno.c: Include getline.h, not ctype.h.
72018         (yesno): Don't remove leading white space; POSIX doesn't allow it.
72019         Use getline to remove arbitrary restriction on response length.
72020
72021 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
72022
72023         * config/srclist-update: Spell out "Street" in FSF postal
72024         mail address; this is the style the FSF seems to prefer.
72025
72026         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
72027         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
72028         this updates FSF postal mail address.
72029
72030         Sync from coreutils.
72031         * modules/unlinkdir: New file.
72032         * modules/yesno (Depends-on): Add getline.
72033         * MODULES.html.sh (File system functions): Add unlinkdir.
72034
72035 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
72036
72037         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
72038         lib/strsep.h:
72039         Change the initial comment to refer to GPL, not LGPL.
72040         gnulib-tool will change it to LGPL as needed.
72041
72042         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
72043         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
72044         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
72045         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
72046         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
72047         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
72048         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
72049         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
72050         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
72051         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
72052         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
72053         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
72054         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
72055         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
72056         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
72057         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
72058         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
72059         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
72060         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
72061         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
72062         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
72063         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
72064         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
72065         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
72066         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
72067         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
72068         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
72069         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
72070         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
72071         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
72072         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
72073         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
72074         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
72075         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
72076         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
72077         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
72078         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
72079         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
72080         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
72081         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
72082         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
72083         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
72084         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
72085         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
72086         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
72087         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
72088         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
72089         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
72090         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
72091         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
72092         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
72093         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
72094         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
72095         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
72096         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
72097         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
72098         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
72099         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
72100         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
72101         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
72102         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
72103         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
72104         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
72105         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
72106         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
72107         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
72108         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
72109         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
72110         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
72111         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
72112         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
72113         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
72114         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
72115         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
72116         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
72117         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
72118         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
72119         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
72120         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
72121         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
72122         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
72123         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
72124         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
72125         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
72126         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
72127         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
72128         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
72129         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
72130         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
72131         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
72132         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
72133         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
72134         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
72135         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
72136         lib/yesno.c, lib/yesno.h:
72137         Update FSF postal mail address.
72138
72139 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
72140
72141         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
72142         tests/test-memmem.c, tests/test-stpncpy.c:
72143         Update FSF postal mail address.
72144
72145 2005-05-13  Bruno Haible  <bruno@clisp.org>
72146
72147         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
72148         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
72149         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
72150         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
72151         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
72152         Add support for 64-bit integers in the MSVC compiler.
72153
72154 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
72155
72156         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
72157
72158 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
72159
72160         * gnulib-tool (func_import): Sort and uniquify recommended includes.
72161
72162 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
72163
72164         * doc/getdate.texi (General date syntax): Don't say that date
72165         date --iso-8601=ns generates acceptable dates; it doesn't yet.
72166         Problem reported by Nic Ferrier.
72167
72168 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72169
72170         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
72171         specified in ai_socktype. Fix invalid ai_protocol
72172         check. ai_protocol is usually set to 0 or depending on
72173         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
72174         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
72175         ai_socktype / ai_protocol in the returned addrinfo structure.
72176
72177 2005-05-10  Simon Josefsson  <jas@extundo.com>
72178
72179         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
72180         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
72181
72182 2005-05-10  Karl Berry  <karl@gnu.org>
72183
72184         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
72185         (from http://www.gnu.org/licenses).
72186         * doc/COPYING.LIB: also rename to COPYING.LESSER.
72187         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
72188         fdl.texi suffices.
72189
72190 2005-05-10  Karl Berry  <karl@gnu.org>
72191
72192         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
72193         (COPYING.DOC): remove.
72194
72195         * config/srclist-update: new FSF address.
72196
72197 2005-05-10  Derek Price  <derek@ximbiot.com>
72198
72199         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
72200         possible.
72201
72202 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72203             Bruno Haible  <bruno@clisp.org>
72204
72205         * modules/inet_ntop: New file.
72206         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
72207         inet_ntop.
72208
72209 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72210             Bruno Haible  <bruno@clisp.org>
72211
72212         * m4/inet_ntop.m4: New file.
72213
72214 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72215             Bruno Haible  <bruno@clisp.org>
72216
72217         * lib/inet_ntop.h: New file.
72218         * lib/inet_ntop.c: New file, from glibc with modifications.
72219
72220 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
72221
72222         * modules/time_r (License): Change to LGPL.
72223         * modules/extensions (License): Change to LGPL.  Actually,
72224         the license is more permissive than that, but currently gnulib-tool
72225         doesn't know how to handle more-permissive licenses.
72226
72227         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
72228         Problem reported by Dave Love.
72229
72230 2005-05-08  Jim Meyering  <jim@meyering.net>
72231
72232         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
72233         blank.
72234
72235 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
72236
72237         * modules/argmatch (Depends-on): Add stdbool.
72238         * modules/backupfile (Depends-on): Likewise.
72239         * modules/chdir-long (Depends-on): Likewise.
72240         * modules/closeout (Depends-on): Likewise.
72241         * modules/cycle-check (Depends-on): Likewise.
72242         * modules/dirname (Depends-on): Likewise.
72243         * modules/fnmatch (Depends-on): Likewise.
72244         * modules/fsusage (Depends-on): Likewise.
72245         * modules/fwriteerror (Depends-on): Likewise.
72246         * modules/getcwd (Depends-on): Likewise.
72247         * modules/getloadavg (Depends-on): Likewise.
72248         * modules/hard-locale (Depends-on): Likewise.
72249         * modules/makepath (Depends-on): Likewise.
72250         * modules/mountlist (Depends-on): Likewise.
72251         * modules/nanosleep (Depends-on): Likewise.
72252         * modules/posixtm (Depends-on): Likewise.
72253         * modules/quotearg (Depends-on): Likewise.
72254         * modules/readtokens (Depends-on): Likewise.
72255         * modules/readtokens0 (Depends-on): Likewise.
72256         * modules/readutmp (Depends-on): Likewise.
72257         * modules/save-cwd (Depends-on): Likewise.
72258         * modules/strftime (Depends-on): Likewise.
72259         * modules/userspec (Depends-on): Likewise.
72260         * modules/utimecmp (Depends-on): Likewise.
72261         * modules/xgetcwd (Depends-on): Likewise.
72262         * modules/xnanosleep (Depends-on): Likewise.
72263         * modules/xstrtod (Depends-on): Likewise.
72264         * modules/yesno (Depends-on): Likewise.
72265
72266 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
72267
72268         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
72269         needless checks.
72270
72271 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
72272
72273         Merge from coreutils.  Among other things,
72274         add bulletproofing for cases where stdin, stdout, or stderr are closed.
72275         * lib/fd-safer.c: New file.
72276         * lib/fcntl-safer.h, open-safer.c: Remove.
72277         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
72278         * lib/dup-safer.c: Include unistd-safer.h first.
72279         Don't include errno.h.
72280         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
72281         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
72282         * lib/file-type.c: Rely on file-type.h change.
72283         * lib/getloadavg.c: Include unistd-safer.h.
72284         (getloadavg): Use safer open.
72285         * lib/getusershell.c: Include "stdio-safer.h".
72286         (getusershell): Use safer fopen.
72287         * lib/long-options.c (long_options): Use NULL rather than 0.
72288         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
72289         'free'.
72290         * lib/modechange.c: Likewise.
72291         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
72292         (MODE_DONE): New constant.
72293         (struct mode_change): Remove 'next' member.
72294         (make_node_op_equals): New function; like the old one of the
72295         same name, except it allocates an array.
72296         (mode_compile, mode_create_from_ref): Use it.
72297         (mode_compile): Allocate result as an array, not a linked list.
72298         Parse octal string ourself, so that we catch mistakes like "+0".
72299         (mode_adjust): Arg is an array, not a linked list.
72300         * lib/modechange.c: Include stat-macros.h, xalloc.h.
72301         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
72302         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
72303         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
72304         Remove.  This is now stat-macros.h's job.
72305         (talloc): Remove.  All callers replaced by xalloc, so that
72306         our invokers don't have to worry about reporting memory failures.
72307         (make_node_op_equals): Remove.
72308         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
72309         New constants.
72310         (struct mode_change): Moved here from modechange.h.
72311         (mode_append_entry): Remove.
72312         (mode_compile): Remove MASKED_OPS arg, since it encouraged
72313         apps to have incorrect behavior.  Use simpler algorithm for head
72314         and tail.  Don't futz with umask; that's now the job of mode_adjust.
72315         Detect more invalid usages rather than having somewhat-random behavior.
72316         Don't insert an "a=" action, as that leads to incorrect behavior.
72317         (mode_compile, mode_create_from_ref): Return NULL on error instead
72318         of an enum, since now there's only one way to have an error.  All
72319         callers changed.
72320         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
72321         at the correct time.  Simplify calculation of "+u" and its ilk.
72322         Don't mishandle "+X".
72323         (mode_free): Remove "register" and localize decls.
72324         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
72325         (struct mode_change): Move to modechange.c; callers don't
72326         need to see this stuff.
72327         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
72328         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
72329         (mode_change, mode_adjust): Reflect the new signatures noted above.
72330         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
72331         that might redefine system include files.
72332         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
72333         (my_usleep): Use NULL rather than (void *) 0.
72334         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
72335         Use siginterrupt to specify that system calls should be interrupted.
72336         (rpl_nanosleep): Move initialization of suspended closer to call of
72337         my_usleep.
72338         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
72339         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
72340         (desirable_utmp_entry): New function.
72341         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
72342         using x2nrealloc, to simplify logic.
72343         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
72344         size calculation.  Do not assume utmp file is a regular file.
72345         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
72346         (READ_UTMP_CHECK_PIDS): New constant.
72347         * lib/save-cwd.c: Include unistd-safer.h.
72348         (save_cwd): Use fd_safer.
72349         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
72350         [!_LIBC] Include "stat-macros.h" instead.
72351         * lib/unistd-safer.h (fd_safer): New decl.
72352
72353 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
72354
72355         * modules/getloadavg (Depends-on): Add unistd-safer.
72356         * modules/getusershell (Depends-on): Add stdio-safer.
72357         * modules/lstat (Depends-on): Remove xalloc.
72358         * modules/mkstemp (Depends-on): Add stat-macros.
72359         * modules/modechange (Depends-on): Remove xstrtol.
72360         Add stat-macros, xalloc.
72361         * modules/save-cwd (Depends-on): Add unistd-safer.
72362         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
72363         * modules/unistd-safer (Files): Add lib/fd-safer.c
72364         (Makefile.am): Remove lib_SOURCES.
72365
72366         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
72367         Remove fcntl-safer; unistd-safer supersedes it.
72368
72369 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
72370
72371         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
72372         AC_HEADER_STAT.
72373         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
72374         (gl_PREREQ_CHOWN): Remove.
72375         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
72376         it.  Don't require AC_HEADER_STAT.
72377         (gl_PREREQ_LSTAT): Remove.
72378         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
72379         Don't require AC_HEADER_STAT.
72380         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
72381         (gl_PREREQ_RMDIR): Remove.
72382         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
72383         mention stat-macros.h or AC_HEADER_STAT, since we'll make
72384         the stat-macros module a prerequisite.
72385         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
72386         * m4/filemode.m4 (gl_FILEMODE): Likewise.
72387         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
72388         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
72389         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
72390         variable names.
72391         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
72392         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
72393         variable prefixes.
72394         * m4/fcntl-safer.m4: Remove.
72395         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
72396         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
72397         Invoke gl_PREREQ_FD_SAFER.
72398         (gl_PREREQ_FD_SAFER): New macro.
72399         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
72400         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
72401         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
72402         Remove duplicate call to AC_LIBOBJ(readutmp).
72403         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
72404
72405         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
72406         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
72407
72408 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
72409
72410         * MODULES.html.sh (Misc): Add byteswap.
72411
72412 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
72413
72414         * modules/getcwd (Depends-on): Add extensions.
72415         * modules/openat (Depends-on): Likewise.
72416
72417 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
72418
72419         * modules/byteswap: New file.
72420
72421 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
72422
72423         * m4/byteswap.m4: New file.
72424
72425 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
72426
72427         * lib/byteswap_.h: New file.
72428
72429 2005-04-25  Karl Berry  <karl@gnu.org>
72430
72431         * m4/gettext.m4: Update from GNU gettext 0.14.4.
72432
72433 2005-04-25  Albert Chin  <china@thewrittenword.com>
72434
72435         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
72436         Toolkit C bug.
72437
72438 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
72439
72440         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
72441         (func_ln_if_changed): Remove forcibly for no error message
72442         in case file does not exist.
72443
72444 2005-04-19  Simon Josefsson  <jas@extundo.com>
72445
72446         * gnulib-tool (Options): Make --symlink mean --symbolic.
72447
72448 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
72449
72450         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
72451
72452 2005-04-16  Simon Josefsson  <jas@extundo.com>
72453
72454         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
72455
72456 2005-04-15  Simon Josefsson  <jas@extundo.com>
72457
72458         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
72459
72460 2005-04-15  Simon Josefsson  <jas@extundo.com>
72461
72462         * gnulib-tool: Rename --symlink to --symbolic.
72463
72464 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
72465
72466         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
72467         symbolic links to files instead of copying/moving.  Add --aux-dir,
72468         specifying directory relative --dir where auxiliary build tools
72469         are placed.
72470
72471 2005-04-14  Bruno Haible  <bruno@clisp.org>
72472
72473         * modules/allocsa (License): Change to LGPL.
72474         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
72475
72476 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
72477
72478         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
72479         that "UTC +1 second" continues to work.  Problem reported
72480         by Dmitry V. Levin.
72481         (relunit_snumber): New rule.
72482         (relunit): Use it.
72483
72484 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
72485
72486         * lib/getdate.y (universal_time_zone_table): New constant.
72487         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
72488         universal_time_zone_table.
72489         (lookup_zone): Prefer universal_time_zone_table to
72490         local_time_zone_table, so that "GMT" time stamps are allowed in
72491         London during the summer.  Problem reported by Ian Abbott.
72492
72493 2005-04-12  Jim Meyering  <jim@meyering.net>
72494
72495         * lib/human.c (humblock): Set *options even when returning due to
72496         xstrtoumax conversion failure.  Thanks to a used-uninitialized
72497         warning from gcc-4.
72498
72499 2005-04-09  Jim Meyering  <jim@meyering.net>
72500
72501         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
72502         -Wuninitialized: initialize tm0.tm_year.
72503
72504 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
72505
72506         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
72507         count, since there's no maximum.  All uses changed.
72508         Add member dsts_seen.
72509         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
72510         not being INT_MAX.
72511         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
72512         Use pc_rels_seen to decide whther a date is absolute.
72513
72514         * lib/getdate.y (number): Don't overwrite year.
72515         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
72516         check.
72517
72518 2005-04-02  Simon Josefsson  <jas@extundo.com>
72519
72520         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
72521         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
72522
72523 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
72524
72525         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
72526         where no absolute path name can be longer than PATH_MAX.
72527
72528 2005-03-27  Jim Meyering  <jim@meyering.net>
72529
72530         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
72531
72532 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
72533
72534         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
72535         "one's complement" -> "ones' complement" in comment, as per Knuth.
72536         "value of type" -> "type or expression" in comment.
72537         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
72538
72539 2005-03-26  Jim Meyering  <jim@meyering.net>
72540
72541         Comment nits.
72542         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
72543         Correct typos: s/or/of/.
72544
72545 2005-03-26  Jim Meyering  <jim@meyering.net>
72546
72547         * modules/check-include-files: Move to ../ and rename to...
72548         * check-module: ...this.
72549
72550 2005-03-25  Jim Meyering  <jim@meyering.net>
72551
72552         * modules/xvasprintf (Files): Add xalloc.h.
72553
72554 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
72555
72556         * modules/gettext (Files): config/config.rpath ->
72557         build-aux/config.rpath
72558         * modules/iconv (Files): Likewise.
72559         Problem reported by Oskar Liljeblad.
72560
72561 2005-03-23  Jim Meyering  <jim@meyering.net>
72562
72563         * modules/check-include-files: New script to check for
72564         missing dependencies, multiple includes, etc.
72565
72566         * modules/c-strtold (Depends-on): Add xalloc.
72567         * modules/c-strtod (Depends-on): Add xalloc.
72568         * modules/hash (Depends-on): Add xalloc.
72569         (Files): Remove lib/xalloc.h.
72570
72571         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
72572         * modules/userspec (Files): Add lib/inttostr.h.
72573
72574 2005-03-23  Jim Meyering  <jim@meyering.net>
72575
72576         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
72577
72578 2005-03-22  Jim Meyering  <jim@meyering.net>
72579
72580         * modules/stat-macros: New module.
72581         * modules/canonicalize, modules/euidaccess, modules/file-type,
72582         * modules/filemode, modules/lchown, modules/makepath,
72583         * modules/rmdir, modules/stat: Depend on new stat-macros module
72584         rather than listing lib/stat-macros.h manually.
72585         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
72586
72587 2005-03-22  Jim Meyering  <jim@meyering.net>
72588
72589         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
72590
72591 2005-03-22  Bruno Haible  <bruno@clisp.org>
72592
72593         * config/srclist.txt: Replace target directory 'config' with
72594         'build-aux'.
72595         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
72596         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
72597         ../build-aux/.
72598
72599 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
72600
72601         * modules/chdir-long (Depends-on): Add mempcpy.
72602
72603         * modules/acl, modules/backupfile, modules/c-strtod,
72604         modules/c-strtold, modules/canon-host, modules/canonicalize,
72605         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
72606         modules/exclude, modules/exitfail, modules/file-type,
72607         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
72608         modules/getdate, modules/getline, modules/getpagesize,
72609         modules/getpass, modules/getugroups, modules/group-member,
72610         modules/hard-locale, modules/hash, modules/human, modules/idcache,
72611         modules/inttostr, modules/long-options, modules/makepath,
72612         modules/md5, modules/memcasecmp, modules/memcoll,
72613         modules/modechange, modules/mountlist, modules/path-concat,
72614         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
72615         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
72616         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
72617         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
72618         modules/strftime, modules/strndup, modules/strverscmp,
72619         modules/timespec, modules/unlocked-io, modules/userspec,
72620         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
72621         modules/yesno:
72622         Remove lib_SOURCES line from Makefile.am section, as this is now
72623         done automatically by the corresponding Autoconf macro.
72624
72625 2005-03-21  Jim Meyering  <jim@meyering.net>
72626
72627         Changes imported from coreutils.
72628
72629         * lib/cycle-check.c: Don't include xalloc.h.
72630
72631         * lib/path-concat.c: Don't include assert.h.
72632         (path_concat): Remove assertion that would have triggered
72633         for ABASE starting with more than one slash.
72634         Reported by Andreas Schwab.
72635
72636         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
72637         properly when ABASE is an absolute file name.
72638         Correct the description of this function.
72639         Include <assert.h>.
72640         Add an assertion and a test driver.
72641         This fixes a bug introduced on 2004-07-02.
72642         Andreas Schwab reported the resulting failure of cp --parents:
72643         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
72644
72645 2005-03-21  Jim Meyering  <jim@meyering.net>
72646
72647         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
72648         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
72649
72650 2005-03-21  Jim Meyering  <jim@meyering.net>
72651         and  Paul Eggert  <eggert@cs.ucla.edu>
72652
72653         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
72654         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
72655         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
72656         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
72657         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
72658         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
72659         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
72660         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
72661         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
72662         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
72663         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
72664         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
72665         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
72666         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
72667         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
72668         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
72669         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
72670         for these modules.
72671
72672 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
72673
72674         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
72675         (which shouldn't happen), generate nothing instead of returning 0
72676         immediately, so that nstrftime (NULL, ...) doesn't return 0.
72677
72678 2005-03-16  Bruno Haible  <bruno@clisp.org>
72679
72680         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
72681         HAVE_LONGLONG_64BIT.
72682
72683 2005-03-16  Bruno Haible  <bruno@clisp.org>
72684
72685         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
72686         HAVE_LONGLONG_64BIT.
72687
72688 2005-03-16  Bruno Haible  <bruno@clisp.org>
72689
72690         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
72691         HAVE_LONGLONG_64BIT.
72692
72693 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
72694
72695         * lib/strftime.c (my_strftime): Prepend space to format so that we can
72696         reliably distinguish strftime failure from empty output on POSIX
72697         hosts.
72698
72699 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
72700
72701         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
72702         (iconv_string): Don't guess a size-zero buffer, as that might cause
72703         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
72704         result would be 'too large', where 'too large' is (heuristically)
72705         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
72706         overflow concerns.  This will prevent some unwanted malloc failures
72707         when the inputs are very large.
72708
72709 2005-03-15  Karl Berry  <karl@gnu.org>
72710
72711         * config/srclist.txt (config.rpath): from gettext.
72712         * config/config.rpath: update.
72713
72714 2005-03-15  Bruno Haible  <bruno@clisp.org>
72715
72716         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
72717         to 'negate'.
72718
72719         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
72720         variable.
72721
72722         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
72723         results.
72724
72725 2005-03-14  Simon Josefsson  <jas@extundo.com>
72726
72727         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
72728         <fx@gnu.org>.
72729
72730 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
72731
72732         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
72733         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
72734         intprops.h.
72735         * lib/strtol.c: Likewise.
72736
72737 2005-03-14  Jim Meyering  <jim@meyering.net>
72738
72739         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
72740         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
72741         to be nonzero so that we (and caller) can detect the difference
72742         between a valid zero-length expansion and an error return, even
72743         when the underlying strftime fails before writing anything into
72744         that location.
72745
72746 2005-03-14  Bruno Haible  <bruno@clisp.org>
72747
72748         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
72749         Update from GNU gettext 0.14.3.
72750
72751 2005-03-10  Jim Meyering  <jim@meyering.net>
72752
72753         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
72754
72755 2005-03-10  Jim Meyering  <jim@meyering.net>
72756
72757         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
72758         so that this module works on systems without fchdir.
72759
72760 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
72761
72762         Factor int-properties macros into a single file, except for
72763         glibc-related files.
72764         * lib/intprops.h: New file.
72765         * lib/getloadavg.c: Include it instead of limits.h.
72766         (INT_STRLEN_BOUND): Remove.
72767         * lib/human.c: Include intprops.h.
72768         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
72769         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
72770         302/1000.
72771         * lib/inttostr.h: Include intprops.h instead of limits.h.
72772         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
72773         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
72774         for consistency with intprops.h.
72775         (time_t_is_integer, twos_complement_arithmetic): Use them.
72776         * lib/sig2str.h: Include <signal.h>, intprops.h.
72777         (INT_STRLEN_BOUND): Remove.
72778         * lib/strftime.c (TYPE_SIGNED): Remove.
72779         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
72780         * lib/strtol.c: Adjust comments to match intprops.h.
72781         * lib/userspec.c: Include intprops.h.
72782         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
72783         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
72784         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
72785         instead of rolling our own expressions.
72786         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
72787
72788         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
72789         instead of int.
72790         (my_strftime): Do not mishandle years close to INT_MAX, by doing
72791         the right thing even if adding 1900 would overflow.  Similarly
72792         for tm_mon + 1 and tm_yday + 1.
72793         Make %Y always equivalent to %C%y, and similarly for %G and %g.
72794         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
72795         (DO_SIGNED_NUMBER): New macro.
72796         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
72797
72798 2005-03-07  Bruno Haible  <bruno@clisp.org>
72799
72800         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
72801
72802 2005-03-07  Bruno Haible  <bruno@clisp.org>
72803
72804         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
72805
72806 2005-03-04  Derek R. Price  <derek@ximbiot.com>
72807
72808         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
72809         (func_import): Only replace files via --import when they have actually
72810         changed.
72811
72812 2005-03-03  Derek R. Price  <derek@ximbiot.com>
72813
72814         * m4/mmap-anon.m4: New file.
72815         * m4/pagealign_alloc.m4: New file.
72816
72817 2005-03-03  Derek R. Price  <derek@ximbiot.com>
72818             Bruno Haible  <bruno@clisp.org>
72819
72820         * modules/pagealign_alloc: New file.
72821         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
72822
72823 2005-03-03  Derek R. Price  <derek@ximbiot.com>
72824             Bruno Haible  <bruno@clisp.org>
72825
72826         * lib/pagealign_alloc.h: New file.
72827         * lib/pagealign_alloc.c: New file.
72828
72829 2005-03-03  Bruno Haible  <bruno@clisp.org>
72830
72831         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
72832         Use an all-permissive copyright notice, recommended by RMS.
72833
72834 2005-03-02  Bruno Haible  <bruno@clisp.org>
72835
72836         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
72837         of AIX, the replacement has to be done only after <string.h> is
72838         included, therefore not in config.h. stpncpy.h does the replacement,
72839         and stpncpy.c uses it.
72840
72841 2005-03-02  Bruno Haible  <bruno@clisp.org>
72842
72843         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
72844         stpncpy.c uses it.
72845
72846 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
72847
72848         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
72849         The workaround isn't strictly needed for POSIX conformance, and
72850         it's too much of a pain to configure and maintain.  We'll ask
72851         people to fix their kernels instead.
72852         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
72853         (NANOSLEEP_BUG_WORKAROUND): Remove.
72854         (xnanosleep): Remove the workaround.
72855
72856 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
72857
72858         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
72859         Reported by Derek Price.
72860         (Include): Add "timespec.h".
72861
72862         * modules/xnanosleep (Depends-on): Remove gethrxtime.
72863
72864 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
72865
72866         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
72867         to detect nanosleep bug.
72868
72869 2005-03-01  Bruno Haible  <bruno@clisp.org>
72870
72871         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
72872
72873 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
72874
72875         * modules/gethrxtime: New file.
72876         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
72877         (Depends-on): Add gethrxtime.
72878         (configure.ac): Add gl_XNANOSLEEP.
72879         (Makefile.am): Remove lib_SOURCES line.
72880
72881 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
72882
72883         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
72884         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
72885
72886 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
72887
72888         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
72889         * lib/timespec.h (gettime): Return void, since it always
72890         succeeds now.  All uses changed.
72891         * lib/gettime.c (gettime): Likewise.
72892         [HAVE_NANOTIME]: Prefer nanotime.
72893         Assume gettimeofday succeeds, as POSIX requires.
72894         Assime time () succeeds, since other code already does.
72895         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
72896         (timespec_subtract): Remove.
72897         (NANOSLEEP_BUG_WORKAROUND): New constant.
72898         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
72899         things considerably.  Use it only on GNU/Linux hosts, since the
72900         workaround shouldn't be needed elsewhere.
72901
72902 2005-02-24  Bruno Haible  <bruno@clisp.org>
72903
72904         * modules/gettext (Files): Add m4/glibc2.m4.
72905
72906 2005-02-24  Bruno Haible  <bruno@clisp.org>
72907
72908         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
72909         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
72910         * m4/progtest.m4:
72911         Update from GNU gettext 0.14.2.
72912         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
72913
72914 2005-02-24  Bruno Haible  <bruno@clisp.org>
72915
72916         * lib/localcharset.c: Update from GNU gettext 0.14.2.
72917         * lib/config.charset: Update from GNU gettext 0.14.2.
72918
72919 2005-02-24  Bruno Haible  <bruno@clisp.org>
72920
72921         * lib/gettext.h: Update from GNU gettext 0.14.2.
72922
72923 2005-02-23  Simon Josefsson  <jas@extundo.com>
72924
72925         * m4/iconvme.m4: New file.
72926
72927 2005-02-23  Jim Meyering  <jim@meyering.net>
72928
72929         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
72930         change.
72931         Thanks to Bruno Haible for catching it.
72932
72933 2005-02-22  Simon Josefsson  <jas@extundo.com>
72934
72935         * modules/iconvme: New file.
72936
72937         * MODULES.html.sh: Add iconvme.
72938
72939 2005-02-22  Simon Josefsson  <jas@extundo.com>
72940
72941         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
72942
72943 2005-02-22  Simon Josefsson  <jas@extundo.com>
72944
72945         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
72946
72947 2005-02-22  Jim Meyering  <jim@meyering.net>
72948
72949         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
72950         s/ifndef/ifdef/.
72951
72952 2005-02-20  Neil Conway  <neilc@samurai.com>
72953
72954         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
72955         returned by OSX/Darwin if the specified buffer is not large
72956         enough for the hostname.
72957
72958 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
72959
72960         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
72961         pass it to _help, otherwise the latter coredumps trying to
72962         dereference state.root_argp.
72963
72964 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
72965
72966         * modules/chdir-long (Depends-on): Add memrchr.
72967         * modules/memrchr (Files): Add lib/memrchr.h.
72968         (Include): "memrchr.h".
72969
72970 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
72971
72972         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
72973
72974 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
72975
72976         * lib/memrchr.h: New file.
72977         * lib/chdir-long.c: Include it.
72978         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
72979         Don't bother including stddef.h.
72980
72981 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
72982
72983         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
72984         inclusion.
72985         Include <sys/types.h>, for dev_t.
72986         (ME_DUMMY, ME_REMOTE): Move from here....
72987         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
72988         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
72989         Dmitry V. Levin.
72990         Include mountlist.h first, to test the interface.
72991
72992 2005-01-29  Bruno Haible  <bruno@clisp.org>
72993
72994         * lib/progname.c (program_name): Initialize.
72995         Needed when linking statically on MacOS X.
72996
72997 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
72998
72999         Sync from coreutils.
73000         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
73001         (Depends-on): Add c-strtod.
73002         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
73003
73004 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
73005
73006         Sync from coreutils.
73007         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
73008
73009         Remove files that are specific to coreutils.
73010         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
73011
73012 2005-01-28  Bruno Haible  <bruno@clisp.org>
73013
73014         * modules/javacomp: New file.
73015         * MODULES.html.sh (Java): Add javacomp.
73016
73017 2005-01-28  Bruno Haible  <bruno@clisp.org>
73018
73019         * m4/javacomp.m4: New file, from GNU gettext.
73020
73021 2005-01-28  Bruno Haible  <bruno@clisp.org>
73022
73023         * lib/javacomp.sh.in: New file, from GNU gettext.
73024         * lib/javacomp.h: New file, from GNU gettext.
73025         * lib/javacomp.c: New file, from GNU gettext.
73026
73027 2005-01-26  Simon Josefsson  <jas@extundo.com>
73028
73029         * lib/gai_strerror.c: Use GPL in header.
73030
73031 2005-01-26  Bruno Haible  <bruno@clisp.org>
73032
73033         * modules/javaexec: New file.
73034         * MODULES.html.sh (Java): Add javaexec.
73035
73036 2005-01-26  Bruno Haible  <bruno@clisp.org>
73037
73038         * m4/javaexec.m4: New file, from GNU gettext.
73039
73040 2005-01-26  Bruno Haible  <bruno@clisp.org>
73041
73042         * lib/javaexec.sh.in: New file, from GNU gettext.
73043         * lib/javaexec.h: New file, from GNU gettext.
73044         * lib/javaexec.c: New file, from GNU gettext.
73045
73046 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
73047
73048         * modules/lchown (Depends-on): Remove lchown.h
73049
73050 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
73051
73052         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
73053         must be defined if the header file was not found, in order
73054         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
73055
73056 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
73057
73058         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
73059         initializers for struct pentry_state.
73060         (__argp_error): Check return value of __asprintf
73061         (__argp_failure): Translate error message
73062
73063         * lib/argp-parse.c: Removed braces around the expansion of N_()
73064
73065 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
73066
73067         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
73068         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
73069         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
73070         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
73071         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
73072         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
73073         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
73074         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
73075         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
73076         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
73077         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
73078         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
73079         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
73080         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
73081         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
73082         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
73083         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
73084         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
73085         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
73086         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
73087         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
73088         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
73089         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
73090         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
73091         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
73092         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
73093         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
73094         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
73095         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
73096         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
73097         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
73098         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
73099         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
73100         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
73101         xstrtol.m4, xstrtoumax.m4, yesno.m4:
73102         Use an all-permissive copyright notice, recommended by RMS.
73103
73104 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
73105
73106         * modules/chdir-long (Depends-on): Remove mempcpy.
73107
73108 2005-01-21  Jim Meyering  <jim@meyering.net>
73109
73110         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
73111         same value as for Solaris 9.
73112
73113         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
73114         component length.  This included changing the parameter to be
73115         of type `char *' rather than `char const *'.
73116         * lib/chdir-long.h (chdir_long): Update prototype.
73117
73118         * lib/openat.c (fdopendir, fstatat): New functions.
73119         * lib/openat.h: Include headers required for use of DIR and struct
73120         stat.
73121         [AT_SYMLINK_NOFOLLOW]: Define.
73122         (fdopendir, fstatat): Add prototypes.
73123
73124 2005-01-21  Bruno Haible  <bruno@clisp.org>
73125
73126         * modules/classpath: New file.
73127         * MODULES.html.sh (Java): Add classpath.
73128
73129 2005-01-21  Bruno Haible  <bruno@clisp.org>
73130
73131         * lib/classpath.h: New file, from GNU gettext.
73132         * lib/classpath.c: New file, from GNU gettext.
73133
73134 2005-01-20  Simon Josefsson  <jas@extundo.com>
73135
73136         * modules/version-etc-fsf: New file.
73137
73138 2005-01-20  Simon Josefsson  <jas@extundo.com>
73139
73140         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
73141         * lib/version-etc.c: Remove version_etc_copyright.
73142         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
73143         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
73144
73145 2005-01-20  Simon Josefsson  <jas@extundo.com>
73146
73147         * lib/base64.h (isbase64): Add.
73148
73149         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
73150         using a unsigned prototype, don't inline.
73151         (base64_decode): Use it.
73152
73153 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
73154
73155         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
73156         it.
73157
73158 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
73159
73160         * lib/save-cwd.c (save_cwd): Remove code to support the case
73161         where fchdir is missing or flaky.
73162
73163 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
73164
73165         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
73166
73167 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
73168
73169         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
73170         AC_LIBSOURCES now does this.
73171         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
73172         with new ullong_max module.
73173
73174 2005-01-19  Bruno Haible  <bruno@clisp.org>
73175
73176         * modules/sh-quote: New file.
73177         * MODULES.html.sh (Executing programs): Add sh-quote.
73178
73179 2005-01-19  Bruno Haible  <bruno@clisp.org>
73180
73181         * lib/sh-quote.h: New file, from GNU gettext.
73182         * lib/sh-quote.c: New file, from GNU gettext.
73183
73184 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
73185
73186         Merge from coreutils.
73187         * m4/ullong_max.m4: New file.
73188         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
73189         (gl_MACROS): Assume localeconv exists.
73190
73191 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
73192
73193         Merge changes from coreutils, as described below in several
73194         changelogs dated today.
73195
73196         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
73197         (O_DIRECTORY): Remove; not needed here, since "." must be
73198         a directory.  All uses removed.
73199         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
73200         universal on Suns, and we also need to test for IRIX.
73201         Revamp code to use 'if' rather than '#if'.
73202         Avoid unnecessary comparison of cwd->desc to 0.
73203
73204         * lib/utimens.c (futimens): Robustify the previous patch, by checking
73205         for known valid error numbers rather than observed invalid ones.
73206
73207 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
73208
73209         * modules/ullong_max: New file.
73210
73211         * modules/chdir-long, modules/openat: New files.
73212         * modules/save-cwd (Depends-on): Depend on chdir-long.
73213         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
73214
73215 2005-01-18  Jim Meyering  <jim@meyering.net>
73216
73217         Merge from coreutils.
73218         * m4/chdir-long.m4, m4/openat.m4: New files.
73219         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
73220         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
73221         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
73222         is sane and DOES follow symlinks.  Besides, testing 20 different
73223         systems found no broken chown implementations.
73224         Prompted by a change in rsync's copy of this macro.
73225         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
73226
73227         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
73228
73229         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
73230         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
73231         NULL-means-set-to-current-time semantics.
73232         Remove temporary file immediately, rather than waiting
73233         for configure's at-exit trap code to do it.
73234
73235 2005-01-18  Jim Meyering  <jim@meyering.net>
73236
73237         * lib/version-etc.c (version_etc_copyright): Update copyright date.
73238
73239         * lib/utimens.c (futimens): Account for the fact that futimes
73240         can also fail with errno == ENOSYS or errno == ENOENT.
73241         Patch from Dmitry V. Levin.
73242
73243         Change the name of the robust chdir function from chdir to chdir_long.
73244         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
73245         (restore_cwd): Use chdir_long, not chdir.
73246         * lib/chdir-long.c: Renamed from chdir.c.
73247         * lib/chdir-long.h: Renamed from chdir.h.
73248         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
73249         Hurd.
73250
73251 2005-01-18  Bruno Haible  <bruno@clisp.org>
73252
73253         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
73254         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
73255         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
73256         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
73257         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
73258         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
73259         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
73260         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
73261         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
73262         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
73263         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
73264         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
73265         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
73266         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
73267         Use an all-permissive copyright notice, recommended by RMS.
73268
73269 2005-01-18  Bob Proulx  <bob@proulx.com>
73270
73271         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
73272         simplify offsetof() macro construct to avoid compile failure with
73273         native HP-UX 11.0 ANSI C compiler.
73274
73275 2005-01-17  Bruno Haible  <bruno@clisp.org>
73276
73277         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
73278         redundant because stpncpy.m4 takes care of it.
73279
73280 2005-01-17  Bruno Haible  <bruno@clisp.org>
73281
73282         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
73283
73284 2005-01-17  Bruno Haible  <bruno@clisp.org>
73285
73286         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
73287         used.
73288
73289 2005-01-17  Bruno Haible  <bruno@clisp.org>
73290
73291         * lib/fwriteerror.h (fwriteerror): Change specification to include
73292         fclose.
73293         * lib/fwriteerror.c: Include <stdbool.h>.
73294         (fwriteerror): At the end, close the file stream. Record whether
73295         stdout was already closed.
73296
73297 2005-01-17  Bruno Haible  <bruno@clisp.org>
73298
73299         * lib/execute.c (environ): Declare if needed.
73300         * lib/pipe.c (environ): Likewise.
73301         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
73302
73303 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
73304
73305         * modules/argp: Depend on vsnprintf
73306
73307 2005-01-10  Jim Meyering  <jim@meyering.net>
73308
73309         * modules/closeout (Depends-on): Add atexit.
73310
73311 2005-01-06  Bruno Haible  <bruno@clisp.org>
73312
73313         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
73314
73315 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
73316
73317         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
73318         definitions to be after all include files, to avoid collisions.
73319         Problem reported by Bob Proulx.
73320
73321 2005-01-04  Jim Meyering  <jim@meyering.net>
73322
73323         Changes imported from coreutils.
73324         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
73325         as the mkstemp template, use a temporary directory and an
73326         8.3-friendly template to avoid trouble on systems like DJGPP.
73327         Reported by Juan M. Guerrero via Stepan Kasal.
73328         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
73329         close. Remove the temporary directory right away, rather than waiting
73330         for configure's at-exit trap code to do it.
73331         Suggestion from Stepan Kasal.
73332
73333 2005-01-01  Simon Josefsson  <jas@extundo.com>
73334
73335         * gnulib-tool: Print #include directives when --import'ing.
73336
73337 2004-12-28  Simon Josefsson  <jas@extundo.com>
73338
73339         * tests/test-base64.c: Include required header files.  Remove
73340         unused variables.
73341
73342 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
73343
73344         * modules/error (Depends-on): Remove gettext.
73345
73346 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
73347
73348         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
73349         not needed.  This removes a dependency on the gettext module.
73350         [defined _LIBC]: Do not include <libintl.h>; not needed.
73351
73352 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
73353
73354         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
73355         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
73356
73357 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
73358
73359         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
73360         HAVE_DECL_STRTOLD.
73361
73362 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
73363
73364         * modules/getdate (Depends-on): Remove alloca-opt.
73365
73366 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
73367
73368         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
73369
73370 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
73371
73372         * lib/argp-parse.c: Include <stddef.h>.
73373         (alignof, alignto): New macros.
73374         (parser_init): Don't assume that void * is aligned sufficiently
73375         for struct option.
73376
73377         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
73378         need to extend the stack.
73379         (YYINITDEPTH): New macro, so that the initial stack isn't overly
73380         large.
73381
73382 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
73383
73384         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
73385
73386 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
73387
73388         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
73389         (2004-10-24) change.  Apparently this was a false alarm.
73390
73391         * modules/getdate: Depend on alloca-opt, not alloca.
73392
73393 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
73394
73395         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
73396         Remove now-obsolete comment about AIX.
73397         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
73398         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
73399         (YYMAXDEPTH): New macro.
73400
73401 2004-12-18  Simon Josefsson  <jas@extundo.com>
73402
73403         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
73404
73405 2004-12-18  Bruno Haible  <bruno@clisp.org>
73406
73407         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
73408
73409 2004-12-18  Bruno Haible  <bruno@clisp.org>
73410
73411         * lib/fatal-signal.c (fatal_signals): Make non-const.
73412         (init_fatal_signals): New function.
73413         (uninstall_handlers, install_handlers): Ignore signals that were set to
73414         SIG_IGN.
73415         (at_fatal_signal): Call init_fatal_signals.
73416         (init_fatal_signal_set): Likewise. Ignore signals that were set to
73417         SIG_IGN.
73418         Reported by Paul Eggert.
73419
73420 2004-12-18  Bruno Haible  <bruno@clisp.org>
73421
73422         * doc/alloca.texi: New file.
73423         * doc/alloca-opt.texi: New file.
73424
73425 2004-12-17  Jim Meyering  <jim@meyering.net>
73426
73427         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
73428         Otherwise, install-sh could exit with improper exit status when
73429         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
73430
73431 2004-12-16  Simon Josefsson  <jas@extundo.com>
73432
73433         * tests/test-base64.c: Add license.
73434
73435 2004-12-15  Stepan Kasal  <address@hidden>
73436
73437         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
73438
73439 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
73440
73441         * modules/getcwd (Files): Add m4/d-ino.m4.
73442         Suggested by Mark D. Baushke.
73443
73444 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
73445
73446         * lib/getdate.y (textint): New member "negative".
73447         (time_zone_hhmm): New function.
73448         Expect 14 shift-reduce conflicts, not 13.
73449         (o_colon_minutes): New rule.
73450         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
73451         (yylex): Set the "negative" member of signed numbers.
73452
73453 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
73454
73455         * doc/getdate.texi (Time of day items, Time zone items):
73456         Describe new formats +00:00, UTC+00:00.
73457
73458 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
73459
73460         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
73461         spurious "-l"s.  Problem reported by Stepan Kasal.
73462
73463 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
73464
73465         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
73466         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
73467
73468 2004-12-04  Simon Josefsson  <jas@extundo.com>
73469
73470         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
73471         Vandoorselaere <yoann@prelude-ids.org>.
73472
73473 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
73474
73475         Changes imported from coreutils.
73476         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
73477         exist.
73478         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
73479
73480 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
73481
73482         Changes imported from coreutils.
73483         * lib/hard-locale.c: Assume <locale.h> exists.
73484         Include "strdup.h".
73485         (GLIBC_VERSION): New macro.
73486         (hard_locale): Assume setlocale exists.
73487         Rewrite to avoid #ifdef.
73488         Use strdup rather than malloc + strcpy.
73489         * lib/human.c: Assume <locale.h> exists.
73490         (human_readable): Assume localeconv exists.
73491
73492 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
73493
73494         * modules/hard-locale (Depends-on): Add strdup.
73495
73496 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
73497
73498         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
73499         convert T2, not T.  (Imported from libc.)
73500
73501 2004-11-30  Simon Josefsson  <jas@extundo.com>
73502
73503         * modules/restrict (License): Change to LGPL.
73504
73505 2004-11-30  Simon Josefsson  <jas@extundo.com>
73506
73507         * m4/restrict.m4: Add copyright and copying conditions.
73508
73509 2004-11-30  Simon Josefsson  <jas@extundo.com>
73510
73511         * m4/base64.m4: New file.
73512
73513 2004-11-30  Simon Josefsson  <jas@extundo.com>
73514
73515         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
73516         base64.
73517
73518         * tests/test-base64.c: New file.
73519
73520         * modules/base64: New file.
73521
73522 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
73523
73524         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
73525         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
73526
73527         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
73528
73529 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
73530
73531         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
73532         (__getcwd.c): Don't restore errno; glibc doesn't.
73533         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
73534         first, falling back to our code only if its results look suspicious.
73535         Ensure that the resulting buffer is only as large as necessary.
73536
73537         * lib/readutmp.c: Include readutmp.h first.
73538         Include <errno.h>, since readutmp.h no longer does that.
73539         * lib/readutmp.h: Don't include <errno.h>,
73540         <sys/param.h>, <time.h>; not needed to establish interface.
73541         (errno): Remove decl.
73542         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
73543         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
73544         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
73545
73546 2004-11-28  Simon Josefsson  <jas@extundo.com>
73547
73548         * lib/base64.h, base64.c: New file.
73549
73550 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
73551
73552         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
73553
73554 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
73555
73556         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
73557         (Depends-on): Remove pathmax, same.  Add mempcpy.
73558         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
73559         (Makefile.am): Append getcwd.h to lib_SOURCES.
73560         (Include): Add getcwd.h.
73561         (Maintainer): Change from Jim Meyering to "all, glibc",
73562         since getdate now uses intended-for-glibc code.
73563         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
73564         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
73565
73566 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
73567
73568         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
73569         HP's ANSI C compiler.
73570         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
73571         Declaring int functions causes warnings on some modern systems and
73572         shouldn't be needed to compile on ancient ones.
73573         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
73574         defined.
73575
73576         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
73577         with the following changes.
73578         (__set_errno): Parenthesize properly.
73579         Include <stdbool.h>.
73580         (MIN, MAX, MATCHING_INO): New macros.
73581         (__getcwd): Define with prototype, not K&R form.
73582         Use heuristics to allocate default buffer on stack if possible.
73583         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
73584         behavior, and to avoid the PATH_MAX limit when computing
73585         ../../../../...
73586         Use MATCHING_INO to compare inode number to file.
73587         Check for arithmetic overflow in size calculations.
73588         Fix bug in reallocation of dot array that caused getcwd to fail
73589         on directories nested deeper than 75.
73590         Be more careful about saving errno on error.
73591         Do not use realloc; use only free+malloc, as this is a bit
73592         more flexible and avoids a needless copy operation.
73593         Do not inspect st_dev and st_ino for symbolic links; POSIX
73594         doesn't specify the latter.
73595         Check for closedir errors.
73596         Avoid needless casts.
73597         Use "#ifdef weak_alias" around weak_alias, to be like other
73598         glibc code.
73599         The following changes to getcwd.c have effect only when used in
73600         gnulib; they have no effect inside glibc proper.
73601         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
73602         as alloca isn't used.
73603         (alloca, __alloca): Likewise.
73604         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
73605         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
73606         unconditionally, as gnulib assumes C89 or better.
73607         Do not include <sys/param.h>.
73608         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
73609         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
73610         better.
73611         (NULL) [!defined NULL]: Remove; we assume C89 or better.
73612         Include <dirent.h> in a way that is compatible with modern Autoconf.
73613         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
73614         New macros, if not already defined.
73615         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
73616         Use "_LIBC", not "defined _LIBC", for consistency.
73617         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
73618         a mempcpy module.
73619         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
73620         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
73621         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
73622         credit only to Jim Meyering and adjust the copyright dates.
73623         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
73624         <stdlib.h>, <unistd.h>, "pathmax.h".
73625         Instead, include "xgetcwd.h" (first) and "getcwd.h".
73626         (INITIAL_BUFFER_SIZE): Remove.
73627         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
73628
73629 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
73630
73631         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
73632         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
73633         Use the _ONCE methods, for efficiency.
73634         Check for fcntl.h.  In test program, include <errno.h>
73635         and <fcntl.h> if available.  Remove old K&R cruft from
73636         test program.  Check for common errors in GNU/Linux,
73637         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
73638         don't do AC_LIBOBJ, as that's getcwd.m4's job.
73639         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
73640         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
73641         name accordingly.
73642         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
73643         accommodate new getcwd.c.
73644         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
73645         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
73646         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
73647         that's all we need now.
73648
73649 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
73650
73651         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
73652         argp-parse.c depends on getopt internals, that means we should
73653         always use our getopt, to be on the safe side.
73654         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
73655         order not to spoil the result of an eventual previous invocation
73656         of gl_GETOPT_SUBSTITUTE.
73657
73658 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
73659
73660         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
73661         redefinition warnings. To avoid them, include the defines
73662         in `#if !defined __need_getopt ... #endif'. The only place
73663         where __getopt_argv_const is used is in definitions
73664         of getopt_long and getopt_long_only below, which are as well
73665         protected by `#ifndef __need_getopt'.
73666         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
73667         __need_getopt after including <stdio.h> and <unistd.h> These
73668         headers might have defined it.
73669
73670 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
73671
73672         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
73673
73674 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
73675
73676         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
73677         (futimens): New function, which uses futimes if available.
73678         (futimens, utimens): Support timespec==NULL, with same semantics
73679         as utime and utimens.
73680         * lib/utimens.h (futimens): New decl.
73681
73682 2004-11-23  Jim Meyering  <jim@meyering.net>
73683
73684         * lib/getopt_.h: Remove trailing blanks.
73685
73686 2004-11-23  Jim Meyering  <jim@meyering.net>
73687
73688         * lib/__fpending.c: Add comment.
73689
73690 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
73691
73692         * modules/canonicalize (Depends-on): Add xreadlink.
73693         Problem reported by James Youngman.
73694
73695 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
73696
73697         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
73698         New macros.
73699         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
73700         optopt): Use them instead of invoking ## directly; otherwise, the
73701         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
73702
73703 2004-11-19  Bruno Haible  <bruno@clisp.org>
73704
73705         * lib/strtok_r.c: Move comments from here...
73706         * lib/strtok_r.h: ... to here.
73707
73708 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
73709
73710         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
73711         implementations that mishandle size_t overflow.
73712
73713 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
73714
73715         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
73716         might fail.  Problem reported by Yoann Vandoorselaere.
73717         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
73718         implementations that mishandle size_t overflow.
73719
73720 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
73721
73722         * modules/canon-host (Depends-on): Add strdup.
73723
73724 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
73725
73726         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
73727
73728 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
73729
73730         * lib/canon-host.c: Include "strdup.h".
73731         (canon_host): Use getaddrinfo if available, so that IPv6 works.
73732         Use strdup instead of malloc/strcpy to duplicate strings.
73733
73734         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
73735         (human_space_before_unit): New constant.
73736         * lib/human.c (human_readable): Support it.
73737
73738         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
73739         (xgetcwd): Set errno correctly when failing.
73740         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
73741         the failure is actually due to a PATH_MAX problem.
73742
73743         Further getopt changes to make it more likely that glibc will
73744         buy the changes back.
73745         * lib/getopt.c (POSIXLY_CORRECT): New constant.
73746         (getopt): Use it, so to preserve glibc semantic
73747         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
73748         when compiling for libc.
73749         * lib/getopt_.h (__getopt_argv_const): Bring it back.
73750         (getopt_long, getopt_long_only): Use it.
73751
73752         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
73753         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
73754         (getopt): Argv is now char * const *, as per standard.
73755         (_getopt_internal_r, _getopt_internal): Argv is now char **,
73756         not char *__getopt_argv_const *.
73757         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
73758         _getopt_long_only_r): Likewise.
73759         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
73760         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
73761         _getopt_long_r, _getopt_long_only_r): Likewise.
73762         * lib/getopt_.h (__getopt_argv_const): Remove.
73763         (getopt): Argv is now char * const *, as per standard.
73764
73765         * lib/getdate.y (tORDINAL): New token.
73766         (day, relunit): Allow it for relative times.
73767         (relative_time_table): Use tORDINAL for ordinals.
73768
73769 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
73770
73771         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
73772         Document that "second" isn't allowed as an ordinal number.
73773
73774 2004-11-16  Jim Meyering  <jim@meyering.net>
73775
73776         * modules/closeout (Depends-on): Add fpending.
73777
73778 2004-11-15  Jim Meyering  <jim@meyering.net>
73779
73780         * lib/closeout.c: Include "__fpending.h" once again.
73781         Include <stdbool.h>.
73782         (close_stdout): Don't fail just because stdout was closed initially,
73783         since some programs don't write to stdout in the normal course of
73784         operation (other than --version and --help), and we don't want this
73785         function to make e.g. `touch file >&-' fail.
73786         But do fail if it was closed and someone has tried to write to it.
73787         E.g., `printf foo >&-' must fail.
73788
73789 2004-11-13  Jim Meyering  <jim@meyering.net>
73790
73791         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
73792
73793 2004-11-12  Simon Josefsson  <jas@extundo.com>
73794
73795         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
73796         small doc fix is still pending.
73797
73798 2004-11-11  Simon Josefsson  <jas@extundo.com>
73799
73800         * modules/strtok_r: New file.
73801
73802         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
73803         strtok_r.
73804
73805 2004-11-11  Simon Josefsson  <jas@extundo.com>
73806
73807         * m4/strtok_r.m4: New file.
73808
73809         * m4/getopt.m4: Replace opterr.
73810
73811 2004-11-11  Simon Josefsson  <jas@extundo.com>
73812
73813         * lib/strtok_r.h, strtok_r.c: New file.
73814
73815 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
73816
73817         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
73818         of replacing opterr, getopt, etc.  This should handle the
73819         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
73820
73821 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
73822
73823         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
73824         we can stop lying to compilers about the constness of argv when we
73825         are compiled outside glibc.
73826         (getopt, getopt_long, getopt_long_only): Use it.
73827         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
73828         _getopt_internal, getopt): Likewise.
73829         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
73830         _getopt_long_only_r): Likewise.
73831         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
73832         _getopt_long_r, _getopt_long_only_r): Likewise.
73833
73834         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
73835         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
73836         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
73837         the other external symbols.
73838         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
73839         declaration, since the above renaming now works around collisions.
73840
73841 2004-11-11  Jim Meyering  <jim@meyering.net>
73842
73843         * lib/linebreak.c: Remove trailing blanks.
73844         * lib/alloca_.h: Likewise.
73845         * lib/acosl.c: Likewise.
73846         * lib/euidaccess.c: Likewise.
73847         * lib/allocsa.h: Likewise.
73848
73849 2004-11-10  Simon Josefsson  <jas@extundo.com>
73850
73851         * m4/getaddrinfo.m4: New file.
73852
73853 2004-11-10  Simon Josefsson  <jas@extundo.com>
73854
73855         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
73856
73857 2004-11-10  Simon Josefsson  <jas@extundo.com>
73858
73859         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
73860         getaddrinfo.
73861
73862         * modules/getaddrinfo: New file.
73863
73864 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
73865
73866         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
73867
73868 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
73869
73870         * lib/mktime.c (SHR): New macro, which is a portable
73871         substitute for >> that should work even on Crays.
73872         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
73873         Problem reported by Mark D. Baushke in
73874         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
73875         * lib/getdate.y (SHR): Likewise.
73876         (tm_diff): Use it.
73877         * lib/strftime.c (SHR): Likewise.
73878         (tm_diff): Use it.
73879         * lib/quotearg.c (struct quoting_options): Use unsigned int for
73880         quote_these_too, so that right shifts are well defined.  All uses
73881         changed.
73882
73883 2004-11-10  Jim Meyering  <jim@meyering.net>
73884
73885         Ensure that no close failure goes unreported.
73886         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
73887         return early when it seems there's nothing to flush.
73888         Don't include __fpending.h.
73889
73890 2004-11-10  Jim Meyering  <jim@meyering.net>
73891
73892         * modules/closeout (Depends-on): Remove fpending.
73893
73894 2004-11-10  Jim Meyering  <jim@meyering.net>
73895
73896         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
73897
73898 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
73899
73900         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
73901         gl_FUNC_STRFTIME.
73902         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
73903         and AC_REQUIRE when possible, to avoid duplicate checks.
73904         Check for <wchar.h>.
73905
73906 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
73907
73908         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
73909
73910 2004-11-09  Bruno Haible  <bruno@clisp.org>
73911
73912         * m4/sockpfaf.m4: New file.
73913
73914 2004-11-05  Bruno Haible  <bruno@clisp.org>
73915
73916         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
73917         Reported by Mark D. Baushke <mdb@cvshome.org>.
73918
73919 2004-11-04  Bruno Haible  <bruno@clisp.org>
73920
73921         2004-09-11  Bruno Haible  <bruno@clisp.org>
73922                 * allocsa.valgrind: New file.
73923         2004-02-06  Bruno Haible  <bruno@clisp.org>
73924                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
73925                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
73926                 Reported by Christopher Seip <chris.seip@hp.com>.
73927
73928 2004-11-04  Bruno Haible  <bruno@clisp.org>
73929
73930         * modules/allocsa (Files): Add lib/allocsa.valgrind.
73931         (Makefile.am): Distribute it.
73932
73933 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
73934
73935         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
73936         with errno == ERANGE if the buffer is too small.
73937         Problem reported by Mark D. Baushke.
73938
73939 2004-11-03  Albert Chin  <china@thewrittenword.com>
73940             Paul Eggert  <eggert@cs.ucla.edu>
73941
73942         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
73943         equivalent, substitute $ac_type for equivalent type rather than
73944         blindly using uint32_t *always* which won't work if uint32_t is not
73945         available.  Define _UINT32_T to work around typedef of uint32_t if
73946         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
73947         2.5.1.
73948
73949 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
73950
73951         * m4/jm-macros.m4: Sync from coreutils.
73952         (gl_MACROS): Check for mbrlen, for pathchk.
73953         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
73954
73955 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
73956
73957         * lib/xreadlink.c (MAXSIZE): New macro.
73958         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
73959         size does not exceed MAXSIZE.  Avoid cast.
73960         As suggested by Mark D. Baushke in
73961         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
73962         if readlink fails with buffer size just under MAXSIZE, try again
73963         with MAXSIZE.
73964
73965 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
73966
73967         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
73968
73969 2004-11-02  Derek R. Price  <derek@ximbiot.com>
73970         and  Paul Eggert  <eggert@cs.ucla.edu>
73971
73972         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
73973         (get_date): Overparenthesize to avoid GCC warning.
73974
73975 2004-11-02  Bruno Haible  <bruno@clisp.org>
73976
73977         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
73978         returns void.
73979
73980 2004-11-02  Bruno Haible  <bruno@clisp.org>
73981
73982         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
73983         function returns void.
73984
73985 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
73986
73987         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
73988         fflush_unlocked, flockfile, funlockfile, funlockfile,
73989         fputs_unlocked, putc_unlocked.
73990
73991 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
73992
73993         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
73994         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
73995         already declared.
73996
73997 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
73998
73999         * modules/getdate (Files): Add doc/getdate.texi.
74000         (Depends-on): Add setenv, xalloc.
74001
74002 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
74003
74004         * lib/getdate.y: Add support for TZ="foo" within a date string.
74005         Fix some bugs near time_t boundaries.  Reject dates with
74006         out-of-range components, e.g., "Sept 31".
74007         Include <stdlib.h>, "setenv.h", "xalloc.h".
74008         (ISDIGIT_LOCALE): Remove; unused.
74009         Note that the TZ and time functions used here are not reentrant.
74010         (mktime_ok, get_tz): New functions.
74011         (TZBUFSIZE): New constant.
74012         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
74013         This requires that we sometimes generate our own TZ="XXX..." setting.
74014
74015 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
74016
74017         * doc/getdate.texi: New file, from coreutils with modifications for
74018         the new TZ parsing.
74019
74020 2004-10-27  Derek R. Price  <derek@ximbiot.com>
74021
74022         * lib/mktime.c (not_equal_tm): Remove redundant check.
74023
74024 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
74025
74026         * modules/regex (lib_SOURCES): Add regex.c.
74027         Reported by James Youngman in
74028         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
74029
74030 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
74031
74032         * lib/getdate.y: Use Bison 1.875 features, and some minor
74033         code cleanups.  This change does not affect semantics.
74034         Don't include <stdlib.h>; no longer needed.
74035         Don't include unlocked-io.h; only the "#if TEST" code uses
74036         stdio, and performance isn't crucial there.
74037         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
74038         Bison 1.875 features as described below.
74039         All uses of "PC." replaced by "pc->".
74040         (YYSTYPE): Add a forward declaration.
74041         (yylex, yyerror): Use full prototypes in forward decls.
74042         Use "%pure-parser" rather than obsolescent "%pure_parser".
74043         Use %parse-param and %lex-param instead of obsolescent
74044         YYPARSE_PARAM and YYLEX_PARAM.
74045         (meridian_table, month_and_day_table, time_units_table,
74046         relative_time_table, time_zone_table, military_table,
74047         lookup_zone, lookup_word, get_date):
74048         Use NULL instead of 0 where appropriate.
74049         (to_hour): Avoid abort (), to avoid a dependency on
74050         stdlib.h.
74051         (yyerror, yylex): Now accepts parser_control * arg.
74052         (main) [TEST]: Use '\0' rather than 0 for char.
74053
74054 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
74055
74056         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
74057
74058 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
74059
74060         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
74061         It's now the caller's responsibility to handle the case where
74062         !HAVE_GETPAGESIZE && !defined getpagesize.
74063
74064         * lib/mktime.c (leapyear): Arg is long int, not int.
74065
74066 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
74067
74068         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
74069
74070 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
74071
74072         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
74073         missing.  Problem reported by James Youngman.
74074
74075 2004-10-16  Simon Josefsson  <jas@extundo.com>
74076
74077         * gnulib-tool: Fix comments.  Fix parse problem.
74078         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
74079
74080 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
74081
74082         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
74083         implementation of getopt_long.  Problem reported by Alexander Taler in:
74084         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
74085
74086 2004-10-15  Bruno Haible  <bruno@clisp.org>
74087
74088         * gnulib-tool: Untabify. Initialize supplied_libname.
74089         (func_usage): More homogenous output.
74090         (func_modules_transitive_closure, func_modules_to_filelist,
74091         func_emit_lib_Makefile_am): New functions.
74092         (func_import): New function, extracted from big case statement. Use
74093         func_get_license, func_modules_transitive_closure,
74094         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
74095         opt_lgpl. Don't use test -a, as it's not portable.
74096         (func_create_testdir): Use func_modules_transitive_closure,
74097         func_modules_to_filelist, func_emit_lib_Makefile_am.
74098
74099 2004-10-15  Bruno Haible  <bruno@clisp.org>
74100
74101         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
74102
74103 2004-10-15  Bruno Haible  <bruno@clisp.org>
74104
74105         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
74106         the portions belonging to each module.
74107         Suggested by Derek Robert Price <derek@ximbiot.com>.
74108
74109 2004-10-12  Simon Josefsson  <jas@extundo.com>
74110
74111         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
74112         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
74113         to real functions.
74114
74115 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
74116
74117         * modules/vsnprintf: New file.
74118
74119 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
74120
74121         * m4/vsnprintf.m4: New file.
74122
74123 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
74124
74125         * lib/vsnprintf.h: New file.
74126         * lib/vsnprintf.c: New file.
74127
74128 2004-10-11  Bruno Haible  <bruno@clisp.org>
74129
74130         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
74131         vsnprintf.
74132
74133 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
74134
74135         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
74136
74137 2004-10-07  Bruno Haible  <bruno@clisp.org>
74138
74139         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
74140         fits into the provided buffer.
74141
74142 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
74143
74144         * lib/diacrit.c, diacrit.h: Add GPL notice.
74145
74146         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
74147         notice.
74148         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
74149         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
74150         This avoids a potential constant-folding bug.
74151
74152 2004-10-05  Bruno Haible  <bruno@clisp.org>
74153
74154         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
74155         for the declaration of strsep.
74156
74157 2004-10-05  Bruno Haible  <bruno@clisp.org>
74158
74159         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
74160
74161 2004-10-04  Simon Josefsson  <jas@extundo.com>
74162
74163         * modules/memmem: New file.
74164         * tests/test-memmem.c: New file.
74165         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
74166
74167 2004-10-04  Simon Josefsson  <jas@extundo.com>
74168
74169         * m4/memmem.m4: New file.
74170
74171 2004-10-04  Simon Josefsson  <jas@extundo.com>
74172
74173         * lib/memmem.h: New file.
74174         * lib/memmem.c: New file, taken from glibc.
74175
74176 2004-10-04  Simon Josefsson  <jas@extundo.com>
74177
74178         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
74179         '#ifdef USE_UNLOCKED_IO'.
74180
74181 2004-10-04  Simon Josefsson  <jas@extundo.com>
74182
74183         * config/srclist.txt: Add memmem from glibc.
74184
74185 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
74186
74187         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
74188
74189         * modules/argmatch, modules/argp, modules/closeout, modules/error,
74190         modules/exclude, modules/getdate, modules/getline,
74191         modules/getndelim2, modules/getpass, modules/getpass-gnu,
74192         modules/getusershell, modules/linebuffer, modules/md5,
74193         modules/mountlist, modules/posixtm, modules/readtokens,
74194         modules/readutmp, modules/regex, modules/sha1,
74195         modules/version-etc, modules/yesno:
74196         Remove dependency on unlocked-io.
74197
74198 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
74199
74200         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
74201
74202         * m4/unlocked-io.m4: Add copyright notice.
74203         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
74204
74205 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
74206
74207         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
74208         * lib/xmalloc.c (xmemdup): Likewise.
74209         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
74210         XFREE): Remove these long-obsolescent macros.
74211         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
74212         * lib/xstrdup.c: Remove.
74213
74214         * lib/regex.c (re_comp): Cast gettext return value to char *,
74215         Problem reported by Martin Neitzel via Mark D. Baushke.
74216
74217 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
74218
74219         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
74220         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
74221         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
74222         regex.c, sha1.c, version-etc.c, yesno.c:
74223         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
74224         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
74225         the includer's responsibility.
74226
74227         Sync from coreutils.
74228
74229         * lib/modechange.c (mode_compile): Don't decrement a pointer that
74230         points to the start of a string, as the C Standard says the
74231         resulting behavior is undefined.
74232
74233         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
74234         simple -> simple_backups, numbered_existing ->
74235         numbered_existing_backups, numbered -> numbered_backups
74236         to avoid shadowing problems.  All uses changed.
74237         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
74238         * lib/backupfile.c (check_extension, numbered_backup):
74239         Rename locals to avoid shadowing 'basename'.
74240         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
74241         once.
74242
74243         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
74244         * lib/.cvsignore: Add getopt.h.
74245
74246 2004-10-04  Bruno Haible  <bruno@clisp.org>
74247
74248         * modules/README: New file.
74249         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
74250         not a module.
74251
74252 2004-10-02  Jim Meyering  <jim@meyering.net>
74253
74254         * lib/dirfd.h, getpagesize.h: Add copyright notice.
74255
74256 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
74257
74258         * modules/strsep: New file.
74259
74260 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
74261
74262         * m4/strsep.m4: New file.
74263
74264 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
74265
74266         * lib/strsep.h: New file.
74267         * lib/strsep.c: New file.
74268
74269 2004-10-01  Simon Josefsson  <jas@extundo.com>
74270
74271         * lib/snprintf.c (snprintf): Handle size==0.
74272
74273 2004-10-01  Simon Josefsson  <jas@extundo.com>
74274             Bruno Haible  <bruno@clisp.org>
74275
74276         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
74277         (snprintf): Declare 'args'.
74278
74279 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
74280
74281         * lib/snprintf.c: Remove comments as to why each header is needed.
74282
74283 2004-10-01  Bruno Haible  <bruno@clisp.org>
74284
74285         * MODULES.html.sh: Add strsep.
74286
74287 2004-09-30  Simon Josefsson  <jas@extundo.com>
74288
74289         * modules/snprintf: New file.
74290
74291 2004-09-30  Simon Josefsson  <jas@extundo.com>
74292
74293         * m4/snprintf.m4: New file.
74294
74295 2004-09-30  Simon Josefsson  <jas@extundo.com>
74296
74297         * lib/snprintf.h, lib/snprintf.c: New files.
74298
74299 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
74300
74301         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
74302         (hol_entry_help): Never translate an empty string.
74303         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
74304         * lib/argp.h (OPTION_NO_TRANS): New option.
74305
74306 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
74307
74308         * modules/argp (Maintainer): Replace Simon Josefsson
74309         by Sergey Poznyakoff.
74310
74311 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
74312
74313         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
74314         changes merged back into glibc.
74315
74316 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
74317
74318         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
74319
74320 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
74321
74322         * lib/xvasprintf.c: Include xalloc.h.
74323         (xvasprintf): Use xalloc_die, not xmalloc_die.
74324
74325 2004-09-29  Bruno Haible  <bruno@clisp.org>
74326
74327         * modules/alloca-opt: New file, derived from modules/alloca.
74328         * modules/allocsa: Depend on alloca-opt instead of alloca.
74329         * modules/setenv: Likewise.
74330         * modules/vasnprintf: Likewise.
74331         * MODULES.html.sh: Add alloca-opt.
74332
74333 2004-09-28  Simon Josefsson  <jas@extundo.com>
74334
74335         * gnulib-tool: New parameter --lgpl, to asseert that modules are
74336         LGPL, and to replace license template from GPL to LGPL.
74337
74338 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
74339
74340         * modules/dummy: Change license to LGPL.
74341
74342 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
74343
74344         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
74345
74346 2004-09-24  Simon Josefsson  <jas@extundo.com>
74347
74348         * modules/minmax (License): Change from GPL to LGPL.
74349
74350 2004-09-23  Simon Josefsson  <jas@extundo.com>
74351
74352         * gnulib-tool (--import): Typo.
74353
74354 2004-09-23  Simon Josefsson  <jas@extundo.com>
74355
74356         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
74357
74358 2004-09-22  Bruno Haible  <bruno@clisp.org>
74359
74360         * modules/*: Add 'License' field.
74361         * gnulib-tool: Accept --extract-license option.
74362         (func_get_license): New function.
74363
74364 2004-09-21  Bruno Haible  <bruno@clisp.org>
74365
74366         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
74367         Reported by Simon Josefsson.
74368
74369 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
74370
74371         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
74372         gl_AC_TYPE_LONG_LONG.
74373
74374 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
74375
74376         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
74377
74378 2004-09-18  Simon Josefsson  <jas@extundo.com>
74379         and  Paul Eggert  <eggert@cs.ucla.edu>
74380
74381         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
74382         calls with autoreconf.  Define GL_LIB.
74383
74384 2004-09-14  Karl Berry  <karl@gnu.org>
74385
74386         * config/srclist.txt: unsync setenv.c, sigh.
74387
74388 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
74389
74390         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
74391         Problem reported by Bruno Haible in:
74392         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
74393
74394 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
74395
74396         * config/srclist.txt: Comment out argp-pvh.c.
74397
74398 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
74399
74400         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
74401         in case some system header has #define'd it.  Problem reported by
74402         Soeren D. Schulze in
74403         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
74404
74405 2004-09-09  Karl Berry  <karl@gnu.org>
74406
74407         * regex.[ch]: delete from the root.  These were supposed to be
74408                 synced with emacs cvs, but this has not happened for about
74409                 a year, and anyway nothing else uses emacs regex.[ch].
74410                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
74411                 lib/regex[.ch] is untouched.
74412
74413 2004-09-09  Bruno Haible  <bruno@clisp.org>
74414
74415         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
74416
74417 2004-09-09  Bruno Haible  <bruno@clisp.org>
74418
74419         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
74420         modifications.
74421         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
74422
74423 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
74424
74425         * modules/xvasprintf: New file.
74426         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
74427
74428 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
74429
74430         * lib/xvasprintf.h: New file.
74431         * lib/xvasprintf.c: New file.
74432         * lib/xasprintf.c: New file.
74433
74434 2004-09-08  Bruno Haible  <bruno@clisp.org>
74435
74436         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
74437
74438 2004-09-08  Bruno Haible  <bruno@clisp.org>
74439
74440         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
74441         length is > INT_MAX.
74442         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
74443         more.
74444
74445 2004-09-08  Bruno Haible  <bruno@clisp.org>
74446
74447         * lib/stdint_.h: New file, taken from GNU clisp.
74448
74449 2004-09-08  Bruno Haible  <bruno@clisp.org>
74450             Oskar Liljeblad  <oskar@osk.mine.nu>
74451
74452         * modules/stdint: New file.
74453         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
74454
74455 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
74456
74457         Import from coreutils.
74458         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
74459         strings on unbounded length.  alloca's performance benefits aren't
74460         that important here.
74461         (V_STRDUP): Remove.
74462         (parse_with_separator): New function, with most of the internals
74463         of the old parse_user_spec.  Allow user to omit both user and group,
74464         for compatibility with FreeBSD.
74465         Clone only the user name, not the entire spec.
74466         Do not set *uid, *gid unless entirely successful.
74467         Avoid memory leak in some failing cases.
74468         Fix regression for USER.GROUP reported by Dmitry V. Levin in
74469         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
74470         (parse_user_spec): Rewrite to use parse_with_separator.
74471
74472 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
74473
74474         * modules/userspec: Don't depend on alloca.
74475
74476 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
74477
74478         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
74479
74480 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
74481
74482         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
74483         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
74484         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
74485
74486 2004-08-16  Simon Josefsson  <jas@extundo.com>
74487
74488         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
74489         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
74490         Add --dry-run for --import.
74491         Let user provided command line parameters override configure.ac
74492         settings.
74493
74494 2004-08-12  Simon Josefsson  <jas@extundo.com>
74495
74496         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
74497         as discussed with Paul Eggert in threads rooted at
74498         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
74499         and
74500         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
74501         Before, the test was empty, and relied on ELIDE_CODE in source
74502         code.)
74503         (gl_PREREQ_GETOPT): New macro.
74504         (gl_GETOPT): Use them.
74505
74506 2004-08-12  Simon Josefsson  <jas@extundo.com>
74507
74508         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
74509         * lib/getopt_.h: Renamed from getopt.h.
74510
74511 2004-08-12  Simon Josefsson  <jas@extundo.com>
74512
74513         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
74514         Change default library name from libfoo to libgnu.
74515         Now, if you have a configure.ac that says:
74516                 gl_SOURCE_BASE(gl)
74517                 gl_M4_BASE(gl/m4)
74518                 gl_MODULES(error getopt etcetera)
74519                 gl_INIT
74520         you can import all you need by running:
74521                 ../gnulib/gnulib-tool --import
74522
74523         * modules/getopt (Files): Rename getopt.h to getopt_.h.
74524         (Makefile.am): Rewrite, use logic from argz.
74525         (Include): Use <getopt.h> instead of "getopt.h".
74526
74527 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
74528
74529         * modules/argp (Files): Add m4/unlocked-io.m4.
74530         (Depends-on): Add extensions.
74531
74532 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
74533
74534         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
74535         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
74536         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
74537         Check for program_invocation_name, program_invocation_short_name,
74538         flockfile, funlockfile, features.h, _getopt_long_only_r.
74539
74540 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
74541
74542         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
74543         its complicated substitute.
74544         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
74545         and program_invocation_name.
74546         (__argp_basename) [!_LIBC]: Remove; the only use was
74547         replaced by its body.
74548         (__argp_short_program_name): Change condition from
74549         !defined __argp_short_program_name to
74550         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
74551         to match argp-namefrob.h.
74552         (__argp_failure): Don't assume strerror_r returns char *.
74553         * lib/argp-parse.c (N_): Define unconditionally.
74554         (argp_default_options): Fill out initializers with 0 to avoid
74555         gcc warnings.
74556
74557 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
74558
74559         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
74560         getopt1.c.
74561
74562 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
74563
74564         Merge from coreutils.
74565
74566         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
74567
74568         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
74569         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
74570
74571 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
74572
74573         Merge from coreutils.
74574
74575         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
74576         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
74577         for Reliant Unix 5.43.
74578
74579         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
74580         (union fooround): Use uintmax_t, not long int.
74581         The rest is a merge from libc:
74582         [defined _LIBC]: Include <shlib-compat.h>.
74583         (_obstack) [defined _LIBC]: Remove after 2.3.4.
74584
74585         * lib/settime.c (settime): Recode to avoid warning with
74586         Sun Forte C 6U2.
74587
74588         * lib/strverscmp.c: Convert to UTF-8.
74589
74590 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
74591
74592         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
74593         m4/uintmax_t.m4.
74594
74595 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
74596
74597         * modules/xalloc-die: New file.
74598         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
74599
74600         * modules/md5 (Files): Add m4/uint32_t.m4.
74601         * modules/sha1: Renamed from modules/sha.
74602         (Files):
74603         Rename lib/sha.h to lib/sha1.h.
74604         Rename lib/sha.c to lib/sha1.c.
74605         Rename m4/sha.m4 to m4/sha1.m4.
74606         (lib_SOURCES): Likewise.
74607         (configure.ac): Rename gl_SHA to gl_SHA1.
74608         (Include): sha.h -> sha1.h.
74609
74610 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
74611
74612         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
74613         * m4/sha1.m4: Renamed from sha.m4.
74614         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
74615
74616 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
74617
74618         * lib/obstack.h (obstack_empty_p):
74619         Don't assume that chunk->contents is suitably aligned.
74620         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
74621         Likewise. Problem reported by Benno in
74622         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
74623
74624         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
74625         readable.  This could be improved further but it'd take some work.
74626
74627 2004-08-08  Simon Josefsson  <jas@extundo.com>
74628
74629         * modules/xgethostname (Depends-on): Remove exit and error (not
74630         used).
74631
74632         * modules/getpass-gnu: Add getpass.h.
74633         (Depends-on): Add stdbool.
74634         * modules/getpass: Add getpass.h.
74635
74636 2004-08-08  Simon Josefsson  <jas@extundo.com>
74637
74638         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
74639         Check getpass declaration.
74640
74641 2004-08-08  Simon Josefsson  <jas@extundo.com>
74642
74643         * lib/xgethostname.c: Don't include error.h (not used).
74644
74645         * lib/getpass.h: Add.
74646         * lib/getpass.c: Include getpass.h first.
74647
74648 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
74649
74650         * lib/xalloc-die.c: New file.
74651         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
74652         All uses removed.
74653         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
74654         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
74655         xalloc-die.c.
74656         (_, N_, xalloc_die): Move to xalloc-die.c.
74657         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
74658         so that we needn't mess with xalloc_msg_memory_exhausted.
74659
74660         * lib/sha1.h: Renamed from sha.h.
74661         (SHA1_H): Renamed from _SHA_H.
74662         (sha1_ctx): Renamed from sha_ctx.
74663         (sha1_init_ctx): Renamed from sha_init_ctx.
74664         (sha1_process_block): Renamed from sha_process_block.
74665         (sha1_process_bytes): Renamed from sha_process_bytes.
74666         (sha1_finish_ctx): Renamed from sha_finish_ctx.
74667         (sha1_read_ctx): Renamed from sha_read_ctx.
74668         (sha1_stream): Renamed from sha_stream.
74669         (sha1_buffer): Renamed from sha_buffer.
74670         * lib/sha1.c: Likewise; renamed from sha.c.
74671         Do not include <sys/types.h>.
74672         Include <stddef.h> rather than <stdlib.h>.
74673
74674 2004-08-08  Bruno Haible  <bruno@clisp.org>
74675
74676         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
74677         FILESYSTEM_PREFIX_LEN.
74678         * lib/progreloc.c: Likewise.
74679         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
74680
74681 2004-08-06  Simon Josefsson  <jas@extundo.com>
74682
74683         * modules/progname (Depends-on): Don't depend on stdbool.
74684
74685 2004-08-06  Simon Josefsson  <jas@extundo.com>
74686
74687         * modules/getsubopt: New file.
74688         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
74689         getsubopt.
74690
74691 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
74692
74693         More merge from coreutils.
74694
74695         * m4/utimens.m4, m4/utimecmp.m4: New files.
74696         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
74697         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
74698         prereq.m4, sha.m4: Import changes from coreutils.
74699
74700 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
74701
74702         More merge from coreutils.
74703         * modules/raise, modules/readtokens0, modules/utimens:
74704         * modules/utimecmp, module/xnanosleep: New files.
74705         * modules/strftime: Add lib/strftime.h.
74706         Change include from <time.h> to "strftime.h".
74707         * modules/yesno: Add lib/yesno.h.
74708         * modules/backupfile: Remove lib/addext.c.
74709         * modules/euidaccess: Add stat-macros.h.
74710         * modules/canonicalize, modules/euidaccess,
74711         modules/filemode, modules/lchown, modules/makepath,
74712         modules/rmdir, modules/stat: Likewise.
74713
74714 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
74715
74716         Merge from tar.
74717         * lib/argp-help.c (make_hol, hol_append): Don't assume that
74718         SIZE_MAX is a valid preprocessor constant.
74719         (__argp_basename): Change from "#ifndef _LIBC"
74720         to "#ifndef __argp_short_program_name", so that
74721         we don't compile these functions for tar.
74722
74723         More merges from coreutils.
74724         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
74725         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
74726         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
74727         * lib/addext.c: Remove; no longer needed.
74728         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
74729         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
74730         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
74731         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
74732         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
74733         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
74734         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
74735         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
74736         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
74737         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
74738         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
74739         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
74740         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
74741         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
74742         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
74743         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
74744         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
74745         Import changes from coreutils.
74746
74747 2004-08-05  Simon Josefsson  <jas@extundo.com>
74748
74749         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
74750
74751 2004-08-05  Simon Josefsson  <jas@extundo.com>
74752
74753         * m4/getsubopt.m4: New file.
74754
74755 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
74756
74757         Merge from coreutils.
74758
74759         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
74760         * m4/getcwd-path-max.m4: New files.
74761
74762         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
74763         FILESYSTEM_PREFIX_LEN ->
74764         FILE_SYSTEM_PREFIX_LEN.
74765         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
74766         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
74767         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
74768         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
74769
74770         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
74771         prerequisite modules now handle the DOS stuff.
74772         Don't check for unistd.h.
74773
74774 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
74775
74776         Merge from coreutils.
74777
74778         * lib/.gdb-history: Remove; this doesn't belong here.
74779
74780         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
74781         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
74782         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
74783         * lib/getcwd.c: New files.
74784
74785         * lib/dirname.h: Include <stdbool.h>.
74786         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
74787         for consistency with POSIX terminology.  All uses changed.
74788         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
74789         (strip_trailing_slashes): Use bool for booleans.
74790         * lib/stripslash.c (strip_trailing_slashes): Likewise.
74791
74792         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
74793         sometimes returns a positive errno value even when it succeeds.
74794         (print_errno_message) [!LIBC]: Fall back on strerror if
74795         __strerror_r fails.
74796
74797         * lib/path-concat.c (mempcpy): Don't define if a system header defines
74798         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
74799         (longest_relative_suffix): New function.
74800         (path_concat): Use it.  Assume first argument is not NULL.
74801         Port to DOS.  Omit redundant separators.
74802         Report an error instead of returning NULL.
74803         Use mempcpy instead of memcpy.
74804         (xpath_concat): Remove: not declared or used.
74805
74806         * lib/same.h: Include <stdbool.h>
74807         (same_name): Return bool, not int.
74808         * lib/same.c (same_name): Likewise.
74809         (errno): Don't declare; we assume C89 or better now.
74810
74811         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
74812         if not already defined.
74813
74814         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
74815         * lib/dup-safer.c (errno): Likewise.
74816
74817 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
74818
74819         Merge from coreutils.
74820         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
74821         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
74822         * modules/path-concat: Don't depend on strdup.
74823
74824 2004-08-03  Simon Josefsson  <jas@extundo.com>
74825
74826         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
74827         * lib/progname.h: Don't include stdbool.h.
74828
74829 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
74830
74831         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
74832         * MODULES.html.sh (func_all_modules): Remove fatal.
74833
74834 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
74835
74836         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
74837
74838 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
74839
74840         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
74841         working.
74842
74843 2004-08-02  Simon Josefsson  <jas@extundo.com>
74844
74845         * lib/getsubopt.h: New file, with comments from Bruno Haible.
74846         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
74847         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
74848
74849 2004-08-01  Simon Josefsson  <jas@extundo.com>
74850
74851         * lib/xgetdomainname.c: Include stdlib.h, for free().
74852
74853 2004-07-19  Bruno Haible  <bruno@clisp.org>
74854
74855         * MODULES.html.sh (func_all_modules): Add dummy.
74856
74857 2004-07-16  Simon Josefsson  <jas@extundo.com>
74858
74859         * modules/dummy: New file.
74860
74861 2004-07-16  Simon Josefsson  <jas@extundo.com>
74862
74863         * lib/dummy.c: New file.
74864
74865 2004-07-16  Bruno Haible  <bruno@clisp.org>
74866
74867         * lib/backupfile.h: Add extern "C" for C++.
74868         * lib/closeout.h: Likewise.
74869         * lib/copy-file.h: Likewise.
74870         * lib/findprog.h: Likewise.
74871         * lib/full-write.h: Likewise.
74872         * lib/pathname.h: Likewise.
74873         * lib/progname.h: Likewise.
74874         * lib/stpcpy.h: Likewise.
74875         * lib/stpncpy.h: Likewise.
74876         * lib/strcase.h: Likewise.
74877         * lib/strstr.h: Likewise.
74878         * lib/xalloc.h: Likewise.
74879
74880         * lib/mbswidth.h: Add extern "C" for C++.
74881         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
74882
74883 2004-07-13  Robert Millan  <robertmh@gnu.org>
74884
74885         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
74886
74887 2004-07-09  Simon Josefsson  <jas@extundo.com>
74888
74889         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
74890         failed without this.)
74891
74892 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
74893
74894         * modules/chown (Files): Add lib/fchown-stub.c, since
74895         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
74896
74897 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
74898
74899         * lib/fchown-stub.c: New file.
74900
74901 2004-06-24  Jim Meyering  <jim@meyering.net>
74902
74903         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
74904
74905 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
74906
74907         * modules/argz: Omit "#include".
74908
74909         * MODULES.html.sh (func_all_modules): Add calloc, to match
74910         2004-06-01 addition of calloc module.
74911
74912 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
74913
74914         * m4/argz.m4: New file, which is autoupdated from libtool.
74915
74916 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
74917
74918         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
74919         libtool.
74920
74921 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
74922
74923         * config/srclist-update: Don't insist on "USA." before the
74924         close-comment, as libtool omits the period and puts the */ on a
74925         separate line.
74926         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
74927         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
74928
74929 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
74930
74931         * modules/argz: New file.
74932         * MODULES.html.sh (func_all_modules): Add argz.
74933
74934 2004-06-12  Jim Meyering  <jim@meyering.net>
74935         and  Paul Eggert  <eggert@cs.ucla.edu>
74936
74937         * modules/hash (Files): Add lib/xalloc.h.
74938         * modules/pipe (Depends-on): Add wait-process.
74939         * modules/stat (Depends-on): Add xalloc.
74940         * modules/userspec (Files): Add lib/userspec.h.
74941         * modules/xstrto
74942
74943         Upgrade from gettext-0.13.
74944         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
74945         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
74946         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
74947
74948 2004-06-10  Jim Meyering  <jim@meyering.net>
74949
74950         * lib/calloc.c: New file.
74951
74952 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
74953
74954         * lib/getdate.y (yylex): Allow space between sign and number.
74955         Problem reported by Dan Jacobson.
74956
74957 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
74958
74959         Merge from coreutils CVS.
74960
74961         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
74962         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
74963         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
74964         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
74965         xstrtol.m4: Fix copyright date and/or serial number.
74966
74967         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
74968         See if we need an fchown replacement.
74969         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
74970         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
74971         and use the replacement function if we detect either defect.
74972
74973         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
74974         gl_UTIMECMP.
74975
74976 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
74977         and  Jim Meyering  <jim@meyering.net>
74978
74979         Merge from coreutils CVS.
74980
74981         * lib/stat-macros.h: New file, with contents from file-type.h
74982         and coreutils' system.h.
74983         * lib/file-type.c: Include "stat-macros.h".
74984         * lib/file-type.h (file_type): Move all macro definitions to new file,
74985         stat-macros.h.
74986
74987         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
74988         Wrap old code with this conditional.
74989         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
74990         function that does not dereference symlinks.
74991         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
74992
74993         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
74994         dependency problems.
74995         (xreadlink): Accept new arg SIZE, for efficiency.
74996         All decls and uses changed.
74997         * lib/xreadlink.h: Include <stddef.h>, for size_t.
74998
74999         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
75000         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
75001
75002         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
75003         sysexits.h.
75004
75005 2004-06-01  Jim Meyering  <jim@meyering.net>
75006
75007         * m4/calloc.m4: New file.
75008
75009 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
75010
75011         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
75012         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
75013         Also, fix a typo in a diagnostic.
75014
75015 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
75016
75017         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
75018         or AC_FUNC_REALLOC.
75019
75020 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
75021
75022         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
75023         macros to be defined.
75024         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
75025         the allocator returns NULL because the requested size is zero.
75026
75027 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
75028
75029         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
75030         var.  Add comment explaining why libc still defines it.  This
75031         merges the following patch from glibc:
75032         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
75033
75034 2004-05-20  Andreas Schwab  <schwab@suse.de>
75035
75036         * m4/free.m4: Replace free if it not known to work, not the other
75037         way round.
75038
75039 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
75040
75041         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
75042         present in glibc since revision 1.1 of this file.
75043         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
75044         obstack_alignment_mask, obstack_alloc, obstack_base,
75045         obstack_blank, obstack_blank_fast, obstack_chunk_size,
75046         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
75047         obstack_grow0, obstack_init, obstack_int_grow,
75048         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
75049         obstack_next_free, obstack_object_size, obstack_ptr_grow,
75050         obstack_ptr_grow_fast, obstack_room): Remove declarations of
75051         nonexistent functions.
75052
75053 2004-05-18  Karl Berry  <karl@gnu.org>
75054
75055         * config/srclist.txt: break link for vasnprintf.c.
75056
75057 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
75058
75059         Port obstack to the AS/400, where pointers are 16 bytes wide and
75060         you cannot cast an integer to a valid pointer.  This patch is
75061         currently waiting to be integrated into glibc; see
75062         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
75063
75064         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
75065         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
75066         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
75067         (struct obstack): temp member is now a union of a pointer and
75068         an integer, instead of an integer.  All integer uses changed.
75069         This does not affect the physical layout of struct obstack,
75070         except on hosts (like the AS/400) where the size or alignment of
75071         void * is greater than that of ptrdiff_t.
75072         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
75073         __STDC__)]: Store temporary in pointer member of union, not
75074         integer member.
75075         * lib/obstack.c: Include <stddef.h>, for offsetof.
75076         (struct fooalign): Remove; it doesn't need a name.
75077         (union fooround): Change double to long double, and add void *.
75078         (DEFAULT_ALIGNMENT): Use offsetof to compute.
75079         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
75080         not a macro.  Hence the values are always int; so remove all
75081         casts-to-int in uses.
75082
75083 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
75084
75085         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
75086         we can get this patch merged into glibc.
75087
75088 2004-05-17  Derek R. Price  <derek@ximbiot.com>
75089             Paul Eggert  <eggert@cs.ucla.edu>
75090
75091         * m4/argp: Depend on alloca.
75092
75093 2004-05-17  Derek R. Price  <derek@ximbiot.com>
75094             Paul Eggert  <eggert@cs.ucla.edu>
75095
75096         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
75097         freecoding.
75098
75099 2004-05-17  Bruno Haible  <bruno@clisp.org>
75100
75101         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
75102         precision that consists of a '.' followed by an empty digit string.
75103         Patch by Tor Lillqvist <tml@iki.fi>.
75104
75105 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
75106
75107         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
75108         for backward compatibility with older code.  We need our own
75109         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
75110         it under some other name, and our alloca.h will define it.
75111
75112 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
75113             Derek Price  <derek@ximbiot.com>
75114
75115         * lib/alloca.c: Include <alloca.h>, to get our interface.
75116         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
75117         include <alloca.h> first.  Use C89 prototype for alloca; this
75118         requires including <stddef.h> for size_t.  Use extern "C" if C++.
75119         Use #elif for simplicity, since we can assume C89 now.
75120         Don't try to source the system alloca.h since it will not be found
75121         and to prevent recursively including its replacement.
75122         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
75123         * lib/regex.c: Likewise.
75124
75125 2004-05-16  Derek Price  <derek@ximbiot.com>
75126             Paul Eggert  <eggert@cs.ucla.edu>
75127
75128         getline cleanup.  This changes the getndelim2 API: both order of
75129         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
75130         no delimiter).
75131
75132         * lib/getline.c: Don't include stddef.h or stdio.h, since our
75133         interface does that.
75134         (getline): Always use getdelim, so that we don't have two
75135         copies of this code.
75136         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
75137         if available.
75138         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
75139         (GETNDELIM2_MAXIMUM): New macro.
75140         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
75141         instead of the old practice of delim2==0.  All callers changed.
75142         Return -1 on overflow, instead of returning junk.
75143         Do not set *linesize unless allocation succeeds.
75144         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
75145         that we include sys/types.h.
75146         * lib/getnline.h: Likewise.
75147         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
75148         (getndelim2): Reorder arguments.
75149         * lib/getnline.c (getnline, getndelim):
75150         Don't discard the NMAX argument.
75151         (getnline): Invoke getndelim, to avoid code duplication.
75152         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
75153         of (size_t) -1 by callers of the getnline family.
75154
75155 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
75156
75157         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
75158         Check for gettimeofday.
75159         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
75160         Check for settimeofday, stime.
75161
75162 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
75163
75164         * lib/nanosleep.c (suspended): Change its type from int to
75165         sig_atomic_t volatile.
75166         (first_call): Make it private to rpl_nanosleep, and have it
75167         be zero initially as that's a bit faster.
75168         (my_usleep): Round up fractional times instead of truncating them,
75169         as this is the usual meaning for 'sleep'.
75170
75171         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
75172         doesn't work.
75173         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
75174         (ENOSYS): Define if not defined.
75175         (settime): Fall back on stime if it exists and settimeofday fails.
75176         But don't bother with fallbacks if a method fails with errno == EPERM.
75177
75178 2004-05-11  Jim Meyering  <jim@meyering.net>
75179
75180         Prior to this change, the save_cwd caller required read access to the
75181         current directory on most systems (ones with the fchdir function).
75182
75183         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
75184         fails, try write-only, and finally, resort to using xgetcwd.
75185
75186 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
75187
75188         * lib/obstack.c, obstack.h: Import changes from libc.
75189
75190 2004-04-28  Bruno Haible  <bruno@clisp.org>
75191
75192         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
75193         also implicitly appends .exe to executables.
75194         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
75195         accepts Windows pathnames.
75196         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
75197         Treat Cygwin like Windows, since it now accepts Windows pathnames.
75198         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
75199         Treat Cygwin like Windows, since it now accepts Windows pathnames.
75200         Reported by Derek Robert Price <derek@ximbiot.com>.
75201
75202 2004-04-21  Karl Berry  <karl@gnu.org>
75203
75204         * config/srclist.txt (localcharset.c): break sync.
75205
75206 2004-04-20  Paul Eggert  <eggert@twinsun.com>
75207
75208         * m4/host-os.m4: Add a copyright notice.
75209
75210 2004-04-20  Jim Meyering  <jim@meyering.net>
75211
75212         Change UTILS_ to gl_ in AC_DEFINE'd names.
75213         Change utils_- and jm_-prefixed variables, too.
75214         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
75215         UTILS_FUNC_MKDIR_TRAILING_SLASH.
75216         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
75217
75218         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
75219         Don't emit trailing blanks.
75220         Also rename jm_-prefixed variables to have gl_ prefix.
75221
75222         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
75223         Also rename jm_-prefixed variables to have gl_ prefix.
75224
75225         * m4/jm-macros.m4: Reflect the renamings.
75226         * m4/prereq.m4: Likewise.
75227
75228 2004-04-20  Jim Meyering  <jim@meyering.net>
75229
75230         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
75231         memory.
75232
75233 2004-04-20  Jim Meyering  <jim@meyering.net>
75234             Bruno Haible  <bruno@clisp.org>
75235
75236         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
75237         memory when realloc fails.
75238
75239 2004-04-19  Jim Meyering  <jim@meyering.net>
75240
75241         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
75242         now that readutmp.c may call `free (0)'.
75243
75244 2004-04-19  Bruno Haible  <bruno@clisp.org>
75245
75246         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
75247         * m4/inttypes_h.m4: Likewise.
75248         * m4/stdint_h.m4: Likewise.
75249         * m4/intmax_t.m4: Likewise.
75250         * m4/uintmax_t.m4: Likewise.
75251
75252 2004-04-18  Jim Meyering  <jim@meyering.net>
75253
75254         * m4/prereq.m4: Don't forbid jm_ prefix.
75255
75256         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
75257         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
75258         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
75259         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
75260         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
75261         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
75262         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
75263         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
75264         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
75265         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
75266         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
75267         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
75268         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
75269         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
75270         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
75271         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
75272         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
75273         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
75274         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
75275
75276 2004-04-18  Jim Meyering  <jim@meyering.net>
75277
75278         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
75279         failure, don't leak memory and do call END_UTMP_ENT.
75280
75281 2004-04-16  Jim Meyering  <jim@meyering.net>
75282
75283         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
75284         coreutils' stat program.
75285         (gl_PREREQ): Don't require jm_PREREQ_STAT.
75286
75287 2004-04-11  Paul Eggert  <eggert@twinsun.com>
75288
75289         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
75290         C89.
75291         (CHAR_BIT): Remove, since we assume C89.
75292         Include <stdint.h> if available, as per current Autoconf CVS advice.
75293
75294 2004-03-31  Jim Meyering  <jim@meyering.net>
75295
75296         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
75297         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
75298         * m4/xalloc.m4: Likewise.
75299
75300 2004-03-30  Paul Eggert  <eggert@twinsun.com>
75301
75302         Merge from coreutils.
75303
75304         * m4/inttostr.m4: New file.
75305         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
75306         Require AM_STDBOOL_H and gl_TIMESPEC instead.
75307         Require gl_CLOCK_TIME.
75308         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
75309
75310 2004-03-30  Paul Eggert  <eggert@twinsun.com>
75311
75312         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
75313         not bool, to be more consistent with Unix conventions.
75314         Suggested by Bruno Haible.
75315
75316         Merge from coreutils.
75317
75318         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
75319         * lib/umaxtostr.c: New files.
75320
75321         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
75322         the usual <time.h> dance.
75323         (get_date): Change signature to support fractional time stamps.
75324         All callers changed.
75325         * lib/getdate.y: Include "getdate.h" first, as we can now
75326         assume C89 and don't need to worry about 'const'.
75327         Similarly, include "unlocked-io.h" near start, not in middle.
75328         Include <limits.h>.
75329         (textint.value): Use long int rather than int.
75330         (textint.digits): Use size_t rather than int.
75331         (BILLION, LOG10_BILLION): New constants.
75332         (parser_control): New member rel_ns.  Members day_ordinal,
75333         time_zone, month, day, hour, minutes, rel_year, rel_month,
75334         rel_day, rel_hour, rel_minutes, rel_seconds
75335         are now long int, not int.  Member seconds is now struct timespec,
75336         not int.  New member timespec_seen.  Members dates_seen, days_seen,
75337         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
75338         not int.
75339         (%union.intval): Now long int, not int.
75340         New member timespec.
75341         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
75342         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
75343         (spec): Now is a timespec or an item list.
75344         (timespec, items): New nonterminals.
75345         (time, rel, relunit, number, get_date):
75346         Add support for fractional seconds.
75347         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
75348         (gmtime, localtime, mktime): Remove decls; not needed with C89.
75349         (to_hour): First arg is now long int, not int.
75350         (to_year): Returns long int, not int.
75351         Don't treat year -70 like 70.
75352         (tm_diff): Returns long int, not int.
75353         (lookup_word): Use bool instead of int when appropriate.
75354         (yylex): Use size_t for count, not int.
75355         Detect overflow when parsing large integer constants.
75356         Add support for fractions.
75357         (get_date): Make pointers 'const' if possible.
75358         Use more-portable code to detect integer overflow.
75359         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
75360         Don't use ctime; it's not reliable if the year has >4 digits.
75361
75362         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
75363         This is for compatibility with BSD.
75364
75365         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
75366         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
75367         From coreutils' system.h.
75368
75369         * lib/userspec.c: Don't include "posixver.h".
75370         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
75371         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
75372         compatible extension.  Simplify code by removing a boolean int
75373         that was always nonzero if a string was nonnull.
75374
75375 2004-03-30  Jim Meyering  <jim@meyering.net>
75376
75377         Merge from coreutils.
75378
75379         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
75380         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
75381         on some systems one must include <grp.h> before it.
75382         Reported by Christian Krackowizer.
75383
75384 2004-03-30  Jim Meyering  <jim@meyering.net>
75385
75386         Merge from coreutils.
75387
75388         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
75389
75390         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
75391         an empty input stream.
75392
75393         * lib/readtokens.c: Include <stdbool.h>.
75394         (readtoken): Use `size_t' rather than int/long.
75395         All callers adjusted.
75396         Use `bool' rather than `int' where appropriate.
75397         Use memset rather than an explicit loop.
75398         Use x2nrealloc rather than xrealloc.
75399         Allow the use of `\0' as a delimiter.
75400         (readtokens): Likewise.
75401         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
75402
75403 2004-03-30  Jim Meyering  <jim@meyering.net>
75404
75405         * m4/realloc.m4: Remove file, since now it does no more than
75406         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
75407         the `configure.ac' section of module/realloc.
75408         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
75409
75410 2004-03-30  Bruno Haible  <bruno@clisp.org>
75411
75412         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
75413         nonnull.
75414
75415 2004-03-29  Paul Eggert  <eggert@twinsun.com>
75416
75417         Merge changes to getloadavg.c from coreutils and Emacs.
75418
75419         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
75420         Define to an expression, not to the empty string.
75421         Include cloexec.h and xalloc.h.
75422         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
75423         Use set_cloexec_flag rather than rolling our own.
75424         * lib/cloexec.c, lib/cloexec.h: New files.
75425
75426 2004-03-29  Paul Eggert  <eggert@twinsun.com>
75427
75428         * m4/cloexec.m4: New file.
75429
75430 2004-03-18  Paul Eggert  <eggert@twinsun.com>
75431
75432         * lib/getopt.h: Sync with libc CVS.
75433
75434 2004-03-18  Paul Eggert  <eggert@twinsun.com>
75435             Bruno Haible  <bruno@clisp.org>
75436
75437         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
75438         mbswidth.
75439
75440 2004-03-18  Paul Eggert  <eggert@twinsun.com>
75441             Bruno Haible  <bruno@clisp.org>
75442
75443         * lib/mbswidth.h: Include <wchar.h> only if
75444         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
75445         <wchar.h>.
75446         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
75447
75448 2004-03-09  Paul Eggert  <eggert@twinsun.com>
75449
75450         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
75451         Sync with libc CVS.
75452         * lib/getopt_int.h: New file, also synced from libc.
75453
75454 2004-03-09  Paul Eggert  <eggert@twinsun.com>
75455
75456         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
75457         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
75458         Bring back getopt.c, getopt.h, getopt1.c.
75459
75460 2004-03-07  Paul Eggert  <eggert@twinsun.com>
75461
75462         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
75463         All uses changed.  Check for sa_sigaction member; this fixes
75464         a bug first reported by Jason Andrade in
75465         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
75466
75467 2004-03-07  Paul Eggert  <eggert@twinsun.com>
75468
75469         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
75470         '#if' expressions.  Unlike the code it replaces, it does not
75471         depend on (defined _SC_PAGESIZE).  However, it does depend on
75472         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
75473         first reported by Jason Andrade in
75474         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
75475
75476 2004-02-25  Simon Josefsson  <jas@extundo.com>
75477
75478         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
75479
75480 2004-02-25  Simon Josefsson  <jas@extundo.com>
75481
75482         * lib/strdup.h: New file.
75483         * lib/strdup.c: Include it.
75484         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
75485         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
75486
75487 2004-02-23  Karl Berry  <karl@gnu.org>
75488
75489         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
75490         (from fencepost.gnu.org:/gd/gnuorg).
75491
75492 2004-02-23  Karl Berry  <karl@gnu.org>
75493
75494         * config/srclistvars.sh (GNUORG) [karl]: redefine.
75495         * config/srclist.txt: add maintain/standards documents.
75496
75497 2004-02-18  Bruno Haible  <bruno@clisp.org>
75498
75499         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
75500         Reported by Derek Robert Price <derek@ximbiot.com>.
75501
75502 2004-02-16  Karl Berry  <karl@gnu.org>
75503
75504         * config/mkinstalldirs, install-sh: update from automake.
75505
75506 2004-02-06  Karl Berry  <karl@gnu.org>
75507
75508         * m4/po.m4: update from gettext 0.14.1.
75509
75510 2004-02-06  Karl Berry  <karl@gnu.org>
75511
75512         * lib/config.charset: update from gettext 0.14.1.
75513
75514 2004-02-05  Paul Eggert  <eggert@twinsun.com>
75515
75516         Add comments and code, prompted by suggestions from Bruno Haible
75517         for sh-quote.
75518         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
75519         describing the enum quoting_style values.
75520         * lib/quotearg.c (quotearg_alloc): New function.
75521         (quotearg_buffer_restyled): Treat lone { and } as special.
75522         Treat = as special.  Work around bug with older shells
75523         that "see" a '\' that is really the 2nd byte of a multibyte char.
75524         Quote empty string with shell_quoting_style.
75525
75526 2004-02-03  Bruno Haible  <bruno@clisp.org>
75527
75528         * m4/pipe.m4: New file, from GNU gettext.
75529
75530 2004-02-03  Bruno Haible  <bruno@clisp.org>
75531
75532         * lib/pipe.h: New file, from GNU gettext.
75533         * lib/pipe.c: New file, from GNU gettext.
75534
75535 2004-01-27  Bruno Haible  <bruno@clisp.org>
75536
75537         * m4/execute.m4: New file, from GNU gettext.
75538
75539 2004-01-27  Bruno Haible  <bruno@clisp.org>
75540
75541         * lib/execute.h: New file, from GNU gettext.
75542         * lib/execute.c: New file, from GNU gettext.
75543         * lib/w32spawn.h: New file, from GNU gettext.
75544
75545 2004-01-24  Paul Eggert  <eggert@twinsun.com>
75546
75547         Merge from diffutils.
75548
75549         * lib/file-type.c (file_type): Add typed memory objects.
75550         * lib/file-type.h (S_TYPEISTMO): New macro.
75551
75552         * lib/c-stack.h (c_stack_action): Remove argv argument.
75553         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
75554         (die): Don't calculate message unless segv_action returns.
75555         (get_stack_location, min_address_from_argv, max_address_from_argv,
75556         volatile stack_base, volatile_stack_size): Remove.
75557         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
75558         that every segmentation violation is a stack overflow.  (Ouch!)
75559         See Debian bug 136249 (still outstanding) for more info about why
75560         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
75561
75562 2004-01-24  Paul Eggert  <eggert@twinsun.com>
75563
75564         Exit-status fix from coreutils.
75565
75566         Use exit_failure consistently in place of EXIT_FAILURE,
75567         so that program exit statuses are consistent on failure.
75568
75569         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
75570         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
75571         * lib/argmatch.h: Comment fix to match the above.
75572         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
75573         Now a macro referring to exit_failure, instead of a separate
75574         variable.  Include "exitfail.h" to get it.
75575         * lib/xstrtol.h: Include "exitfail.h".
75576         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
75577
75578         * lib/long-options.c (parse_long_options): Use prototype
75579         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
75580         for clarity.
75581
75582 2004-01-21  Jim Meyering  <jim@meyering.net>
75583
75584         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
75585         so as not to conflict with a different-sized __mktime_internal
75586         function in GNU libc.
75587         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
75588         Problem building statically-linked `ls' reported by Michael Brunnbauer.
75589
75590 2004-01-20  Karl Berry  <karl@gnu.org>
75591
75592         * config/config.guess: update from config.
75593
75594         * config/srclistvars.sh: GNUWWWLICENSES for karl.
75595
75596 2004-01-20  Bruno Haible  <bruno@clisp.org>
75597
75598         Safer stack allocation.
75599         * lib/setenv.c: Include allocsa.h.
75600         (alloca): Remove fallback definition.
75601         (freea): Remove macro.
75602         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
75603         instead of freea.
75604
75605 2004-01-20  Bruno Haible  <bruno@clisp.org>
75606
75607         * m4/eealloc.m4: New file, from GNU gettext.
75608
75609 2004-01-20  Bruno Haible  <bruno@clisp.org>
75610
75611         * m4/allocsa.m4: New file, from GNU gettext.
75612
75613 2004-01-20  Bruno Haible  <bruno@clisp.org>
75614
75615         * lib/xallocsa.h: New file, from GNU gettext.
75616         * lib/xallocsa.c: New file, from GNU gettext.
75617
75618 2004-01-20  Bruno Haible  <bruno@clisp.org>
75619
75620         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
75621
75622 2004-01-20  Bruno Haible  <bruno@clisp.org>
75623
75624         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
75625         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
75626         specially.
75627
75628 2004-01-20  Bruno Haible  <bruno@clisp.org>
75629
75630         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
75631         patch.
75632
75633 2004-01-20  Bruno Haible  <bruno@clisp.org>
75634
75635         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
75636
75637 2004-01-20  Bruno Haible  <bruno@clisp.org>
75638
75639         * lib/eealloc.h: New file.
75640
75641 2004-01-20  Bruno Haible  <bruno@clisp.org>
75642
75643         * lib/binary-io.h: Avoid warnings on Cygwin.
75644
75645 2004-01-20  Bruno Haible  <bruno@clisp.org>
75646
75647         * lib/allocsa.h: New file, from GNU gettext.
75648         * lib/allocsa.c: New file, from GNU gettext.
75649
75650 2004-01-18  Karl Berry  <karl@gnu.org>
75651
75652         * doc/gpl.texi, doc/lgpl.texi: new files.
75653
75654 2004-01-18  Karl Berry  <karl@gnu.org>
75655
75656         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
75657         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
75658
75659 2004-01-15  Paul Eggert  <eggert@twinsun.com>
75660
75661         Merge from coreutils.
75662
75663         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
75664         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
75665         (gl_DEFAULT_POSIX2_VERSION): Move
75666         the documentation from 'configure' into 'config.hin',
75667         so that 'configure --help' isn't burdened by it and
75668         we don't have to worry about its formatting there.
75669         Reword the documentation so that it's more succinct
75670         and can be run together into a single paragraph.
75671         * m4/same.m4 (gl_SAME): Check for pathconf.
75672
75673 2004-01-15  Paul Eggert  <eggert@twinsun.com>
75674
75675         Merge from coreutils.
75676
75677         * lib/posixver.c: Include posixver.h.
75678
75679         * lib/same.c: Include <stdbool.h>, <limits.h>.
75680         (_POSIX_NAME_MAX): Define if not defined.
75681         (MIN): New macro.
75682         (same_name): If file names are silently truncated, report
75683         that the file names are the same if they are the same after
75684         the silent truncation.
75685
75686         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
75687         conversion function.
75688         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
75689         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
75690         longer needed.
75691
75692 2004-01-15  Jim Meyering  <jim@meyering.net>
75693
75694         Merge from coreutils.
75695
75696         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
75697         if no library is required.
75698         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
75699         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
75700         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
75701         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
75702         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
75703         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
75704         value, $ac_cv_search_crypt, if it's "none required".
75705         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
75706         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
75707         not gl_FUNC_GETLOADAVG.
75708         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
75709         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
75710
75711 2004-01-15  Jim Meyering  <jim@meyering.net>
75712
75713         Merge from coreutils.
75714
75715         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
75716         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
75717         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
75718
75719         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
75720         optional configure-time default.
75721
75722         * lib/version-etc.c (version_etc_copyright): Update copyright date.
75723
75724         * lib/xreadlink.c (xreadlink): Correct outdated comment.
75725
75726 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
75727
75728         Merge from coreutils.
75729
75730         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
75731         value, $ac_cv_search_nanosleep, if it's "none required".
75732
75733 2004-01-14  Paul Eggert  <eggert@twinsun.com>
75734
75735         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
75736         with like-named macro in fnmatch.c.
75737         (EXT): Use an internal constant instead.
75738
75739         Merge fnmatch patches from glibc.
75740         * lib/fnmatch.c (mbsinit): Remove define.
75741         Add libc_hidden_ver (__fnmatch, fnmatch).
75742         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
75743         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
75744
75745 2004-01-14  Karl Berry  <karl@gnu.org>
75746
75747         * config/install-sh: update from automake.
75748
75749 2004-01-13  Karl Berry  <karl@gnu.org>
75750
75751         * config/install-sh: update from automake.
75752
75753 2004-01-09  Karl Berry  <karl@gnu.org>
75754
75755         * config/install-sh: update from automake.
75756
75757 2004-01-05  Karl Berry  <karl@gnu.org>
75758
75759         * config/config.{sub,guess}: update from config.
75760
75761 2003-12-31  Karl Berry  <karl@gnu.org>
75762
75763         * config/depcomp: update from automake.
75764
75765 2003-12-14  Karl Berry  <karl@gnu.org>
75766
75767         * lib/config.charset: update from gettext-runtime.
75768
75769 2003-12-03  Paul Eggert  <eggert@twinsun.com>
75770
75771         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
75772         Bug reported by Alfred M. Szmidt.
75773
75774 2003-12-03  Bruno Haible  <bruno@clisp.org>
75775
75776         * m4/gettext.m4: Upgrade from gettext-0.13.
75777         * m4/po.m4: Upgrade from gettext-0.13.
75778         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
75779         * m4/intmax.m4: New file, from gettext-0.13.
75780         * m4/printf-posix.m4: New file, from gettext-0.13.
75781
75782 2003-11-29  Karl Berry  <karl@gnu.org>
75783
75784         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
75785
75786 2003-11-25  Paul Eggert  <eggert@twinsun.com>
75787             Bruno Haible  <bruno@clisp.org>
75788
75789         * lib/printf-parse.h: Don't include sys/types.h.
75790         (ARG_NONE): New macro.
75791         (char_directive): Change type of *arg_index fields to size_t.
75792         * lib/printf-parse.c: Don't include sys/types.h.
75793         (SSIZE_MAX): Remove macro.
75794         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
75795         Remove unnecessary overflow check.
75796         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
75797         fields.
75798
75799 2003-11-25  Bruno Haible  <bruno@clisp.org>
75800
75801         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
75802
75803 2003-11-25  Bruno Haible  <bruno@clisp.org>
75804
75805         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
75806         gt_TYPE_SSIZE_T.
75807
75808 2003-11-24  Paul Eggert  <eggert@twinsun.com>
75809
75810         * modules/alloca: Remove dependency on xalloc.
75811
75812 2003-11-24  Paul Eggert  <eggert@twinsun.com>
75813
75814         * lib/alloca.c: Remove dependency on xalloc module.
75815         (xalloc_die): Remove.
75816         (memory_full) [!defined emacs]: New macro.
75817         [!defined emacs]: Don't include xalloc.h.
75818         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
75819         address arithmetic overflows.  Change datatypes a bit to avoid
75820         unnecessary casts.
75821
75822 2003-11-22  Jim Meyering  <jim@meyering.net>
75823
75824         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
75825         s/size/size_t/.
75826
75827 2003-11-21  Karl Berry  <karl@gnu.org>
75828
75829         * config/config.{sub,guess}: update from config.
75830
75831 2003-11-18  Karl Berry  <karl@gnu.org>
75832
75833         * config/config.{sub,guess}: update from config.
75834
75835         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
75836
75837 2003-11-17  Paul Eggert  <eggert@twinsun.com>
75838
75839         * README: Mention that S+T cannot overflow if S is the size of
75840         an existing object and T is sufficiently small.
75841
75842 2003-11-17  Jim Meyering  <jim@meyering.net>
75843
75844         On systems without utime and without a utimes function capable of
75845         dealing with a NULL struct utimbuf* argument, this utime replacement
75846         could -- in unusual circumstances -- leak a file descriptor.
75847         * lib/utime.c: Include <unistd.h> and <errno.h>.
75848         (utime_null): Be sure to close `fd' and to preserve errno.
75849         Reported by Geoff Collyer via Arnold Robbins.
75850
75851 2003-11-17  Bruno Haible  <bruno@clisp.org>
75852
75853         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
75854         (Depends-on): Add xsize.
75855
75856 2003-11-17  Bruno Haible  <bruno@clisp.org>
75857
75858         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
75859
75860 2003-11-17  Bruno Haible  <bruno@clisp.org>
75861
75862         * lib/vasnprintf.c (alloca): Remove fallback definition.
75863         (freea): Remove definition.
75864         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
75865         Reported by Paul Eggert.
75866
75867 2003-11-16  Paul Eggert  <eggert@twinsun.com>
75868             Bruno Haible  <bruno@clisp.org>
75869
75870         Protect against address arithmetic overflow.
75871         * lib/printf-args.h: Include stddef.h.
75872         (arguments): Change type of field 'count' to size_t.
75873         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
75874         'unsigned int' where appropriate.
75875         * lib/printf-parse.h: Include sys/types.h.
75876         (char_directive): Change type of *arg_index fields to ssize_t.
75877         (char_directives): Change type of fields 'count', max_*_length to
75878         size_t.
75879         * lib/printf-parse.c: Include sys/types.h and xsize.h.
75880         (SSIZE_MAX): Define fallback value.
75881         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
75882         instead of 'int' where appropriate. Check a_allocated, d_allocated
75883         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
75884         * lib/vasnprintf.c: Include xsize.h.
75885         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
75886         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
75887         overflow. Avoid wraparound when converting a width or precision from
75888         decimal to binary.
75889
75890 2003-11-16  Bruno Haible  <bruno@clisp.org>
75891
75892         Update from GNU gettext.
75893         * lib/printf-parse.c: Generalize to it can be compiled for wide
75894         strings.
75895         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
75896         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
75897         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
75898         SNPRINTF): New macros.
75899         Don't include <alloca.h> if the file is used inside libintl.
75900         (local_wcslen): New function, for Solaris 2.5.1.
75901         (VASNPRINTF): Use it instead of wcslen.
75902
75903 2003-11-16  Bruno Haible  <bruno@clisp.org>
75904
75905         * lib/xsize.h (xmax): New function.
75906         (xsum, xsum3, xsum4): Declare as "pure" functions.
75907
75908 2003-11-12  Paul Eggert  <eggert@twinsun.com>
75909
75910         * modules/xalloc (Files): Undo latest change, since xalloc.h
75911         no longer needs SIZE_MAX or PTRDIFF_MAX.
75912
75913 2003-11-12  Paul Eggert  <eggert@twinsun.com>
75914
75915         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
75916         gl_PTRDIFF_MAX.
75917
75918 2003-11-12  Paul Eggert  <eggert@twinsun.com>
75919
75920         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
75921         "return", to pacify some unknown compiler.  Problem reported
75922         by Joerg Schilling.
75923
75924 2003-11-12  Paul Eggert  <eggert@twinsun.com>
75925
75926         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
75927         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
75928         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
75929         heuristic is just as accurate as far as we know, and it removes a
75930         dependency on size_max.m4 and ptrdiff_max.m4.
75931
75932 2003-11-11  Bruno Haible  <bruno@clisp.org>
75933
75934         * modules/xsize (Files): Add m4/size_max.m4.
75935         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
75936
75937 2003-11-11  Bruno Haible  <bruno@clisp.org>
75938
75939         * m4/size_max.m4: New file.
75940         * m4/ptrdiff_max.m4: New file.
75941         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
75942         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
75943         (gl_XALLOC): Invoke it.
75944
75945 2003-11-11  Bruno Haible  <bruno@clisp.org>
75946
75947         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
75948         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
75949         defined.
75950
75951 2003-11-10  Paul Eggert  <eggert@twinsun.com>
75952
75953         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
75954         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
75955         rejected some allocations of exactly SIZE_MAX - 2 bytes.
75956         From Bruno Haible.
75957         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
75958         not (size_t) -1, since it's defined here.
75959
75960 2003-11-09  Karl Berry  <karl@gnu.org>
75961
75962         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
75963
75964 2003-11-06  Paul Eggert  <eggert@twinsun.com>
75965
75966         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
75967         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
75968         Reject sizes of exactly SIZE_MAX bytes.
75969         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
75970         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
75971
75972 2003-11-05  Bruno Haible  <bruno@clisp.org>
75973
75974         * lib/xsize.h: Include limits.h, to avoid a possible collision with
75975         SIZE_MAX defined in <limits.h> on Solaris.
75976
75977 2003-11-04  Jim Meyering  <jim@meyering.net>
75978
75979         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
75980         variable names, rather than @VAR@.
75981         * modules/poll: Likewise.
75982
75983 2003-11-04  Bruno Haible  <bruno@clisp.org>
75984
75985         * modules/xsize: New file.
75986         * modules/linebreak: Depend on xsize.
75987         * MODULES.html.sh (func_all_modules): Add xsize.
75988
75989 2003-11-04  Bruno Haible  <bruno@clisp.org>
75990
75991         * m4/xsize.m4: New file.
75992
75993 2003-11-04  Bruno Haible  <bruno@clisp.org>
75994
75995         * lib/xsize.h: New file.
75996         * lib/linebreak.c: Include xsize.h.
75997         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
75998         argument for overflow.
75999         Suggested by Paul Eggert.
76000
76001 2003-11-03  Karl Berry  <karl@gnu.org>
76002
76003         * config/config.{guess,sub}: update from config.
76004
76005 2003-11-03  Jim Meyering  <jim@meyering.net>
76006
76007         * modules/userspec (lib_SOURCES): Add userspec.h.
76008         (Include): Add "userspec.h".
76009         Improve description.
76010
76011 2003-11-03  Jim Meyering  <jim@meyering.net>
76012
76013         * lib/userspec.c: Include "userspec.h".
76014         * lib/userspec.h: New file.
76015
76016 2003-11-03  Bruno Haible  <bruno@clisp.org>
76017
76018         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
76019
76020 2003-11-03  Bruno Haible  <bruno@clisp.org>
76021
76022         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
76023         available, to avoid (extremely rare) race condition.
76024         Suggested by Paul Eggert.
76025
76026 2003-11-02  Karl Berry  <karl@gnu.org>
76027
76028         * config/srclist.txt (vasprintf.c): sync broken, sigh.
76029
76030 2003-10-31  Paul Eggert  <eggert@twinsun.com>
76031
76032         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
76033         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
76034         (read_filesystem_list): Set and use me_type_malloced.
76035         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
76036         whatever the type happens to be), for brevity and consistency.
76037         Check for size calculation overflow on Alphas running OSF/1.
76038
76039 2003-10-31  Jim Meyering  <jim@meyering.net>
76040
76041         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
76042
76043         * lib/linebuffer.c: Include <string.h> for declaration of memset.
76044
76045 2003-10-30  Paul Eggert  <eggert@twinsun.com>
76046             Bruno Haible  <bruno@clisp.org>
76047
76048         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
76049         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
76050
76051 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
76052
76053         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
76054         netbsd*-gnu*.  Suggested by Robert Millan.
76055
76056 2003-10-29  Paul Eggert  <eggert@twinsun.com>
76057
76058         * modules/group-member: Depend on stdbool.
76059
76060 2003-10-29  Paul Eggert  <eggert@twinsun.com>
76061
76062         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
76063
76064 2003-10-29  Paul Eggert  <eggert@twinsun.com>
76065
76066         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
76067         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
76068         after the 'gnu' in these cases.  This fixes some bugs in the
76069         previous change, and is based on suggestions by Robert Millan.
76070
76071 2003-10-29  Paul Eggert  <eggert@twinsun.com>
76072
76073         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
76074         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
76075         no longer needed.
76076         * lib/quotearg.c (quotearg_n_options): Use it.
76077         * lib/group-member.c: Include <stdbool.h>.
76078         (free_group_info): Arg is now const *; don't free arg.
76079         (get_group_info): Now returns bool and accepts struct group_info *,
76080         rather than returning a malloc'ed struct group_info *.
76081         All uses changed.  Check for overflow in internal size calculation.
76082
76083         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
76084         rather than xmalloc/xrealloc.
76085         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
76086         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
76087         conformance bug: the old code used a pointer after freeing the
76088         storage that it addressed.
76089         * lib/hash.c (hash_initialize): Simplify the code by using
76090         xalloc_oversized rather than doing it by hand.
76091         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
76092         the buffer preserved.  Use free and xmalloc instead.
76093         * lib/quotearg.c (quotearg_n_options): Likewise.
76094         Use a simpler test for size overflow.  Don't use xalloc_oversized
76095         because unsigned int might be wider than size_t (!); this suggests
76096         that we should switch from unsigned int to size_t for slot numbers.
76097
76098 2003-10-28  Paul Eggert  <eggert@twinsun.com>
76099
76100         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
76101         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
76102         NetBSD kernels.  Requested by Richard Stallman.
76103
76104 2003-10-27  Paul Eggert  <eggert@twinsun.com>
76105
76106         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
76107         to allocate the returned structure.  Do not allocate a subarray,
76108         as x2nrealloc will do that.
76109         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
76110         instead of xnrealloc.
76111         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
76112
76113 2003-10-27  Bruno Haible  <bruno@clisp.org>
76114
76115         * lib/stdbool_.h: Better support for BeOS.
76116
76117 2003-10-26  Paul Eggert  <eggert@twinsun.com>
76118
76119         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
76120         now uses inline.
76121
76122 2003-10-26  Paul Eggert  <eggert@twinsun.com>
76123
76124         * lib/xalloc.h (xalloc_oversized): New static inline function, for
76125         callers that want to do their own size-overflow checking.  Include
76126         <stdbool.h>, since xalloc_oversized returns bool.
76127         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
76128         to use xalloc_oversized.
76129
76130         Add two functions x2realloc, x2nrealloc, for programs that grow
76131         arrays dynamically by doubling their sizes.
76132         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
76133         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
76134         New functions.
76135
76136         Port to C99 semantics for 'inline' of external functions.
76137         Bug reported by Bruno Haible.
76138         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
76139         with the old contents of xnmalloc.
76140         (xnmalloc, xmalloc): Use it.
76141         (xnrealloc_inline): New static inline function,
76142         with the old contents of xnrealloc.
76143         (xnrealloc, xrealloc): Use it.
76144
76145         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
76146         that.
76147
76148 2003-10-26  Karl Berry  <karl@gnu.org>
76149
76150         * config/srclist.txt (COPYING.DOC): no longer available from
76151         /gd/gnuorg; don't know where the ultimate source is.
76152
76153 2003-10-25  Paul Eggert  <eggert@twinsun.com>
76154
76155         Fix several address-calculation bugs in the hash modules,
76156         plus some minor code cleanup.
76157
76158         * lib/hash.h: Include <stdbool.h>, for bool.
76159         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
76160         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
76161         hash_get_n_entries, hash_get_max_bucket_length,
76162         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
76163         hash_rehash): Use size_t rather than unsigned.
76164         * lib/hash.c (struct hash_table, hash_get_n_buckets,
76165         hash_get_n_buckets_used, hash_get_n_entries,
76166         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
76167         hash_get_entries, hash_do_for_each, hash_string, is_prime,
76168         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
76169         Likewise.
76170         (SIZE_MAX): Define if not defined.
76171         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
76172         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
76173         hash_print):
76174         Use const * when possible.
76175         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
76176         (check_tuning): Fix bug: if tuning parameters were very close to
76177         0 or 1, rounding errors could have caused subscript violations.
76178         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
76179         (hash_initialize): Add 'fail:' label
76180         to free table and return NULL, and use it to simplify code.
76181         Use calloc rather than clearing the storage ourself.
76182         (hash_initialize, hash_rehash): Check for arithmetic overflow in
76183         buffer size calculations.
76184         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
76185         Include <stddef.h>, for size_t.
76186         * lib/hash-pjw.c (hash_pjw): Likewise.
76187         Switch to method described by Bruno Haible.
76188         Include <limits.h>, for CHAR_BIT.
76189         (SIZE_BITS): New macro.
76190
76191 2003-10-23  Paul Eggert  <eggert@twinsun.com>
76192
76193         * m4/getline.m4 (AM_FUNC_GETLINE):
76194         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
76195         hosts.  Problem reported by Derek Robert Price in
76196         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
76197         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
76198         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
76199
76200 2003-10-21  Paul Eggert  <eggert@twinsun.com>
76201
76202         * lib/getndelim2.c (getndelim2): When size calculation overflows,
76203         ceiling the allocation at NMAX bytes rather than silently
76204         discarding input bytes before NMAX is reached.  This makes
76205         a difference only if NMAX exceeds SIZE_MAX / 2.
76206
76207         * lib/obstack.c: Merge from glibc.
76208         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
76209         Add libc_hidden_def (_obstack_newchunk).
76210         (_obstack_free) [! defined _LIBC]: Remove.
76211         [defined _LIBC]: Make a strong alias from obstack_free, rather than
76212         a clone of the function body.
76213         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
76214         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
76215
76216         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
76217         glibc.
76218         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
76219         arg to memcpy.
76220
76221         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
76222         (obstack_ptr_grow_fast, obstack_int_grow_fast):
76223         Don't use lvalue casts, as GCC plans to remove support for them
76224         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
76225         was also present in the non-GCC version, indicating that this
76226         code had always been buggy and had never been widely used.
76227         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
76228         Use the fast variant of each macro, rather than copying the
76229         definiens of the fast variant; that way, we'll be more likely to
76230         catch future bugs in the fast variants.
76231
76232 2003-10-20  Bruno Haible  <bruno@clisp.org>
76233
76234         * modules/wait-process: New file.
76235         * MODULES.html.sh (func_all_modules): Add wait-process.
76236
76237 2003-10-20  Bruno Haible  <bruno@clisp.org>
76238
76239         * m4/wait-process.m4: New file.
76240
76241 2003-10-20  Bruno Haible  <bruno@clisp.org>
76242
76243         * lib/wait-process.h: New file, from GNU gettext.
76244         * lib/wait-process.c: New file, from GNU gettext.
76245
76246 2003-10-19  Jim Meyering  <jim@meyering.net>
76247
76248         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
76249         HPUX 10.20.
76250
76251 2003-10-18  Karl Berry  <karl@gnu.org>
76252
76253         * config/config.guess: update from config.
76254
76255 2003-10-16  Paul Eggert  <eggert@twinsun.com>
76256
76257         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
76258         (getgroups): First arg is int, not size_t.
76259         Don't let 'free' mangle errno.
76260
76261 2003-10-16  Paul Eggert  <eggert@twinsun.com>
76262
76263         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
76264
76265 2003-10-16  Karl Berry  <karl@gnu.org>
76266
76267         * config/config.{guess,sub}: update from config.
76268
76269 2003-10-16  Jim Meyering  <jim@meyering.net>
76270
76271         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
76272         memcpy.
76273
76274 2003-10-15  Paul Eggert  <eggert@twinsun.com>
76275
76276         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
76277         (SIZE_MAX): Remove.
76278         (new_exclude, add_exclude_file): Initial size no longer needs to
76279         be a power of 2.
76280         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
76281         our own address arithmetic overflow checking.
76282
76283         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
76284         (fnmatch): Do not alloca more than 2000 wide characters;
76285         instead, use malloc for large buffers.
76286         Check for address arithmetic overflow, and return -1
76287         with errno set to ENOMEM in that case.
76288         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
76289         (NEW_PATTERN): Do not alloca more than 8000 bytes;
76290         instead, return -1.  Check for address arithmetic overflow.
76291
76292 2003-10-14  Paul Eggert  <eggert@twinsun.com>
76293
76294         Handle invalid suffixes and overflow independently, so that
76295         callers can treat them independently as needed.  Fix some bugs in
76296         suffix handling, e.g., "100k@" was not diagnosed as an invalid
76297         suffix for a human-readable blocksize.  The major caller-visible
76298         change is the addition of a new
76299         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
76300         that both overflow and suffix chars were found.
76301
76302         * lib/human.c (humblock): Don't check separately for invalid suffix
76303         char; that is xstrtoumax's job (now that its bug is fixed).
76304         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
76305         INTMAX_MAX]: New macros.
76306         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
76307         TYPE_MAXIMUM): New macros.
76308         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
76309         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
76310         if overflow occurs, as it's what __strtol does and it's more useful
76311         in practice.
76312         (__xstrtol): If __strtol reports some error other than ERANGE,
76313         reflect it to the caller as LONGINT_INVALID.  If it reports
76314         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
76315         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
76316         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
76317         value.
76318         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
76319         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
76320         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
76321         [defined UINTMAX_MAX]: New macros.
76322
76323 2003-10-14  Bruno Haible  <bruno@clisp.org>
76324
76325         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
76326
76327 2003-10-14  Bruno Haible  <bruno@clisp.org>
76328
76329         * m4/sig_atomic_t: New file, from GNU gettext.
76330         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
76331
76332 2003-10-14  Bruno Haible  <bruno@clisp.org>
76333
76334         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
76335         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
76336         Also use volatile where needed.
76337
76338 2003-10-12  Paul Eggert  <eggert@twinsun.com>
76339
76340         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
76341         Change maintainer from Bruno Haible to 'all'.
76342
76343 2003-10-12  Paul Eggert  <eggert@twinsun.com>
76344
76345         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
76346
76347 2003-10-12  Paul Eggert  <eggert@twinsun.com>
76348
76349         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
76350         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
76351         and define in terms of the other primitives.
76352         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
76353         (SIZE_MAX): Define if not already defined.
76354         (array_size_overflow): New function.
76355         (xalloc_die): Abort instead of exiting if 'error' returns.
76356         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
76357         (xmalloc, xrealloc): Use them.
76358         (xcalloc): Check for address arithmetic overflow.
76359         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
76360         a bit faster than strcpy.
76361
76362 2003-10-10  Simon Josefsson  <jas@extundo.com>
76363
76364         * modules/argp (Depends-on): Add restrict and strcase.
76365
76366 2003-10-10  Simon Josefsson  <jas@extundo.com>
76367
76368         * m4/argp.m4: Add AC_C_INLINE.
76369
76370 2003-10-08  Paul Eggert  <eggert@twinsun.com>
76371
76372         Merge getpass from libc, plus a few fixes.
76373
76374         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
76375         Include <stdbool.h>.
76376         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
76377         __fsetlocking to empty.
76378         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
76379         do include <bits/libc-lock.h>.
76380         Do not include <fcntl.h>; not needed.
76381         [_LIBC]: Include <wchar.h>.
76382         (NOTCANCEL_MODE): New macro.
76383         (flockfile, funlockfile) [_LIBC]: New macros.
76384         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
76385         [!_LIBC]: New macros.
76386         (call_fclose): New function.
76387         (getpass): Use it.  Save tty stream separately; this simplifies the
76388         code and makes it more reliable if stdin happens to equal stdout.
76389         Invoke __fsetlocking on tty.
76390         Handle thread cancellation if needed.
76391         Namespace cleanup (use __tcgetattr, __getline).
76392         Use bool for Booleans.
76393         [USE_IN_LIBIO]: Handle wide streams.
76394         [!_LIBC]: Unconditionally do the fseek, since we don't know what
76395         stream might go where.
76396
76397         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
76398         doesn't have to include <stdio.h> before us.
76399         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
76400         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
76401         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
76402         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
76403         if not declared, so that we can use getpass.c code from libc without
76404         rewriting it.
76405         (flockfile, ftrylockfile, funlockfile): New macros.
76406
76407 2003-10-08  Paul Eggert  <eggert@twinsun.com>
76408
76409         * modules/getpass: Depend on stdbool.
76410
76411 2003-10-08  Paul Eggert  <eggert@twinsun.com>
76412
76413         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
76414
76415 2003-10-07  Karl Berry  <karl@gnu.org>
76416
76417         * config/config.{guess,sub}: update from config.
76418
76419 2003-10-06  Jim Meyering  <jim@meyering.net>
76420             Bruno Haible  <bruno@clisp.org>
76421
76422         This lets translators provide better translations for the
76423         "Written by ..." part of --version output.
76424         * lib/version-etc.h: Include stdarg.h.
76425         (version_etc_copyright): Declare as readonly.
76426         (version_etc): Make this function variadic with a NULL-terminated list
76427         of author name strings.
76428         (version_etc_va): New declaration.
76429         * lib/version-etc.c: Include stdarg.h, stdlib.h.
76430         (version_etc_copyright): Declare as readonly.
76431         (version_etc_va): New function. Provide a different translatable string
76432         for each possible number of authors < 10. Abbreviate when there are 10
76433         authors or more.
76434         (version_etc): Make this function variadic. Call version_etc_va.
76435         Suggestion from Gary V. Vaughan.
76436
76437         * lib/long-options.h (parse_long_options): Change prototype: the
76438         authors string is moved to the end and becomes variadic.
76439         * lib/long-options.c: Include stdarg.h.
76440         (parse_long_options): Make this function variadic, too.
76441         Call version_etc_va, not version_etc.
76442
76443 2003-10-06  Bruno Haible  <bruno@clisp.org>
76444
76445         * modules/version-etc-2: Remove file.
76446         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
76447
76448 2003-10-06  Bruno Haible  <bruno@clisp.org>
76449
76450         * modules/fatal-signal: New file.
76451         * MODULES.html.sh (func_all_modules): Add fatal-signal.
76452
76453 2003-10-06  Bruno Haible  <bruno@clisp.org>
76454
76455         * m4/fatal-signal.m4: New file.
76456         * m4/signalblocking.m4: New file, from GNU gettext.
76457
76458 2003-10-06  Bruno Haible  <bruno@clisp.org>
76459
76460         * lib/version-etc-2.h: Remove file.
76461         * lib/version-etc-2.c: Remove file.
76462
76463 2003-10-06  Bruno Haible  <bruno@clisp.org>
76464
76465         * lib/fatal-signal.h: New file, from GNU gettext.
76466         * lib/fatal-signal.c: New file, from GNU gettext.
76467
76468 2003-10-05  Paul Eggert  <eggert@twinsun.com>
76469
76470         * README: Rework advice for preventing empty .o files.
76471         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
76472         not <sys/types.h>.
76473
76474 2003-10-04  Karl Berry  <karl@gnu.org>
76475
76476         * lib/argp*: update from libc.
76477
76478 2003-10-04  Karl Berry  <karl@gnu.org>
76479
76480         * config/config.{guess,sub}: update from config.
76481
76482 2003-10-02  Bruno Haible  <bruno@clisp.org>
76483
76484         * modules/lchown (Include): Add lchown.h.
76485         * modules/time_r (Include): Use "..." syntax.
76486         * modules/xgetdomainname (Include): Add xgetdomainname.h.
76487
76488 2003-10-01  Simon Josefsson  <jas@extundo.com>
76489
76490         * MODULES.html.sh (func_all_modules): Move gethostname from section
76491         'based on' to section 'lacking' POSIX:2001.
76492
76493 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
76494
76495         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
76496         to output mode on the same stream.
76497
76498 2003-09-29  Paul Eggert  <eggert@twinsun.com>
76499
76500         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
76501         Fix arg typo in previous patch.
76502
76503 2003-09-28  Jim Meyering  <jim@meyering.net>
76504
76505         * lib/error.c: Correct cpp indentation.
76506
76507 2003-09-27  Paul Eggert  <eggert@twinsun.com>
76508
76509         * modules/free: New file.
76510
76511 2003-09-27  Paul Eggert  <eggert@twinsun.com>
76512
76513         * m4/free.m4: New file.
76514
76515 2003-09-27  Paul Eggert  <eggert@twinsun.com>
76516
76517         * lib/minmax.h (MIN, MAX)
76518         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
76519         Omit the special code that used __typeof__, since we worry that
76520         it could be more trouble than it's worth.  See:
76521         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
76522         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
76523
76524         * lib/free.c: New file.
76525
76526 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
76527
76528         Trivial fixes to Makefile.am parts of module listings.
76529         * modules/strstr: Append strstr.h to lib_SOURCES.
76530         * modules/strcase: Likewise, for strcase.h.
76531
76532 2003-09-27  Karl Berry  <karl@gnu.org>
76533
76534         * config/mkinstalldirs: update from automake.
76535
76536 2003-09-26  Paul Eggert  <eggert@twinsun.com>
76537
76538         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
76539         (error_tail): Do not loop, reallocating temporary buffer, since
76540         the output cannot contain more wide characters than the input
76541         contains bytes, the size must be big enough already.  This avoids
76542         one potential size overflow calculation.  Check for size overflow
76543         when calculating temporary buffer size.  Free temporary buffer
76544         when done, if it was allocated with malloc; this plugs a memory
76545         leak.  Remove casts from void * to pointers, that are no longer
76546         needed now that we're assuming C89 or better.
76547
76548         Merge error changes from glibc.
76549
76550         * lib/error.c, error.h: Update copyright notice header to match glibc.
76551         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
76552         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
76553         Disable cancellation while printing error.
76554         * lib/error.h: Prepend __ to parameter names.
76555
76556 2003-09-26  Jim Meyering  <jim@meyering.net>
76557
76558         * lib/error.c (error_tail): Move some declarations
76559         into inner scope where the local variables are used.
76560
76561 2003-09-26  Bruno Haible  <bruno@clisp.org>
76562
76563         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
76564         stpncpy().
76565         Don't define stpncpy through config.h; it's now done through stpncpy.h.
76566
76567 2003-09-26  Bruno Haible  <bruno@clisp.org>
76568
76569         * lib/stpncpy.h (gnu_stpncpy): New declaration.
76570         (stpncpy): Define as alias for gnu_stpncpy.
76571         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
76572
76573 2003-09-25  Simon Josefsson  <jas@extundo.com>
76574
76575         * lib/xgetdomainname.h: New file.
76576         * lib/xgetdomainname.c: New file.
76577
76578 2003-09-25  Simon Josefsson  <jas@extundo.com>
76579             Bruno Haible  <bruno@clisp.org>
76580
76581         * modules/getdomainname: New file.
76582         * modules/xgetdomainname: New file.
76583         * MODULES.html.sh (func_all_modules): Add getdomainname,
76584         xgetdomainname.
76585
76586 2003-09-25  Simon Josefsson  <jas@extundo.com>
76587             Bruno Haible  <bruno@clisp.org>
76588
76589         * m4/getdomainname.m4: New file.
76590
76591 2003-09-25  Simon Josefsson  <jas@extundo.com>
76592             Bruno Haible  <bruno@clisp.org>
76593
76594         * lib/getdomainname.h: New file.
76595         * lib/getdomainname.c: New file.
76596
76597 2003-09-25  Karl Berry  <karl@gnu.org>
76598
76599         * lib/argp-fmtstream.c, argp-help.c: update from libc.
76600
76601 2003-09-25  Karl Berry  <karl@gnu.org>
76602
76603         * config/install-sh: update from automake.
76604
76605 2003-09-25  Bruno Haible  <bruno@clisp.org>
76606
76607         * modules/version-etc-2: New file, from modules/version-etc with
76608         modifications.
76609         * MODULES.html.sh (func_all_modules): Add version-etc-2.
76610
76611 2003-09-25  Bruno Haible  <bruno@clisp.org>
76612
76613         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
76614         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
76615
76616 2003-09-24  Simon Josefsson  <jas@extundo.com>
76617
76618         * modules/xgethostname: Add xgethostname.h.
76619
76620 2003-09-24  Paul Eggert  <eggert@twinsun.com>
76621
76622         * lib/linebuffer.c (freebuffer): Don't free the argument, just
76623         the buffer associated with the argument.  Bug reported by
76624         Simon Josefsson.
76625
76626 2003-09-24  Paul Eggert  <eggert@twinsun.com>
76627
76628         * README: Document assumptions that 'int' is at least 32 bits
76629         wide, that integer arithmetic is 2's complement without overflow,
76630         that there are no holes in integer values, that adding sizes of
76631         two nonoverlapping objects can't overflow, and that all-bits-zero
76632         yields scalar zero.  Fix spelling and capitalization typos.
76633
76634 2003-09-19  Karl Berry  <karl@gnu.org>
76635
76636         * lib/argp.h: update from libc.
76637
76638 2003-09-17  Paul Eggert  <eggert@twinsun.com>
76639
76640         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
76641         to avoid spurious warnings like "AC_RUN_IFELSE was called before
76642         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
76643
76644 2003-09-17  Paul Eggert  <eggert@twinsun.com>
76645
76646         * gnulib-tool: Use "test -h", not "test -L", for portability
76647         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
76648         (tags_regexp): Remove, since \| doesn't conform to POSIX.
76649         (sed_extract_prog): Issue s commands one-by-one, rather than
76650         using \| in one s command.
76651
76652 2003-09-16  Paul Eggert  <eggert@twinsun.com>
76653
76654         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
76655         input error, instead of returning NULL the next time we are called
76656         (and therefore losing track of errno).
76657
76658 2003-09-16  Bruno Haible  <bruno@clisp.org>
76659
76660         * gnulib-tool (func_create_testdir): Warn about duplicated
76661         dependencies.
76662
76663 2003-09-15  Paul Eggert  <eggert@twinsun.com>
76664
76665         * modules/argmatch, modules/fatal, modules/obstack,
76666         modules/xalloc, modules/xgethostname: Sort dependencies by
76667         importance, not alphabetically.
76668
76669 2003-09-15  Paul Eggert  <eggert@twinsun.com>
76670
76671         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
76672         fails, so that the caller gets the proper errno.
76673
76674         * lib/readutmp.c (read_utmp): Likewise.
76675         Check for fstat error.  Close stream and free storage
76676         when failing.
76677
76678 2003-09-14  Karl Berry  <karl@gnu.org>
76679
76680         * config/srclist.txt (strdup.c): disable for c89 changes.
76681
76682 2003-09-14  Jim Meyering  <jim@meyering.net>
76683
76684         * lib/getloadavg.c: Correct cpp indentation.
76685         * lib/strdup.c: Likewise.
76686         * lib/vasnprintf.c: Likewise.
76687
76688 2003-09-14  Bruno Haible  <bruno@clisp.org>
76689
76690         * modules/fwriteerror: New file.
76691         * MODULES.html.sh (func_all_modules): Add fwriteerror.
76692
76693 2003-09-14  Bruno Haible  <bruno@clisp.org>
76694
76695         * lib/fwriteerror.h: New file.
76696         * lib/fwriteerror.c: New file.
76697
76698 2003-09-12  Paul Eggert  <eggert@twinsun.com>
76699
76700         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
76701         modules/xgethostname, modules/xalloc: Depend on exit.
76702
76703 2003-09-12  Paul Eggert  <eggert@twinsun.com>
76704
76705         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
76706
76707         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
76708         and AC_MINIX, too, so that their extensions are available.
76709
76710         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
76711         This macro has been superseded by gl_BACKUPFILE.
76712
76713         More patches to assume C89 or better.
76714
76715         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
76716
76717         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
76718         unconditionally.
76719         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
76720         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
76721         Include <string.h>, <stdlib.h> unconditionally.
76722         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
76723         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
76724         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
76725         headers or for string.h.
76726         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
76727         or strtoul.
76728
76729         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
76730         headers.
76731         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
76732         * m4/userspec.m4 (gl_USERSPEC): Likewise.
76733         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
76734         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
76735         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
76736         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
76737         memcpy, memset.
76738         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
76739         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
76740         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
76741         strtol.
76742         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
76743         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
76744         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
76745         strtoul.
76746
76747 2003-09-12  Paul Eggert  <eggert@twinsun.com>
76748
76749         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
76750         * lib/obstack.c [!defined _LIBC]: Likewise.
76751         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
76752         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
76753         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
76754
76755         More changes to assume C89 or better.
76756
76757         * lib/error.c (error_tail): Assume vprintf.
76758
76759         * lib/argmatch.c (getenv): Remove decl.
76760         * lib/progreloc.c (get_full_program_name): Define via prototype.
76761         * lib/setenv.c (clearenv): Likewise.
76762         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
76763         needed.
76764         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
76765         (malloc, memcpy): Remove decls.
76766         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
76767         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
76768         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
76769         (memcpy): Remove macro.
76770         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
76771         (__P): Remove.  All uses removed.
76772         (PTR): Remove.  All uses changed to void *.
76773         (CHAR_BIT, NULL): Remove.
76774         (spaces, zeros, memset_space, memset_zero)
76775         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
76776         Remove.
76777         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
76778         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
76779         Define with prototype.
76780         Remove now-unnecessary prototype decl.
76781         (extra_args_spec): Assume ANSI C.  All uses changed.
76782         (extra_args_spec_iso): Remove.
76783         (my_strftime, emacs_strftimeu): Define via prototype.
76784         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
76785         unconditionally.
76786         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
76787         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
76788         (strtoul, strtol): Remove decls.
76789         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
76790         LONG_MAX): Remove.
76791         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
76792         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
76793         (LOCALE_PARAM_PROTO): New macro.
76794         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
76795         (INTERNAL (strtol), strtol): Define with a prototype.
76796         (PARAMS): Remove.  All uses removed.
76797         * lib/tempname.c: Include <string.h> unconditionally.
76798         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
76799         * lib/xgethostname.c (main): Define with a prototype.
76800         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
76801         Include <stdlib.h> unconditionally.
76802         (calloc, malloc, realloc, free): Remove decls.
76803         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
76804         Include <stdlib.h> unconditionally.  Sort include file names.
76805         (strtod): Remove.
76806         (xstrtod): Define with a prototype.
76807         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
76808         (strtol, strtoul): Remove decls.
76809
76810 2003-09-11  Paul Eggert  <eggert@twinsun.com>
76811
76812         More patches to assume C89 or better.
76813         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
76814         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
76815         string.h, memchr, STDC_HEADERS.
76816
76817 2003-09-11  Paul Eggert  <eggert@twinsun.com>
76818
76819         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
76820         Include <stdlib.h>, <string.h> unconditionally.
76821         Remove now-unnecessary cast to char *.
76822         * lib/strnlen.c: Include <string.h> unconditionally.
76823         * lib/yesno.c (yesno): Define with a prototype.
76824
76825 2003-09-11  Bruno Haible  <bruno@clisp.org>
76826
76827         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
76828
76829 2003-09-10  Jim Meyering  <jim@meyering.net>
76830
76831         * lib/error.c: Correct indentation of cpp directives.
76832
76833 2003-09-10  Bruno Haible  <bruno@clisp.org>
76834
76835         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
76836         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
76837         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
76838         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
76839         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
76840         <stdlib.h> and <string.h> checks.
76841         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
76842         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
76843
76844 2003-09-10  Bruno Haible  <bruno@clisp.org>
76845
76846         * lib/strcspn.c: Include <string.h> unconditionally.
76847         * lib/strpbrk.c: Include <string.h> unconditionally.
76848         * lib/strstr.c: Include <string.h> unconditionally.
76849         * lib/unicodeio.c: Include <string.h> unconditionally.
76850         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
76851         * lib/unsetenv.c: Likewise.
76852         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
76853         * lib/yesno.c: Include <stdlib.h> unconditionally.
76854         (rpmatch): Add prototype.
76855
76856 2003-09-09  Paul Eggert  <eggert@twinsun.com>
76857
76858         More patches to assume C89 or better.
76859         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
76860         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
76861         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
76862         or for string.h.
76863         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
76864         stdlib.h.
76865         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
76866         C headers.
76867         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
76868         string.h.
76869         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
76870         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
76871         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
76872         or for string.h.
76873         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
76874         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
76875         C headers.
76876         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
76877         memcpy.
76878         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
76879         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
76880         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
76881         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
76882         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
76883         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
76884         string.h, free.
76885         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
76886         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
76887         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
76888         C headers, or for string.h.
76889         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
76890         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
76891         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
76892         headers, memory.h, stdlib.h, string.h, strings.h.
76893         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
76894         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
76895         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
76896         strchr.
76897         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
76898         headers, memory.h, string.h.
76899         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
76900         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
76901         free.
76902         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
76903         headers.
76904         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
76905         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
76906         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
76907         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
76908         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
76909
76910 2003-09-09  Paul Eggert  <eggert@twinsun.com>
76911
76912         More K&R removal.
76913
76914         * lib/acosl.c (main): Use a prototype.
76915         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
76916         tanl.c: Likewise.
76917
76918         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
76919
76920         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
76921         (getopt, etopt_long, getopt_long_only, _getopt_internal)
76922         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
76923         with a prototype.
76924         * lib/getopt.c (const): Remove macro.
76925         Include <string.h> unconditionally.
76926         (my_index): Remove; all uses changed to strchr.
76927         (strlen): Remove decl.
76928         (exchange): Remove forward decl; no longer needed.
76929         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
76930         Define with prototype.
76931         * lib/getopt1.c (const): Remove macro.
76932         (getopt_long, getopt_long_only, main): Define with prototype.
76933
76934         * lib/getugroups.c: Include <string.h> unconditionally.
76935
76936         * lib/getusershell.c: Include <stdlib.h> unconditionally.
76937         (getusershell, setusershell, endusershell, readname, main):
76938         Define with prototypes.
76939
76940         * lib/group-member.c: Include group-member.h first.
76941         Include <stdlib.h> unconditionally.
76942
76943         * lib/hard-locale.c: Include hard-locale.h first.
76944         Include <stdlib.h>, <string.h> unconditionally.
76945
76946         * lib/hash.c (free, malloc): Remove decls.
76947         Include <stdlib.h> unconditionally.
76948
76949         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
76950         (getenv): Do not declare.
76951
76952         * lib/idcache.c: Include <string.h> unconditionally.
76953
76954         * lib/long-options.c: Include long-options.h first, to test interface.
76955         Include <stdlib.h> unconditionally.
76956
76957         * lib/makepath.c: Include makepath.h first, to test interface.
76958         Include <stdlib.h> and <string.h> unconditionally.
76959
76960         * lib/linebuffer.c: Include <stdlib.h>.
76961         (free): Remove decl.
76962
76963         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
76964         stddef.h. rpl_malloc returns void *, not char *.
76965         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
76966         prototype.
76967
76968         * lib/md5.h: Include <limits.h> unconditionally.
76969         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
76970         (__P): Remove; all uses removed.
76971         * lib/md5.c: Include "md5.h" first.
76972         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
76973         md5_buffer, md5_process_bytes, md5_process_block):
76974         Define with prototypes.
76975         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
76976         * lib/sha.c: Include "sha.h" first.
76977         Include <stdlib.h>, <string.h> unconditionally.
76978
76979         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
76980         * lib/memcmp.c (__ptr_t): Likewise.
76981         * lib/memrchr.c (__ptr_t): Likewise.
76982         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
76983         Include <string.h> unconditionally.
76984         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
76985         * lib/memchr.c: Include <stdlib.h> unconditionally.
76986         * lib/memchr.c (LONG_MAX): Remove.
76987         * lib/memrchr.c (LONG_MAX): Likewise.
76988         * lib/memchr.c (__memchr): Define via a prototype.
76989         * lib/memrchr.c (__memrchr): Likewise.
76990         * lib/memcmp.c (__P): Remove, and remove all uses.
76991         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
76992         Remove forward decls; no longer needed.
76993         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
76994         Use types required by C89 in prototype.
76995
76996         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
76997         * lib/savedir.c: Likewise.
76998         * lib/mkdir.c (free): Remove decl.
76999         * lib/rmdir.c (rmdir): Define with a prototype.
77000         * lib/savedir.c: Include savedir.h first, to test interface.
77001
77002         * lib/mktime.c (STDC_HEADERS): Remove.
77003         Include <stdlib.h>, <string.h> unconditionally.
77004
77005         * lib/modechange.c: Include <stdlib.h> unconditionally.
77006         (malloc): Remove decl.
77007
77008         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
77009         (free): Remove decl.
77010
77011         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
77012         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
77013         (This type really should be intptr_t, but that's a C99ism.)
77014         (_obstack_memcpy): Remove: all uses changed to memcpy.
77015         Include <string.h> unconditionally.
77016         (struct obstack): Assume __STDC__ for types of members
77017         chunkfun, freefun, extra_arg.
77018         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
77019         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
77020         obstack_begin, obstack_specify_allocation,
77021         obstack_specify_allocation_with_arg, obstack_chunkfun,
77022         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
77023         Remove unprototyped decls and the macros that use them.
77024         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
77025         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
77026         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
77027         (defined __STDC__ && __STDC__)]:
77028         Remove nonprototyped code.
77029         Include <stdlib.h> unconditionally.
77030         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
77031         _obstack_allocated_p, _obstack_free, obstack_free,
77032         _obstack_memory_used, print_and_abort):
77033         Define using prototypes.
77034         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
77035         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
77036         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
77037         obstack_next_free, obstack_object_size, obstack_room) [0]:
77038         Remove unused, unprototyped code.
77039
77040         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
77041
77042         * lib/physmem.c (physmem_total, physmem_available, main): Define
77043         with prototypes.
77044
77045         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
77046         (main): Define with a prototype.
77047
77048         * lib/posixver.c (getenv): Remove decl.
77049
77050         * lib/putenv.c (malloc): Returns void *, not char *.
77051         Include <string.h> unconditionally.
77052         (strchr, memcpy, NULL): Do not define.
77053
77054         * lib/readtokens.c: Include readtokens.h first, to test interface.
77055         Include <stdlib.h>, <string.h> unconditionally.
77056         (init_tokenbuffer): Define with a prototype.
77057
77058         * lib/regex.c (PARAMS): Remove.  All uses removed.
77059         All uses of _RE_ARGS removed, too.
77060         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
77061         unconditionally.
77062         (bzero): Assume memset exists.
77063         (memcmp, memcpy, NULL): Remove.
77064         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
77065         char, or assignments to local vars of type signed char.
77066         (init_syntax_once, PREFIX(extract_number_and_incr),
77067         PREFIX(print_partial_compiled_pattern),
77068         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
77069         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
77070         PREFIX(regex_grow_registers), PREFIX(regex_compile),
77071         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
77072         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
77073         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
77074         wcs_compile_range, byte_compile_range, truncate_wchar,
77075         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
77076         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
77077         count_mbs_length, wcs_re_match_2_internal,
77078         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
77079         PREFIX(alt_match_null_string_p),
77080         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
77081         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
77082         regfree, PREFIX(extract_number)): Define with prototype.  Remove
77083         now-unnecessary declaration, if any.
77084         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
77085         regcomp, regexec):
77086         Remove now-unnecessary casts among pointer types.
77087         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
77088
77089         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
77090         (free): Remove decl.
77091
77092         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
77093
77094         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
77095         (free): Remove decl.
77096
77097         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
77098         * lib/xgetcwd.c: Likewise.
77099
77100         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
77101         (free): Remove decl.
77102
77103         * lib/strchrnul.c (strchrnul): Define with a prototype.
77104         Fix bug: c_in was not converted to char before searching.
77105
77106         The following changes are not K&R related:
77107
77108         * lib/group-member.h: Include <sys/types.h>, so that this file is
77109         self-contained.
77110         * lib/makepath.h: Likewise.
77111
77112         * lib/getusershell.c (readname, default_index, line_size, readname):
77113         Use size_t, not int, for sizes.
77114         (readname): If the size overflows, report an error instead of
77115         looping forever.
77116
77117 2003-09-09  Paul Eggert  <eggert@twinsun.com>
77118
77119         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
77120         libc.
77121
77122 2003-09-09  Paul Eggert  <eggert@twinsun.com>
77123
77124         * README: New section: portability guidelines.
77125
77126 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
77127
77128         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
77129         C89 spec.
77130
77131 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
77132
77133         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
77134
77135 2003-09-08  Paul Eggert  <eggert@twinsun.com>
77136
77137         Assume C89 or better; remove K&R cruft.
77138         A few of these changes were first proposed by Derek Robert Price
77139         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
77140
77141         * lib/addext.c: Include <string.h> unconditionally.
77142         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
77143         Don't declare getenv or malloc.
77144
77145         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
77146         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
77147         (NULL): Remove.
77148         (find_stack_direction, alloca): Use prototypes.
77149
77150         * lib/atexit.c (atexit): Define using a prototype.
77151
77152         * lib/basename.c, dirname.c, stripslash.c:
77153         Include <string.h> unconditionally.
77154
77155         * lib/bcopy.c: Include <stddef.h>.
77156         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
77157
77158         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
77159
77160         * lib/error.h (error, error_at_line, error_print_progname)
77161         [! (defined (__STDC__) && __STDC__)]: Remove decls.
77162         * lib/error.c: Include error.h first, to check interface.
77163         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
77164         (VA_START): Remove; all uses changeed to va_start.
77165         (exit, strerror): Remove decls.
77166         (error_print_progname): Prototype uncondionally.
77167         Don't include <errno.h>; no longer needed.
77168         (private_strerror): Remove.
77169         (error_tail): Always define.
77170         (error, error_at_line): Assume C89 or better; always use prototypes.
77171         * lib/fatal.c: Include "fatal.h" first, to test interface.
77172         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
77173         (VA_START): Remove; all uses changed to va_start.
77174         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
77175         this case.
77176         (exit): Remove decl.
77177         (fatal): Prototype unconditionally.  Assume va_start works.
77178         Abort at end, to pacify gcc.
77179
77180         * lib/euidaccess.c (main): Define with a prototype.
77181
77182         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
77183
77184         * lib/exitfail.c: Include <stdlib.h> unconditionally.
77185
77186         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
77187         prototypes.
77188         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
77189         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
77190         (getenv): Remove decl.
77191         (fnmatch): Define using a prototype.
77192         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
77193         (FCT): Define using a prototype.
77194
77195         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
77196
77197         * lib/gethostname.c: Include <stddef.h>.
77198         (gethostname): Define with prototype.  Length is size_t, not int.
77199
77200 2003-09-08  Paul Eggert  <eggert@twinsun.com>
77201
77202         Assume C89 or better; remove K&R cruft.
77203         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
77204         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
77205         string.h, getenv, malloc.
77206         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
77207         headers.
77208         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
77209         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
77210         do not check for strerror.
77211         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
77212         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
77213         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
77214         do not check for doprnt or vprintf.
77215         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
77216         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
77217
77218 2003-09-08  Paul Eggert  <eggert@twinsun.com>
77219
77220         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
77221         getversion.c should have been removed then, but was accidentally
77222         preserved.
77223
77224         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
77225         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
77226
77227 2003-09-08  Karl Berry  <karl@gnu.org>
77228
77229         * config/config.sub, config.guess, srclistvars.sh: update from savannah
77230                 config, forget about prep.
77231
77232         * config/depcomp, missing: update from automake.
77233
77234 2003-09-07  Paul Eggert  <eggert@twinsun.com>
77235
77236         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
77237         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
77238
77239 2003-09-07  Paul Eggert  <eggert@twinsun.com>
77240
77241         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
77242         copy_tm_result.  Bug reported by Simon Josefsson in
77243         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
77244
77245 2003-09-06  Paul Eggert  <eggert@twinsun.com>
77246
77247         * m4/time_r.m4: New file.
77248         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
77249         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
77250         is. Check for timegm declaration.
77251         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
77252         Do not check for gmtime_r.
77253         Replace mktime if __mktime_internal does not exist and if mktime
77254         hasn't been replaced already.
77255
77256 2003-09-06  Paul Eggert  <eggert@twinsun.com>
77257
77258         * lib/time_r.c, lib/time_r.h: New files.
77259
77260         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
77261         __localtime_r.
77262         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
77263         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
77264
77265         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
77266         __gmtime_r.
77267         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
77268         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
77269         Include <time_r.h>.
77270
77271         * lib/timegm.c: Switch to glibc implementation, with the following
77272         changes:
77273         [defined HAVE_CONFIG_H]: Include <config.h>.
77274         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
77275         (__mktime_internal) [!defined _LIBC]: New decl.
77276         (__gmtime_r) [!defined _LIBC]: New macro and function.
77277         (timegm): Use a prototype, since gnulib assumes C89.
77278         Do not bother declaring tmp to be const, as it's not really usefu.
77279         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
77280         (timegm): Declare only if HAVE_DECL_TIMEGM.
77281
77282 2003-09-06  Paul Eggert  <eggert@twinsun.com>
77283
77284         * MODULES.html.sh (func_all_modules): Add time_r.
77285         * modules/time_r: New file.
77286         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
77287         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
77288
77289 2003-09-03  Paul Eggert  <eggert@twinsun.com>
77290
77291         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
77292         Bug reported by Lute Kamstra in
77293         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
77294
77295         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
77296         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
77297         course with correspondingly smaller numbers for tomorrow and
77298         yesterday.  From Tadayoshi Funaba.  Originally installed into
77299         sh-utils on 1999-08-07, but the patch got lost (I guess during the
77300         coreutils merge?).
77301
77302 2003-08-31  Simon Josefsson  <jas@extundo.com>
77303
77304         * modules/timegm: New file.
77305         * MODULES.html.sh (func_all_modules): Add timegm.
77306
77307 2003-08-31  Simon Josefsson  <jas@extundo.com>
77308
77309         * m4/timegm.m4: New file.
77310
77311 2003-08-31  Simon Josefsson  <jas@extundo.com>
77312
77313         * lib/timegm.h: New file.
77314         * lib/timegm.c: New file.  Based on
77315         wget-1.8.2/src/http.c:mktime_from_utc.
77316
77317 2003-08-31  Karl Berry  <karl@gnu.org>
77318
77319         * lib/argp.h: update from libc.
77320
77321 2003-08-28  Bruno Haible  <bruno@clisp.org>
77322
77323         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
77324         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
77325         followed by '#define fnmatch fnmatch_posix' gives an error.
77326
77327 2003-08-28  Bruno Haible  <bruno@clisp.org>
77328
77329         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
77330         warning on QNX, which defines O_BINARY to 000000.
77331
77332 2003-08-27  Jim Meyering  <jim@meyering.net>
77333
77334         * m4/mkstemp.m4: Require that the system mkstemp be able to create
77335         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
77336         would fail after 32.  Reported by Danny Levinson.  Details here:
77337         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
77338
77339 2003-08-24  Bruno Haible  <bruno@clisp.org>
77340
77341         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
77342         MSVC7 <stdio.h> is included later.
77343
77344 2003-08-22  Simon Josefsson  <jas@extundo.com>
77345
77346         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
77347
77348 2003-08-20  Karl Berry  <karl@gnu.org>
77349
77350         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
77351
77352 2003-08-20  Bruno Haible  <bruno@clisp.org>
77353
77354         * modules/progname: New file.
77355         * MODULES.html.sh (func_all_modules): Add progname.
77356
77357 2003-08-20  Bruno Haible  <bruno@clisp.org>
77358
77359         * lib/progname.h: New file, from GNU gettext.
77360         * lib/progname.c: New file, from GNU gettext.
77361         * lib/progreloc.c: New file, from GNU gettext.
77362
77363 2003-08-19  Jim Meyering  <jim@meyering.net>
77364
77365         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
77366         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
77367
77368 2003-08-19  Bruno Haible  <bruno@clisp.org>
77369
77370         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
77371         more.
77372
77373 2003-08-19  Bruno Haible  <bruno@clisp.org>
77374
77375         * lib/xstrdup.c: Assume <string.h> exists.
77376
77377 2003-08-18  Paul Eggert  <eggert@twinsun.com>
77378
77379         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
77380         in makefile rules.
77381
77382 2003-08-18  Jim Meyering  <jim@meyering.net>
77383
77384         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
77385         * m4/lib-ld.m4: Likewise.
77386
77387 2003-08-18  Jim Meyering  <jim@meyering.net>
77388
77389         * lib/setenv.h: Indent nested cpp directive.
77390         * lib/vasnprintf.c: Remove trailing blanks.
77391
77392 2003-08-17  Simon Josefsson  <jas@extundo.com>
77393
77394         * modules/xstrndup: New file.
77395         * MODULES.html.sh (func_all_modules): Add xstrndup.
77396
77397 2003-08-17  Simon Josefsson  <jas@extundo.com>
77398
77399         * modules/argp: Fix autoconf macro name. Add more dependencies.
77400
77401 2003-08-17  Simon Josefsson  <jas@extundo.com>
77402
77403         * m4/xstrndup.m4: New file.
77404
77405 2003-08-17  Simon Josefsson  <jas@extundo.com>
77406
77407         * m4/argp.m4: New file.
77408
77409 2003-08-17  Simon Josefsson  <jas@extundo.com>
77410             Bruno Haible  <bruno@clisp.org>
77411
77412         * lib/xstrndup.h: New file.
77413         * lib/xstrndup.c: New file.
77414
77415 2003-08-17  Bruno Haible  <bruno@clisp.org>
77416
77417         * modules/strndup (Files, Include): Add lib/strndup.h.
77418
77419 2003-08-17  Bruno Haible  <bruno@clisp.org>
77420
77421         * modules/euidaccess (Files): Add lib/euidaccess.h.
77422
77423 2003-08-17  Bruno Haible  <bruno@clisp.org>
77424
77425         * lib/strndup.h: New file.
77426
77427 2003-08-17  Bruno Haible  <bruno@clisp.org>
77428
77429         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
77430         like AC_GNU_SOURCE.
77431         * modules/extensions (configure.ac): Comment out the invocation of
77432         gl_USE_SYSTEM_EXTENSIONS.
77433
77434 2003-08-16  Paul Eggert  <eggert@twinsun.com>
77435
77436         Merges from coreutils, etc.
77437         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
77438         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
77439         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
77440         fixing a typo.
77441         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
77442         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
77443
77444 2003-08-16  Paul Eggert  <eggert@twinsun.com>
77445
77446         Document merge from coreutils.
77447         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
77448         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
77449         * modules/utime: Add m4/utimes-null.m4.
77450
77451 2003-08-16  Paul Eggert  <eggert@twinsun.com>
77452
77453         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
77454         space, undoing this 2003-08-12 change:
77455         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
77456
77457 2003-08-16  Paul Eggert  <eggert@twinsun.com>
77458
77459         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
77460         strtoul.c from libc, undoing this 2003-08-12 change:
77461         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
77462
77463 2003-08-16  Jim Meyering  <jim@meyering.net>
77464
77465         Merges from coreutils.
77466         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
77467         prefix.  Adjust cache variables similarly.  Create 500 rather than
77468         just 300 files, to exercise bug on Darwin6.5, too.
77469         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
77470         $missing_dir.
77471         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
77472         AM_SYS_POSIX_TERMIOS.
77473         Reported by mkc@mathdogs.com.
77474         Also change use of $am_cv_sys_posix_termios
77475         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
77476         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
77477         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
77478         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
77479         in /proc/mounts until it finds one with matching device number.  This
77480         is unnecessary when the FILE argument *is* a mount point.  No stat call
77481         is necessary in that case.  So, disable the statvfs-testing code on
77482         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
77483         as RedHat bug# 84846.
77484         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
77485         to 1MB, so as not to render systems with no stack size limit (e.g.,
77486         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
77487         Include <unistd.h>.  On some systems,
77488         it is required for the definition of _SC_PAGESIZE.
77489
77490 2003-08-16  Jim Meyering  <jim@meyering.net>
77491
77492         Merge from coreutils.
77493         * lib/xstrtoimax.c: #else #if -> #elif.
77494         * lib/xstrtoumax.c: Likewise.
77495
77496 2003-08-16  Jim Meyering  <jim@meyering.net>
77497
77498         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
77499         * m4/utimes.m4: Removed.
77500         * m4/utimes-null.m4: Renamed from utimes.m4.
77501
77502         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
77503         to 1MB, so as not to render systems with no stack size limit (e.g.,
77504         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
77505         Include <unistd.h>.  On some systems,
77506         it is required for the definition of _SC_PAGESIZE.
77507
77508 2003-08-16  Jim Meyering  <jim@meyering.net>
77509         and Paul Eggert  <eggert@cs.ucla.edu>
77510
77511         Merges from coreutils, etc.
77512
77513         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
77514         using the latest version from cvs.  This avoids problems with #line
77515         directives using a vendor (Sun) compiler.
77516         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
77517         Don't set GETGROUPS_LIB here; now it's
77518         done via getgroups.m4's wrapper function.
77519         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
77520         rather than just in sh-util/configure.in, so that the
77521         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
77522         same.
77523         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
77524         AC_FUNC_GETLOADAVG where to find getloadavg.c.
77525         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
77526         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
77527         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
77528         Remove code that is now done by the newly-required macros.
77529         Append $(EXEEXT) to DF_PROG.
77530         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
77531         Do not invoke or require the following here,
77532         since prereq.m4 or some gnulib .m4 now does this for us:
77533         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
77534         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
77535         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
77536         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
77537         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
77538         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
77539         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
77540         AC_FUNC_OBSTACK.
77541         Do not replace the following functions, as this is now the job
77542         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
77543         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
77544         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
77545         atexit getpass, strdup, getpagesize.
77546         Replace 'raise'.
77547         Do not check for the following functions, as this is now the job
77548         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
77549         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
77550         setregid.
77551         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
77552         Check for sys/sysctl.h.
77553         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
77554         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
77555         of checking for ssize_t ourselves.
77556
77557         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
77558         Require every macro that gnulib/modules/* suggests for us.
77559         (jm_PREREQ_ADDEXT): New macro.
77560         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
77561         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
77562
77563         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
77564         (gl_PHYSMEM): Use it.
77565         Also check for `table' function.
77566         Check for new headers and functions.
77567         Add check for sys/sysmp.h.
77568         With suggestions from Kaveh Ghazi.
77569         Ignore headers that are present but cannot be compiled.  This
77570         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
77571         C 5.4.
77572
77573 2003-08-15  Paul Eggert  <eggert@twinsun.com>
77574
77575         Document merge from coreutils.
77576         * modules/userspec: Depend on posixver.
77577         * modules/strftime: Depend on tzset.
77578
77579 2003-08-15  Paul Eggert  <eggert@twinsun.com>
77580
77581         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
77582         rather than tab, after '#' in shell-script copyright notices.
77583         Suggested by Bruno Haible.
77584
77585 2003-08-15  Paul Eggert  <eggert@twinsun.com>
77586
77587         * config/srclist-update: Use three spaces, rather than tab, after '#'
77588         in shell-script copyright notices.  Suggested by Bruno Haible.
77589         Remove unnecessary parenthesization in regular expression.
77590
77591 2003-08-15  Jim Meyering  <jim@meyering.net>
77592
77593         Merge from coreutils.
77594         * lib/xgethostname.c: Include <stdlib.h>.
77595         (xghostname): Don't exit for anything other than memory-related
77596         failure; just return NULL.
77597         * lib/userspec.c: Include "posixver.h".
77598         (parse_user_spec): Accept `.' as a separator only
77599         in pre-POSIX-200112 mode.
77600         * lib/strtoimax.c: Use #elif rather than #else #if.
77601         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
77602         Remove function, now that we can rely on a working tzset function.
77603         [!_LIBC]: Ensure that the required autoconf test has been run.
77604         [!defined _NL_CURRENT && HAVE_STRFTIME]:
77605         Use underlying_strftime for %r.
77606         * lib/sha.c: Merge in some clean-up and optimization changes from
77607         glibc.
77608         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
77609         Ensure that it is a multiple of 64.
77610         Rearrange loop exit tests so as to avoid performing an
77611         additional fread after encountering an error or EOF.
77612         * lib/realloc.c: Update copyright date.
77613
77614 2003-08-15  Jim Meyering  <jim@meyering.net>
77615         and Paul Eggert  <eggert@twinsun.com>
77616
77617         Merge from coreutils.
77618         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
77619         member but strut utmpx does not.  Needed for AIX 4.3.3.
77620         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
77621
77622 2003-08-15  Jim Meyering  <jim@meyering.net>
77623         and Paul Eggert  <eggert@cs.ucla.edu>
77624
77625         Merges from coreutils, etc.
77626         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
77627         Require gl_FUNC_TZSET_CLOBBER.
77628         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
77629         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
77630         members.
77631
77632 2003-08-14  Paul Eggert  <eggert@twinsun.com>
77633
77634         Help the merge from coreutils.
77635         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
77636         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
77637         * m4/tzset.m4: Use it too.
77638
77639 2003-08-14  Paul Eggert  <eggert@twinsun.com>
77640
77641         * modules/tzset: New file.
77642
77643 2003-08-14  Jim Meyering  <jim@meyering.net>
77644
77645         Merges from coreutils.
77646         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
77647         variable names, rather than @FNMATCH_H@.
77648         * modules/alloca: Likewise for $(ALLOCA_H).
77649
77650         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
77651         the three copies of the literal target, `fnmatch.h'.
77652         * modules/alloca (alloca.h): Likewise.
77653
77654 2003-08-14  Jim Meyering  <jim@meyering.net>
77655
77656         Merge from coreutils.
77657         * m4/tzset.m4: New file.
77658         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
77659         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
77660         otherwise, AIX 5.1 systems would end up using the latter.
77661         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
77662         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
77663         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
77664         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
77665
77666 2003-08-14  Jim Meyering  <jim@meyering.net>
77667
77668         Merge from coreutils.
77669         * lib/obstack.h: Whitespace changes.
77670         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
77671         and xcalloc return values.
77672         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
77673         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
77674         hang on OSF/1 5.1 for DIR on both local and remote file systems.
77675         Reported by (and fix confirmed by) Nelson H. F. Beebe.
77676         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
77677         error from mntctl.
77678         Use mntctl's return value to drive the entry-processing loop, since
77679         we can't rely on the value of the vmt_length member in the last
77680         entry.  On some systems doing so could result in exhausting
77681         virtual memory.  Based in part on a patch from Mike Jetzer.
77682
77683 2003-08-14  Jim Meyering  <jim@meyering.net>
77684         and Paul Eggert  <eggert@twinsun.com>
77685
77686         Merges from coreutils, plus other fixes.
77687         * lib/physmem.c: Merge in portability changes from gcc/libiberty
77688         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
77689         for credits and details.  Thanks to Kaveh Ghazi for helping
77690         to keep these files in sync.
77691         (ARRAY_SIZE): Define it.
77692         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
77693         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
77694         (memcasecmp): Don't assume size_t fits in unsigned int.
77695         Remove casts and duplicate code.
77696         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
77697         (memcpy): Remove definition.
77698         Merge in some clean-up and optimization changes from glibc.
77699         [BLOCKSIZE]: Move definition to top of file.
77700         Ensure that it is a multiple of 64.
77701         Rearrange loop exit tests so as to avoid performing an
77702         additional fread after encountering an error or EOF.
77703         * lib/md5.h (md5_uintptr): Define.
77704         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
77705         return to the initial working directory.  Preserve errno
77706         for caller.
77707         * lib/idcache.c: Include "xalloc.h".
77708         (xmalloc, xrealloc): Remove decls.
77709         (getuser): Remove casts no longer required in C89.
77710         * lib/human.c: Include stdio.h, for sprintf.
77711         * lib/group-member.c: Include "xalloc.h".
77712         (xmalloc, xrealloc): Remove decls.
77713         (get_group_info): Remove casts no longer required in C89.
77714         * lib/getusershell.c (readname): Remove casts no longer required in
77715         C89.
77716         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
77717         * lib/getline.c: Whitespace fix, from coreutils.
77718
77719 2003-08-13  Paul Eggert  <eggert@twinsun.com>
77720
77721         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
77722         Check for isascii.
77723
77724         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
77725         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
77726         Undo previous (whitespace-only) change.
77727
77728 2003-08-13  Paul Eggert  <eggert@twinsun.com>
77729
77730         * lib/exclude.c: Include <ctype.h>
77731         (IN_CTYPE_DOMAIN): New macro.
77732         (is_space): New fn.
77733         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
77734         and empty lines.
77735
77736         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
77737         Undo previous (whitespace-only) change.
77738
77739 2003-08-13  Paul Eggert  <eggert@twinsun.com>
77740
77741         * config/srclist-update: Change update back to the old behavior,
77742         leaving whitespace alone.  Use one 'sed' command rather than a
77743         pipeline.
77744         (fixlicense): Now a variable, not a function.
77745         (remove_trailing_blanks): Remove.
77746         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
77747         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
77748         Undo previous (whitespace-only) change.
77749
77750 2003-08-12  Paul Eggert  <eggert@twinsun.com>
77751
77752         Merge from coreutils.
77753         * modules/euidaccess: Add lib_SOURCES, include for new
77754         file euidaccess.h
77755
77756 2003-08-12  Paul Eggert  <eggert@twinsun.com>
77757
77758         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
77759         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
77760         Normalize leading white space and remove trailing white space.
77761
77762         Merge from coreutils
77763         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
77764
77765         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
77766         0.12.1.  These files are now being upgraded automatically by
77767         ../config/srclist-update.
77768
77769 2003-08-12  Paul Eggert  <eggert@twinsun.com>
77770
77771         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
77772         Normalize leading white space and remove trailing white space.
77773         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
77774         notice, as per ../config/srclist-update.
77775
77776         Merge from coreutils.
77777         * lib/euidaccess.h: New file.
77778         * lib/euidaccess.c: Include it.
77779         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
77780         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
77781         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
77782
77783 2003-08-12  Paul Eggert  <eggert@twinsun.com>
77784
77785         * config/srclist-update: Add copyright notice.
77786         (remove_id_lines, remove_trailing_blanks): New constants.
77787         (fixfile): Use them to normalize spacing a bit in copied files.
77788         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
77789         Normalize leading white space and remove trailing white space.
77790
77791         * config/texinfo.tex: Sync with texinfo.
77792
77793         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
77794         strtoul.c from libc, to merge coreutils whitespace changes.
77795
77796         * config/srclist.txt: Get the following m4 files from gettext:
77797         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
77798         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
77799         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
77800         wint_t.m4.
77801
77802 2003-08-12  Karl Berry  <karl@gnu.org>
77803
77804         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
77805         been made.
77806
77807 2003-08-11  Paul Eggert  <eggert@twinsun.com>
77808
77809         * modules/gnu-source, m4/gnu-source.m4:
77810         Remove; we're assuming Autoconf 2.54 or later now.
77811         Suggested by Bruno Haible.
77812         * MODULES.html.sh (func_all_modules): Remove gnu-source.
77813
77814 2003-08-11  Bruno Haible  <bruno@clisp.org>
77815
77816         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
77817
77818 2003-08-11  Bruno Haible  <bruno@clisp.org>
77819
77820         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
77821         (vasnprintf): Use it instead of wcslen.
77822
77823 2003-08-11  Bruno Haible  <bruno@clisp.org>
77824
77825         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
77826         value to ensure that _Bool promotes to int. Use #define for _Bool when
77827         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
77828
77829 2003-08-10  Karl Berry  <karl@gnu.org>
77830
77831         * lib/regex.h: update from libc (whitespace fix).
77832
77833 2003-08-09  Paul Eggert  <eggert@twinsun.com>
77834
77835         Merge some files from coreutils.  These changes were
77836         originally made by Jim Meyering.
77837         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
77838         many older Unixes require this.
77839         * lib/alloca.c (alloca): Remove cast to argument of free;
77840         no longer needed in C89.
77841         * lib/alloca_.h, regex.h: Fix white space to match
77842         what GNU indent does.
77843
77844 2003-08-09  Paul Eggert  <eggert@twinsun.com>
77845
77846         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
77847         apparently Emacs's Unicode mode got confused before my 2003-08-05
77848         checkin.
77849
77850 2003-08-08  Paul Eggert  <eggert@twinsun.com>
77851
77852         * m4/extensions.m4: New file.
77853         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
77854         Require gl_USE_SYSTEM_EXTENSIONS.
77855         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
77856         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
77857
77858 2003-08-08  Paul Eggert  <eggert@twinsun.com>
77859
77860         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
77861         * modules/extensions, modules/gnu-source: New files.
77862         * modules/timespec, modules/unlocked-io: Depend on extensions.
77863
77864 2003-08-07  Paul Eggert  <eggert@twinsun.com>
77865
77866         * modules/restrict: New file.
77867         * MODULES.html.sh (func_all_modules): Add restrict.
77868         * modules/regex: Depend on restrict.
77869
77870 2003-08-07  Paul Eggert  <eggert@twinsun.com>
77871
77872         * m4/restrict.m4: New file.
77873         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
77874
77875 2003-08-07  Bruno Haible  <bruno@clisp.org>
77876
77877         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
77878         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
77879
77880 2003-08-07  Bruno Haible  <bruno@clisp.org>
77881
77882         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
77883         makes the module 'getndelim2' compatible with the module 'getline'.
77884
77885 2003-08-05  Paul Eggert  <eggert@twinsun.com>
77886
77887         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
77888         byte with "\201" to avoid glitches when editing that source file
77889         with multi-gnome-terminal.
77890
77891 2003-08-05  Paul Eggert  <eggert@twinsun.com>
77892
77893         * lib/bumpalloc.h: Remove.
77894
77895 2003-08-05  Paul Eggert  <eggert@twinsun.com>
77896
77897         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
77898         * modules/bumpalloc: Remove.
77899
77900 2003-08-04  Paul Eggert  <eggert@twinsun.com>
77901
77902         * lib/getloadavg.c: Change copyright notice and spacing to conform to
77903         GNU coding style.
77904
77905         Merge from coreutils.
77906         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
77907         1. From glibc.
77908         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
77909         from Karl Berry, implemented by Jim Meyering.
77910         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
77911         from Dmitry V. Levin.
77912         Remove anachronistic cast of xrealloc.
77913         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
77914         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
77915         type. Otherwise, it wouldn't compile with at least /bin/cc on
77916         ymp-cray-unicos9.0.2.X.
77917         Combine two mostly-identical uses of alloca into one.
77918         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
77919
77920 2003-08-04  Dave Love  <d.love@dl.ac.uk>
77921
77922         [From Emacs.]
77923
77924         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
77925         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
77926         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
77927         obsolete NLIST_NAME_UNION.
77928         [__GNU__]: Undef BSD and FSCALE.
77929         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
77930
77931 2003-08-03  Paul Eggert  <eggert@twinsun.com>
77932
77933         * lib/stdbool_.h (_Bool): Make it signed char, instead of
77934         an enum type, so that it's guaranteed to promote to int.  See:
77935         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
77936
77937 2003-08-03  Karl Berry  <karl@gnu.org>
77938
77939         * config/depcomp: update from automake.
77940
77941 2003-07-31  Paul Eggert  <eggert@twinsun.com>
77942
77943         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
77944         (strerror): Don't assume that a printable int fits in 14 bytes.
77945
77946 2003-07-31  Bruno Haible  <bruno@clisp.org>
77947
77948         * modules/getpass-gnu: New file.
77949         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
77950
77951 2003-07-31  Bruno Haible  <bruno@clisp.org>
77952
77953         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
77954
77955 2003-07-24  Karl Berry  <karl@gnu.org>
77956
77957         * config/missing: update from automake.
77958
77959 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
77960             Bruno Haible  <bruno@clisp.org>
77961
77962         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
77963         * lib/getline.c (getline, getdelim): Likewise.
77964         Remove _GNU_SOURCE define; now it's defined in config.h through
77965         m4/getline.m4.
77966
77967 2003-07-23  Karl Berry  <karl@gnu.org>
77968
77969         * config/config.sub: update from prep.
77970
77971 2003-07-22  Paul Eggert  <eggert@twinsun.com>
77972
77973         * modules/xalloc (Depends-on): Add exitfail.
77974         * modules/xmemcoll: Likewise.
77975
77976 2003-07-22  Paul Eggert  <eggert@twinsun.com>
77977
77978         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
77979         over-parenthesization in macros.
77980
77981         Sync with coreutils.
77982
77983         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
77984         required by C99.
77985
77986         Use `exit_failure' for xalloc and xmemcoll instead of their own
77987         private exit-failure variables.
77988         * lib/xalloc.h (xalloc_exit_failure): Remove.
77989         * lib/xmalloc.c: Likewise.  Include exitfail.h.
77990         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
77991         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
77992         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
77993         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
77994
77995 2003-07-20  Jim Meyering  <jim@meyering.net>
77996
77997         * modules/closeout (Depends-on): Add exitfail.
77998         Suggestion from Bruno Haible.
77999
78000 2003-07-19  Karl Berry  <karl@gnu.org>
78001
78002         * config/config.sub: update from prep.
78003
78004 2003-07-18  Paul Eggert  <eggert@twinsun.com>
78005
78006         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
78007         Remove.
78008         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
78009         to test that it can stand by itself.  Include "exitfail.h".
78010         Clients should set exit_failure instead.
78011         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
78012
78013 2003-07-18  Bruno Haible  <bruno@clisp.org>
78014
78015         * modules/getndelim2: New file.
78016         * modules/getline: Share files with module getndelim2.
78017         * modules/getnline: Depend on getndelim2 instead of sharing files with
78018         it. Add getnline.c to lib_SOURCES.
78019         * MODULES.html.sh (func_all_modules): Add getndelim2.
78020
78021 2003-07-18  Bruno Haible  <bruno@clisp.org>
78022
78023         * m4/getndelim2.m4: New file.
78024         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
78025         invoke gl_PREREQ_GETNDELIM2.
78026         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
78027         gl_PREREQ_GETNDELIM2.
78028         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
78029         gl_GETNDELIM2.
78030
78031 2003-07-18  Bruno Haible  <bruno@clisp.org>
78032
78033         * lib/getndelim2.h: New file.
78034         * lib/getndelim2.c: Make into a module of its own. Include config.h,
78035         getndelim2.h.
78036         (getndelim2): Make non-static. Change return type to ssize_t.
78037         * lib/getline.h: Change argument names.
78038         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
78039         * lib/getnline.c: Include getndelim2.h.
78040
78041 2003-07-18  Andreas Schwab  <schwab@suse.de>
78042
78043         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
78044
78045 2003-07-17  Karl Berry  <karl@gnu.org>
78046
78047         * config/config.sub: update from prep.
78048
78049 2003-07-17  Bruno Haible  <bruno@clisp.org>
78050
78051         * modules/getnline: New file.
78052         * modules/getline: Add lib/getndelim2.c to source file list.
78053         * MODULES.html.sh (func_all_modules): Add getnline.
78054
78055 2003-07-17  Bruno Haible  <bruno@clisp.org>
78056
78057         * m4/getnline.m4: New file.
78058
78059 2003-07-17  Bruno Haible  <bruno@clisp.org>
78060
78061         * m4/Makefile.am.in: Remove file.
78062         * m4/Makefile.am: Remove file.
78063         * m4/Makefile.in: Remove file.
78064
78065 2003-07-17  Bruno Haible  <bruno@clisp.org>
78066
78067         * lib/getnline.h: New file.
78068         * lib/getnline.c: New file.
78069         * lib/getndelim2.c: New file, extracted from getline.c.
78070         (getndelim2): Renamed from getdelim2, with added nmax argument.
78071         * lib/getline.c: Include getndelim2.c.
78072         (getdelim2): Moved out to getndelim2.c.
78073         (getline, getdelim): Update.
78074
78075 2003-07-17  Bruno Haible  <bruno@clisp.org>
78076
78077         * lib/Makefile.am: Remove file.
78078         * lib/Makefile.in: Remove file.
78079
78080 2003-07-17  Bruno Haible  <bruno@clisp.org>
78081
78082         * configure.in: Remove file.
78083         * Makefile.in: Remove file.
78084
78085 2003-07-17  Bruno Haible  <bruno@clisp.org>
78086
78087         * MODULES.html.sh: Put the </BODY> right before </HTML>.
78088
78089 2003-07-16  Karl Berry  <karl@gnu.org>
78090
78091         * config/srclist-update: was running fixlicense twice, which caused
78092                 texinfo.tex to be nullified for some reason.  Simplify,
78093                 $gplsrc is no longer needed as far as I can see?
78094
78095 2003-07-16  Jim Meyering  <jim@meyering.net>
78096
78097         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
78098
78099 2003-07-15  Paul Eggert  <eggert@twinsun.com>
78100
78101         * config/srclist.txt: Get the following files from gettext-runtime/intl
78102         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
78103         ref-del.sin.  From Bruno Haible.
78104         * config/srclist-update (fixfile): Change grep pattern again, since the
78105         previous fix didn't work (there was another trailing $).  Use
78106         '[$]' to escape the $s.
78107
78108 2003-07-15  Karl Berry  <karl@gnu.org>
78109
78110         * lib/vasnprintf.c: update from gettext.
78111
78112 2003-07-15  Karl Berry  <karl@gnu.org>
78113
78114         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
78115         gets expanded when surrounded by '$'.
78116
78117 2003-07-15  Jim Meyering  <jim@meyering.net>
78118
78119         * modules/save-cwd: Don't depend on error.  From Derek Price.
78120
78121 2003-07-15  Jim Meyering  <jim@meyering.net>
78122
78123         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
78124
78125 2003-07-14  Simon Josefsson  <jas@extundo.com>
78126
78127         * modules/mempcpy: New file.
78128         * MODULES.html.sh (func_all_modules): Add mempcpy.
78129
78130 2003-07-14  Simon Josefsson  <jas@extundo.com>
78131
78132         * m4/mempcpy.m4: New file.
78133
78134 2003-07-14  Simon Josefsson  <jas@extundo.com>
78135
78136         * lib/mempcpy.h: New file.
78137         * lib/mempcpy.c: New file.
78138
78139 2003-07-14  Paul Eggert  <eggert@twinsun.com>
78140
78141         * modules/getdate, modules/posixtm: Depend on mktime.
78142
78143 2003-07-14  Paul Eggert  <eggert@twinsun.com>
78144
78145         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
78146         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
78147         unicodeio.c, unicodeio.h, unlocked-io.h:
78148         Switch from LGPL to GPL.
78149
78150 2003-07-14  Paul Eggert  <eggert@twinsun.com>
78151
78152         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
78153         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
78154         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
78155         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
78156         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
78157         updated automatically by ../config/srclist-update.  This changes
78158         their license from LPGL to GPL.
78159
78160 2003-07-14  Paul Eggert  <eggert@twinsun.com>
78161
78162         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
78163         assumed to refer to the root of the most recent stable gettext version.
78164         * config/srclistvars.sh: Add defaults for eggert.
78165         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
78166         Match "This program" as well as "The program".  This is needed
78167         for gettext.
78168
78169 2003-07-14  Jim Meyering  <jim@meyering.net>
78170
78171         Don't emit diagnostics.  Let callers do that.
78172         * lib/save-cwd.c: Don't include "error.h".
78173         (save_cwd): Don't call error.  Ensure that errno is valid
78174         when returning nonzero.
78175
78176         * lib/save-cwd.h (restore_cwd): Update prototype.
78177         * lib/save-cwd.c (restore_cwd): Remove two parameters.
78178         Simplify.  Don't call error upon failure.  Let callers do that.
78179         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
78180         when auditing is enabled.  But don't bother updating the #if.
78181
78182 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
78183
78184         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
78185         it breaks C++ compilation.
78186         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
78187
78188 2003-07-10  Simon Josefsson  <jas@extundo.com>
78189
78190         * modules/strchrnul (Makefile.am): Add strchrnul.h.
78191
78192 2003-07-10  Jim Meyering  <jim@meyering.net>
78193
78194         * m4/clock_time.m4: Remove trailing blank.
78195         * m4/intmax_t.m4: Likewise.
78196
78197 2003-07-10  Jim Meyering  <jim@meyering.net>
78198
78199         * lib/vasnprintf.c: Remove trailing blanks.
78200         Make cpp indentation consistent.
78201
78202 2003-07-09  Paul Eggert  <eggert@twinsun.com>
78203
78204         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
78205         posixver.c, strftime.c, strnlen.c, strverscmp.c:
78206         Switch from LGPL to GPL.
78207
78208 2003-07-09  Paul Eggert  <eggert@twinsun.com>
78209
78210         * config/srclist.txt: Sort sublists.  Add
78211         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
78212         that differ from gnulib for one reason or another; we'd like this list
78213         to be smaller but for now let's document what we have.
78214
78215 2003-07-08  Paul Eggert  <eggert@twinsun.com>
78216
78217         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
78218         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
78219         and sweeter "eval x=$x".
78220         * config/srclist.txt: Get lib/argp* from glibc.
78221
78222 2003-07-07  Paul Eggert  <eggert@twinsun.com>
78223
78224         * lib/mktime.c: Fix some boundary cases and remove need for floating
78225         point.
78226
78227         Issue a compile-time diagnostic if time_t is floating point, or if
78228         two's complement arithmetic is not in effect, or if arithmetic
78229         right shift does not propagate the sign.  These assumptions were
78230         all in the original code but they weren't checked.
78231
78232         (TIME_T_MIDPOINT, verify): New macros.
78233         (__isleap): Remove; it has integer overflow problems.
78234         (leapyear): New function, without those problems.
78235         (ydhms_tm_diff): Remove; splitting into two parts.
78236         (ydhms_diff): New function, containing the arithmetic part of
78237         the old ydhms_tm_diff function.  Issue a compile-time
78238         diagnostic if we are not using C99 integer division.
78239         Avoid casts when possible.
78240         (guess_time_tm): New function, containing the checking part of
78241         the old ydhms_tm_diff function.  Return the new value, rather than
78242         the difference between it and the old.  Accept a new argument T
78243         so that *T specifies the old value.  Check for overflow in the result.
78244
78245         (__mktime_internal): Use a time_t offset, not a long int offset.
78246         This undoes the 2003-06-04 change, which is no longer needed now
78247         that we have better overflow checking.
78248         (localtime_offset): Likewise.
78249
78250         (__mktime_internal): Avoid harmful overflow on hosts where time_t
78251         and long are 64-bit but int is only 32-bit.
78252         (ydhms_diff): Use long int to store year1 and yday1.
78253         Issue a compile-time diagnostic if long int is not wide enough.
78254
78255         (__mktime_internal): Use long int to store adjusted year and yday.
78256         Use plain C rather than preprocessor commands, if that doesn't
78257         affect efficiency.
78258         Check for overflow (and try to repair) after each probe
78259         rather than checking only at the very end.  This avoids some bugs
78260         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
78261         does not equal GMT offset at maximum time).
78262         Use integer to check for overflow rather than floating point; this
78263         is more portable to non-IEEE hosts, and is a tad faster.
78264         When we detect that we are oscillating between two values,
78265         don't check whether tm_isdst has the requested value, since
78266         we already know the answer.  When tm_isdst has the wrong value,
78267         use a different heuristic to find the right one, based on the
78268         extreme values actually observed in practice in tz2003a,
78269         rather than the (overly optimistic) "previous 3 calendar quarters".
78270
78271         (not_equal_tm, print_tm, check_result): Use "const T" rather than
78272         "T const" to accommodate glibc style.
78273         (check_result): Use less-confusing report format.  "long" -> "long int.
78274         (main): Likewise.
78275         Don't loop if the iteration overflows time_t.
78276         Allow a negative step in the iteration.
78277
78278 2003-07-06  Karl Berry  <karl@gnu.org>
78279
78280         * config/depcomp: update from automake.
78281         * config/config.sub: update from prep.
78282
78283 2003-07-03  Karl Berry  <karl@gnu.org>
78284
78285         * config/config.guess: update from prep.
78286
78287 2003-07-01  Paul Eggert  <eggert@twinsun.com>
78288
78289         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
78290         xreadlink.c now includes it unconditionally.
78291
78292 2003-07-01  Paul Eggert  <eggert@twinsun.com>
78293
78294         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
78295         having it depend on HAVE_SYS_TYPES_H.
78296
78297 2003-07-01  Bruno Haible  <bruno@clisp.org>
78298
78299         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
78300         <sys/types.h> should be sufficient.
78301         Reported by Paul Eggert.
78302
78303 2003-06-26  Karl Berry  <karl@gnu.org>
78304
78305         * config/depcomp: update from automake.
78306
78307 2003-06-26  Bruno Haible  <bruno@clisp.org>
78308
78309         * modules/human: Depend on module stdbool.
78310
78311 2003-06-25  Bruno Haible  <bruno@clisp.org>
78312
78313         * modules/readlink: New file.
78314         * modules/xreadlink: Depend on it.
78315         * MODULES.html.sh (func_all_modules): Add readlink.
78316
78317 2003-06-25  Bruno Haible  <bruno@clisp.org>
78318
78319         * m4/readlink.m4: New file.
78320
78321 2003-06-25  Bruno Haible  <bruno@clisp.org>
78322
78323         * lib/readlink.c: New file.
78324
78325 2003-06-22  Karl Berry  <karl@gnu.org>
78326
78327         * config/srclist.txt: update mkinstalldirs from automake.
78328         * config/mkinstalldirs: update.
78329
78330 2003-06-22  Bruno Haible  <bruno@clisp.org>
78331
78332         Portability to mingw32.
78333         * m4/ssize_t.m4: New file, from GNU gettext.
78334         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
78335         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
78336
78337 2003-06-22  Bruno Haible  <bruno@clisp.org>
78338
78339         * modules/safe-read: Add m4/ssize_t.m4.
78340         * modules/xreadlink: Add m4/ssize_t.m4.
78341
78342 2003-06-20  Bruno Haible  <bruno@clisp.org>
78343
78344         Assume C89, so PARAMS isn't needed.
78345         * lib/unicodeio.h (PARAMS): Remove.
78346         * lib/unicodeio.c: Don't use PARAMS.
78347
78348 2003-06-18  Karl Berry  <karl@gnu.org>
78349
78350         * config/config.{guess,sub}: update from prep.
78351
78352 2003-06-18  Jim Meyering  <jim@meyering.net>
78353
78354         Merge changes from coreutils.
78355         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
78356         Remove explicit declarations of xmalloc and realloc.
78357         Include xalloc.h.
78358         (read_utmp): Remove anachronistic cast of xmalloc.
78359
78360 2003-06-17  Paul Eggert  <eggert@twinsun.com>
78361
78362         Assume C89, so PARAMS isn't needed.
78363         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
78364         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
78365         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
78366         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
78367         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
78368         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
78369         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
78370         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
78371         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
78372         lib/xstrtod.h, lib/xstrtol.h: Likewise.
78373         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
78374         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
78375         no longer needed. Anyway, config.h should always be included before any
78376         other file.
78377
78378 2003-06-11  Simon Josefsson  <jas@extundo.com>
78379
78380         * modules/sysexits: New file.
78381         * MODULES.html.sh (func_all_modules): Add sysexits.
78382
78383 2003-06-11  Simon Josefsson  <jas@extundo.com>
78384
78385         * lib/sysexit_.h: New file.
78386
78387 2003-06-11  Derek Price  <derek@ximbiot.com>
78388
78389         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
78390         necessary.
78391
78392 2003-06-11  Bruno Haible  <bruno@clisp.org>
78393
78394         * m4/sysexits.m4: New file.
78395
78396 2003-06-10  Simon Josefsson  <jas@extundo.com>
78397
78398         * lib/argp.h: New file, from glibc.
78399         * lib/argp-ba.c: New file, from glibc.
78400         * lib/argp-eexst.c: New file, from glibc.
78401         * lib/argp-fmtstream.c: New file, from glibc.
78402         * lib/argp-fmtstream.h: New file, from glibc.
78403         * lib/argp-fs-xinl.c: New file, from glibc.
78404         * lib/argp-help.c: New file, from glibc.
78405         * lib/argp-namefrob.h: New file, from glibc.
78406         * lib/argp-parse.c: New file, from glibc.
78407         * lib/argp-pv.c: New file, from glibc.
78408         * lib/argp-pvh.c: New file, from glibc.
78409         * lib/argp-xinl.c: New file, from glibc.
78410
78411 2003-06-10  Simon Josefsson  <jas@extundo.com>
78412
78413         * modules/strchrnul: New file.
78414
78415 2003-06-10  Simon Josefsson  <jas@extundo.com>
78416
78417         * modules/argp: New file.
78418
78419 2003-06-10  Simon Josefsson  <jas@extundo.com>
78420
78421         * m4/strchrnul.m4: New file.
78422
78423 2003-06-10  Simon Josefsson  <jas@extundo.com>
78424
78425         * lib/strchrnul.h: New file.
78426         * lib/strchrnul.c: New file.
78427
78428 2003-06-10  Bruno Haible  <bruno@clisp.org>
78429
78430         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
78431
78432 2003-06-07  Karl Berry  <karl@gnu.org>
78433
78434         * config/config.{guess,sub}: update from prep.
78435
78436 2003-06-07  Jim Meyering  <jim@meyering.net>
78437
78438         * modules/strtod: Use $(...) notation, not @...@ for
78439         AC_REPLACE'd variables.
78440         * modules/localcharset: Likewise.
78441
78442 2003-06-07  Jim Meyering  <jim@meyering.net>
78443
78444         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
78445         in place of my name in the copyright comment.
78446         Remove definition and uses of __P.
78447
78448         From coreutils.
78449         * lib/stat.c: Don't declare xmalloc explicitly.
78450         Instead, include "xalloc.h".
78451         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
78452         xrealloc, and xcalloc return values.
78453         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
78454         Improve comment.
78455         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
78456
78457 2003-06-07  Bruno Haible  <bruno@clisp.org>
78458
78459         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
78460         avoid AC_CONFIG_LINKS.
78461         * modules/fnmatch (Makefile.am): Use explicit creation rule for
78462         fnmatch.h, to avoid AC_CONFIG_LINKS.
78463         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
78464
78465 2003-06-07  Bruno Haible  <bruno@clisp.org>
78466
78467         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
78468         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
78469         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
78470         directory.
78471         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
78472         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
78473         directory.
78474
78475 2003-06-06  Jim Meyering  <jim@meyering.net>
78476
78477         Merge from coreutils.
78478         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
78479         Consolidate declarations and initializations of *_base* locals.
78480
78481         Merge from coreutils.
78482         This avoids a core dump on systems without GNU putenv,
78483         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
78484         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
78485         (unsetenv): New static function, from GNU libc.
78486         (rpl_putenv): Use it.
78487
78488         * lib/modechange.c: Remove trailing blanks.
78489
78490         Merge from coreutils.
78491         * lib/fsusage.c: Remove declaration of statfs.
78492         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
78493
78494         * lib/posixtm.c: Include <stdbool.h> unconditionally.
78495
78496 2003-06-06  Jim Meyering  <jim@meyering.net>
78497
78498         * lib/stdbool_.h: Renamed from stdbool.h.in.
78499
78500 2003-06-06  Jim Meyering  <jim@meyering.net>
78501             Bruno Haible  <bruno@clisp.org>
78502
78503         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
78504         Adjust Makefile.am snippet not to redirect directly to target.
78505         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
78506
78507 2003-06-05  Paul Eggert  <eggert@twinsun.com>
78508
78509         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
78510         mismatch, look in future quarters as well as past.  This fixes a
78511         bug when processing fall-backwards gaps immediately after a long
78512         period of daylight-saving time.
78513
78514         * lib/mktime.c: Assume freestanding C89 or better.
78515         (HAVE_LIMITS_H): Remove.  Assume it's 1.
78516         (__P): Remove; not used.
78517         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
78518         (mktime, not_equal_tm, print_tm, check_result,
78519         main): Use prototypes.  Use const * where appropriate.
78520         (main): Fix typo in testing code that uncovered by above changes.
78521         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
78522
78523 2003-06-04  Paul Eggert  <eggert@twinsun.com>
78524
78525         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
78526         locale.h, localeconv.  This merges changes from coreutils.
78527
78528         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
78529         It can be removed after the next Autoconf is released.
78530         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
78531         needed.
78532
78533 2003-06-04  Paul Eggert  <eggert@twinsun.com>
78534
78535         * lib/mktime.c: Fix Debian bug 177940
78536         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
78537         (localtime_offset): Now long int, not time_t, because we want it
78538         to be guaranteed to be signed.  All uses changed.
78539         (__mktime_internal): If overflow would occur when adding offset,
78540         don't add it.
78541
78542         Merge 'human' changes from coreutils.  Rewrite to support
78543         locale-specific notations like thousands separators.
78544         * lib/human.c: Simplify authorship notice.
78545         Include human.h immediately after config.h.
78546         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
78547         <limits.h>: Do not include, since human.h does.
78548         (SIZE_MAX, UINTMAX_MAX): New macros.
78549         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
78550         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
78551         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
78552         (power_letter): Renamed from suffixes.
78553         (generate_suffix_backwards): Remove.
78554         (adjust_value): Now takes int style (because of human.h changes)
78555         and long double value (for greater precision on some platforms).
78556         (group_number): New function.
78557         (human_readable): Use it.  Use integer options, not enum.
78558         Put the options before the sizes in the arg list.
78559         Support all the new options.
78560         The old human_readable function has been removed;
78561         use inttostr.h instead.
78562         (human_readable, default_block_size, humblock):
78563         Use uintmax_t, not int, for block sizes.
78564         (human_readable_inexact, block_size_types): Remove.
78565         (block_size_opts): New constant.
78566         (human_options): Renamed from human_block_size, with new signature
78567         that allows block sizes up to UINTMAX_MAX.  All callers changed.
78568         * lib/human.h: Add copyright and authorship notice.
78569         Include <limits.h> and <stdbool.h> unconditionally.
78570         (PARAMS): Remove.  All uses removed.
78571         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
78572         (enum human_inexact_style): Remove tag; now a nameless enum.
78573         (human_floor, human_ceiling, human_round_to_even): Now have
78574         values 2, 0, 1 rather than -1, 1, 0.
78575         (human_group_digits, human_suppress_point_zero, human_autoscale,
78576         human_base_1024, human_SI, human_B): New constants.
78577         (human_readable_inexact, human_block_size): Remove.
78578         (human_readable): Size args are now uintmax_t, not int.
78579         (human_options): New decl.
78580
78581         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
78582         unnecessary now that we assume C89 or better.  This change
78583         imported from coreutils.
78584
78585         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
78586         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
78587         in the 2003-05-30 sync from glibc.
78588
78589         .h files should stand alone, but we shouldn't include <sys/types.h>
78590         if we can get away with just <stddef.h>.
78591
78592         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
78593         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
78594         rather than <sys/types.h>, as we merely need size_t.
78595         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
78596         to get size_t.
78597         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
78598         Include <stdio.h>, to get FILE.
78599         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
78600         memcasecmp.h has included <stddef.h> and all we need is size_t.
78601         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
78602         our interface, instead of including <sys/types.h>
78603
78604 2003-06-04  Paul Eggert  <eggert@twinsun.com>
78605
78606         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
78607         now, as glibc mktime is buggy on non-glibc systems.
78608
78609 2003-06-03  Karl Berry  <karl@gnu.org>
78610
78611         * config/config.sub: update from prep.
78612
78613 2003-06-02  Paul Eggert  <eggert@twinsun.com>
78614
78615         [from coreutils]
78616         Fix some minor time-related bugs with POSIX time arguments.
78617         Some valid time stamps were being rejected (notably -1, and
78618         time stamps before 1900 on 64-bit hosts).  And some invalid
78619         time stamps were being accepted, e.g. September 31.
78620
78621         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
78622         that we can return (time_t) -1 successfully.
78623         * lib/posixtm.c: Likewise.
78624         [HAVE_STDBOOL_H]: Include <stdbool.h>.
78625         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
78626         (t): Remove static var.
78627         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
78628         of static var.  All uses changed.
78629         (year): Do not reject years before 1900; they can occur with
78630         64-bit time_t.
78631         (posix_time_parse): Do not check for out-of-range components;
78632         that is now the caller's responsibility, since our checks were
78633         only approximations.
78634         (posixtime): Use mktime to check for out-of-range components,
78635         since it knows them exactly.
78636         If mktime returns (time_t) -1, check whether an error actually occurred
78637         by invoking localtime on -1.
78638         (main) [TEST_POSIXTIME]: Check for input data errors, and report
78639         posixtime failures better.
78640         Improve the test data (in comments only).
78641
78642 2003-06-02  Karl Berry  <karl@gnu.org>
78643
78644         * config/mkinstalldirs (version): new variable.
78645         (--version): new option.
78646         (usage): improve message.
78647
78648 2003-05-30  Karl Berry  <karl@gnu.org>
78649
78650         * lib/mktime.c: update from libc.
78651
78652 2003-05-30  Bruno Haible  <bruno@clisp.org>
78653
78654         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
78655         * config/config.rpath: Upgrade to gettext-0.12.1.
78656
78657 2003-05-30  Bruno Haible  <bruno@clisp.org>
78658
78659         * m4/gettext.m4: Upgrade to gettext-0.12.1.
78660         * m4/nls.m4: New file, from gettext-0.12.1.
78661         * m4/po.m4: New file, from gettext-0.12.1.
78662         * m4/progtest.m4: Upgrade to gettext-0.12.1.
78663
78664 2003-05-30  Bruno Haible  <bruno@clisp.org>
78665
78666         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
78667         * lib/localcharset.h: Likewise.
78668         * lib/localcharset.c: Likewise.
78669
78670 2003-05-29  Karl Berry  <karl@gnu.org>
78671
78672         * config/config.rpath: update from gettext.
78673
78674 2003-05-28  Paul Eggert  <eggert@twinsun.com>
78675
78676         Assume the headers required for C89 freestanding compilers.
78677         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
78678         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
78679         * m4/human.m4 (gl_HUMAN): Likewise.
78680         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
78681         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
78682         * m4/userspec.m4 (gl_USERSPEC): Likewise.
78683         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
78684         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
78685         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
78686
78687 2003-05-28  Paul Eggert  <eggert@twinsun.com>
78688
78689         Assume the headers required for C89 freestanding compilers.
78690         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
78691         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
78692         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
78693         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
78694         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
78695         define, since <limits.h> is guaranteed to do that.
78696         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
78697         * lib/exclude.c: Include <stdbool.h> unconditionally.
78698         * lib/tempname.c: Include <stddef.h> unconditionally.
78699         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
78700         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
78701         <stddef.h> does that.
78702         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
78703         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
78704         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
78705         needed.
78706         * lib/xstrtol.c: Likewise.
78707         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
78708         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
78709
78710         * lib/addext.c (addext): Use assignment rather than cast, to avoid
78711         warnings on some platforms.
78712
78713         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
78714         arbitrarily.
78715
78716 2003-05-26  Jim Meyering  <jim@meyering.net>
78717
78718         Merge in a change from coreutils:
78719         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
78720         that is guaranteed to be `no'.  Use `no_such_member' to indicate
78721         that condition, rather than `-1' which is slightly misleading.
78722         Change the name of the cache variable to have the gl_ prefix.
78723         Prompted by a patch from Richard Dawe for DJGPP.
78724
78725 2003-05-24  Karl Berry  <karl@gnu.org>
78726
78727         * config/config.guess: update from prep.
78728
78729 2003-05-22  Karl Berry  <karl@gnu.org>
78730
78731         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
78732
78733 2003-05-20  Karl Berry  <karl@gnu.org>
78734
78735         * config/config.guess: update from prep.
78736
78737 2003-05-18  Karl Berry  <karl@gnu.org>
78738
78739         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
78740         might actually be set by the user.
78741
78742         * config/depcomp, install-sh, mdate-sh: update from automake.
78743
78744 2003-05-17  Bruno Haible  <bruno@clisp.org>
78745
78746         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
78747         invalid expansion for AC_EGREP_CPP.
78748         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
78749         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
78750         Suggested by Akim Demaille <akim@epita.fr> in
78751         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
78752
78753 2003-05-12  Jim Meyering  <jim@meyering.net>
78754
78755         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
78756         the space-padded-by-default conversion specifiers, %e, %k, %l.
78757
78758 2003-05-12  Bruno Haible  <bruno@clisp.org>
78759
78760         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
78761         the string is longer than 4 KB.
78762
78763 2003-05-11  Karl Berry  <karl@gnu.org>
78764
78765         * config/config.{guess,sub}: update from prep.
78766
78767 2003-05-09  Bruno Haible  <bruno@clisp.org>
78768
78769         * modules/error: Add m4/strerror_r.m4 to file list.
78770
78771 2003-05-03  Bruno Haible  <bruno@clisp.org>
78772
78773         Upgrade to Unicode-4.0.
78774         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
78775         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
78776         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
78777         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
78778         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
78779         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
78780         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
78781         Change width of U+E0100..U+E01EF from 1 to 0.
78782
78783 2003-04-25  Jim Meyering  <jim@meyering.net>
78784
78785         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
78786         of type size_t, not int.
78787
78788 2003-04-25  Bruno Haible  <bruno@clisp.org>
78789
78790         * lib/copy-file.c: Include <stddef.h>, for size_t.
78791
78792 2003-04-21  Paul Eggert  <eggert@twinsun.com>
78793
78794         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
78795         code which expansion is under static control.  Patch imported from
78796         Akim Demaille's patch to Bison; see
78797         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
78798
78799 2003-04-14  Bruno Haible  <bruno@clisp.org>
78800
78801         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
78802
78803 2003-04-11  Jim Meyering  <jim@meyering.net>
78804
78805         Merge changes from Coreutils.
78806
78807         2003-03-22  Jim Meyering  <jim@meyering.net>
78808
78809         * lib/strftime.c (widen): Cast alloca return value to proper type.
78810
78811         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
78812
78813         From GNU libc.
78814         * lib/strftime.c (my_strftime): Handle very large width
78815         specifications for numeric values correctly.  Improve checks for
78816         overflow.
78817
78818         2003-01-19  Jim Meyering  <jim@meyering.net>
78819
78820         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
78821         definitions.
78822         (nl_get_alt_digit) [! defined my_strftime]: Define.
78823         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
78824         _nl_get_alt_digit and _nl_get_walt_digit.
78825
78826         * lib/strftime.c (my_strftime): Merge in locale-related changes from
78827         libc. These changes have no effect outside of _LIBC.
78828
78829 2003-04-10  Bruno Haible  <bruno@clisp.org>
78830
78831         * modules/findprog: New file.
78832         * MODULES.html.sh (func_all_modules): Add it.
78833
78834 2003-04-10  Bruno Haible  <bruno@clisp.org>
78835
78836         * m4/findprog.m4: New file.
78837         * m4/eaccess.m4: New file.
78838
78839 2003-04-10  Bruno Haible  <bruno@clisp.org>
78840
78841         * lib/findprog.h: New file, from GNU gettext.
78842         * lib/findprog.c: New file, from GNU gettext.
78843
78844 2003-04-05  Jim Meyering  <jim@meyering.net>
78845
78846         Merge changes from Coreutils.
78847
78848         * lib/exclude.h (PARAMS): Remove definition and uses.
78849         * lib/exclude.c: Remove uses of `PARAMS'.
78850
78851         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
78852         Add test-cases for DOS filenames. Declare program_name.
78853         (main): Set up program_name.  Patch by Rich Dawe.
78854
78855         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
78856         error from mntctl.
78857         Use mntctl's return value to drive the entry-processing loop, since
78858         we can't rely on the value of the vmt_length member in the last
78859         entry.  On some systems doing so could result in exhausting
78860         virtual memory.  Based in part on a patch from Mike Jetzer.
78861
78862 2003-04-04  Bruno Haible  <bruno@clisp.org>
78863
78864         * modules/linebreak: New file.
78865         * MODULES.html.sh (func_all_modules): Add it.
78866
78867 2003-04-04  Bruno Haible  <bruno@clisp.org>
78868
78869         * m4/linebreak.m4: New file.
78870
78871 2003-04-04  Bruno Haible  <bruno@clisp.org>
78872
78873         * lib/linebreak.h: New file, from GNU gettext.
78874         * lib/linebreak.c: New file, from GNU gettext with slight
78875         modifications.
78876         * lib/lbrkprop.h: New file, from GNU gettext.
78877
78878 2003-04-03  Bruno Haible  <bruno@clisp.org>
78879
78880         * modules/utf8-ucs4: New file.
78881         * modules/utf16-ucs4: New file.
78882         * modules/ucs4-utf8: New file.
78883         * modules/ucs4-utf16: New file.
78884         * MODULES.html.sh (func_all_modules): Add them.
78885
78886 2003-04-03  Bruno Haible  <bruno@clisp.org>
78887
78888         * m4/utf-ucs4.m4: New file.
78889         * m4/ucs4-utf.m4: New file.
78890
78891 2003-04-03  Bruno Haible  <bruno@clisp.org>
78892
78893         * lib/utf8-ucs4.h: New file, from GNU gettext.
78894         * lib/utf16-ucs4.h: New file, from GNU gettext.
78895         * lib/ucs4-utf8.h: New file, from GNU gettext.
78896         * lib/ucs4-utf16.h: New file, from GNU gettext.
78897
78898 2003-04-02  Bruno Haible  <bruno@clisp.org>
78899
78900         * modules/binary-io: New file.
78901         * MODULES.html.sh (func_all_modules): Add it.
78902
78903 2003-04-02  Bruno Haible  <bruno@clisp.org>
78904
78905         * lib/binary-io.h: New file, from GNU gettext.
78906
78907 2003-04-01  Bruno Haible  <bruno@clisp.org>
78908
78909         * modules/pathname: New file.
78910         * MODULES.html.sh (func_all_modules): Add it.
78911
78912 2003-04-01  Bruno Haible  <bruno@clisp.org>
78913
78914         * lib/pathname.h: New file, from GNU gettext.
78915         * lib/concatpath.c: New file, from GNU gettext.
78916
78917 2003-03-30  Bruno Haible  <bruno@clisp.org>
78918
78919         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
78920
78921 2003-03-30  Bruno Haible  <bruno@clisp.org>
78922
78923         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
78924         function chown() doesn't exist.
78925
78926 2003-03-28  Bruno Haible  <bruno@clisp.org>
78927
78928         * modules/copy-file: New file.
78929         * MODULES.html.sh (func_all_modules): Add it.
78930
78931 2003-03-28  Bruno Haible  <bruno@clisp.org>
78932
78933         * m4/copy-file.m4: New file.
78934
78935 2003-03-28  Bruno Haible  <bruno@clisp.org>
78936
78937         * lib/copy-file.h: New file, from GNU gettext.
78938         * lib/copy-file.c: New file, from GNU gettext.
78939
78940 2003-03-18  Jim Meyering  <jim@meyering.net>
78941
78942         * lib/quote.c (quote_n): Fix typo in comment.
78943
78944 2003-03-18  Bruno Haible  <bruno@clisp.org>
78945
78946         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
78947         checking.
78948         * m4/onceonly_2_57.m4: Likewise.
78949
78950 2003-03-17  Bruno Haible  <bruno@clisp.org>
78951
78952         * m4/onceonly.m4: Require autoconf 2.54 or newer.
78953         (m4_quote): Remove macro.
78954         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
78955
78956 2003-03-14  Jim Meyering  <jim@meyering.net>
78957
78958         Merge changes from Coreutils.
78959         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
78960         to be const, in order to avoid warnings.
78961         (obstack_room): Likewise.
78962         (obstack_empty_p): Likewise.
78963
78964 2003-03-14  Bruno Haible  <bruno@clisp.org>
78965
78966         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
78967         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
78968
78969 2003-03-13  Paul Eggert  <eggert@twinsun.com>
78970
78971         Merge changes from Bison.
78972         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
78973         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
78974         when compiling Bison 1.875's `bitset bset = obstack_alloc
78975         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
78976         * lib/hash.c: Include <stdbool.h> unconditionally.
78977
78978 2003-03-13  Paul Eggert  <eggert@twinsun.com>
78979
78980         * m4/onceonly.m4 (m4_quote): New macro.
78981         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
78982         Quote AC_FOREACH variable-expansions properly.
78983
78984 2003-03-13  Paul Eggert  <eggert@twinsun.com>
78985
78986         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
78987
78988 2003-03-09  Paul Eggert  <eggert@twinsun.com>
78989
78990         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
78991         Reported by Bruce Becker; see:
78992         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
78993
78994 2003-03-03  Paul Eggert  <eggert@twinsun.com>
78995             Bruno Haible  <bruno@clisp.org>
78996
78997         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
78998         Reported by John Hughes, see
78999         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
79000
79001 2003-02-20  Bruno Haible  <bruno@clisp.org>
79002
79003         * MODULES.html.sh (func_all_modules): Add poll.
79004
79005 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
79006
79007         * modules/poll: New file.
79008
79009 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
79010
79011         * lib/poll_.h: New file.
79012         * lib/poll.c: New file.
79013
79014 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
79015
79016         * m4/poll.m4: New file.
79017
79018 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
79019
79020         * modules/mathl: New file.
79021
79022 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
79023
79024         * lib/mathl.h: New file.
79025         * lib/acosl.c: New file.
79026         * lib/asinl.c: New file.
79027         * lib/atanl.c: New file.
79028         * lib/ceill.c: New file.
79029         * lib/cosl.c: New file.
79030         * lib/expl.c: New file.
79031         * lib/floorl.c: New file.
79032         * lib/frexpl.c: New file.
79033         * lib/ldexpl.c: New file.
79034         * lib/logl.c: New file.
79035         * lib/sincosl.c: New file.
79036         * lib/sinl.c: New file.
79037         * lib/sqrtl.c: New file.
79038         * lib/tanl.c: New file.
79039         * lib/trigl.c: New file.
79040         * lib/trigl.h: New file.
79041
79042 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
79043
79044         * m4/mathl.m4: New file.
79045
79046 2003-02-18  Bruno Haible  <bruno@clisp.org>
79047
79048         * MODULES.html.sh (func_all_modules): Add mathl.
79049
79050 2003-02-17  Bruno Haible  <bruno@clisp.org>
79051
79052         * modules/mkdtemp: New module.
79053         * MODULES.html.sh (func_all_modules): Add it.
79054
79055 2003-02-17  Bruno Haible  <bruno@clisp.org>
79056
79057         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
79058
79059 2003-02-17  Bruno Haible  <bruno@clisp.org>
79060
79061         * lib/mkdtemp.h: New file, from GNU gettext.
79062         * lib/mkdtemp.c: New file, from GNU gettext.
79063
79064 2003-02-02  Jim Meyering  <jim@meyering.net>
79065
79066         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
79067         e.g. glibc-2.2.93.
79068
79069 2003-01-31  Bruno Haible  <bruno@clisp.org>
79070
79071         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
79072         'rpl_rename'.
79073         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
79074         'rpl_strnlen'.
79075         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
79076         'rpl_strtod'.
79077         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
79078         'rpl_utime'.
79079
79080 2003-01-31  Bruno Haible  <bruno@clisp.org>
79081
79082         * lib/rename.c: #undef rename before defining rpl_rename.
79083         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
79084
79085 2003-01-30  Bruno Haible  <bruno@clisp.org>
79086
79087         * modules/vasnprintf, modules/vasprintf: New modules.
79088         * MODULES.html.sh (func_all_modules): Add them.
79089
79090 2003-01-30  Bruno Haible  <bruno@clisp.org>
79091
79092         * m4/signed.m4: New file, from GNU gettext.
79093         * m4/longdouble.m4: New file, from GNU gettext.
79094         * m4/wchar_t.m4: New file, from GNU gettext.
79095         * m4/wint_t.m4: New file, from GNU gettext.
79096         * m4/vasnprintf.m4: New file.
79097         * m4/vasprintf.m4: New file.
79098
79099 2003-01-30  Bruno Haible  <bruno@clisp.org>
79100
79101         * lib/printf-args.h: New file, from GNU gettext.
79102         * lib/printf-args.c: New file, from GNU gettext.
79103         * lib/printf-parse.h: New file, from GNU gettext.
79104         * lib/printf-parse.c: New file, from GNU gettext.
79105         * lib/vasnprintf.h: New file, from GNU gettext.
79106         * lib/vasnprintf.c: New file, from GNU gettext.
79107         * lib/asnprintf.c: New file, from GNU gettext.
79108         * lib/vasprintf.h: New file, from GNU gettext with modifications.
79109         * lib/vasprintf.c: New file, from GNU gettext.
79110         * lib/asprintf.c: New file, from GNU gettext.
79111
79112 2003-01-29  Bruno Haible  <bruno@clisp.org>
79113
79114         * modules/stpncpy: New module.
79115         * MODULES.html.sh (func_all_modules): Add it.
79116
79117 2003-01-29  Bruno Haible  <bruno@clisp.org>
79118
79119         * m4/stpncpy.m4: New file.
79120
79121 2003-01-29  Bruno Haible  <bruno@clisp.org>
79122
79123         * lib/stpncpy.h: New file, from GNU gettext with modifications.
79124         * lib/stpncpy.c: New file, from GNU gettext with modifications.
79125
79126 2003-01-28  Bruno Haible  <bruno@clisp.org>
79127
79128         * modules/c-ctype: New module.
79129         * MODULES.html.sh (func_all_modules): Add it.
79130
79131 2003-01-28  Bruno Haible  <bruno@clisp.org>
79132
79133         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
79134         Paul Eggert.
79135         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
79136         Paul Eggert.
79137
79138 2003-01-27  Bruno Haible  <bruno@clisp.org>
79139
79140         * modules/xsetenv: New module.
79141         * MODULES.html.sh (func_all_modules): Add it.
79142
79143 2003-01-27  Bruno Haible  <bruno@clisp.org>
79144
79145         * lib/xsetenv.h: New file, from GNU gettext.
79146         * lib/xsetenv.c: New file, from GNU gettext.
79147
79148 2003-01-23  Jim Meyering  <jim@meyering.net>
79149
79150         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
79151         from working on systems without dirfd (at least Irix and OSF1/Tru64).
79152
79153 2003-01-23  Bruno Haible  <bruno@clisp.org>
79154
79155         * modules/minmax: New module.
79156         * MODULES.html.sh (func_all_modules): Add it.
79157
79158 2003-01-23  Bruno Haible  <bruno@clisp.org>
79159
79160         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
79161         Eggert.
79162
79163 2003-01-22  Bruno Haible  <bruno@clisp.org>
79164
79165         * modules/exit: New module.
79166         * MODULES.html.sh (func_all_modules): Add it.
79167
79168 2003-01-22  Bruno Haible  <bruno@clisp.org>
79169
79170         * lib/exit.h: New file, from GNU gettext.
79171
79172 2003-01-19  Bruno Haible  <bruno@clisp.org>
79173
79174         * gnulib-tool: Recognize option --extract-maintainer.
79175         (func_get_maintainer): New function.
79176         * modules/*: Add Maintainer entry.
79177
79178 2003-01-16  Jim Meyering  <jim@meyering.net>
79179
79180         * m4/regex.m4: The `regex' struct is both input and output.
79181         Initialize it before each use.  Patch by Tim Waugh.
79182
79183 2003-01-16  Bruno Haible  <bruno@clisp.org>
79184
79185         * MODULES.html.sh: Add a table of contents. Add the module name as
79186         leftmost column. Add hyperlinks.
79187
79188 2003-01-15  Bruno Haible  <bruno@clisp.org>
79189
79190         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
79191
79192 2003-01-15  Bruno Haible  <bruno@clisp.org>
79193
79194         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
79195         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
79196         suffix.
79197
79198 2003-01-15  Bruno Haible  <bruno@clisp.org>
79199
79200         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
79201
79202 2003-01-15  Bruno Haible  <bruno@clisp.org>
79203
79204         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
79205         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
79206
79207 2003-01-14  Jim Meyering  <jim@meyering.net>
79208
79209         * lib/same.c (same_name): Tweak a comment.
79210
79211 2003-01-14  Bruno Haible  <bruno@clisp.org>
79212
79213         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
79214         when a string comparison is sufficient.
79215
79216 2003-01-14  Bruno Haible  <bruno@clisp.org>
79217
79218         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
79219         'unsigned int'.
79220
79221 2003-01-14  Bruno Haible  <bruno@clisp.org>
79222
79223         * lib/hash-pjw.c: Add comment about low quality of this function.
79224
79225 2003-01-13  Bruno Haible  <bruno@clisp.org>
79226
79227         * modules/stpcpy: Distribute lib/stpcpy.h.
79228         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
79229
79230 2003-01-13  Bruno Haible  <bruno@clisp.org>
79231
79232         * modules/*: Add a description.
79233         * modules/strpbrk: Fix Makefile.am snippet.
79234         * modules/strtoimax: Fix dependencies.
79235         * modules/strtoumax: Likewise.
79236
79237 2003-01-13  Bruno Haible  <bruno@clisp.org>
79238
79239         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
79240         * modules/alloca (Makefile.am): All object files depend on alloca.h.
79241         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
79242
79243 2003-01-13  Bruno Haible  <bruno@clisp.org>
79244
79245         * gnulib-tool (func_create_testdir): Store config/* files in the main
79246         directory.
79247         * config.rpath: Move to ...
79248         * config/config.rpath: ... here.
79249         * modules/gettext: Contains config/config.rpath, not config.rpath.
79250         * modules/iconv: Likewise.
79251
79252 2003-01-12  Paul Eggert  <eggert@twinsun.com>
79253
79254         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
79255         to avoid collisions with libcurses and libreadline.
79256
79257         * m4/getstr.m4: Remove.
79258         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
79259
79260 2003-01-12  Paul Eggert  <eggert@twinsun.com>
79261
79262         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
79263         to avoid collisions with libcurses and libreadline.
79264
79265         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
79266         * lib/getstr.h, getstr.c: Remove.
79267         * lib/getline.c: Include "getline.h", to check interface.
79268         Move body of old getstr.c here: this defines MIN_CHUNK and
79269         declares getdelim2, which is renamed from getstr.
79270         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
79271
79272         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
79273         All uses changed.
79274         * lib/linebuffer.h: Likewise.
79275         (readline): Remove backward-compatibility macro.
79276
79277 2003-01-12  Paul Eggert  <eggert@twinsun.com>
79278
79279         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
79280         to avoid collisions with libcurses and libreadline.
79281         * getstr: Remove.
79282         * MODULES.html.sh: Remove getstr.
79283         * modules/getline: Depend on unlocked-io, not getstr.
79284
79285 2003-01-12  Jim Meyering  <jim@meyering.net>
79286
79287         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
79288
79289 2003-01-10  Bruno Haible  <bruno@clisp.org>
79290
79291         * modules/alloca: Change Makefile.am requirements. Simplify Include
79292         requirements. Add lib/alloca_.h to file list.
79293
79294 2003-01-10  Bruno Haible  <bruno@clisp.org>
79295
79296         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
79297
79298 2003-01-10  Bruno Haible  <bruno@clisp.org>
79299
79300         * lib/alloca_.h: New file.
79301         * lib/getdate.y: Unconditionally include alloca.h.
79302         * lib/makepath.c: Likewise.
79303         * lib/setenv.c: Likewise.
79304         * lib/userspec.c: Likewise.
79305
79306 2003-01-09  Karl Berry  <karl@gnu.org>
79307
79308         * MODULES.html.sh: include `dirname $0` in PATH, to find
79309         gnulib-tool.
79310
79311 2003-01-09  Bruno Haible  <bruno@clisp.org>
79312
79313         * modules/stdbool: Change configure.ac, Makefile.am requirements.
79314         Simplify Include requirements. Add lib/stdbool.h.in to file list.
79315
79316 2003-01-09  Bruno Haible  <bruno@clisp.org>
79317
79318         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
79319
79320 2003-01-09  Bruno Haible  <bruno@clisp.org>
79321
79322         * lib/stdbool.h.in: New file.
79323
79324 2003-01-09  Bruno Haible  <bruno@clisp.org>
79325
79326         * gnulib-tool (func_all_modules): Ignore files ending in ~.
79327         * MODULES.html.sh: Likewise.
79328
79329 2003-01-08  Jim Meyering  <jim@meyering.net>
79330
79331         * lib/full-write.c: Undefine and define-away `const' after inclusion
79332         of errno.h, not before.  Suggestion from Bruno Haible.
79333
79334 2003-01-08  Bruno Haible  <bruno@clisp.org>
79335
79336         * modules/full-read: Depend on full-write.
79337
79338 2003-01-08  Bruno Haible  <bruno@clisp.org>
79339
79340         * lib/safe-read.c: Include specification header first, to ensure its
79341         selfcontainedness.
79342         * lib/full-write.c: Likewise.
79343
79344 2003-01-07  Jim Meyering  <jim@meyering.net>
79345
79346         * lib/full-write.c: Rework so that it may serve to define full_read,
79347         too.
79348         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
79349
79350 2003-01-07  Bruno Haible  <bruno@clisp.org>
79351
79352         * lib/strtoimax.c: Include <stdint.h> as an alternative to
79353         <inttypes.h>.
79354         * lib/xstrtol.h: Likewise.
79355         * lib/xstrtoimax.c: Likewise.
79356         * lib/xstrtoumax.c: Likewise.
79357         * lib/human.h: Likewise.
79358
79359         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
79360         on systems that have <inttypes.h> but not <stdint.h>.
79361
79362 2003-01-07  Bruno Haible  <bruno@clisp.org>
79363
79364         * MODULES.html.sh: Add copyright notice.
79365         (missed_files): Omit CVS directory entries.
79366         (func_module): Make it work with sed-3.02.
79367         * MODULES.txt: Remove file.
79368
79369 2003-01-06  Jim Meyering  <jim@meyering.net>
79370
79371         * lib/version-etc.c: Update year in translatable copyright string.
79372
79373 2003-01-03  Karl Berry  <karl@gnu.org>
79374
79375         * config/config.{guess,sub}: update from prep.
79376
79377 2003-01-02  Karl Berry  <karl@gnu.org>
79378
79379         * doc/COPYING.DOC: belatedly updated to 1.2.
79380
79381 2003-01-01  Karl Berry  <karl@gnu.org>
79382
79383         * gnulib-tool (func_verify_module): report module name $module in
79384         error message, not $1.
79385         * gnulib-tool (create-testdir): don't complain if destdir couldn't
79386         be created, only if it doesn't exist.
79387         * gnulib-tool (last_checkin_date): don't expand the $Date here.
79388
79389 2002-12-31  Paul Eggert  <eggert@twinsun.com>
79390
79391         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
79392
79393 2002-12-31  Paul Eggert  <eggert@twinsun.com>
79394
79395         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
79396         memcmp if strcoll doesn't work.
79397
79398 2002-12-31  Bruno Haible  <bruno@clisp.org>
79399
79400         * lib/utime.c (utime_null): No need to call ftruncate if the file was
79401         nonempty.
79402
79403 2002-12-31  Bruno Haible  <bruno@clisp.org>
79404
79405         * lib/memcoll.c (STRCOLL): New macro.
79406         (memcoll): Use it.
79407
79408 2002-12-31  Bruno Haible  <bruno@clisp.org>
79409
79410         * lib/localcharset.h: New file.
79411         * lib/localcharset.c: Include it.
79412         * lib/unicodeio.c: Likewise.
79413
79414 2002-12-31  Bruno Haible  <bruno@clisp.org>
79415
79416         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
79417         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
79418
79419 2002-12-31  Bruno Haible  <bruno@clisp.org>
79420
79421         * lib/getline.h: Include <stddef.h>, for size_t.
79422
79423         * lib/unicodeio.h: Include <stddef.h>, for size_t.
79424         * lib/unicodeio.c: Don't include <stddef.h>.
79425
79426 2002-12-31  Bruno Haible  <bruno@clisp.org>
79427
79428         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
79429         HAVE_TM_ZONE.
79430
79431 2002-12-24  Karl Berry  <karl@gnu.org>
79432
79433         * config/config.guess: update from prep.
79434
79435 2002-12-24  Bruno Haible  <bruno@clisp.org>
79436
79437         General infrasructure.
79438         * m4/README: Rewritten.
79439         * m4/onceonly.m4: New file.
79440         * m4/onceonly_2_57.m4: New file.
79441
79442         Module atexit.
79443         * m4/atexit.m4: New file.
79444
79445         Module strtod.
79446         * m4/strtod.m4: New file.
79447
79448         Module strtol.
79449         * m4/strtol.m4: New file.
79450
79451         Module strtoul.
79452         * m4/strtoul.m4: New file.
79453
79454         Module memchr.
79455         * m4/memchr.m4: New file.
79456
79457         Module memcmp.
79458         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
79459         (jm_FUNC_MEMCMP): Invoke it.
79460
79461         Module memcpy.
79462         * m4/memcpy.m4: New file.
79463
79464         Module memmove.
79465         * m4/memmove.m4: New file.
79466
79467         Module memset.
79468         * m4/memset.m4: New file.
79469
79470         Module strcspn.
79471         * m4/strcspn.m4: New file.
79472
79473         Module strpbrk.
79474         * m4/strpbrk.m4: New file.
79475
79476         Module strstr.
79477         * m4/strstr.m4: New file.
79478
79479         Module strerror.
79480         * m4/strerror.m4: New file.
79481
79482         Module mktime.
79483         * m4/mktime.m4: Renamed from jm-mktime.m4.
79484         (gl_PREREQ_MKTIME): New macro.
79485         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
79486
79487         Module malloc.
79488         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
79489         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
79490         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
79491
79492         Module realloc.
79493         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
79494         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
79495         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
79496
79497         Module strftime.
79498         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
79499         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
79500         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
79501         gl_TM_GMTOFF.
79502         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
79503
79504         Module xalloc.
79505         * m4/xalloc.m4: New file.
79506
79507         Module alloca.
79508         * m4/alloca.m4: New file.
79509
79510         Module putenv.
79511         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
79512         (jm_FUNC_PUTENV): Invoke it.
79513
79514         Module setenv.
79515         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
79516         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
79517         when invoked twice.
79518         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
79519         gt_FUNC_SETENV.
79520
79521         Module memrchr.
79522         * m4/memrchr.m4: New file.
79523
79524         Module stpcpy.
79525         * m4/stpcpy.m4: New file.
79526
79527         Module strcase.
79528         * m4/strcase.m4: New file.
79529
79530         Module strdup.
79531         * m4/strdup.m4: New file.
79532
79533         Module strnlen.
79534         * m4/strnlen.m4: New file.
79535
79536         Module strndup.
79537         * m4/strndup.m4: New file.
79538
79539         Module xstrtod.
79540         * m4/xstrtod.m4: New file.
79541
79542         Module xstrtol.
79543         * m4/xstrtol.m4: New file.
79544
79545         Module getdate.
79546         * m4/getdate.m4: New file.
79547
79548         Module unlocked-io.
79549         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
79550         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
79551         * m4/jm-glibc-io.m4n: Remove file.
79552
79553         Module long-options.
79554         * m4/long-options.m4: New file.
79555
79556         Module md5.
79557         * m4/md5.m4: New file.
79558
79559         Module sha.
79560         * m4/sha.m4: New file.
79561
79562         Module getstr.
79563         * m4/getstr.m4: New file.
79564
79565         Module getline.
79566         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
79567         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
79568         <sys/types.h>, for size_t. Use the function name gnu_getline, not
79569         simply getline. Infoke gl_PREREQ_GETLINE.
79570
79571         Module obstack.
79572         * m4/obstack.m4: New file.
79573
79574         Module hash.
79575         * m4/hash.m4: New file.
79576
79577         Module readtokens.
79578         * m4/readtokens.m4: New file.
79579
79580         Module strverscmp.
79581         * m4/strverscmp.m4: New file.
79582
79583         Module stdbool.
79584         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
79585         OSF/1.
79586
79587         Module strtoll.
79588         * m4/strtoll.m4: New file.
79589
79590         Module strtoull.
79591         * m4/strtoull.m4: New file.
79592
79593         Module strtoimax.
79594         * m4/strtoimax.m4: New file.
79595
79596         Module strtoumax.
79597         * m4/strtoumax.m4: New file.
79598
79599         Module xstrtoimax.
79600         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
79601         jm_AC_PREREQ_XSTRTOIMAX.
79602         Moved the strtol prerequisites to strtol.m4.
79603         Moved the strtoll prerequisites to strtoll.m4.
79604         Moved the strtoimax prerequisites to strtoimax.m4.
79605
79606         Module xstrtoumax.
79607         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
79608         jm_AC_PREREQ_XSTRTOUMAX.
79609         Moved the strtoul prerequisites to strtoul.m4.
79610         Moved the strtoull prerequisites to strtoull.m4.
79611         Moved the strtoumax prerequisites to strtoumax.m4.
79612
79613         Module chown.
79614         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
79615         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
79616
79617         Module dup2.
79618         * m4/dup2.m4: New file.
79619
79620         Module ftruncate.
79621         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
79622         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
79623
79624         Module getgroups.
79625         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
79626         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
79627
79628         Module gettimeofday.
79629         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
79630         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
79631         gl_PREREQ_GETTIMEOFDAY.
79632
79633         Module mkdir.
79634         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
79635         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
79636
79637         Module mkstemp.
79638         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
79639         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
79640         jm_AC_TYPE_UINTMAX_T.
79641         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
79642
79643         Module stat.
79644         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
79645         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
79646
79647         Module lstat.
79648         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
79649         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
79650
79651         Module timespec.
79652         * m4/timespec.m4 (gl_TIMESPEC): New macro.
79653         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
79654         * m4/st_mtim.m4: Indentation.
79655
79656         Module nanosleep.
79657         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
79658         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
79659         gl_PREREQ_NANOSLEEP.
79660
79661         Module regex.
79662         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
79663         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
79664         (gl_REGEX): New macro.
79665
79666         Module rename.
79667         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
79668         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
79669
79670         Module rmdir.
79671         * m4/rmdir.m4: New file.
79672
79673         Module utime.
79674         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
79675         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
79676         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
79677
79678         Module dirname.
79679         * m4/dirname.m4: New file.
79680
79681         Module getopt.
79682         * m4/getopt.m4: New file.
79683
79684         Module unistd-safer.
79685         * m4/unistd-safer.m4: New file.
79686
79687         Module fnmatch.
79688         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
79689         declaration.
79690         (gl_PREREQ_FNMATCH_EXTRA): New macro.
79691         (gl_FUNC_FNMATCH_POSIX): New macro.
79692         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
79693         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
79694         simply fnmatch.
79695
79696         Module exclude.
79697         * m4/exclude.m4: New file.
79698
79699         Module human.
79700         * m4/human.m4: New file.
79701
79702         Module acl.
79703         * m4/acl.m4: Nop.
79704
79705         Module backupfile.
79706         * m4/backupfile.m4: New file.
79707         * m4/d-ino.m4: Indentation.
79708
79709         Module fsusage.
79710         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
79711         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
79712         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
79713
79714         Module dirfd.
79715         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
79716         requirements.
79717
79718         Module euidaccess.
79719         * m4/euidaccess.m4: New file.
79720
79721         Module file-type.
79722         * m4/file-type.m4: New file.
79723
79724         Module fileblocks.
79725         * m4/fileblocks.m4: New file.
79726
79727         Module filemode.
79728         * m4/filemode.m4: New file.
79729
79730         Module isdir.
79731         * m4/isdir.m4: New file.
79732
79733         Module lchown.
79734         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
79735         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
79736
79737         Module makepath.
79738         * m4/makepath.m4: New file.
79739
79740         Module modechange.
79741         * m4/modechange.m4: New file.
79742
79743         Module mountlist.
79744         * m4/mountlist.m4: New file.
79745         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
79746         Indentation.
79747
79748         Module path-concat.
79749         * m4/path-concat.m4: New file.
79750
79751         Module pathmax.
79752         * m4/pathmax.m4: New file.
79753
79754         Module same.
79755         * m4/same.m4: New file.
79756
79757         Module save-cwd.
79758         * m4/save-cwd.m4: New file.
79759
79760         Module savedir.
79761         * m4/savedir.m4: New file.
79762
79763         Module xgetcwd.
79764         * m4/xgetcwd.m4: New file.
79765         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
79766
79767         Module xreadlink.
79768         * m4/xreadlink.m4: New file.
79769
79770         Module safe-read.
79771         * m4/safe-read.m4: New file.
79772
79773         Module safe-write.
79774         * m4/safe-write.m4: New file.
79775
79776         Module closeout.
79777         * m4/closeout.m4: New file.
79778
79779         Module stdio-safer.
79780         * m4/stdio-safer.m4: New file.
79781
79782         Module getpass.
79783         * m4/getpass.m4: New file.
79784
79785         Module getugroups.
79786         * m4/getugroups.m4: New file.
79787
79788         Module group-member.
79789         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
79790         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
79791
79792         Module idcache.
79793         * m4/idcache.m4: New file.
79794
79795         Module userspec.
79796         * m4/userspec.m4: New file.
79797
79798         Module gettime.
79799         * m4/clock_time.m4: New file.
79800         * m4/gettime.m4: New file.
79801
79802         Module settime.
79803         * m4/settime.m4: New file.
79804
79805         Module posixtm.
79806         * m4/posixtm.m4: New file.
79807
79808         Module gethostname.
79809         * m4/gethostname.m4: New file.
79810
79811         Module canon-host.
79812         * m4/canon-host.m4: New file.
79813
79814         Module gettext.
79815         * m4/codeset.m4: New file, from gettext-0.11.5.
79816         * m4/gettext.m4: New file, from gettext-0.11.5.
79817         * m4/glibc21.m4: New file, from gettext-0.11.5.
79818         * m4/iconv.m4: New file, from gettext-0.11.5.
79819         * m4/intdiv0.m4: New file, from gettext-0.11.5.
79820         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
79821         * m4/inttypes.m4: New file, from gettext-0.11.5.
79822         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
79823         * m4/isc-posix.m4: New file, from gettext-0.11.5.
79824         * m4/lcmessage.m4: New file, from gettext-0.11.5.
79825         * m4/lib-ld.m4: New file, from gettext-0.11.5.
79826         * m4/lib-link.m4: New file, from gettext-0.11.5.
79827         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
79828         * m4/progtest.m4: New file, from gettext-0.11.5.
79829         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
79830         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
79831         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
79832
79833         Module localcharset.
79834         * m4/localcharset.m4: New file.
79835
79836         Module hard-locale.
79837         * m4/hard-locale.m4: New file.
79838
79839         Module mbswidth.
79840         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
79841         onceonly macros.
79842         * m4/mbrtowc.m4: Add comment.
79843
79844         Module memcasecmp.
79845         * m4/memcasecmp.m4: New file.
79846
79847         Module memcoll.
79848         * m4/memcoll.m4: New file.
79849
79850         Module unicodeio.
79851         * m4/unicodeio.m4: New file.
79852
79853         Module rpmatch.
79854         * m4/rpmatch.m4: New file.
79855
79856         Module yesno.
79857         * m4/yesno.m4: New file.
79858
79859         Module exitfail.
79860         * m4/exitfail.m4: New file.
79861
79862         Module c-stack.
79863         * m4/c-stack.m4 (gl_C_STACK): New macro.
79864         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
79865
79866         Module error.
79867         * m4/error.m4 (gl_ERROR): New macro.
79868         (jm_PREREQ_ERROR): Use onceonly macros.
79869
79870         Module fatal.
79871         * m4/fatal.m4: New file.
79872
79873         Module getloadavg.
79874         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
79875         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
79876
79877         Module getpagesize.
79878         * m4/getpagesize.m4: New file.
79879
79880         Module getusershell.
79881         * m4/getusershell.m4: New file.
79882
79883         Module physmem.
79884         * m4/physmem.m4: New file.
79885
79886         Module posixver.
79887         * m4/posixver.m4: New file.
79888
79889         Module quotearg.
79890         * m4/quotearg.m4: New file.
79891
79892         Module quote.
79893         * m4/quote.m4: New file.
79894
79895         Module readutmp.
79896         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
79897
79898         Module sig2str.
79899         * m4/sig2str.m4: New file.
79900
79901         Other.
79902         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
79903         ulonglong.m4.
79904         * m4/intmax_t.m4: New file.
79905         * m4/d-type.m4: Indentation.
79906         * m4/jm-macros.m4: Update.
79907         * m4/prereq.m4 (jm_PREREQ): Update.
79908         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
79909         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
79910         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
79911         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
79912         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
79913         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
79914         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
79915         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
79916         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
79917         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
79918         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
79919         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
79920         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
79921         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
79922         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
79923         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
79924         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
79925         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
79926         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
79927
79928 2002-12-24  Bruno Haible  <bruno@clisp.org>
79929
79930         * MODULES.txt: Update according to m4/ changes.
79931
79932         Module gettext.
79933         * config.rpath: New file, from gettext-0.11.5.
79934
79935         * modules/*: New module descriptions.
79936         * gnulib-tool: New file.
79937         * MODULES.html.sh: New file.
79938
79939 2002-12-21  Karl Berry  <karl@gnu.org>
79940
79941         * doc/fdl.texi: update to version 1.2.
79942
79943 2002-12-19  Karl Berry  <karl@gnu.org>
79944
79945         * config/config.guess: update from prep.
79946
79947 2002-12-18  Bruno Haible  <bruno@clisp.org>
79948
79949         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
79950         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
79951
79952 2002-12-17  Bruno Haible  <bruno@clisp.org>
79953
79954         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
79955         stdlib.h, string.h.
79956
79957 2002-12-17  Bruno Haible  <bruno@clisp.org>
79958
79959         * lib/canon-host.c (strdup): Remove unused declaration.
79960
79961         * lib/fsusage.c: Include full_read.h.
79962         (get_fs_usage): Use full_read instead of safe_read.
79963
79964         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
79965
79966 2002-12-12  Karl Berry  <karl@gnu.org>
79967
79968         * config/config.guess: update from prep.
79969
79970 2002-12-11  Bruno Haible  <bruno@clisp.org>
79971
79972         * m4/setenv.m4: New file, from gettext-0.11.5.
79973
79974 2002-12-11  Bruno Haible  <bruno@clisp.org>
79975
79976         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
79977         not unsetenv().
79978         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
79979         modifications:
79980
79981         2002-12-11  Bruno Haible  <bruno@clisp.org>
79982
79983                 * setenv.c (alloca): Fall back to malloc.
79984                 (freea): New macro.
79985                 (setenv): Use freea() to free memory allocated with alloca().
79986
79987         2002-11-13  Bruno Haible  <bruno@clisp.org>
79988
79989                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
79990                 function declarations.
79991                 * unsetenv.c (unsetenv): Likewise.
79992
79993         2002-03-04  Bruno Haible  <bruno@clisp.org>
79994
79995                 Portability to AIX 4.3.3.
79996                 * unsetenv.c: New file, extracted from setenv.c.
79997                 * setenv.c: Move the unsetenv() function to unsetenv.c.
79998
79999         2001-12-20  Bruno Haible  <bruno@clisp.org>
80000
80001                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
80002                 use malloc instead. For SunOS 4.
80003
80004         2001-12-11  Bruno Haible  <bruno@clisp.org>
80005
80006                 * setenv.c: Declare alloca.
80007                 (compar_fn_t): New typedef.
80008                 (KNOWN_VALUE, STORE_VALUE): Use it.
80009
80010         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
80011         setenv.h.
80012
80013 2002-12-10  Paul Eggert  <eggert@twinsun.com>
80014
80015         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
80016         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
80017         Choose values that are less likely to collide with system fnmatch
80018         options.
80019         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
80020         defined (e.g., a pure POSIX system).
80021         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
80022         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
80023
80024 2002-12-06  Paul Eggert  <eggert@twinsun.com>
80025
80026         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
80027         a pain in practice to deal with generated m4 files.  This change
80028         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
80029
80030         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
80031         and jm-glibc-io.m4, as they are no longer a special case.
80032         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
80033         kludge and the auto-generation stuff.  Check only whether the
80034         functions are declared, not whether they exist, since older hosts
80035         that don't declare the functions can't use the optimization anyway.
80036
80037 2002-12-06  Jim Meyering  <jim@meyering.net>
80038
80039         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
80040
80041         Merge in changes from libc's misc/error.c, in preparation
80042         for the merge of gnulib's changes back into libc.
80043
80044         * lib/error.c (_): Define only if not already defined.
80045         Move definition to follow all #include directives.
80046         Include unlocked-io.h only if !_LIBC.
80047         [_LIBC]: Include <libio/libioP.h>.
80048         [USE_IN_LIBIO]: Include <libio/iolibio.h>
80049         (fflush): Tweak definition to use INTUSE.
80050         (putc): Define.
80051
80052 2002-12-05  Paul Eggert  <eggert@twinsun.com>
80053
80054         * lib/alloca.c [defined emacs]: Include "lisp.h".
80055         (xalloc_die) [defined emacs]: New macro.
80056         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
80057         [! defined emacs]: Include <xalloc.h>.
80058         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
80059         (pointer): Typedef to POINTER_TYPE *.
80060         (malloc): Remove decl; we now always use xmalloc.
80061         (alloca): Use old-style definition, since Emacs needs this.
80062         Check for arithmetic overflow when computing combined size.
80063
80064 2002-12-04  Paul Eggert  <eggert@twinsun.com>
80065
80066         Do not generate unlocked-io.h automatically, since it's easier to
80067         maintain it by hand.
80068
80069         * lib/unlocked-io.h: New file, from GNU diffutils,
80070         but with proper copyright notice and attribution.
80071         * lib/gen-uio: Remove.
80072         * lib/Makefile.am: Add copyright notice.
80073         (libfetish_a_SOURCES): Add unlocked-io.h.
80074         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
80075         (DISTCLEANFILES, io_functions): Remove macros.
80076         (EXTRA_DIST): Remove gen_uio.
80077         (unlocked-io.h): Remove rule.
80078
80079 2002-12-04  Jim Meyering  <jim@meyering.net>
80080
80081         Reflect the fact that stat.c and lstat.c are no longer generated.
80082         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
80083         (DISTCLEANFILES): Likewise.
80084         (EXTRA_DIST): Likewise.
80085         (all_local): Don't depend on stat.c or lstat.c.
80086         (stat.c, lstat.c): Remove rules.
80087         (EXTRA_DIST): Remove xstat.in.
80088
80089         * lib/xstat.in: Remove file.  Contents moved into stat.c.
80090         * lib/stat.c: New file.  Contents mostly from xstat.in.
80091         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
80092         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
80093
80094         * lib/safe-read.c: Rework so that it may serve to define safe_write,
80095         too.
80096         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
80097
80098 2002-12-03  Jim Meyering  <jim@meyering.net>
80099
80100         * lib/safe-read.c, safe-write.c: Change variable names and comments,
80101         but not semantics, to minimize the differences between these two files.
80102         (safe_read): Change comment to mention SAFE_READ_ERROR.
80103
80104         * lib/safe-read.c (IS_EINTR): Define.
80105         (safe_read): Use IS_EINTR in place of in-function cpp directives.
80106
80107 2002-12-02  Jim Meyering  <jim@meyering.net>
80108
80109         * lib/safe-read.c (EINTR): Define.
80110         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
80111         (INT_MAX): Provide fallback.
80112         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
80113
80114         * lib/safe-read.h (SAFE_READ_ERROR): Define.
80115
80116 2002-12-02  Bruno Haible  <bruno@clisp.org>
80117
80118         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
80119         Define, taken from safe-read.c.
80120         (INT_MAX): Provide fallback.
80121         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
80122         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
80123
80124         * lib/safe-read.c (EINTR): Remove definition.
80125         (safe_read): Don't use EINTR if it is absent.
80126
80127 2002-12-01  Jim Meyering  <jim@meyering.net>
80128
80129         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
80130         zero.
80131         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
80132
80133 2002-11-27  Paul Eggert  <eggert@twinsun.com>
80134
80135         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
80136         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
80137         with `if (! (value < limit)) abort ();', for readability.
80138
80139 2002-11-26  Karl Berry  <karl@gnu.org>
80140
80141         * lib/strdup.c: copy from libc again, with jim's ok.
80142         * lib/.cppi-disable: re-add strdup.c
80143
80144 2002-11-25  Karl Berry  <karl@gnu.org>
80145
80146         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
80147         instead of "strtol.c".
80148
80149 2002-11-25  Karl Berry  <karl@gnu.org>
80150
80151         * config/install-sh: update from automake for variable quoting, $0 in
80152         error msgs, etc.
80153
80154         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
80155         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
80156         entry.
80157
80158 2002-11-25  Jim Meyering  <jim@meyering.net>
80159
80160         * lib/mktime.c: Sync from libc, now that it has the latest fix.
80161
80162 2002-11-24  Karl Berry  <karl@gnu.org>
80163
80164         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
80165         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
80166
80167 2002-11-24  Jim Meyering  <jim@meyering.net>
80168
80169         Update from coreutils:
80170
80171         * lib/mktime.c: Merge in changes from libc.
80172
80173         Avoid a link-time failure on some Linux systems.
80174         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
80175         (otherwise).
80176         (__mon_yday): Declare with the STATIC attribute.
80177         (__mktime_internal): Likewise.
80178         Based on a report from Greg Schafer.
80179
80180 2002-11-23  Jim Meyering  <jim@meyering.net>
80181
80182         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
80183         Use `unsigned', not `int', as type of index.
80184
80185         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
80186
80187         * lib/fsusage.c: Remove unneeded parentheses around operands of
80188         `defined'.
80189
80190 2002-11-22  Paul Eggert  <eggert@twinsun.com>
80191
80192         * lib/quotearg.h: Allow multiple inclusion by surrounding with
80193         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
80194         so that we can be included first.
80195         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
80196         * lib/quotearg.c: Include quotearg.h immediately after config.h.
80197         No need to include stddef.h or sys/types.h any more.
80198         Surround local include files with "", not "<>".
80199         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
80200         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
80201         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
80202         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
80203         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
80204         (ISPRINT): Remove; no longer needed now that we assume C89.
80205
80206         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
80207         Preserve errno.
80208
80209         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
80210         quotearg_char): Use SIZE_MAX rather than
80211         (size_t) -1 when we are talking about "infinity".
80212
80213         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
80214
80215 2002-11-22  Paul Eggert  <eggert@twinsun.com>
80216
80217         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
80218         hint that one should use `if (! x) abort ();' rather than `assert
80219         (x);', and anyway it's one less thing to worry about configuring.
80220         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
80221         hash_rehash, hash_insert): Use abort rather than assert.
80222
80223 2002-11-22  Bruno Haible  <bruno@clisp.org>
80224
80225         * lib/safe-read.h: Assume C89. Add comments.
80226         (safe_read): Change return type to size_t.
80227         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
80228         byte counts > SSIZE_MAX correctly.
80229         * lib/safe-write.h: New file.
80230         * lib/safe-write.c: New file.
80231         * lib/full-read.h: New file.
80232         * lib/full-read.c: New file.
80233         * lib/full-write.h: Assume C89. Add comments.
80234         * lib/full-write.c: Include safe-write.h.
80235         (full_write): Rewritten to use safe_write.
80236         Suggested by Jim Meyering and Paul Eggert.
80237
80238 2002-11-21  Jim Meyering  <jim@meyering.net>
80239
80240         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
80241
80242         Merge in changes from the coreutils.
80243
80244         2002-09-25  Paul Eggert  <eggert@twinsun.com>
80245         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
80246         <stdint.h>.
80247         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
80248         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
80249         int.  Work more efficiently if X is the same width as uintmax_t.
80250         Do not compare X to -1, to avoid bogus compiler warning.
80251         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
80252         Don't assume that f_frsize and f_bsize are the same type.
80253
80254         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
80255         warning on FreeBSD.
80256
80257         * lib/makepath.c (make_path): Restore umask *before* creating the final
80258         component.
80259         (make_path): Minor reformatting.
80260
80261         * lib/xmalloc.c: Adjust to work with new autoconf macros,
80262         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
80263         HAVE_MALLOC/HAVE_REALLOC.
80264
80265         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
80266         dummy ones.  At least on GNU/Linux systems, `auto' means something
80267         else.
80268         From Michael Stone.
80269
80270 2002-11-21  Bruno Haible  <bruno@clisp.org>
80271
80272         Remove case insensitive option matching.
80273         * lib/argmatch.h (argcasematch): Remove declaration.
80274         (ARGCASEMATCH): Remove macro.
80275         (__xargmatch_internal): Remove case_sensitive argument.
80276         (XARGMATCH): Update.
80277         (XARGCASEMATCH): Remove macro.
80278         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
80279         case_sensitive argument.
80280         (argcasematch): Remove function.
80281         (__xargmatch_internal): Remove case_sensitive argument.
80282         (main): Use XARGMATCH instead of XARGCASEMATCH.
80283
80284         * lib/xmalloc.c: Change compile-time error message. Add comment about
80285         required autoconf version.
80286
80287 2002-11-20  Paul Eggert  <eggert@twinsun.com>
80288
80289         Merge argmatch cleanups from Bison.  Assume C89.
80290
80291         * lib/argmatch.c: Include config.h here, not in argmatch.h.
80292         Include stdlib.h, for EXIT_FAILURE.
80293         Always include <string.h>, since we assume C89.
80294         (EXIT_FAILURE): Remove pre-C89 bug workaround.
80295         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
80296         Include <stddef.h> instead, since it's all we need for size_t.
80297         (PARAMS): Remove.  All uses removed.
80298         (ARRAY_CARDINALITY): Do not bother to #undef.
80299         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
80300         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
80301         Remove unnecessary parentheses.
80302         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
80303         Insert necessary parentheses.
80304         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
80305         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
80306
80307 2002-11-19  Bruno Haible  <bruno@clisp.org>
80308
80309         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
80310         * lib/mbswidth.h: Include <stddef.h>, for size_t.
80311
80312         * lib/mbswidth.h (PARAMS): Remove macro.
80313         (mbswidth, mbsnwidth): Use ANSI C function declarations.
80314         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
80315
80316         * lib/gcd.h (PARAMS): Remove macro.
80317         (gcd): Use ANSI C function declarations.
80318         * lib/gcd.c (gcd): Likewise.
80319
80320 2002-11-15  Bruno Haible  <bruno@clisp.org>
80321
80322         * lib/strcspn.c: Include <stddef.h>.
80323         (strcspn): Use ANSI C function declaration. Change return type to
80324         size_t. Use NULL.
80325         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
80326         (strpbrk): Use NULL.
80327         * lib/strpbrk.h (PARAMS): Remove macro.
80328         (strpbrk): Use ANSI C function declaration.
80329         * lib/strstr.c: Don't include <sys/types.h>.
80330         * lib/strstr.h (PARAMS): Remove macro.
80331         (strstr): Use ANSI C function declarations.
80332
80333 2002-11-14  Karl Berry  <karl@gnu.org>
80334
80335         * config/mkinstalldirs: `do' on separate line, instead of
80336         `for var; do'.
80337
80338 2002-11-06  Bruno Haible  <bruno@clisp.org>
80339
80340         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
80341         * lib/gcd.c (gcd): Likewise.
80342
80343 2002-11-05  Bruno Haible  <bruno@clisp.org>
80344
80345         * lib/gcd.h: New file, from gettext-0.11.5.
80346         * lib/gcd.c: New file, from gettext-0.11.5.
80347
80348 2002-11-05  Bruno Haible  <bruno@clisp.org>
80349
80350         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
80351         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
80352         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
80353         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
80354
80355         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
80356         <libintl.h>.
80357         * lib/makepath.c: Include gettext.h instead of <locale.h> and
80358         <libintl.h>.
80359
80360         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
80361         * lib/human.c: Include gettext.h instead of <libintl.h>.
80362         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
80363         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
80364         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
80365         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
80366         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
80367         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
80368         (textdomain): Remove definition.
80369         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
80370
80371         * lib/long-options.c: Remove include of <libintl.h> and definition of
80372         _.
80373         * lib/same.c: Remove include of <libintl.h> and definition of _.
80374
80375 2002-11-04  Owen Taylor  <otaylor@redhat.com>
80376
80377         * lib/config.charset: A few additions for Solaris.
80378
80379 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
80380
80381         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
80382         * lib/localcharset.c (locale_charset): Declare as extern "C".
80383
80384 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
80385
80386         * lib/config.charset: msdos in uk_UA uses CP1125.
80387
80388 2002-11-04  Bruno Haible  <bruno@clisp.org>
80389
80390         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
80391         * lib/strcase.h: New file, from GNU gettext-0.11.5.
80392         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
80393         * lib/strstr.h: New file, from GNU gettext-0.11.5.
80394         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
80395
80396 2002-11-04  Bruno Haible  <bruno@clisp.org>
80397
80398         * lib/localcharset.c (locale_charset): Don't return an empty string.
80399
80400 2002-11-04  Bruno Haible  <bruno@clisp.org>
80401
80402         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
80403         aliases.
80404
80405 2002-11-04  Bruno Haible  <bruno@clisp.org>
80406
80407         * lib/config.charset: Update for newest glibc. Add canonical names
80408         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
80409
80410 2002-11-04  Bruno Haible  <bruno@clisp.org>
80411
80412         * lib/config.charset: Add support for NetBSD.
80413
80414 2002-11-04  Bruno Haible  <bruno@clisp.org>
80415
80416         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
80417
80418 2002-11-01  Bruno Haible  <bruno@clisp.org>
80419
80420         * configure.in: Add AC_CONFIG_AUX_DIR call.
80421         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
80422         test/Makefile.
80423         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
80424
80425 2002-09-28  Karl Berry  <karl@gnu.org>
80426
80427         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
80428         installed automake until the next release, since changes have been
80429         made.
80430
80431 2002-09-25  Karl Berry  <karl@gnu.org>
80432
80433         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
80434         * lib/getopt*: copy from libc/posix.
80435         * lib/gettext.h: copy from gettext.
80436         * lib/.cppi-disable: add strdup.c, gettext.h.
80437
80438 2002-09-25  Karl Berry  <karl@gnu.org>
80439
80440         * config/srclist.txt: enable gettext.h check.
80441         * config/config.{guess,sub}: update from prep.
80442         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
80443                 from automake 1.6.3.
80444         See srclist*.
80445
80446 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
80447
80448         * regex.c (PATFETCH): Remove the translating fetch.
80449         (PATFETCH_RAW): Rename to PATFETCH.
80450         (set_image_of_range): New fun.
80451         (SET_RANGE_TABLE_WORK_AREA): Use it.
80452         (regex_compile): Don't translate the pattern chars so eagerly.
80453         Only do it when inserting an `exactn' bytecode or when handling
80454         a char-range.
80455         (mutually_exclusive_p): Avoid empty statement.
80456
80457 2002-07-06  Jim Meyering  <meyering@lucent.com>
80458
80459         * m4/README: Don't mention Makefile.am.in.
80460         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
80461
80462 2002-07-01  Jim Meyering  <meyering@lucent.com>
80463
80464         * lib/c-stack.c: Include sys/time.h.
80465         From Volker Borchert.
80466
80467 2002-06-26  Paul Eggert  <eggert@twinsun.com>
80468
80469         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
80470
80471 2002-06-26  Paul Eggert  <eggert@twinsun.com>
80472
80473         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
80474         New macro.  Use it uniformly instead of
80475         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
80476         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
80477         reported by Vin Shelton.
80478
80479 2002-06-22  Paul Eggert  <eggert@twinsun.com>
80480
80481         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
80482         Do not assume SA_SIGINFO behavior.
80483         Bug reported by Jim Meyering on NetBSD 1.5.2.
80484
80485 2002-06-22  Jim Meyering  <meyering@lucent.com>
80486
80487         * m4/c-stack.m4: New file, from diffutils-2.8.2.
80488         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
80489
80490         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
80491         now that configure.ac uses AC_GNU_SOURCE.
80492         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
80493         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
80494
80495         Update to latest tools.  Suggestions from Paul Eggert.
80496         * m4/stdbool.m4: New file, from diffutils-2.8.2.
80497         * m4/gnu-source.m4: Update from diffutils-2.8.2.
80498         * m4/fnmatch.m4: Likewise.
80499         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
80500         to AC_HEADER_STDBOOL
80501
80502 2002-06-22  Jim Meyering  <meyering@lucent.com>
80503
80504         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
80505         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
80506
80507 2002-06-22  Jim Meyering  <meyering@lucent.com>
80508
80509         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
80510
80511         * lib/exitfail.c, exitfail.h: Likewise.
80512         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
80513
80514         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
80515         of fnmatch.h.
80516         (EXTRA_DIST): Add fnmatch_loop.c.
80517         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
80518
80519         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
80520         * lib/fnmatch.c: Update from diffutils-2.8.2.
80521         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
80522         * lib/fnmatch.h: Remove file.
80523
80524 2002-06-21  Jim Meyering  <meyering@lucent.com>
80525
80526         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
80527         * m4/mbrtowc.m4: Likewise.
80528
80529         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
80530         * m4/mbswidth.m4: Reflect name change:
80531         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
80532         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
80533
80534         * m4/lib-link.m4: Update from gettext-0.11.2.
80535         * m4/gettext.m4: Likewise.
80536
80537         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
80538         From Alfred M. Szmidt.
80539
80540 2002-06-18  Paul Eggert  <eggert@twinsun.com>
80541
80542         * lib/file-type.h: Report an error if neither S_ISREG nor
80543         S_IFREG is defined, instead of using a test specific to glibc
80544         2.2.  This should be safe, since POSIX requires S_ISREG and
80545         Unix Version 7 had S_IFREG.  We don't need to check for
80546         <sys/types.h> since we don't use any symbols that it defines.
80547
80548 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
80549
80550         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
80551         $@-t, so that each temporary file name is unique and valid in the first
80552         8 characters, for operation under DOS.
80553
80554 2002-06-15  Paul Eggert  <eggert@twinsun.com>
80555
80556         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
80557
80558 2002-06-15  Jim Meyering  <meyering@lucent.com>
80559
80560         Work even with DJGPP 2.03, which lacks support for symlinks.
80561         From Richard Dawe.
80562         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
80563         is defined.
80564         * lib/lchown.c (S_ISLNK): Likewise.
80565
80566 2002-06-15  Jim Meyering  <meyering@lucent.com>
80567
80568         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
80569         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
80570         have been included before this file.
80571
80572 2002-06-14  Jim Meyering  <meyering@lucent.com>
80573
80574         * lib/file-type.h: Use the version from diffutils-2.8.2.
80575         * lib/file-type.c: Likewise.
80576
80577 2002-06-07  Jim Meyering  <meyering@lucent.com>
80578
80579         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
80580         They're needed at least for NetBSD 1.5.2.
80581         ($statxfs_includes): Include those same headers.
80582         ($statxfs_includes): Include sys/vfs.h if available.
80583         ($statxfs_includes): Likewise for sys/statvfs.h.
80584         Check for the following members in both structs statfs and statvfs:
80585         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
80586
80587 2002-06-01  Jim Meyering  <meyering@lucent.com>
80588
80589         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
80590         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
80591
80592 2002-05-28  Jim Meyering  <meyering@lucent.com>
80593
80594         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
80595         Reported by Volker Borchert.
80596
80597 2002-05-27  Jim Meyering  <meyering@lucent.com>
80598
80599         Fix a problem seen only on nonconforming systems whereby ls.c's
80600         use of localtime, and then of gettimeofday would cause trouble:
80601         the localtime call used to initialize rpl_gettimeofday's save
80602         mechanism would clobber ls's current local time information so
80603         that in any long listing the first file would always be listed
80604         with date 1970-01-01.  Analysis by Volker Borchert.
80605
80606         * lib/gettimeofday.c (localtime): Undefine.
80607         (rpl_localtime): New function.
80608
80609 2002-05-27  Jim Meyering  <meyering@lucent.com>
80610
80611         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
80612         localtime.
80613
80614         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
80615         use the replacement function; it wouldn't resolve at link time.
80616         Reported by Volker Borchert.
80617
80618 2002-05-22  Jim Meyering  <meyering@lucent.com>
80619
80620         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
80621         file-type.h.
80622         * lib/file-type.h: New file.
80623         * lib/file-type.c (file_type): New file/function.  Extracted from
80624         diffutils.
80625
80626 2002-04-30  Jim Meyering  <meyering@lucent.com>
80627
80628         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
80629
80630 2002-04-29  Paul Eggert  <eggert@twinsun.com>
80631
80632         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
80633
80634 2002-04-29  Paul Eggert  <eggert@twinsun.com>
80635
80636         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
80637         Do not check for alloca.h (no longer used) or stdbool.h (was never
80638         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
80639
80640 2002-04-29  Paul Eggert  <eggert@twinsun.com>
80641
80642         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
80643
80644 2002-04-29  Jim Meyering  <meyering@lucent.com>
80645
80646         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
80647         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
80648         Use AC_FUNC_STRNLEN here instead.
80649
80650         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
80651         With autoconf-2.53a, it's part of AC_PROG_CC.
80652
80653 2002-04-28  Paul Eggert  <eggert@twinsun.com>
80654
80655         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
80656         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
80657
80658 2002-04-28  Paul Eggert  <eggert@twinsun.com>
80659
80660         * lib/sig2str.h, lib/sig2str.c: New files.
80661         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
80662
80663 2002-04-28  Paul Eggert  <eggert@twinsun.com>
80664
80665         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
80666         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
80667         of 127, since 64 is the largest conceivable number for ancient
80668         nonstandard hosts.
80669         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
80670
80671 2002-04-28  Jim Meyering  <meyering@lucent.com>
80672
80673         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
80674
80675 2002-04-24  Jim Meyering  <meyering@lucent.com>
80676
80677         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
80678         (jm_PREREQ): Use it.
80679
80680         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
80681         mach/mach.h fcntl.h.
80682         Check for this function: setlocale.
80683
80684 2002-04-24  Jim Meyering  <meyering@lucent.com>
80685
80686         * lib/gettext.h: New file, from Gettext.
80687         * lib/Makefile.am (INCLUDES): Remove -I../intl.
80688         (libfetish_a_SOURCES): Add gettext.h.
80689
80690 2002-04-16  Jim Meyering  <meyering@lucent.com>
80691
80692         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
80693         ut_pid, ut_id, ut_exit.
80694
80695 2002-04-16  Jim Meyering  <meyering@lucent.com>
80696
80697         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
80698         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
80699         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
80700
80701 2002-04-12  Jim Meyering  <meyering@lucent.com>
80702
80703         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
80704         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
80705         existence of the getmntinfo function.  Needed for Darwin 5.3.
80706
80707         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
80708         This is necessary at least on Darwin 5.3.
80709
80710         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
80711         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
80712         strnlen.o in the library, and that makes some versions of ranlib
80713         object.
80714
80715 2002-04-12  Jim Meyering  <meyering@lucent.com>
80716
80717         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
80718
80719 2002-04-09  Jim Meyering  <meyering@lucent.com>
80720
80721         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
80722         to be more precise.  Rather than saying we're checking whether the
80723         function `works', say what we're testing.
80724         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
80725         Reported by Bruno Haible.
80726
80727 2002-03-10  Jim Meyering  <meyering@lucent.com>
80728
80729         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
80730         Suggestion from Santiago Vila.
80731
80732 2002-03-08  Jim Meyering  <meyering@lucent.com>
80733
80734         * lib/rename.c: Mention that this wrapper is needed also on
80735         mips-dec-ultrix4.4 systems.
80736
80737 2002-03-02  Jim Meyering  <meyering@lucent.com>
80738
80739         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
80740         not HAVE_CLOCK_SETTIME.
80741
80742 2002-02-27  Paul Eggert  <eggert@twinsun.com>
80743
80744         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
80745         Check for clock_settime.
80746
80747 2002-02-27  Paul Eggert  <eggert@twinsun.com>
80748
80749         * lib/nanosleep.h: Rename to....
80750         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
80751
80752         * lib/gettime.c: New file.
80753         * lib/settime.c: New file.
80754         * lib/stime.c: Remove.
80755
80756         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
80757         timespec.h.  Remove nanosleep.h.
80758
80759 2002-02-25  Paul Eggert  <eggert@twinsun.com>
80760
80761         * m4/acl.m4: New file.
80762         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
80763         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
80764
80765 2002-02-25  Paul Eggert  <eggert@twinsun.com>
80766
80767         * lib/acl.c, lib/acl.h: New files.
80768         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
80769
80770 2002-02-24  Jim Meyering  <meyering@lucent.com>
80771
80772         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
80773         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
80774         cause trouble.  Reported by Nelson Beebe.
80775
80776 2002-02-23  Paul Eggert  <eggert@twinsun.com>
80777
80778         * lib/path-concat.c (xpath_concat): Reorder code to pacify
80779         compilers that don't know that xalloc_die never returns.
80780
80781 2002-02-20  Jim Meyering  <meyering@lucent.com>
80782
80783         * lib/getdate.c: Regenerate using bison-1.33.
80784
80785 2002-02-17  Jim Meyering  <meyering@lucent.com>
80786
80787         * config/config.guess (main): Don't use `head -1'; it's no longer
80788         portable. Use `sed 1q' instead.
80789
80790 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
80791
80792         * m4/codeset.m4: Upgrade to gettext-0.11.
80793         * m4/gettext.m4: Upgrade to gettext-0.11.
80794         * m4/glibc21.m4: Upgrade to gettext-0.11.
80795         * m4/iconv.m4: Upgrade to gettext-0.11.
80796         * m4/isc-posix.m4: Upgrade to gettext-0.11.
80797         * m4/lcmessage.m4: Upgrade to gettext-0.11.
80798         * m4/lib-ld.m4: New file, from gettext-0.11.
80799         * m4/lib-link.m4: New file, from gettext-0.11.
80800         * m4/lib-prefix.m4: New file, from gettext-0.11.
80801         * m4/progtest.m4: Upgrade to gettext-0.11.
80802
80803 2002-02-15  Paul Eggert  <eggert@twinsun.com>
80804
80805         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
80806         (jm_PREREQ): Use it.
80807
80808 2002-02-15  Paul Eggert  <eggert@twinsun.com>
80809
80810         * lib/posixver.c, lib/posixver.h: New files.
80811         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
80812
80813 2002-02-02  Paul Eggert  <eggert@twinsun.com>
80814             Bruno Haible  <bruno@clisp.org>
80815
80816         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
80817         (fwrite_success_callback): New declaration.
80818         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
80819         print_unicode_char. Call failure callback instead of error.
80820         (fwrite_success_callback): New function.
80821         (exit_failure_callback): New function.
80822         (fallback_failure_callback): New function.
80823         (print_unicode_char): Call unicode_to_mb.
80824
80825 2002-01-26  Jim Meyering  <meyering@lucent.com>
80826
80827         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
80828         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
80829
80830 2002-01-26  Jim Meyering  <meyering@lucent.com>
80831
80832         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
80833
80834 2002-01-22  Paul Eggert  <eggert@twinsun.com>
80835
80836         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
80837
80838 2002-01-22  Jim Meyering  <meyering@lucent.com>
80839
80840         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
80841         Otherwise, some versions of automake would omit the rule that makes
80842         Makefile from Makefile.in.
80843
80844 2002-01-21  Paul Eggert  <eggert@twinsun.com>
80845
80846         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
80847         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
80848         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
80849         (memcoll): Set errno to zero if there is no error.
80850
80851         * lib/quotearg.c (quotearg_buffer_restyled):
80852         Fix bug with quoting buffers containing NUL when backslashing escapes.
80853         This bug was exposed by the other changes in this patch.
80854         (quotearg_n_options): New arg ARGSIZE.
80855         All callers changed.
80856         (quoting_options_from_style): New function.
80857         (quotearg_n_style): Use it.
80858         (quotearg_n_style_mem): New function.
80859
80860         * lib/quotearg.h (quotearg_n_style_mem): New function.
80861
80862 2002-01-19  Jim Meyering  <meyering@lucent.com>
80863
80864         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
80865         Remove useless quotes: DF_PROG="df".
80866         * m4/strnlen.m4: New file.
80867
80868 2002-01-16  Paul Eggert  <eggert@twinsun.com>
80869
80870         * lib/backupfile.c (ISDIGIT): Comment fix.
80871         * lib/getdate.y (ISDIGIT): Likewise.
80872         * lib/posixtm.c (ISDIGIT, year): Likewise.
80873         * lib/strverscmp.c (ISDIGIT): Likewise.
80874         * lib/userspec.c (ISDIGIT): Likewise.
80875
80876 2002-01-16  Jim Meyering  <meyering@lucent.com>
80877
80878         * lib/getdate.y: Add three semicolons, each just before a closing
80879         brace. Bison (as of version 1.31) no longer papers over that mistake.
80880
80881 2002-01-05  Jim Meyering  <meyering@lucent.com>
80882
80883         * lib/version-etc.c (version_etc_copyright): Update copyright year.
80884
80885 2001-12-19  Paul Eggert  <eggert@twinsun.com>
80886
80887         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
80888         not silently exit merely because the output buffer happens to
80889         have nothing pending.
80890
80891 2001-12-18  Paul Eggert  <eggert@twinsun.com>
80892
80893         See the big note in ../ChangeLog.
80894         * lib/human.c (suffixes): Prefer K to k for 1024.
80895         (generate_suffix_backwards): New function.
80896         (human_readable_inexact): Use it.
80897         * lib/xstrtol.c (__xstrtol): If there is no number but there
80898         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
80899         Accept 'K' as well as 'k'.
80900
80901 2001-12-15  Jim Meyering  <meyering@lucent.com>
80902
80903         * lib/regex.h (__restrict_arr): Update from libc.
80904
80905         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
80906         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
80907         (STREQ): Define.
80908
80909 2001-12-14  Jim Meyering  <meyering@lucent.com>
80910
80911         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
80912         Suggestion from Bruno Haible.
80913
80914 2001-12-10  Jim Meyering  <meyering@lucent.com>
80915
80916         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
80917         xrealloc, Instead, include "xalloc.h".
80918         (initbuffer): Don't cast xmalloc return value to char*.
80919         (readline): Reword comment.
80920         Don't cast xrealloc return value to char*
80921         Return NULL, not 0.
80922
80923 2001-12-09  Jim Meyering  <meyering@lucent.com>
80924
80925         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
80926         about `signed and unsigned type in conditional expression'.
80927         * lib/posixtm.c (posix_time_parse): Likewise.
80928
80929         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
80930
80931         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
80932         to avoid a pedantic warning.
80933
80934         * lib/getstr.c: Don't include assert.h.
80935         (getstr): Remove warning-evoking assertions.
80936         Return -1 if offset parameter is out of bounds.
80937         Change the type of a local from int to size_t.
80938
80939         * lib/strftime.c (my_strftime_localtime_r): Include this function
80940         definition in the `#if ! HAVE_TM_GMTOFF' block.
80941
80942         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
80943         Include xalloc.h instead.
80944
80945 2001-12-02  Jim Meyering  <meyering@lucent.com>
80946
80947         * lib/tempname.c: Don't declare getenv, thus reverting the change of
80948         2001-11-18.  It's no longer necessary, now that stdlib.h is always
80949         included.
80950
80951         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
80952         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
80953
80954 2001-11-30  Akim Demaille  <akim@epita.fr>
80955
80956         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
80957         before being defined.
80958
80959 2001-11-27  Paul Eggert  <eggert@twinsun.com>
80960
80961         * lib/quotearg.h (quotearg_n, quotearg_n_style):
80962         First arg is int, not unsigned.
80963         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
80964         (SIZE_MAX, UINT_MAX): New macros.
80965         (quotearg_n_options): Abort if N is negative.
80966         Avoid overflow check on hosts where size_t is 64 bits and int
80967         is 32 bits, as overflow is impossible there.
80968         Fix off-by-one typo that caused unnecessary reallocation.
80969
80970 2001-11-27  Jim Meyering  <meyering@lucent.com>
80971
80972         * lib/tempname.c: Merge with version from libc.
80973         * lib/regex.c: Likewise.
80974
80975         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
80976         systems for which STDC_HEADERS is 0, it was not included, resulting in
80977         a warning about an integer-to-pointer conversion problem with getenv.
80978         Reported by Volker Borchert.
80979
80980 2001-11-26  Jim Meyering  <meyering@lucent.com>
80981
80982         * lib/gtod.h: Remove file.
80983         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
80984         * lib/gettimeofday.c: Don't include gtod.h.
80985         (GTOD_init): Remove function.
80986         (rpl_gettimeofday): Do its job here instead, rather than aborting.
80987         Suggestion from Volker Borchert.
80988
80989 2001-11-23  Jim Meyering  <meyering@lucent.com>
80990
80991         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
80992         it.
80993         * lib/hash.c (struct hash_table): Define it here instead.
80994
80995 2001-11-22  Jim Meyering  <meyering@lucent.com>
80996
80997         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
80998
80999 2001-11-20  Jim Meyering  <meyering@lucent.com>
81000
81001         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
81002         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
81003
81004 2001-11-19  Jim Meyering  <meyering@lucent.com>
81005
81006         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
81007         directory.  Use "conftestXXXXXX" as the template.
81008         Suggestion from Paul Eggert.
81009
81010         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
81011         immediately, so the test doesn't mistakenly hit the max-open-files
81012         limit.
81013
81014 2001-11-18  Paul Eggert  <eggert@twinsun.com>
81015
81016         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
81017         (TEMPORARIES): New macro.
81018         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
81019         removes an artificial limitation (e.g. HP-UX 10.20, where
81020         TMP_MAX is 17576).
81021
81022 2001-11-18  Jim Meyering  <meyering@lucent.com>
81023
81024         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
81025
81026 2001-11-18  Jim Meyering  <meyering@lucent.com>
81027
81028         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
81029         on SunOS 4.
81030
81031         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
81032         files will be created before anything else.
81033
81034 2001-11-17  Paul Eggert  <eggert@twinsun.com>
81035
81036         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
81037         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
81038
81039 2001-11-17  Jim Meyering  <meyering@lucent.com>
81040
81041         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
81042         Prompted by a report from Bob Proulx.
81043
81044         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
81045         Instead, require UTILS_FUNC_MKSTEMP.
81046
81047 2001-11-17  Jim Meyering  <meyering@lucent.com>
81048
81049         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
81050         Now, that's done as part of AC_FUNC_STRTOD.
81051
81052 2001-11-17  Jim Meyering  <meyering@lucent.com>
81053
81054         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
81055         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
81056         rather than group writable.  Patch by Juan F. Codagnone.
81057
81058         * lib/readtokens.c: Remove explicit declarations of xmalloc and
81059         xrealloc, Instead, include "xalloc.h".
81060
81061         * lib/mountlist.c: Include unlocked-io.h after all system headers.
81062         Remove explicit declarations of xmalloc, xrealloc,
81063         and xstrdup.  Instead, include "xalloc.h".
81064
81065         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
81066         unlocked-io.h.
81067         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
81068         Likewise.
81069         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
81070
81071         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
81072         Reported by Padraig Brady.
81073
81074         * lib/mkstemp.c: #undef mkstemp.
81075         Include config.h.
81076         (rpl_mkstemp): Rename from mkstemp.
81077         Protoize.
81078
81079 2001-11-16  Jim Meyering  <meyering@lucent.com>
81080
81081         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
81082         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
81083         determine the amount of total physical memory, use pstat_getstatic.
81084         HPUX-11 doesn't define _SC_PHYS_PAGES.
81085         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
81086         If sysconf couldn't be used to determine the amount of available
81087         physical memory, use both pstat_getstatic and pstat_getdynamic.
81088         Based on a patch from Bob Proulx.
81089
81090 2001-11-10  Jim Meyering  <meyering@lucent.com>
81091
81092         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
81093         (jm_PREREQ): Use it.
81094
81095 2001-11-09  Jim Meyering  <meyering@lucent.com>
81096
81097         * m4/jm-macros.m4: Require autoconf-2.52f.
81098         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
81099         Use these AC_-prefixed names, not the AM_-prefixed ones.
81100
81101         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
81102
81103 2001-11-05  Jim Meyering  <meyering@lucent.com>
81104
81105         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
81106
81107 2001-11-04  Jim Meyering  <meyering@lucent.com>
81108
81109         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
81110         $DEFS.
81111
81112 2001-11-03  Jim Meyering  <meyering@lucent.com>
81113
81114         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
81115         of AC_DEFUN.
81116
81117         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
81118         know the name of the variable in the macro definition.
81119
81120 2001-11-03  Jim Meyering  <meyering@lucent.com>
81121
81122         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
81123         in argmatch_to_argument call.
81124
81125         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
81126         argument.
81127
81128         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
81129         e.g., a fault due to an attempt to free a NULL pointer.
81130
81131 2001-11-01  Jim Meyering  <meyering@lucent.com>
81132
81133         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
81134         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
81135
81136 2001-11-01  Jim Meyering  <meyering@lucent.com>
81137
81138         * lib/dirfd.c, lib/dirfd.h: New files.
81139         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
81140
81141         * lib/hash.c (hash_print) [TESTING]: Clean up.
81142
81143 2001-10-22  Paul Eggert  <eggert@twinsun.com>
81144
81145         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
81146         to avoid a warning if -Wall.
81147
81148 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
81149
81150         * README: New file
81151         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
81152         (per RMS's instructions, this is now the canonical source)
81153         * lgpl/, gpl/: New directories.
81154
81155 2001-10-21  Paul Eggert  <eggert@twinsun.com>
81156
81157         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
81158
81159 2001-10-21  Jim Meyering  <meyering@lucent.com>
81160
81161         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
81162         this code would end up calling gettext even in packages built
81163         with --disable-nls.
81164         * lib/getopt.c (_): Likewise.
81165         * lib/regex.c (_): Likewise.
81166
81167 2001-10-20  Paul Eggert  <eggert@twinsun.com>
81168
81169         * m4/error.m4 (jm_PREREQ_ERROR):
81170         Do not invoke AC_CHECK_FUNCS with strerror_r, as
81171         AC_FUNC_STRERROR_R does that.
81172         Check for strerror declaration.
81173
81174         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
81175         are supposed to have them these days.
81176         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
81177         Merge changes from latest Autoconf CVS.
81178         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
81179         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
81180         POSIX decided to standardize on the int flavor of strerror_r.
81181
81182 2001-10-20  Paul Eggert  <eggert@twinsun.com>
81183
81184         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
81185         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
81186         Use strerror_r that is only a macro, even if it is not a function.
81187         (strerror): Check for HAVE_DECL_STRERROR before declaring.
81188         (private_strerror): Use prototypes, not old-style function definition.
81189         (print_errno_message): New function.
81190         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
81191         char*-flavored one.
81192         (error_tail, error, error_at_line): Use it.
81193
81194 2001-10-11  Jim Meyering  <meyering@lucent.com>
81195
81196         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
81197         and quote_n (1, ... to avoid clobbering a buffer.
81198
81199 2001-10-05  Jim Meyering  <meyering@lucent.com>
81200
81201         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
81202         hash-pjw.h.
81203         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
81204         * lib/hash-pjw.h: New file.
81205
81206 2001-09-30  Jim Meyering  <meyering@lucent.com>
81207
81208         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
81209         `struct fsstat' has the `f_fstypename' member.
81210         Use that to define FS_TYPE, which is now used to make
81211         the getfsstat link test tighter.
81212
81213 2001-09-30  Jim Meyering  <meyering@lucent.com>
81214
81215         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
81216         Include <sys/ucred.h>, for Apple Darwin.
81217         Include sys/mount.h and sys/fs_types.h only if available.
81218         (FS_TYPE): Define.
81219         (read_filesystem_list): Use FS_TYPE.
81220
81221 2001-09-29  Paul Eggert  <eggert@twinsun.com>
81222
81223         * lib/exclude.c (excluded_filename): 0 -> false, since it's
81224         a boolean context.
81225
81226 2001-09-29  Jim Meyering  <meyering@lucent.com>
81227
81228         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
81229         [one-argument getmntent function]): Include stdio.h before mntent.h.
81230         SunOS 4.1.x needs it for the declaration of `FILE'.
81231         Patch by Volker Borchert.
81232
81233         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
81234         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
81235         sys/fs_types.h, and make the link-test for getfsstat guard #include
81236         directives with appropriate #if HAVE_*_H tests so that we can
81237         detect getfsstat on Apple Darwin1.3.7 systems.
81238         Reported by Nelson Beebe.
81239         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
81240
81241 2001-09-28  Paul Eggert  <eggert@twinsun.com>
81242
81243         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
81244         #defines strtoimax.  Also treat the other strto* functions
81245         like strtoimax.
81246
81247         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
81248         Check for strtoul and strtoumax,
81249         as those declarations are made even in the signed case.
81250         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
81251         Likewise, for strtol and strtoimax.
81252
81253 2001-09-28  Paul Eggert  <eggert@twinsun.com>
81254
81255         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
81256         #defines strtoimax.  Also treat the other strto* functions
81257         like strtoimax.
81258
81259         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
81260         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
81261         (strtoimax, strtoumax): Do not declare if already defined as a macro.
81262
81263 2001-09-26  Jim Meyering  <meyering@lucent.com>
81264
81265         Most macros in unlocked-io.h had the wrong number of arguments.
81266         * lib/gen-uio: New script.
81267         (USE_UNLOCKED_IO): Define to 1 if not already defined.
81268         * lib/unlocked-io.hin: Remove file.
81269         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
81270         rather than trying to embed it here.
81271         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
81272         Reported by Padraig Brady.
81273
81274 2001-09-25  Volker Borchert  <bt@teknon.de>
81275
81276         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
81277         `result'.
81278
81279 2001-09-24  Jim Meyering  <meyering@lucent.com>
81280
81281         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
81282
81283 2001-09-23  Jim Meyering  <meyering@lucent.com>
81284
81285         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
81286         instead of the mere test for existence of mntent.h.  The latter
81287         would get a false-positive on AIX 3.4 systems.
81288         In the outer getmntent if-block, don't die if neither of the getmntent
81289         tests succeeds.  Instead, just fall through and continue with the
81290         remaining tests.
81291
81292 2001-09-23  Jim Meyering  <meyering@lucent.com>
81293
81294         * lib/mountlist.c: Remove useless parentheses in #if directives.
81295         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
81296         the deprecated MOUNTED symbol is no longer defined in mntent.h.
81297
81298 2001-09-22  Jim Meyering  <meyering@lucent.com>
81299
81300         * m4/gettext.m4: New file.  From gettext.
81301         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
81302         * m4/progtest.m4: Likewise
81303         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
81304         * m4/glibc21.m4: Likewise.
81305
81306         * m4/libintl.m4: Remove.  No longer used.
81307
81308 2001-09-22  Jim Meyering  <meyering@lucent.com>
81309
81310         * lib/localcharset.c: Update from latest gettext.
81311         * lib/config.charset: Likewise.
81312
81313 2001-09-20  Jim Meyering  <meyering@lucent.com>
81314
81315         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
81316         strtoimax.
81317         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
81318         strtoumax.
81319
81320 2001-09-20  Jim Meyering  <meyering@lucent.com>
81321
81322         * lib/xstrtol.c (strtoimax): Guard declaration with
81323         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
81324         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
81325         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
81326         (strtoumax): Likewise, for completeness (it wasn't necessary).
81327
81328 2001-09-17  Paul Eggert  <eggert@twinsun.com>
81329
81330         * lib/strtoimax.c (HAVE_LONG_LONG):
81331         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
81332         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
81333         to work around bug in IBM C compiler.
81334
81335 2001-09-17  Jim Meyering  <meyering@lucent.com>
81336
81337         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
81338         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
81339         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
81340         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
81341         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
81342         whenever the right hand side need not be expanded by the shell.
81343
81344 2001-09-16  Paul Eggert  <eggert@twinsun.com>
81345
81346         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
81347         library.  It's not correct, as some older glibcs are buggy.
81348         fnmatch wasn't fixed until glibc 2.2.
81349
81350         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
81351         special shell magic here.
81352
81353 2001-09-16  Jim Meyering  <meyering@lucent.com>
81354
81355         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
81356         * m4/jm-macros.m4: Require it.
81357
81358 2001-09-16  Jim Meyering  <meyering@lucent.com>
81359
81360         * lib/mkdir.c: New file.
81361
81362 2001-09-15  Jim Meyering  <meyering@lucent.com>
81363
81364         * m4/jm-macros.m4: Check for help2man.
81365
81366 2001-09-11  Jim Meyering  <meyering@lucent.com>
81367
81368         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
81369         The body, by Paul Eggert, was moved here from configure.in.
81370         * m4/jm-macros.m4: Require UTILS_HOST_OS.
81371
81372 2001-09-04  Paul Eggert  <eggert@twinsun.com>
81373
81374         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
81375         (jm_PREREQ): Use it.
81376
81377 2001-09-04  Paul Eggert  <eggert@twinsun.com>
81378
81379         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
81380         Use ssize_t, not int, to store result of readlink.
81381         Check for ssize_t overflow as well as size_t overflow,
81382         as POSIX says the result of readlink is implementation-defined
81383         when ssize_t overflows.
81384         Remove unnecessary cast to char*.
81385         Use free+malloc instead of realloc, as the storage doesn't need
81386         to be preserved and it's clearer and can be more efficient that way.
81387         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
81388         * lib/xreadlink.h (xreadlink): Update prototype.
81389
81390 2001-09-04  Paul Eggert  <eggert@twinsun.com>
81391
81392         * lib/xgetcwd.c: Revert some of the previous change; intead,
81393         fix the HAVE_GETCWD_NULL code to behave more like the
81394         !HAVE_GETCWD_NULL code used to.
81395
81396         Include "xalloc.h".
81397         (xgetcwd): Do not return NULL when memory is exhausted; instead,
81398         invoke xalloc_die.
81399
81400 2001-09-03  Paul Eggert  <eggert@twinsun.com>
81401
81402         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
81403         sys/param.h, as pathmax.h includes them.
81404
81405 2001-09-03  Paul Eggert  <eggert@twinsun.com>
81406
81407         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
81408         (jm_PREREQ_XGETCWD): New macro.
81409
81410         * m4/getcwd.m4: New file.
81411
81412 2001-09-03  Paul Eggert  <eggert@twinsun.com>
81413
81414         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
81415         like the HAVE_GETCWD_NULL code.
81416         Include pathmax.h if not HAVE_GETCWD.
81417         Do not include xalloc.h.
81418         (INITIAL_BUFFER_SIZE): New symbol.
81419         Do not use xmalloc / xrealloc, since the caller is responsible for
81420         handling errors.  Preserve errno around `free' during failure.
81421         Do not overrun buffer when using getwd.
81422
81423 2001-09-03  Paul Eggert  <eggert@twinsun.com>
81424
81425         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
81426         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
81427         getcwd (NULL, 0).
81428
81429 2001-09-03  Paul Eggert  <eggert@twinsun.com>
81430
81431         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
81432         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
81433         spotted by Jim Meyering.
81434
81435 2001-09-03  Jim Meyering  <meyering@lucent.com>
81436
81437         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
81438         failure.
81439
81440 2001-09-02  Jim Meyering  <meyering@lucent.com>
81441
81442         * lib/error.c: Update from GNU libc.
81443
81444 2001-09-01  Jim Meyering  <meyering@lucent.com>
81445
81446         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
81447         Used by df.
81448
81449 2001-09-01  Jim Meyering  <meyering@lucent.com>
81450
81451         * lib/xreadlink.c: New file.
81452         * lib/xreadlink.h: New file.
81453         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
81454         xreadlink.h.
81455
81456         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
81457         doesn't conflict with sparc Solaris 7's definition in
81458         /usr/include/sys/int_types.h.
81459
81460         * lib/exclude.c: Use `""', not `<>' to #include non-system header
81461         files.
81462         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
81463         and strncasecmp as r-values.  Unixware didn't have declarations.
81464
81465 2001-08-31  Paul Eggert  <eggert@twinsun.com>
81466
81467         * lib/xstrtol.h: Add copyright notice.
81468         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
81469         LONGINT_INVALID_SUFFIX_CHAR.
81470
81471 2001-08-31  Paul Eggert  <eggert@twinsun.com>
81472
81473         * lib/xstrtol.c (strtoimax): New decl.
81474
81475 2001-08-31  Paul Eggert  <eggert@twinsun.com>
81476
81477         * lib/xgetcwd.c: Don't include pathmax.h.
81478         Include stdlib.h and unistd.h if available.
81479         Include xalloc.h.
81480         (xmalloc, xstrdup, free): Remove decls.
81481         (xgetcwd): Don't assume sizes fit in unsigned.
81482         Check for overflow when computing sizes.
81483         Simplify reallocation code.
81484
81485 2001-08-31  Paul Eggert  <eggert@twinsun.com>
81486
81487         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
81488         a directory's st_size can have an arbitrary value, so the old
81489         usage could waste an arbitrary amount of memory.  All uses
81490         changed.
81491         * lib/savedir.h: Update prototype.
81492
81493 2001-08-31  Paul Eggert  <eggert@twinsun.com>
81494
81495         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
81496
81497         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
81498         old strtoimax.c.
81499
81500         Also, make the following further changes to make this file's
81501         configuration more similar to that of strtol.c:
81502         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
81503         (strtoumax, uintmax_t, strtoull, strtol): Remove.
81504         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
81505         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
81506         changed to signed values.
81507
81508         And make the following changes as well:
81509         Fix copyright notice, as 1999 was missing.
81510         (verify): New macro.
81511         (strtoimax): Check sizes at compile-time, not run-time.
81512         Prefer strtol to strtoll if both work.
81513         (main): Remove; it was not that useful and was a pain to maintain.
81514
81515         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
81516
81517 2001-08-31  Jim Meyering  <meyering@lucent.com>
81518
81519         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
81520         Use an initial, malloc'd, buffer of length 128 rather than
81521         a statically allocated one of length 1024.
81522
81523 2001-08-30  Paul Eggert  <eggert@twinsun.com>
81524
81525         Simplify code, partly by assuming autoconf 2.52 semantics.
81526
81527         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
81528
81529         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
81530         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
81531         All uses removed.
81532         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
81533         Move AC_REQUIRE to next-to-top level, to avoid confusion.
81534         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
81535         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
81536         jm_AC_HEADER_INTTYPES_H.
81537         * m4/jm-macros.m4 (jm_MACROS): Likewise.
81538
81539         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
81540
81541         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
81542         Quote first arg of AC_DEFUN.
81543         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
81544         since they are needed to parse the include file even if we need
81545         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
81546         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
81547         but with opposite signedness.
81548
81549 2001-08-30  Paul Eggert  <eggert@twinsun.com>
81550
81551         Merge 'exclude' changes from tar 1.13.22.
81552         This fixes one or two unlikely storage allocation overflow bugs,
81553         but doesn't change user-visible behavior otherwise.
81554
81555 2001-08-30  Paul Eggert  <eggert@twinsun.com>
81556
81557         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
81558         (jm_PREREQ_EXCLUDE): New macro.
81559
81560 2001-08-30  Paul Eggert  <eggert@twinsun.com>
81561
81562         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
81563         tm to be declared.
81564
81565 2001-08-30  Paul Eggert  <eggert@twinsun.com>
81566
81567         * lib/hash.c: Remove '2001' from copyright notice.
81568
81569 2001-08-30  Paul Eggert  <eggert@twinsun.com>
81570
81571         * lib/full-write.h: New file.
81572         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
81573         * lib/full-write.c: Correct credits, as cccp.c no longer
81574         exists and anyway it was so heavily changed from the old cccp
81575         code as to be unrecognizable.  Include full-write.h.
81576         (full_write): Return size_t, with short writes meaning failure.
81577         All callers changed.  This fixes a bug with large buffers
81578         on 64-bit hosts.
81579         * lib/utime.c: Include full-write.h.
81580
81581 2001-08-30  Paul Eggert  <eggert@twinsun.com>
81582
81583         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
81584         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
81585         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
81586         Include if available.
81587         (<xalloc.h>): Include
81588         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
81589         (verify): New macro.  Use it to verify that EXCLUDE macros do not
81590         collide with FNM macros.
81591         (struct patopts): New struct.
81592         (struct exclude): Use it, as exclude patterns now come with options.
81593         (new_exclude): Support above changes.
81594         (new_exclude, add_exclude_file):
81595         Initial size must now be a power of two to simplify overflow checking.
81596         (free_exclude, fnmatch_no_wildcards): New function.
81597         (excluded_filename): No longer requires options arg, as the options
81598         are determined by add_exclude.  Now returns bool, not int.
81599         (excluded_filename, add_exclude):
81600         Add support for the fancy new exclusion options.
81601         (add_exclude, add_exclude_file): Now takes int options arg.
81602         Check for arithmetic overflow when computing sizes.
81603         (add_exclude_file): xrealloc might modify errno, so don't
81604         realloc until after errno might be used.
81605
81606         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
81607         New macros.
81608         (free_exclude): New decl.
81609         (add_exclude, add_exclude_file): Now takes int options arg.
81610         (excluded_filename): No longer requires options arg, as the options
81611         are determined by add_exclude.  Now returns bool, not int.
81612
81613 2001-08-30  Paul Eggert  <eggert@twinsun.com>
81614
81615         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
81616
81617 2001-08-27  Jim Meyering  <meyering@lucent.com>
81618
81619         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
81620
81621         * lib/version-etc.c (N_): Remove definition.
81622         Revert most of last change.
81623         Instead, simply don't mark the `Copyright...' string for translation.
81624         Based on advice from Paul Eggert.
81625
81626         * lib/strtoxmax.c: Tweak comment.
81627
81628 2001-08-26  Jim Meyering  <meyering@lucent.com>
81629
81630         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
81631
81632         * m4/xstrtoimax.m4: New file.
81633         * m4/xstrtoumax.m4: Add comments explaining why we
81634         AC_REPLACE_FUNCS(strtol).
81635
81636 2001-08-26  Jim Meyering  <meyering@lucent.com>
81637
81638         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
81639         of copyright with `%s' so translators don't get an untranslated
81640         message in 2002.
81641         (COPYRIGHT_YEAR): Define.
81642         (version_etc): Use fprintf rather than fputs.
81643         Suggestion from Ulrich Drepper.
81644
81645         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
81646
81647         * lib/strtoll.c: New file, from GNU libc.
81648         * lib/xstrtoimax.c: New file.
81649
81650         * lib/xstrtol.h: Add xstrtoimax.
81651         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
81652         * lib/strtoimax.c: New file.  Likewise, but first define
81653         STRTOUXMAX_SIGNED.
81654
81655         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
81656         ...
81657         * lib/strtoxmax.c: ... then renamed to this.
81658
81659 2001-08-18  Paul Eggert  <eggert@twinsun.com>
81660
81661         * m4/inttypes.m4: Add AC_PREREQ(2.13).
81662         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
81663         (jm_AC_TYPE_INTMAX_T): New macro.
81664         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
81665
81666         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
81667
81668         * m4/longlong.m4: Renamed from ulonglong.m4.
81669         * m4/inttypes.m4: Renamed from inttypes_h.m4.
81670         * m4/uintmax_t.m4: Removed.
81671
81672 2001-08-13  Paul Eggert  <eggert@twinsun.com>
81673
81674         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
81675         Port to Solaris 8, where 'sed' requires a space after the 'r'
81676         command, and where sh dislikes "$/".  Clean up the spacing a bit.
81677         Redirect output to $tmp just once.
81678
81679 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
81680
81681         * lib/addext.c (<errno.h>): Include.
81682         (errno): Declare if not defined.
81683         (addext): Work correctly when pathconf returns -1 and leaves
81684         errno alone because there is no limit.  Also, work even if
81685         pathconf returns a value greater than SIZE_MAX.
81686
81687 2001-08-12  Jim Meyering  <meyering@lucent.com>
81688
81689         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
81690         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
81691         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
81692         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
81693         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
81694         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
81695         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
81696         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
81697         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
81698         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
81699         utime.m4, utimes.m4, xstrtoumax.m4:
81700         Quote the first argument in each use of AC_DEFUN.
81701
81702 2001-08-12  Jim Meyering  <meyering@lucent.com>
81703
81704         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
81705         Simply `return getcwd (NULL, 0);'.
81706         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
81707         Use 1300 as initial value for length, not PATH_MAX.
81708
81709         * lib/pathmax.h: Clean up cpp syntax.
81710
81711 2001-08-12  Jim Meyering  <meyering@lucent.com>
81712
81713         * lib/gettimeofday.c: New file.
81714         * lib/gtod.h: New file.
81715         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
81716
81717 2001-08-05  Jim Meyering  <meyering@lucent.com>
81718
81719         * m4/jm-macros.m4: Require autoconf-2.52.
81720
81721 2001-08-04  Jim Meyering  <meyering@lucent.com>
81722
81723         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
81724         stmt, to get in sync with glibc.
81725
81726 2001-08-03  Paul Eggert  <eggert@twinsun.com>
81727
81728         The following changes are from gettext 0.10.39 as maintained by
81729         Bruno Haible.
81730
81731         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
81732         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
81733         with inverted sense.  All uses changed.
81734
81735         * lib/mbswidth.c: Don't include <limits.h>.
81736         Include <stdlib.h> and <string.h> unconditionally.
81737         (iswcntrl, mbsinit, ISCNTRL): New macros.
81738         (mbsnwidth): Use K&R style function declarations.
81739         Don't bother checking for MB_LEN_MAX == 1, since the compiler
81740         can optimize it when MB_CUR_MAX == 1.
81741         The width of control characters is zero, not 1.
81742
81743 2001-08-03  Paul Eggert  <eggert@twinsun.com>
81744
81745         The following changes are from gettext 0.10.39 as maintained by
81746         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
81747
81748         * m4/codeset.m4: Upgrade to serial AM1.
81749         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
81750         all uses changed.  Quote first arg of AC_DEFUN.
81751         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
81752
81753         * m4/iconv.m4: Upgrade to serial AM2.
81754         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
81755         Add --with-libconv-prefix.
81756         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
81757         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
81758         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
81759         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
81760         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
81761
81762         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
81763         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
81764         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
81765         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
81766         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
81767         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
81768         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
81769         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
81770         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
81771
81772         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
81773         string.h any more.
81774
81775         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
81776         not the default value.
81777
81778         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
81779         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
81780         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
81781         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
81782         Also check for iswcntrl, used for wcwidth fallback.
81783         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
81784         to Autoconf 2.13.
81785
81786 2001-08-03  Jim Meyering  <meyering@lucent.com>
81787
81788         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
81789         as it was in the original.  Reported by Paul Eggert.
81790
81791 2001-07-16  Jim Meyering  <meyering@lucent.com>
81792
81793         * m4/gettimeofday.m4: New file.
81794         Prompted by a report from Bernhard Baehr.
81795
81796 2001-07-15  Jim Meyering  <meyering@lucent.com>
81797
81798         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
81799         stuff. Now it's in ../Makefile.cfg.
81800
81801 2001-07-15  Jim Meyering  <meyering@lucent.com>
81802
81803         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
81804         (BUILT_SOURCES): Add unlocked-io.h.
81805         (io_functions): Define.
81806         (unlocked-io.h): New rule.
81807         (DISTCLEANFILES): Add unlocked-io.h.
81808         (all-local): Depend on unlocked-io.h, to ensure it is created.
81809
81810         * lib/unlocked-io.hin: New file
81811
81812         * lib/regex.c: Update from glibc.
81813
81814 2001-07-05  Jim Meyering  <meyering@lucent.com>
81815
81816         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
81817         recommendation.
81818         (libfetish_a_SOURCES): Put all .h files here instead.
81819         Remove a thus-exposed (better checks in automake) duplicate and
81820         two unnecessary .h files.
81821
81822 2001-07-04  Jim Meyering  <meyering@lucent.com>
81823
81824         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
81825         that generates jm-glibc-io.m4 so that it doesn't trigger any make
81826         distcheck failure.
81827
81828 2001-07-02  Jim Meyering  <meyering@lucent.com>
81829
81830         The following changes were prompted by suggestions from Bruno Haible.
81831
81832         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
81833         is now generated.
81834         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
81835         definition of EXTRA_DIST.
81836         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
81837         ensure that the generated file is created/updated whenever the list
81838         of $(unlocked_functions) is changed.
81839         (jm-glibc-io.m4): New rule.
81840         (unlocked-io.h): New rule -- currently unused.
81841
81842 2001-06-24  Jim Meyering  <meyering@lucent.com>
81843
81844         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
81845         unmatched right bracket, rather than kludging it with an extra,
81846         falsely-matching quote in a comment.  Patch by Akim Demaille.
81847
81848 2001-06-11  Jim Meyering  <meyering@lucent.com>
81849
81850         * lib/regex.c: Update from GNU libc.
81851
81852 2001-05-27  Jim Meyering  <meyering@lucent.com>
81853
81854         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
81855         Check for ut_type in struct utmp.
81856
81857 2001-05-27  Jim Meyering  <meyering@lucent.com>
81858
81859         * lib/readutmp.h (UT_TYPE): Define.
81860
81861 2001-05-24  Jim Meyering  <meyering@lucent.com>
81862
81863         * lib/argmatch.c: Include "quote.h".
81864         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
81865         quote function.  Reported by Göran Uddeborg.
81866
81867 2001-05-22  Jim Meyering  <meyering@lucent.com>
81868
81869         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
81870         now that we use the package-supplied version unconditionally.
81871         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
81872
81873 2001-05-21  Jim Meyering  <meyering@lucent.com>
81874
81875         * m4/regex.m4: Change a couple backticks to single quotes to avoid
81876         shell syntax errors.
81877
81878 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
81879
81880         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
81881
81882 2001-05-20  Paul Eggert  <eggert@twinsun.com>
81883
81884         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
81885         Don't bother to check library strftime, since
81886         we'll be using our own my_strftime function anyway.
81887         Define my_strftime instead of strftime.
81888
81889 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
81890
81891         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
81892         which is not yet declared.
81893
81894 2001-05-15  Jim Meyering  <meyering@lucent.com>
81895
81896         * m4/regex.m4: Use proper quoting so brackets appear in the test
81897         program.
81898         Reported by, and with help from, Bruno Haible.
81899
81900 2001-05-13  Jim Meyering  <meyering@lucent.com>
81901
81902         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
81903         undefined.
81904
81905 2001-05-11  Paul Eggert  <eggert@twinsun.com>
81906
81907         dirname code cleanup.  base_name now behaves more compatibly
81908         with POSIX basename when given file names that have trailing
81909         slashes, and similarly for dir_name.  Add new primitives
81910         base_len and dir_len.  Put the directory-name-related decls
81911         into dirname.h.
81912
81913         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
81914         * lib/backupfile.c (base_name): Likewise.
81915         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
81916         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
81917         * lib/makepath.c (strip_trailing_slashes): Likewise.
81918         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
81919         ISSLASH): Likewise.
81920         * lib/rename.c (strip_trailing_slashes): Likewise.
81921         * lib/same.c (base_name): Likewise.
81922         * lib/stripslash.c (ISSLASH): Likewise.
81923
81924         * lib/addext.c: Include <dirname.h> after size_t is defined.
81925         * lib/backupfile.c: Likewise.
81926
81927         * lib/addext.c (addext): Use base_len to trim redundant
81928         trailing slashes instead of doing it ourselves.
81929         But do not trim the last slash if it is not redundant.
81930
81931         * lib/backupfile.c (find_backup_file_name,
81932         max_backup_version): Use base_len instead of rolling it ourselves.
81933         Handle the case of "" and (on DOS) "C:" correctly.
81934
81935         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
81936         needed. Include <string.h>, <dirname.h>.
81937         (base_name): Allow file names ending in slashes, other than names
81938         that are all slashes.  In this case, return the basename followed
81939         by the slashes.  This is more general, and can be used in places
81940         where the original base_name purposely had an assertion failure.
81941         (base_len): New function.
81942
81943         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
81944         Do not include <assert.h>; no longer needed.
81945         Include xalloc.h.
81946         (memrchr): Remove decl.
81947         (dir_name_r): Remove.
81948         (dir_len): Renamed from dirlen.  All callers changed.
81949         Rewrite in terms of base_name, for simplicity and consistency.
81950         (dir_name): Never return NULL.  All callers changed.
81951         Do not include <stdlib.h> in test program; no longer needed.
81952         return 0; is fine for test program.
81953
81954         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
81955         New macros.
81956         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
81957
81958         * lib/path-concat.c (path_concat): Use base_len to compute
81959         base length, not strlen; this means we cannot rely on memcpy
81960         to null-terminate.
81961
81962         * lib/same.c (STREQ): Remove.
81963         (same_name): Handle the case where the basename ends in trailing '/'.
81964
81965         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
81966         a slash was stripped.  Do not strip the last slash after a
81967         file system prefix.
81968
81969 2001-05-11  Paul Eggert  <eggert@twinsun.com>
81970
81971         * lib/Makefile.am (libfetish_a_SOURCES):
81972         Add strftime.c, since we now compile it on all hosts.
81973
81974         * lib/strftime.c (my_strftime):
81975         Define to nstrftime if emacs, but only if my_strftime is not defined.
81976         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
81977         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
81978         Add one more extra argument: a nanoseconds value.
81979         All uses changed.
81980         (ns): New macro.
81981         (my_strftime function): Add %N format.
81982         (emacs_strftimeu): Renamed from emacs_strftime,
81983         with extra ut argument.
81984
81985 2001-05-09  Paul Eggert  <eggert@twinsun.com>
81986
81987         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
81988
81989 2001-04-21  Jim Meyering  <meyering@lucent.com>
81990
81991         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
81992         doesn't interfere.
81993
81994 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
81995
81996         * m4/ftruncate.m4: Check for chsize.
81997         Link with ftruncate.o unconditionally if ftruncate is missing.
81998         This was required when cross-compiling to i586-mingw32msvc.
81999
82000 2001-04-08  Jim Meyering  <meyering@lucent.com>
82001
82002         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
82003         recomputed; that's necessary when the offset spans a DST transition.
82004         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
82005
82006 2001-04-02  Jim Meyering  <meyering@lucent.com>
82007
82008         * lib/regex.h, regex.c: Update from GNU libc.
82009
82010 2001-03-24  Jim Meyering  <meyering@lucent.com>
82011
82012         * m4/jm-macros.m4: Require autoconf-2.49d.
82013
82014 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
82015
82016         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
82017
82018 2001-03-19  Paul Eggert  <eggert@twinsun.com>
82019
82020         * lib/version-etc.c (version_etc_copyright): Update to 2001.
82021
82022 2001-03-17  Jim Meyering  <meyering@lucent.com>
82023
82024         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
82025         now that the version in autoconf is equivalent.
82026         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
82027
82028         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
82029         Suggestion from Akim Demaille.
82030
82031         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
82032         (jm_PREREQ_TEMPNAME): New function.
82033
82034 2001-03-16  Paul Eggert  <eggert@twinsun.com>
82035
82036         * lib/tempname.c (uint64_t): Define to uintmax_t if
82037         not defined, and if UINT64_MAX is not defined.
82038         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
82039         Reported by John David Anglin.
82040
82041 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
82042
82043         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
82044         resolve alias if codeset is empty.
82045         * lib/config.charset (BeOS): Use wildcard syntax.
82046
82047 2001-03-13  Jim Meyering  <meyering@lucent.com>
82048
82049         * lib/path-concat.c (path_concat)
82050         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
82051         concatenating e.g., `C:' and `foo'.
82052         From Bruno Haible.
82053
82054 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
82055
82056         * lib/localcharset.c (locale_charset): Don't use
82057         setlocale(LC_CTYPE,NULL). Don't return NULL.
82058         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
82059
82060 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
82061
82062         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
82063         support for DOS/DJGPP.
82064
82065 2001-03-01  Paul Eggert  <eggert@twinsun.com>
82066
82067         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
82068         lacks mkstemp.  Compile our own tempname.c if we compile our own
82069         mkstemp.c, as mkstemp relies on tempname.
82070
82071 2001-03-01  Jim Meyering  <meyering@lucent.com>
82072
82073         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
82074         AH_VERBATIM really does output its argument verbatim.
82075
82076 2001-02-28  Paul Eggert  <eggert@twinsun.com>
82077
82078         * lib/Makefile.am (libfetish_a_SOURCES):
82079         Add dup-safer.c, fopen-safer.c.
82080         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
82081
82082         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
82083         * lib/unistd-safer.h: New files.
82084
82085 2001-02-25  Paul Eggert  <eggert@twinsun.com>
82086
82087         The mkstemp replacement is taken from glibc 2.2.2, with some
82088         portability fixes for use outside glibc, as follows:
82089
82090         * lib/tempname.c (struct_stat64): New macro.
82091         (direxists, __gen_tempname): Use it.
82092         This avoids a portability problem with Solaris 8.
82093
82094         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
82095         (<stddef.h>, <stdint.h>, <string.h>):
82096         Include only if STDC_HEADERS || _LIBC.
82097         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
82098         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
82099         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
82100         (__set_errno): Define this macro if <errno.h> doesn't.
82101         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
82102         Define these macros if <stdio.h> doesn't.
82103         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
82104         Define these macros if <sys/stat.h>
82105         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
82106         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
82107         __xstat64): Define if not _LIBC.
82108         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
82109         (__gen_tempname): Invoke gettimeofday only if
82110         HAVE_GETTIMEOFDAY || _LIBC;
82111         otherwise, fall back on plain "time".
82112         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
82113
82114         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
82115
82116         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
82117
82118 2001-02-18  Paul Eggert  <eggert@twinsun.com>
82119
82120         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
82121
82122 2001-02-17  Paul Eggert  <eggert@twinsun.com>
82123
82124         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
82125         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
82126         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
82127         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
82128
82129 2001-02-17  Paul Eggert  <eggert@twinsun.com>
82130
82131         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
82132         Remove workaround macros for hosts that have mbrtowc but not
82133         mbstate_t, as we now insist on proper declarations for both
82134         before using mbrtowc.
82135
82136 2001-02-17  Jim Meyering  <meyering@lucent.com>
82137
82138         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
82139         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
82140         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
82141         UnixWare 7.1.1.
82142
82143         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
82144         rather than AC_CACHE_VAL.
82145
82146 2001-02-17  Jim Meyering  <meyering@lucent.com>
82147
82148         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
82149         around included file name.
82150
82151         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
82152
82153         * lib/strftime.c: Update from GNU libc (the only changes were to
82154         comments).
82155
82156 2001-02-17  Jim Meyering  <meyering@lucent.com>
82157
82158         * lib/regex.c: Update from libc.
82159
82160 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
82161
82162         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
82163         clash.
82164
82165 2001-02-16  Paul Eggert  <eggert@twinsun.com>
82166
82167         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
82168         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
82169         Reported by Mark Hounschell via Paul Eggert.
82170
82171 2001-02-07  Jim Meyering  <meyering@lucent.com>
82172
82173         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
82174
82175 2001-02-05  Jim Meyering  <meyering@lucent.com>
82176
82177         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
82178         it includes the patch required for `large file' support with at least
82179         HP-UX's 10.20 /bin/cc.
82180
82181 2001-02-03  Jim Meyering  <meyering@lucent.com>
82182
82183         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
82184         AS_IF, now that it works once again (mysteriously).
82185         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
82186
82187 2001-01-30  Jim Meyering  <meyering@lucent.com>
82188
82189         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
82190         * m4/chown.m4: Rename conftestchown to conftest.chown.
82191         * m4/rename.m4: s/conftestdir/conftest.d1/ and
82192         s/conftestdir2/conftest.d2/.
82193         * m4/utimes.m4: s/conftestdata/conftest.data/
82194         Inspired by Pavel Roskin's change in autoconf.
82195
82196 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
82197
82198         * lib/config.charset: Update for FreeBSD 4.2.
82199
82200 2001-01-27  Jim Meyering  <meyering@lucent.com>
82201
82202         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
82203         a use of AS_IF.
82204         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
82205
82206 2001-01-26  Jim Meyering  <meyering@lucent.com>
82207
82208         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
82209         quotearg.c includes it.
82210
82211 2001-01-26  Jim Meyering  <meyering@lucent.com>
82212
82213         * lib/quotearg.c: Include stddef.h.
82214         * lib/quote.c: Include stddef.h.
82215         Reported by Axel Kittenberger.
82216
82217         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
82218         line in double quotes so that it evokes a better diagnostic.
82219         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
82220         Reported by Axel Kittenberger.
82221
82222 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
82223
82224         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
82225         as if it was a `charset'.
82226
82227 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
82228
82229         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
82230         has const.
82231
82232 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
82233
82234         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
82235         to avoid a warning.  Add back 'const' to inptr.
82236
82237 2001-01-20  Jim Meyering  <meyering@lucent.com>
82238
82239         Be sure that headers are checked before used in code compiled
82240         for the type checks.
82241         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
82242         In place of that, invoke jm_CHECK_ALL_TYPES.
82243         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
82244         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
82245         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
82246         The check for ssize_t was mistakenly run before the test for unistd.h.
82247
82248         The configure-time check for stdbool.h was missing.
82249         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
82250         (jm_PREREQ_HASH): New function.
82251
82252 2001-01-17  Jim Meyering  <meyering@lucent.com>
82253
82254         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
82255         for autoconf-2.49c.
82256         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
82257
82258 2001-01-16  Jim Meyering  <meyering@lucent.com>
82259
82260         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
82261         From Bruno Haible.
82262
82263 2001-01-14  Jim Meyering  <meyering@lucent.com>
82264
82265         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
82266         foo and bar.  Create conftestdir/ in the script, not in the C code.
82267         Remove directories in the script, not in the C code.
82268         Remove conftestdir{,2} before trying to create the directory.
82269         Make the entire configure script fail if the mkdir fails.
82270
82271 2001-01-14  Jim Meyering  <meyering@lucent.com>
82272
82273         * lib/rename.c: New file.  From Volker Borchert.
82274         Include stdlib.h, string.h or strings.h, and xalloc.h.
82275         Use strip_trailing_slashes rather than open-coding it.
82276
82277 2001-01-03  Paul Eggert  <eggert@twinsun.com>
82278
82279         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
82280
82281 2001-01-03  Jim Meyering  <meyering@lucent.com>
82282
82283         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
82284         of local `inptr' to avoid warning with some system declarations of
82285         iconv.
82286
82287 2001-01-02  Volker Borchert  <bt@teknon.de>
82288
82289         * m4/rename.m4: New file.
82290         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
82291
82292 2001-01-01  Jim Meyering  <meyering@lucent.com>
82293
82294         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
82295         even on systems with utmpx.h.  It's necessary for the declaration of
82296         utmp's ut_user member.  Reported by Andreas Jaeger.
82297
82298         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
82299         available. They are required for the declarations of getgrgid and
82300         getpwuid resp.
82301         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
82302         Reported by Andreas Jaeger.
82303
82304 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
82305
82306         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
82307         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
82308         so `make install' also works in VPATH builds.
82309
82310 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
82311
82312         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
82313         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
82314         can be used in subdirectories.
82315
82316 2000-12-29  Paul Eggert  <eggert@twinsun.com>
82317
82318         * lib/modechange.c: Do not assume that mode_t uses the
82319         traditional octal encoding.  E.g. "chmod 1 FOO" should set
82320         the other-execute bit of FOO even if S_IXOTH != 1.
82321
82322         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
82323         WOTH, XOTH, ALLM): New macros.
82324         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
82325          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
82326         Use them.
82327         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
82328         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
82329         (mode_compile):
82330         No need to use uintmax_t; unsigned long is long enough.
82331         Don't bother to get suffix since we don't use it.
82332
82333 2000-12-26  Jim Meyering  <meyering@lucent.com>
82334
82335         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
82336         better with autoheader.
82337
82338 2000-12-24  Jim Meyering  <meyering@lucent.com>
82339
82340         * lib/hash.c (is_prime): Return explicit boolean values.
82341         (hash_get_first): Return NULL to appease Irix5.6's 89.
82342         Reported by Nelson Beebe.
82343
82344 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
82345
82346         * lib/localcharset.c (locale_charset): Add support for Win32.
82347
82348 2000-12-18  Paul Eggert  <eggert@twinsun.com>
82349
82350         * lib/physmem.h, lib/physmem.c: New files.
82351
82352         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
82353         (noinst_HEADERS): Add physmem.h.
82354
82355         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
82356         't' for compatibility with Solaris 8 sort.
82357
82358 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
82359
82360         * lib/config.charset: Add support for BeOS.
82361
82362 2000-12-17  Jim Meyering  <meyering@lucent.com>
82363
82364         * m4/dos.m4 (jm_AC_DOS): New file and macro.
82365         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
82366
82367 2000-12-16  Jim Meyering  <meyering@lucent.com>
82368
82369         This bug had a serious impact on chown: `chown N:M FILE' (for integer
82370         N and M) would have treated it like `chown N:N FILE'.
82371
82372         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
82373
82374 2000-12-16  Jim Meyering  <meyering@lucent.com>
82375
82376         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
82377         SHELLS_FILE to a file name that's useful on djgpp systems.
82378         Include stdlib.h.
82379         (ADDITIONAL_DEFAULT_SHELLS): Define.
82380         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
82381         Based mostly on a patch from Prashant TR.
82382
82383 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
82384
82385         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
82386         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
82387         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
82388
82389 2000-12-08  Andreas Schwab  <schwab@suse.de>
82390
82391         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
82392         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
82393
82394 2000-12-07  Jim Meyering  <meyering@lucent.com>
82395
82396         * lib/stripslash.c (ISSLASH): Define.
82397         (strip_trailing_slashes): Use ISSLASH rather than comparing against
82398         `/'.
82399         From Prashant TR.
82400
82401         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
82402         (dir_name_r): Declare this function as static.
82403         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
82404         manifest itself on a name containing a mix of slashes and
82405         backslashes.
82406         Make this function work with names starting with a DOS-style
82407         drive letter and colon prefix.
82408         (dir_name): Append `.' if necessary.
82409         Based mostly on patches from Prashant TR and Eli Zaretskii.
82410
82411         * lib/dirname.h (dir_name_r): Remove prototype.
82412
82413 2000-12-06  Paul Eggert  <eggert@twinsun.com>
82414
82415         * m4/off_t-format.m4: Remove this file.
82416         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
82417
82418 2000-12-06  Jim Meyering  <meyering@lucent.com>
82419
82420         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
82421         replacement strtoull, we may well need the replacement strtoul, too.
82422         Check for declarations of strtoul and strtoull.
82423         Check for strtol.  Mainly as a cue to cause automake to include
82424         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
82425         Check for limits.h -- strtol.c needs it.
82426
82427 2000-12-05  Jim Meyering  <meyering@lucent.com>
82428
82429         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
82430
82431 2000-12-04  Jim Meyering  <meyering@lucent.com>
82432
82433         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
82434         Also include memory.h, stdlib.h, unistd.h if appropriate.
82435         Reported by Andreas Jaeger (conflicting declaration of malloc).
82436
82437 2000-12-02  Jim Meyering  <meyering@lucent.com>
82438
82439         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
82440         * m4/jm-macros.m4 (jm_MACROS): require it.
82441
82442 2000-12-02  Jim Meyering  <meyering@lucent.com>
82443
82444         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
82445
82446 2000-12-01  Paul Eggert  <eggert@twinsun.com>
82447
82448         * lib/memrchr.c: Include <config.h> before any system include file.
82449
82450 2000-11-30  Jim Meyering  <meyering@lucent.com>
82451
82452         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
82453
82454 2000-11-30  Jim Meyering  <meyering@lucent.com>
82455
82456         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
82457
82458 2000-11-29  Paul Eggert  <eggert@twinsun.com>
82459
82460         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
82461
82462 2000-11-26  Jim Meyering  <meyering@lucent.com>
82463
82464         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
82465
82466 2000-11-22  Paul Eggert  <eggert@twinsun.com>
82467
82468         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
82469         size of (size_t) -1; it's not portable.
82470
82471 2000-11-17  Jim Meyering  <meyering@lucent.com>
82472
82473         * lib/strstr.c: Update from GNU libc.
82474
82475 2000-11-17  Akim Demaille  <akim@epita.fr>
82476
82477         * lib/obstack.h: Formatting changes.
82478         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
82479         prevent type checking.
82480         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
82481         cast the value to (void *): assigning a `foo *' to a `void *'
82482         variable is valid.
82483         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
82484
82485 2000-11-16  Jim Meyering  <meyering@lucent.com>
82486
82487         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
82488
82489 2000-11-11  Jim Meyering  <meyering@lucent.com>
82490
82491         * lib/error.c: Add a couple #includes, merging from GNU libc version.
82492
82493 2000-11-10  Jim Meyering  <meyering@lucent.com>
82494
82495         * lib/obstack.h: Update from GNU libc.
82496         * lib/obstack.c: Likewise.
82497
82498 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
82499
82500         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
82501
82502 2000-11-06  Paul Eggert  <eggert@twinsun.com>
82503
82504         * lib/getusershell.c (setusershell): Use rewind rather than
82505         fseek/fseeko, to avoid configuration hassles with fseeko.
82506         Don't bother opening SHELLS_FILE if shellstream is NULL;
82507         it's not necessary.
82508
82509 2000-11-05  Jim Meyering  <meyering@lucent.com>
82510
82511         * lib/makepath.h (make_dir): Declare.
82512         * lib/makepath.c (make_dir): Remove `static' attribute.
82513         Tweak a comment.
82514
82515 2000-11-04  Jim Meyering  <meyering@lucent.com>
82516
82517         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
82518
82519 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
82520
82521         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
82522         last one in a bucket, advance to the next bucket.
82523
82524 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
82525
82526         * lib/fnmatch.c: Do not comment out all the code if we are using
82527         the GNU C library, because in some cases we are replacing buggy
82528         code in the GNU C library itself.
82529
82530 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
82531
82532         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
82533         (regex_compile): Catch bogus \(\1\).
82534
82535 2000-10-30  Paul Eggert  <eggert@twinsun.com>
82536
82537         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
82538         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
82539         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
82540
82541 2000-10-30  Paul Eggert  <eggert@twinsun.com>
82542
82543         * lib/error.h, getline.h, modechange.h:
82544         Remove "2000" from Copyright line, as the file hasn't been
82545         changed this year other than in the copyright notice.
82546
82547         * lib/xalloc.h: Add "2000" to Copyright line, as this file
82548         was changed this year.
82549
82550 2000-10-29  Jim Meyering  <meyering@lucent.com>
82551
82552         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
82553         renaming.
82554         * m4/ls-mntd-fs.m4: Likewise
82555
82556 2000-10-29  Jim Meyering  <meyering@lucent.com>
82557
82558         * lib/xstat.in: Fix grammar in comment.
82559
82560 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
82561
82562         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
82563         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
82564         doesn't define __restrict_arr.
82565
82566 2000-10-28  Jim Meyering  <meyering@lucent.com>
82567
82568         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
82569         (jm_PREREQ_MEMCHR): New function.
82570
82571 2000-10-28  Jim Meyering  <meyering@lucent.com>
82572
82573         * lib/memchr.c: Update from libc.
82574         Adjust for portability:
82575         [HAVE_STDLIB_H]: Include stdlib.h.
82576         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
82577         Undef __memchr, too.
82578         [!weak_alias]: Define __memchr to memchr.
82579
82580         * lib/regex.c: Update from libc.
82581         * lib/regex.h: Likewise.
82582         * lib/getopt1.c: Likewise.
82583         * lib/memcmp.c: Likewise.
82584
82585         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
82586         Avoid using fseek, when possible -- it's broken by design.
82587         Patch by Ulrich Drepper.
82588
82589 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
82590
82591         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
82592         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
82593         Giving in to popular pressure to shut up the compiler with casts.
82594
82595 2000-10-26  Jim Meyering  <meyering@lucent.com>
82596
82597         * lib/strftime.c: Update from libc.
82598
82599 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
82600
82601         * regex.c: More `unsigned char' -> `re_char' changes.
82602         Also change several `int' into `re_wchar_t'.
82603         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
82604         (PUSH_FAILURE_POINTER): Don't cast any more.
82605         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
82606         We want GCC to complain, since this piece of code makes
82607         re_match non-reentrant, which *should* be fixed.
82608         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
82609         (EXTEND_BUFFER): Use RETALLOC.
82610         (SET_LIST_BIT): Don't cast.
82611         (re_wchar_t): New type.
82612         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
82613         that those two functions will always properly return.
82614         (IMMEDIATE_QUIT_CHECK): Cast to void.
82615         (analyse_first): Use recursion rather than an explicit stack.
82616         (re_compile_fastmap): Can't fail anymore.
82617         (re_search_2): Don't check re_compile_fastmap for failure.
82618         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
82619         Now also sets the new value (passed in a new argument).
82620         (re_match_2_internal): Use it.
82621         Also, use a new var `reg' of type size_t when looping through regs
82622         rather than reuse the inappropriate `mcnt'.
82623
82624 2000-10-25  Jim Meyering  <meyering@lucent.com>
82625
82626         * lib/obstack.c: Update from libc.
82627
82628 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
82629
82630         * regex.c (regex_compile): Change the way of handling a range from
82631         a char less than 256 to a char not less than 256.
82632
82633 2000-10-24  Andrew Innes  <andrewi@gnu.org>
82634
82635         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
82636         NT-Emacs only.
82637         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
82638         so that re_search functions only quit when callers expect them to.
82639
82640 2000-10-23  Jim Meyering  <meyering@lucent.com>
82641
82642         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
82643         wrong.  That set_locale call must not have any side effects.
82644         From Paul Eggert.
82645
82646 2000-10-22  Jim Meyering  <meyering@lucent.com>
82647
82648         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
82649         [CYCLIC]: Remove now-unused definition.
82650
82651         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
82652         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
82653         Suggestion from Ulrich Drepper.
82654
82655 2000-10-21  Jim Meyering  <meyering@lucent.com>
82656
82657         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
82658         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
82659         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
82660
82661 2000-10-21  Jim Meyering  <meyering@lucent.com>
82662
82663         * lib/dirname.c (memrchr): Declare if necessary.
82664         (dir_name): Remove the restriction that there be no
82665         trailing slashes.  Now, this code skips past them, effectively
82666         ignoring them.
82667         [TEST_DIRNAME] (main): New unit tests.
82668
82669         * lib/memrchr.c: New file from GNU libc.
82670         Undef __memrchr, too.
82671         [!weak_alias]: Define __memrchr to memrchr.
82672         Guard weak_alias use with `#ifdef weak_alias'.
82673
82674 2000-10-21  Jim Meyering  <meyering@lucent.com>
82675
82676         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
82677         (dir_name): Use dir_name_r.
82678         * lib/dirname.h (dir_name_r): Declare it.
82679
82680 2000-10-17  Jim Meyering  <meyering@lucent.com>
82681
82682         * lib/quote.h (PARAMS): Define and use.
82683         Reported by Akim Demaille.
82684
82685         * lib/getopt.c: Update from libc.
82686
82687 2000-10-16  Jim Meyering  <meyering@lucent.com>
82688
82689         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
82690         setlocale.
82691         From Jan Fedak.
82692
82693 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
82694
82695         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
82696
82697 2000-09-25  Jim Meyering  <meyering@lucent.com>
82698
82699         * lib/md5.h (rol): Define (from GnuPG).
82700
82701         * lib/sha.c: Give credit (GnuPG) where due.
82702         (M): Use rol rather than open-coding it.
82703         Add a FIXME comment.
82704
82705 2000-09-21  Jim Meyering  <meyering@lucent.com>
82706
82707         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
82708         Reported by Michael Stone.
82709
82710 2000-09-20  Jim Meyering  <meyering@lucent.com>
82711
82712         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
82713         (noinst_HEADERS): Add sha.h.
82714         Based on code from Scott G. Miller and from GnuPG.
82715
82716 2000-09-18  Jim Meyering  <meyering@lucent.com>
82717
82718         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
82719         LIBS. Otherwise, everyone ends up linking with -lelf for some
82720         configurations.
82721         Reported by Mike Stone.
82722
82723 2000-09-15  Jim Meyering  <meyering@lucent.com>
82724
82725         * lib/regex.c: Update from libc.
82726
82727 2000-09-10  Jim Meyering  <meyering@lucent.com>
82728
82729         * lib/getopt.c (_getopt_internal): Update from glibc.
82730
82731 2000-09-09  Jim Meyering  <meyering@lucent.com>
82732
82733         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
82734         think it should be used as a general replacement for isascii.
82735         * lib/fnmatch.c: Likewise.
82736         * lib/mbswidth.c: Likewise
82737         * lib/regex.c: Likewise.
82738
82739         Don't use atoi.
82740         * lib/userspec.c: Include sys/param.h and limits.h.
82741         Include xstrtol.h.
82742         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
82743         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
82744         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
82745         UID, GID.  Check range.
82746
82747 2000-09-06  Jim Meyering  <meyering@lucent.com>
82748
82749         * lib/getopt.c (_getopt_internal): Update from glibc.
82750
82751 2000-08-30  Jim Meyering  <meyering@lucent.com>
82752
82753         * lib/strftime.c: Merge in changes from GNU libc.
82754
82755 2000-08-26  Jim Meyering  <meyering@lucent.com>
82756
82757         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
82758         * m4/fpending.m4: New file.
82759
82760 2000-08-26  Jim Meyering  <meyering@lucent.com>
82761
82762         * lib/closeout.c: Include "__fpending.h".
82763         (close_stdout_status): Return right away if there's nothing to flush.
82764
82765         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
82766         * lib/__fpending.c: New file.
82767         * lib/__fpending.h: New file.
82768
82769 2000-08-20  Jim Meyering  <meyering@lucent.com>
82770
82771         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
82772         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
82773         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
82774
82775 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
82776
82777         Improve fileutils installation on systems where running
82778         programs (like install) can't be unlinked.
82779         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
82780         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
82781
82782 2000-08-07  Paul Eggert  <eggert@twinsun.com>
82783
82784         Standardize on "memory exhausted" instead of "Memory exhausted"
82785         or "virtual memory exhausted".
82786         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
82787         "virtual memory exhausted".
82788         * lib/same.c (same_name): Invoke xalloc_die instead of printing
82789         our own message.
82790         * lib/userspec.c (parse_user_spec): Likewise.
82791         * lib/bumpalloc.h: comment fix
82792         * lib/same.c, userspec.c: Include xalloc.h.
82793
82794         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
82795         not char *const and pointing to a constant array.
82796         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
82797         (xrealloc): Comment fix.
82798
82799         * lib/userspec.c (parse_user_spec):
82800         Don't translate a message until just before returning,
82801         to avoid unnecessary translation.
82802
82803 2000-08-07  Jim Meyering  <meyering@lucent.com>
82804
82805         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
82806         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
82807         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
82808         getgroups.c, gethostname.c, getopt.h, group-member.c,
82809         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
82810         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
82811         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
82812         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
82813         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
82814         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
82815         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
82816         yesno.c: Back out Copyright date changes for each file with no change
82817         this year.  This eases coordination with other programs using the same
82818         source code modules.  From Paul Eggert.
82819
82820 2000-08-06  Paul Eggert  <eggert@twinsun.com>
82821
82822         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
82823         not char, for compatibility with glibc 2.1.3 strftime.c.
82824
82825 2000-08-03  Greg McGary  <greg@mcgary.org>
82826
82827         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
82828         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
82829         (EXTEND_BUFFER): Use them.
82830
82831 2000-08-01  Jim Meyering  <meyering@lucent.com>
82832
82833         * lib/dirname.c (ISSLASH): Define.
82834         (BACKSLASH_IS_PATH_SEPARATOR): Define.
82835         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
82836         both `\' and `/' may be use as path separators.
82837         Based on a patch from Prashant TR.
82838
82839 2000-07-31  Paul Eggert  <eggert@twinsun.com>
82840
82841         * lib/quotearg.c (quotearg_n_options): Don't make the initial
82842         slot vector a constant, since it might get modified.
82843
82844 2000-07-31  Jim Meyering  <meyering@lucent.com>
82845
82846         * lib/xmalloc.c: Use `virtual memory exhausted', not
82847         `Memory exhausted'.
82848         * lib/obstack.c (print_and_abort): Likewise.
82849
82850 2000-07-30  Paul Eggert  <eggert@twinsun.com>
82851
82852         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
82853         buffer, so that the caller can always quote one small
82854         component of a "memory exhausted" message in slot 0.
82855         From a suggestion by Jim Meyering.
82856
82857 2000-07-30  Jim Meyering  <meyering@lucent.com>
82858
82859         * lib/makepath.c (make_path): Quote the other instance, too.
82860
82861         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
82862         (STATIC_BUF_SIZE): Define.
82863         (quotearg_n_options): Use only statically allocated storage when
82864         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
82865         than STATIC_BUF_SIZE.
82866
82867 2000-07-29  Jim Meyering  <meyering@lucent.com>
82868
82869         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
82870         * lib/dirname.c (dir_name): Likewise.
82871
82872         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
82873         `/'.
82874
82875         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
82876         (dir_name): Assert that there are no trailing slashes.
82877
82878 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
82879
82880         * lib/mbswidth.h (mbswidth): Add a flags argument.
82881         (mbswidth): New declaration.
82882         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
82883         * lib/mbswidth.c (mbswidth): Add a flags argument.
82884         (mbsnwidth): New function.
82885
82886 2000-07-24  Jim Meyering  <meyering@lucent.com>
82887
82888         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
82889
82890 2000-07-23  Paul Eggert  <eggert@twinsun.com>
82891
82892         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
82893
82894 2000-07-23  Paul Eggert  <eggert@twinsun.com>
82895
82896         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
82897         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
82898         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
82899         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
82900         invoke multibyte primitives.
82901
82902 2000-07-23  Paul Eggert  <eggert@twinsun.com>
82903
82904         * lib/quotearg.c:
82905         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
82906         so that mbstate_t is always defined.
82907
82908         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
82909         be 1 in at least one GCC installation, and this configuration
82910         error is likely to be common.  Ignoring MB_LEN_MAX hurts
82911         performance on hosts that have mbrtowc but have only unibyte
82912         locales, but I assume these hosts are rare.
82913
82914 2000-07-23  Paul Eggert  <eggert@twinsun.com>
82915
82916         * lib/mbswidth.c (_XOPEN_SOURCE):
82917         Don't define; this causes problems on Solaris 7.
82918         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
82919
82920 2000-07-23  Jim Meyering  <meyering@lucent.com>
82921
82922         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
82923         too: getgrgid, getpwuid, getuid.
82924
82925 2000-07-23  Jim Meyering  <meyering@lucent.com>
82926
82927         * lib/basename.c (base_name): Add an assertion.
82928
82929 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
82930
82931         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
82932         shadow its mbsinit function.
82933
82934 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
82935
82936         * lib/mbswidth.h: New file.
82937         * lib/mbswidth.c: New file.
82938         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
82939         (noinst_HEADERS): Add mbswidth.h.
82940
82941 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
82942
82943         * lib/config.charset: Add support for FreeBSD. Improve support for
82944         HP-UX and IRIX 6.
82945
82946 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
82947
82948         * m4/mbswidth.m4: New file.
82949         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
82950
82951 2000-07-15  Jim Meyering  <meyering@lucent.com>
82952
82953         * lib/makepath.c: Include quote.h.
82954         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
82955         corresponding argument in a `quote (...)' call.
82956         Give better diagnostics.
82957
82958         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
82959         (noinst_HEADERS): Add quote.h.
82960
82961         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
82962         from tar's src/misc.c.
82963         * lib/quote.h: New file.  Prototypes for same.
82964
82965 2000-07-14  Paul Eggert  <eggert@twinsun.com>
82966
82967         From a suggestion by Bruno Haible.
82968         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
82969         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
82970         to decide whether to define the BeOS workaround macro;
82971         this adjusts to the change to AC_MBSTATE_T.
82972
82973 2000-07-14  Jim Meyering  <meyering@lucent.com>
82974
82975         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
82976         jm_AC_TYPE_UINTMAX_T.
82977
82978 2000-07-13  Paul Eggert  <eggert@twinsun.com>
82979
82980         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
82981
82982         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
82983         quotearg_buffer_restyled): Add support for
82984         clocale_quoting_style.  Undo previous change to
82985         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
82986         and "{RIGHT QUOTATION MARK}" msgids.
82987
82988 2000-07-10  Paul Eggert  <eggert@twinsun.com>
82989
82990         From a suggestion by Bruno Haible.
82991         * m4/mbstate_t.m4 (AC_MBSTATE_T):
82992         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
82993         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
82994         and mbstate_t, to a single-part test that simply defines mbstate_t.
82995         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
82996         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
82997
82998 2000-07-10  Jim Meyering  <meyering@lucent.com>
82999
83000         * m4/strerror_r.m4: Mirror the correction made in autoconf.
83001
83002         * m4/gnu-source.m4: Output to confdefs.h directly.
83003         Suggestion from Akim Demaille.
83004
83005 2000-07-09  Paul Eggert  <eggert@twinsun.com>
83006
83007         The old behavior of quoting `like this' doesn't look good with
83008         newer, ISO-style fonts.  See:
83009         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
83010
83011         Instead, quote "like this" by default.  Let the translator
83012         tailor the locale-specific quoting behavior by providing
83013         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
83014
83015         * lib/quotearg.c (N_): New macro.
83016         (gettext_default): New function.
83017         (quotearg_buffer_restyled): Use
83018         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
83019         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
83020
83021 2000-07-09  Jim Meyering  <meyering@lucent.com>
83022
83023         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
83024         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
83025
83026         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
83027         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
83028
83029 2000-07-09  Jim Meyering  <meyering@lucent.com>
83030
83031         * lib/Most files: Update copyright dates to include 2000.
83032
83033 2000-07-08  Jim Meyering  <meyering@lucent.com>
83034
83035         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
83036         if not defined.
83037         (xgethostname): Remove now-unnecessary #ifdef.
83038         Move declaration of `err' into loop where it's used.
83039
83040 2000-07-05  Paul Eggert  <eggert@twinsun.com>
83041         and Bruno Haible  <haible@clisp.cons.org>
83042
83043         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
83044         only if the test for an object-type mbstate_t fails.  This
83045         prevents us from mistakenly reporting that mbstate_t is a
83046         system object type after we "#define mbstate_t int" to work
83047         around its lack.
83048
83049 2000-07-05  Paul Eggert  <eggert@twinsun.com>
83050         and Bruno Haible  <haible@clisp.cons.org>
83051
83052         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
83053
83054 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
83055
83056         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
83057         to strerror_r.
83058         Include <ctype.h> for use of isalpha.
83059
83060 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
83061
83062         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
83063         by allocating a larger buffer. Test the gethostname return value for
83064         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
83065         returns an error and ENAMETOOLONG isn't defined.
83066
83067 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
83068
83069         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
83070         dimension.
83071
83072 2000-07-04  Jim Meyering  <meyering@lucent.com>
83073
83074         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
83075         of the deprecated AC_CHECKING.
83076
83077 2000-07-04  Jim Meyering  <meyering@lucent.com>
83078
83079         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
83080         Reported by Bruno Haible.
83081
83082 2000-07-04  Jim Meyering  <meyering@lucent.com>
83083
83084         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
83085         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
83086         lacks mbrtowc.
83087
83088 2000-07-03  Paul Eggert  <eggert@twinsun.com>
83089
83090         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
83091         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
83092
83093 2000-07-03  Paul Eggert  <eggert@twinsun.com>
83094         and Bruno Haible  <haible@clisp.cons.org>
83095
83096         * lib/quotearg.c (mbrtowc):
83097         Assign to *pwc, and return 1 only if result is nonzero.
83098         (iswprint): Use ISPRINT when substituting our own mbrtowc.
83099
83100 2000-07-03  Jim Meyering  <meyering@lucent.com>
83101
83102         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
83103
83104 2000-07-03  Jim Meyering  <meyering@lucent.com>
83105
83106         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
83107         This is necessary to get a definition of e.g., UTMP_FILE on
83108         HP-UX 10.20.
83109         From Bob Proulx.
83110
83111 2000-07-02  Jim Meyering  <meyering@lucent.com>
83112
83113         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
83114
83115         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
83116         AC_LIBOBJ(function_name).
83117         * m4/chown.m4: Likewise.
83118         * m4/fnmatch.m4: Likewise.
83119         * m4/ftruncate.m4: Likewise.
83120         * m4/getgroups.m4: Likewise.
83121         * m4/getline.m4: Likewise.
83122         * m4/group-member.m4: Likewise.
83123         * m4/jm-macros.m4: Likewise.
83124         * m4/lstat.m4: Likewise.
83125         * m4/malloc.m4: Likewise.
83126         * m4/memcmp.m4: Likewise.
83127         * m4/nanosleep.m4: Likewise.
83128         * m4/putenv.m4: Likewise.
83129         * m4/realloc.m4: Likewise.
83130         * m4/regex.m4: Likewise.
83131         * m4/stat.m4: Likewise.
83132         * m4/strftime.m4: Likewise.
83133
83134 2000-07-02  Jim Meyering  <meyering@lucent.com>
83135
83136         * lib/quotearg.c (mbstate_t): Don't define here.
83137
83138 2000-07-02  Jim Meyering  <meyering@lucent.com>
83139
83140         * lib/nanosleep.c (SIGCONT): Define if not already defined.
83141
83142 2000-07-01  Jim Meyering  <meyering@lucent.com>
83143
83144         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
83145
83146 2000-07-01  Jim Meyering  <meyering@lucent.com>
83147
83148         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
83149         problem.
83150
83151 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
83152
83153         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
83154         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
83155
83156 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
83157
83158         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
83159         per change in ../m4/ls-mntd-fs.m4.
83160         (read_filesystem_list): Ignore symbolic links.
83161
83162 2000-06-29  Jim Meyering  <meyering@lucent.com>
83163
83164         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
83165         for declaration of strcmp.
83166
83167         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
83168
83169         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
83170         Avoid warning by casting result to `char *' to remove `const'.
83171
83172 2000-06-28  Jim Meyering  <meyering@lucent.com>
83173
83174         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
83175         included by quotearg.c, for which we perform this test.  From
83176         Bruno Haible.
83177
83178 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
83179
83180         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
83181         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
83182         <utmpx.h> exists, put readutmp.o into LIBOBJS.
83183
83184 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
83185
83186         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
83187
83188 2000-06-26  Paul Eggert  <eggert@twinsun.com>
83189
83190         savedir now sets errno on failure and invokes xmalloc to get memory.
83191         Fix a couple of other minor bugs while we're at it.
83192
83193         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
83194         (NAMLEN): Remove macro.
83195         (malloc, realloc): Remove decls.
83196         (stpcpy): Likewise.
83197         ("xalloc.h"): Include.
83198         (NAME_SIZE_DEFAULT): New macro.
83199         (savedir): Use xmalloc / xrealloc to allocate memory.
83200         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
83201         Skip "" directory entries.
83202         Use strlen to calculate directory entry length, since the old method
83203         is rarely used these days and isn't worth supporting.
83204         Don't use a pointer after freeing it.
83205         Check for integer overflow when calculating allocation size.
83206         Use memcpy to copy entries, instead of stpcpy.
83207         Set errno properly when returning NULL.
83208         Check for readdir error.
83209
83210 2000-06-26  Jim Meyering  <meyering@lucent.com>
83211
83212         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
83213
83214 2000-06-25  Jim Meyering  <meyering@lucent.com>
83215
83216         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
83217         Linux header bug when _XOPEN_SOURCE is defined to 500.
83218
83219 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
83220
83221         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
83222         deficiency.
83223
83224 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
83225
83226         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
83227         Include xalloc.h.
83228         Don't include <stdlib.h>.  Don't declare malloc, realloc.
83229
83230 2000-06-24  Jim Meyering  <meyering@lucent.com>
83231
83232         * m4/strerror_r.m4: Revive this file -- to try out an experimental
83233         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
83234         for which strerror does return char*, but which lacks a conveniently
83235         accessible declaration of the function.  If the compile-test says
83236         strerror_r doesn't work, then resort to a `run'-test that works on
83237         BeOS and segfaults on DEC Unix.
83238
83239 2000-06-24  Jim Meyering  <meyering@lucent.com>
83240
83241         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
83242
83243 2000-06-23  Paul Eggert  <eggert@twinsun.com>
83244
83245         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
83246         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
83247
83248 2000-06-23  Paul Eggert  <eggert@twinsun.com>
83249
83250         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
83251         (mbrtowc, mbstate_t): Define substitutes if
83252         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
83253         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
83254         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
83255
83256 2000-06-23  Jim Meyering  <meyering@lucent.com>
83257
83258         * m4/afs.m4: Add missing AC_MSG_RESULT.
83259         Reported by Bruno Haible.
83260
83261         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
83262         Suggestion from Bruno Haible.
83263
83264 2000-06-23  Jim Meyering  <meyering@lucent.com>
83265
83266         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
83267
83268 2000-06-21  Jim Meyering  <meyering@lucent.com>
83269
83270         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
83271
83272 2000-06-21  Jim Meyering  <meyering@lucent.com>
83273
83274         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
83275         (noinst_HEADERS): Add getstr.h.
83276
83277         * lib/getline.c (getstr): Move into a separate file.
83278         * lib/getstr.c (getstr): New file, extracted from getline.c, with
83279         the following changes: new parameter, delim2; both delim[12]
83280         parameters have type `int', not `char'.  The latter would lose
83281         with 8-bit delimiters.
83282         * lib/getstr.h: New file.
83283
83284 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
83285
83286         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
83287         than 1024, return a memory chunk of least possible size, instead
83288         of size PATH_MAX + 2. In the loop, increment the size proportionally.
83289         Use free/xmalloc instead of xrealloc to avoid copying for very long
83290         paths.
83291
83292 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
83293
83294         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
83295         the empty string.
83296
83297 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
83298
83299         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
83300         address, not strdup.  Include <stdlib.h> and don't declare free().
83301
83302 2000-06-19  Jim Meyering  <meyering@lucent.com>
83303
83304         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
83305
83306 2000-06-18  Jim Meyering  <meyering@lucent.com>
83307
83308         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
83309
83310         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
83311         `checking whether...' message to be consistent with that of the
83312         lstat test.
83313
83314 2000-06-18  Jim Meyering  <meyering@lucent.com>
83315
83316         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
83317         Besides, these days every porting target provides a mkdir function.
83318
83319         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
83320         needed. (this snippet comes from src/system.h).
83321
83322 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
83323
83324         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
83325
83326 2000-06-15  Paul Eggert  <eggert@twinsun.com>
83327
83328         * lib/human.c (adjust_value): New function.
83329         (human_readable_inexact): Apply rounding style even when
83330         printing approximate values.
83331
83332 2000-06-14  Paul Eggert  <eggert@twinsun.com>
83333
83334         * lib/human.c (human_readable_inexact): Allow an input block
83335         size that is not a multiple of the output block size, and vice versa.
83336         Reported by Piergiorgio Sartor.
83337
83338 2000-06-14  Paul Eggert  <eggert@twinsun.com>
83339
83340         * lib/getdate.y (get_date): Apply relative times after time
83341         zone indicator, not before.  Reported by Todd A. Jacobs.
83342
83343 2000-06-13  Jim Meyering  <meyering@lucent.com>
83344
83345         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
83346
83347         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
83348
83349 2000-06-12  Paul Eggert  <eggert@twinsun.com>
83350
83351         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
83352
83353 2000-06-12  Jim Meyering  <meyering@lucent.com>
83354
83355         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
83356         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
83357         optional argument.
83358         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
83359         the optional argument, `lib'.
83360
83361 2000-06-08  Jim Meyering  <meyering@lucent.com>
83362
83363         * m4/largefile.m4: Remove file (now that it's part of autoconf).
83364
83365 2000-06-04  Paul Eggert  <eggert@twinsun.com>
83366
83367         Rewrite largefile configuration so that we don't need to run
83368         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
83369         AC_CANONICAL_HOST in configure.in -- jmm]
83370
83371         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
83372         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
83373         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
83374         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
83375         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
83376         All uses changed.
83377         Instead of inspecting the output of getconf, try to compile the
83378         test program without and with the macro definition.
83379         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
83380         for getconf.  Instead, check for the needed flags by compiling
83381         test programs.
83382
83383 2000-06-04  Paul Eggert  <eggert@twinsun.com>
83384
83385         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
83386
83387 2000-06-04  Jim Meyering  <meyering@lucent.com>
83388
83389         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
83390         SunOS 4.1.4 for which gid_t is an unsigned type.
83391
83392 2000-06-03  Jim Meyering  <meyering@lucent.com>
83393
83394         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
83395         now that autoconf requires that.
83396
83397         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
83398         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
83399         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
83400
83401 2000-06-03  Jim Meyering  <meyering@lucent.com>
83402
83403         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
83404
83405 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
83406
83407         * m4/glibc21.m4: New file.
83408         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
83409
83410 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
83411
83412         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
83413         newer, don't install charset.alias.
83414         * lib/config.charset: Change the Linux/glibc rules so they become empty
83415         on glibc-2.1 or newer.
83416
83417 2000-06-02  Jim Meyering  <meyering@lucent.com>
83418
83419         * lib/mountlist.c: Back out last change.  Instead, do this...
83420         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
83421         me_dummy member using the same `ignore'-testing code.
83422         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
83423         fs_type strings.
83424         From Mark D. Roth.
83425
83426 2000-05-29  Jim Meyering  <meyering@lucent.com>
83427
83428         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
83429         mounts with the `ignore' attribute.  Based on a patch from
83430         Mark D. Roth.
83431
83432 2000-05-28  Jim Meyering  <meyering@lucent.com>
83433
83434         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
83435         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
83436         * m4/stat.m4: Likewise.
83437         * m4/lstat.m4: Likewise.
83438         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
83439
83440         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
83441         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
83442
83443 2000-05-26  Jim Meyering  <meyering@lucent.com>
83444
83445         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
83446
83447 2000-05-24  Jim Meyering  <meyering@lucent.com>
83448
83449         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
83450         autoconf requires that.
83451         * m4/lib-check.m4: Likewise.
83452         * m4/jm-macros.m4: Likewise.
83453         * m4/strftime.m4: Likewise.
83454
83455         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
83456         AC_CHECK_DECLS, now that autoconf requires that.
83457
83458 2000-05-22  Jim Meyering  <meyering@lucent.com>
83459
83460         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
83461         * m4/lstat.m4: Likewise.
83462
83463 2000-05-22  Jim Meyering  <meyering@lucent.com>
83464
83465         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
83466
83467 2000-05-20  Jim Meyering  <meyering@lucent.com>
83468
83469         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
83470         (jm_PREREQ): Use it.
83471
83472 2000-05-18  Jim Meyering  <meyering@lucent.com>
83473
83474         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
83475         back, too, since it may have been modified by allocate_entry.
83476         (hash_delete): Rewrite to use neither the assignment operator
83477         nor the comma operator in an if-expression.
83478
83479 2000-05-15  Paul Eggert  <eggert@twinsun.com>
83480
83481         * lib/closeout.c:
83482         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
83483         Remove; no longer needed.
83484         "quotearg.h": Add include.
83485         (file_name): Do not bother to explicitly initialize to NULL; it's less
83486         efficient on some hosts.
83487         (close_stdout_status): Remove test as to whether stdout was already
83488         closed; it breaks for the case "echo x | sort >&-".
83489         Quote file name colons.
83490         Do not assume that _("write error") lacks format strings.
83491
83492 2000-05-15  Jim Meyering  <meyering@lucent.com>
83493
83494         * lib/version-etc.c (version_etc_copyright): Update the copyright
83495         string used in all --version output.
83496
83497 2000-05-14  Jim Meyering  <meyering@lucent.com>
83498
83499         * lib/closeout.c (close_stdout_set_file_name): New function.
83500         (close_stdout_status): Use new file-scoped global.
83501         Return right away if fstat says the stdout file descriptor is invalid.
83502         * lib/closeout.h (close_stdout_set_file_name): Declare.
83503
83504 2000-05-10  Jim Meyering  <meyering@lucent.com>
83505
83506         * lib/closeout.c [default_exit_status]: New file-scoped variable.
83507         (close_stdout_set_status): New function.
83508         * lib/closeout.h (close_stdout_set_status): Declare.
83509
83510 2000-05-09  Jim Meyering  <meyering@lucent.com>
83511
83512         * m4/gettext.m4: Rename this...
83513         * m4/libintl.m4: ...to this.
83514
83515 2000-05-08  Jim Meyering  <meyering@lucent.com>
83516
83517         * lib/long-options.c: Don't include closeout.h.
83518         (parse_long_options): Don't call close_stdout for --version.
83519
83520 2000-05-06  Paul Eggert  <eggert@twinsun.com>
83521
83522         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
83523         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
83524         2.1.3 bug.  This avoids a clash when files like regex.c define
83525         _GNU_SOURCE.
83526
83527 2000-05-06  Jim Meyering  <meyering@lucent.com>
83528
83529         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
83530         (AC_REPLACE_FUNCS): Add strnlen.
83531
83532         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
83533         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
83534
83535         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
83536         AC_SEARCH_LIBS call for nanosleep.
83537         (LIB_NANOSLEEP): Set and AC_SUBST.
83538
83539 2000-05-06  Jim Meyering  <meyering@lucent.com>
83540
83541         * lib/strnlen.c: Undefine __strnlen and strnlen.
83542         [!weak_alias]: Define __strnlen to strnlen.
83543
83544         * lib/atexit.c: New file, from libiberty.
83545
83546 2000-05-06  Jim Meyering  <meyering@lucent.com>
83547
83548         * lib/closeout.c (close_stdout_status): Also check for errors on the
83549         stderr stream.
83550
83551 2000-05-05  Jim Meyering  <meyering@lucent.com>
83552
83553         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
83554         AC_SEARCH_LIBS call for clock_gettime.
83555         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
83556
83557         * m4/search-libs.m4: Update from autoconf.
83558
83559         su doesn't work on Solaris 2.6.
83560         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
83561         <shadow.h>.  Reported by Dragos Harabor.
83562
83563 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
83564
83565         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
83566         memcpy instead of xmalloc, xrealloc, path_concat.
83567         (locale_charset): Treat empty environment variables as absent.
83568         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
83569
83570 2000-05-04  Jim Meyering  <meyering@lucent.com>
83571
83572         * lib/getopt.c: Update from glibc.
83573         * lib/obstack.c: Likewise.
83574         * lib/obstack.h: Likewise.
83575         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
83576         file
83577
83578         * lib/regex.h: Likewise.
83579         * lib/strndup.c: Likewise.
83580         * lib/strnlen.c: New file, from glibc.
83581
83582 2000-05-03  Jim Meyering  <meyering@lucent.com>
83583
83584         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
83585
83586 2000-05-02  Paul Eggert  <eggert@twinsun.com>
83587
83588         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
83589         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
83590         compile-time test, rather than inspecting host and OS, to
83591         decide whether to define _LARGEFILE_SOURCE.
83592
83593 2000-05-01  Jim Meyering  <meyering@lucent.com>
83594
83595         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
83596
83597         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
83598         Based on a patch from Bruno Haible.
83599
83600 2000-05-01  Jim Meyering  <meyering@lucent.com>
83601
83602         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
83603
83604 2000-04-29  Jim Meyering  <meyering@lucent.com>
83605
83606         * lib/path-concat.c: Declare strdup only if it's not defined.
83607         * lib/canon-host.c: Likewise.
83608
83609 2000-04-28  Jim Meyering  <meyering@lucent.com>
83610
83611         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
83612         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
83613         is included first, then limits.h is included by locale.h by libintl.h.
83614         From John David Anglin.
83615
83616 2000-04-25  Jim Meyering  <meyering@lucent.com>
83617
83618         * lib/makepath.c (S_IRWXUGO): Define.
83619         (make_path): Always perform explicit chmod if MODE specifies any
83620         of the `special' permission bits.  Prompted by a bug report against
83621         install from Mate Wierdl and Joost van Baal.
83622
83623 2000-04-18  Jim Meyering  <meyering@lucent.com>
83624
83625         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
83626         (jm_PREREQ): Use it.
83627
83628 2000-04-18  Jim Meyering  <meyering@lucent.com>
83629
83630         * lib/README: New file.
83631
83632         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
83633         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
83634
83635 2000-04-17  Jim Meyering  <meyering@lucent.com>
83636
83637         Get it right :-)
83638         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
83639         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
83640         Suggestion from Akim Demaille.
83641
83642 2000-04-17  Jim Meyering  <meyering@lucent.com>
83643
83644         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
83645         the definition of it to rpl_strftime also defined-away the system's
83646         declaration.
83647
83648 2000-04-15  Jim Meyering  <meyering@lucent.com>
83649
83650         Use `C' to denote so-called `contiguous' files, the same way
83651         that tar does.
83652         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
83653         (ftypelet): Use S_ISCTG.
83654         From Michael Deutschmann.
83655
83656 2000-04-14  Jim Meyering  <meyering@lucent.com>
83657
83658         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
83659         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
83660         clobbered.
83661
83662 2000-04-14  Jim Meyering  <meyering@lucent.com>
83663
83664         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
83665
83666 2000-04-13  Jim Meyering  <meyering@lucent.com>
83667
83668         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
83669         AH_VERBATIM to insert required #ifndef into config.h.in.
83670         Suggestion from Akim Demaille.
83671
83672 2000-04-12  Jim Meyering  <meyering@lucent.com>
83673
83674         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
83675         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
83676         Christian Krackowizer.
83677
83678         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
83679         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
83680         (AC_SYS_LARGEFILE): Require.
83681         (AM_C_PROTOTYPES): Require.
83682
83683 2000-04-08  Jim Meyering  <meyering@lucent.com>
83684
83685         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
83686         names don't conflict.  Reported by Eli Zaretskii.
83687
83688 2000-04-07  Jim Meyering  <meyering@lucent.com>
83689
83690         * lib/putenv.c: Move inclusion of errno.h so it follows that of
83691         sys/types.h, to work around system header problems on AIX 3.2.5.
83692         From Bruno Haible.
83693
83694 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
83695
83696         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
83697         bug.  Deal with the different error behavior of Irix iconv.
83698
83699 2000-04-05  Paul Eggert  <eggert@twinsun.com>
83700
83701         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
83702         IRIX if the installer said otherwise.
83703
83704 2000-04-05  Jim Meyering  <meyering@lucent.com>
83705
83706         Portability tweaks required for ultrix4.3.
83707         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
83708         (jm_CHECK_DECLS): Add getutent to the list of functions.
83709         (_jm_DECL_HEADERS): Add utmpx.h.
83710         From John David Anglin.
83711
83712         * m4/strftime.m4: Back out the 2000-04-02 change.
83713         Instead of that change, simply undefine putenv in the test program.
83714
83715 2000-04-05  Jim Meyering  <meyering@lucent.com>
83716
83717         Portability tweaks required for ultrix4.3.
83718         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
83719         getutent.
83720         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
83721         * lib/canon-host.c: Declare strdup.
83722         * lib/path-concat.c: Likewise.
83723         From John David Anglin.
83724
83725 2000-04-04  Jim Meyering  <meyering@lucent.com>
83726
83727         Be more DOS 8.3-friendly.
83728         * lib/ref-add.sin: Renamed from ref-add.sed.in.
83729         * lib/ref-del.sin: Renamed from ref-del.sed.in.
83730         * lib/Makefile.am: Reflect renaming.
83731         Reported by Eli Zaretskii.
83732
83733         Use a temporary file name that won't clash with `charset.alias'
83734         in the DOS 8.3 name space.
83735         * lib/Makefile.am (charset_tmp): Define.
83736         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
83737         (uninstall-local): Likewise.
83738         Reported by Eli Zaretskii.
83739
83740 2000-04-03  Jim Meyering  <meyering@lucent.com>
83741
83742         * m4/gettext.m4: Fix typo in comment.
83743
83744         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
83745         textutils/configure.in).  Suggestion from Paul Eggert.
83746         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
83747
83748 2000-04-02  Paul Eggert  <eggert@twinsun.com>
83749
83750         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
83751         variable in the shell rather than using putenv, which isn't
83752         portable.  This avoids the configure-time inter-test dependency
83753         on the potentially-renamed putenv function.
83754
83755 2000-03-30  Paul Eggert  <eggert@twinsun.com>
83756
83757         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
83758         before checking struct stat.st_blksize, so that
83759         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
83760
83761 2000-03-29  Paul Eggert  <eggert@twinsun.com>
83762
83763         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
83764         since strftime.c uses HAVE_STRFTIME to decide whether to use
83765         the underlying strftime.
83766
83767 2000-03-29  Paul Eggert  <eggert@twinsun.com>
83768
83769         * lib/time/strftime.c (my_strftime): Make sure we call the system
83770         strftime, not ourselves, when invoking the underlying strftime.
83771
83772 2000-03-24  Jim Meyering  <meyering@lucent.com>
83773
83774         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
83775         (charset_alias): Define.
83776         (install-exec-local): Factor out common code.
83777         (uninstall-local): Split lines longer than 80.
83778         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
83779         (SUFFIXES): Define.
83780         (.sed.in.sed): New rule.  Don't redirect directly to $@.
83781         (CLEANFILES): Add ref-add.sed and ref-del.sed.
83782
83783 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
83784
83785         * lib/config.charset: Output a line containing "Packages using this
83786         file".
83787         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
83788         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
83789         ref-del.sed): New rules.
83790
83791 2000-03-17  Jim Meyering  <meyering@lucent.com>
83792
83793         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
83794         Otherwise, include <strings.h>
83795
83796 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
83797
83798         * lib/unicodeio.c (utf8_wctomb): New function.
83799         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
83800         format instead of in UCS-4 with platform dependent endianness.
83801
83802 2000-03-10  Jim Meyering  <meyering@lucent.com>
83803
83804         * m4/lib-check.m4: Look for getspnam in -lgen, too.
83805         From Marco Franzen.
83806
83807 2000-03-07  Paul Eggert  <eggert@twinsun.com>
83808
83809         * lib/savedir.c (savedir): Work even if directory size is
83810         negative; this can happen with some screwy NFS configurations.
83811
83812 2000-03-06  Jim Meyering  <meyering@lucent.com>
83813
83814         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
83815         if it's NULL (because we ran out of memory).  From Bruno Haible.
83816
83817 2000-03-05  Jim Meyering  <meyering@lucent.com>
83818
83819         * lib/localcharset.c ("path-concat.h"): Include.
83820         (get_charset_aliases): Use path_concat instead of ANSI string
83821         concatenation.
83822
83823         * lib/unicodeio.h (PARAMS): Define.
83824         Use it to guard prototype.
83825
83826 2000-03-04  Jim Meyering  <meyering@lucent.com>
83827
83828         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
83829         for lib/localcharset.c.
83830
83831 2000-03-04  Jim Meyering  <meyering@lucent.com>
83832
83833         * lib/Makefile.am (install-exec-local): Create $(libdir) before
83834         installing into it.
83835         (uninstall-local): Uncomment this rule so `make distcheck' works
83836         once again.
83837
83838         * lib/unicodeio.c (<errno.h>): Include it.
83839         (errno): Declare if not defined.
83840
83841         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
83842
83843         * lib/config.charset: New version, incorporating remarks from a linux
83844         i18n mailing list.  From Bruno Haible.
83845
83846 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
83847
83848         * m4/codeset.m4: New file.
83849         * m4/iconv.m4: New file.
83850         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
83851
83852 2000-03-03  Jim Meyering  <meyering@lucent.com>
83853
83854         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
83855
83856 2000-03-02  Jim Meyering  <meyering@lucent.com>
83857
83858         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
83859         the messages come out on separate lines.
83860
83861         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
83862         rather than jm_CHECK_DECLARATIONS.
83863         * m4/decl.m4: Remove now-unused file.
83864
83865         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
83866         geteuid.
83867
83868 2000-03-02  Jim Meyering  <meyering@lucent.com>
83869
83870         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
83871
83872 2000-03-01  Jim Meyering  <meyering@lucent.com>
83873
83874         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
83875         * lib/unicodeio.c: Likewise.
83876
83877 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
83878
83879         * lib/config.charset: New file.
83880         * lib/localcharset.c: New file.
83881         * lib/unicodeio.h, lib/unicodeio.c: New files.
83882         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
83883         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
83884         (noinst_HEADERS): Add unicodeio.h.
83885         (all-local, install-exec-local, charset.alias): New targets.
83886
83887 2000-02-28  Paul Eggert  <eggert@twinsun.com>
83888
83889         * lib/quotearg.c (ALERT_CHAR): New macro.
83890         (quotearg_buffer_restyled): Use it.
83891
83892 2000-02-27  Jim Meyering  <meyering@lucent.com>
83893
83894         * m4/check-decl.m4: Add getenv to the list.
83895
83896 2000-02-27  Jim Meyering  <meyering@lucent.com>
83897
83898         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
83899         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
83900
83901         * lib/backupfile.c: Guard inclusion of stdlib.h with
83902         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
83903         Declare malloc if needed.
83904
83905         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
83906         `#ifndef HAVE_DECL..'
83907         now that autoconf always defines the HAVE_DECL_ symbols.
83908         * lib/human.c: Likewise.
83909         * lib/same.c: Likewise.
83910         * lib/strtoumax.c: Likewise.
83911
83912         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
83913         declaration check was not run.
83914         * lib/hash.c: Likewise.
83915         * lib/human.c: Likewise.
83916         * lib/same.c: Likewise.
83917         * lib/strtoumax.c: Likewise.
83918
83919         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
83920         `.', then first look up the entire `.'-containing string as a login
83921         name.
83922
83923 2000-02-23  Jim Meyering  <meyering@lucent.com>
83924
83925         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
83926         in place of my hack.
83927
83928 2000-02-18  Paul Eggert  <eggert@twinsun.com>
83929
83930         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
83931         (textint): New typedef.
83932         (parser_control): Member year changed from int to textint.
83933         All uses changed.
83934         (YYSTYPE): Removed; replaced by %union with int and textint members.
83935         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
83936         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
83937         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
83938         (tSNUMBER, tUNUMBER): Now of type <textintval>.
83939         (date, number, to_year): Use width of number in digits, not its value,
83940         to determine whether it's a 2-digit year, or a 2-digit time.
83941         (yylex): Store number of digits of numeric tokens.
83942         Reported by John Kendall.
83943
83944         (parser_control): Changed from struct parser_control to typedef (for
83945         consistency).  All uses changed.
83946
83947         (tID): Removed; not used.
83948         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
83949
83950 2000-02-14  Paul Eggert  <eggert@twinsun.com>
83951
83952         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
83953         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
83954
83955 2000-02-12  Jim Meyering  <meyering@lucent.com>
83956
83957         * lib/userspec.c (ISDIGIT): Define it.
83958         (isdigit): Remove definition.
83959         (is_number): Use ISDIGIT, not isdigit.
83960         <libintl.h>: Include.
83961         (_ and N_): Define.
83962         (parse_user_spec): Mark translatable strings.
83963
83964 2000-02-10  Jim Meyering  <meyering@lucent.com>
83965
83966         With these changes, nanosleep.[ch] are finally enough like the other
83967         lib/* replacement files to compile on a few more losing systems.
83968
83969         * lib/nanosleep.h: Don't include config.h.
83970         Remove prototype from declaration of nanosleep.
83971         (PARAMS): Remove now-unneeded definition.
83972         * lib/nanosleep.c: #undef nanosleep.
83973         (rpl_nanosleep): Rename from nanosleep.
83974
83975 2000-02-10  Jim Meyering  <meyering@lucent.com>
83976
83977         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
83978         gnu_nanosleep to rpl_nanosleep.
83979
83980 2000-02-09  Jim Meyering  <meyering@lucent.com>
83981
83982         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
83983         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
83984
83985 2000-02-08  Akim Demaille  <akim@epita.fr>
83986
83987         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
83988         `[' and `]' and remove uses of `changequote'.
83989         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
83990         (AC_SYS_LARGEFILE): Likewise.
83991         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
83992         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
83993         of changequote.
83994         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
83995         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
83996         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
83997         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
83998
83999 2000-02-05  Jim Meyering  <meyering@lucent.com>
84000
84001         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
84002         Remove explicit use of AC_HEADER_TIME.  It is required by
84003         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
84004         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
84005         in autoconf whereby the expansion of the latter ended up preceding
84006         the expansion of its prerequisite, AC_HEADER_TIME.
84007         Reported by Volker Borchert.
84008
84009 2000-02-03  Jim Meyering  <meyering@lucent.com>
84010
84011         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
84012
84013 2000-02-03  Jim Meyering  <meyering@lucent.com>
84014
84015         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
84016         rather than with `#if HAVE_UTMPNAME'.
84017
84018 2000-02-02  Jim Meyering  <meyering@lucent.com>
84019
84020         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
84021         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
84022         Reported by Eli Zaretskii.
84023
84024 2000-02-01  Jim Meyering  <meyering@lucent.com>
84025
84026         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
84027
84028 2000-01-31  Jim Meyering  <meyering@lucent.com>
84029
84030         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
84031         functions.  Add the time.h and sys/time.h headers along with the
84032         AC_REQUIRE'ment of AC_HEADER_TIME.
84033
84034 2000-01-31  Jim Meyering  <meyering@lucent.com>
84035
84036         * lib/nanosleep.h (nanosleep): Guard declaration with
84037         `#if ! HAVE_DECL_NANOSLEEP'.
84038         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
84039         the declaration in that vendor's sys/timers.h.
84040         Reported by Christian Krackowizer.
84041
84042         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
84043         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
84044         (ISPRINT): Likewise.
84045         Reported by Tom Tromey.
84046
84047 2000-01-30  Jim Meyering  <meyering@lucent.com>
84048
84049         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
84050
84051         * m4/prereq.m4 (utmp_includes): Define.
84052         Check for ut_user and ut_name members in both struct utmpx
84053         and struct utmp.
84054
84055 2000-01-30  Jim Meyering  <meyering@lucent.com>
84056
84057         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
84058         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
84059         header files where only utmpx.ut_user is declared.
84060
84061         * lib/readutmp.h (UT_USER): Define.
84062
84063 2000-01-29  Jim Meyering  <meyering@lucent.com>
84064
84065         * m4/lib-check.m4: New file containing library-related checks from
84066         fileutils and sh-utils (textutils had none).
84067
84068 2000-01-28  Jim Meyering  <meyering@lucent.com>
84069
84070         * m4/perl.m4: Change format of warning message to look more like that
84071         from the missing script.  Suggestion from François Pinard.
84072
84073 2000-01-25  Jim Meyering  <meyering@lucent.com>
84074
84075         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
84076         well as time.h in the compile check.
84077         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
84078         Fix typo in cross-compiling case: s/yes/no/.
84079
84080 2000-01-23  Jim Meyering  <meyering@lucent.com>
84081
84082         * m4/jm-macros.m4: Move df-related tests here from
84083         fileutils/configure.in
84084
84085         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
84086         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
84087
84088         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
84089         s/space/ac_fsusage_space/.
84090         (jm_FILE_SYSTEM_USAGE): Take two parameters.
84091
84092         * m4/ftruncate.m4: New file (derived from part of
84093         fileutils/configure.in).
84094         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
84095         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
84096
84097         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
84098         AC_SUBST these here, rather than just in sh-util/configure.in, so
84099         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
84100         all the same.
84101         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
84102         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
84103         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
84104         (AC_SUBST(POW_LIBM)): Likewise.
84105         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
84106
84107 2000-01-23  Jim Meyering  <meyering@lucent.com>
84108
84109         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
84110         obstack.c.
84111
84112 2000-01-22  Jim Meyering  <meyering@lucent.com>
84113
84114         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
84115
84116         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
84117
84118         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
84119         configure.in
84120         (AC_CHECK_HEADERS): Likewise for sh-utils.
84121         (AC_CHECK_HEADERS): Likewise for textutils.
84122         Merge the three lists of headers.
84123
84124         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
84125         from fileutils' configure.in.
84126
84127         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
84128         code. Moved tests into their own function (_jm_DECL_HEADERS) in
84129         check-decl.m4.
84130
84131         * m4/check-decl.m4: Use #if rather than #ifdef.
84132         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
84133         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
84134         (_jm_DECL_HEADERS): Define new function.
84135         (jm_CHECK_DECLARATIONS): Require it.
84136
84137 2000-01-22  Jim Meyering  <meyering@lucent.com>
84138
84139         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
84140         [! HAVE_DECL_STRTOULL]: Declare strtoull.
84141         Required for some AIX systems.  Reported by Christian Krackowizer.
84142         [TESTING] (main): New function.
84143
84144         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
84145         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
84146         letters.
84147
84148         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
84149         iswprint.
84150
84151         * lib/strverscmp.c (ISDIGIT): Define.
84152         (strverscmp): Use ISDIGIT, not isdigit.
84153
84154 2000-01-19  Jim Meyering  <meyering@lucent.com>
84155
84156         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
84157         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
84158         defines `struct timespec' in <sys/time.h>
84159
84160         * m4/c-bs-a.m4: Remove uses of changequote altogether.
84161         Thanks to Akim for explaining.
84162
84163 2000-01-17  Paul Eggert  <eggert@twinsun.com>
84164
84165         * lib/nanosleep.c (nanosleep):
84166         Don't use SA_INTERRUPT to decide whether to call sigaction, as
84167         POSIX.1 doesn't require SA_INTERRUPT and some systems
84168         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
84169         it's been part of POSIX.1 since day 1 (in 1988).
84170
84171 2000-01-17  Jim Meyering  <meyering@lucent.com>
84172
84173         * lib/interlock: Remove unused file.  Reported by François Pinard.
84174
84175 2000-01-16  Paul Eggert  <eggert@twinsun.com>
84176
84177         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
84178         alert, backslash, formfeed, and vertical tab unnecessarily in
84179         shell quoting style.
84180
84181 2000-01-16  Jim Meyering  <meyering@lucent.com>
84182
84183         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
84184         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
84185         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
84186         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
84187
84188 2000-01-16  Jim Meyering  <meyering@lucent.com>
84189
84190         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
84191         because the latter didn't work.
84192
84193 2000-01-15  Jim Meyering  <meyering@lucent.com>
84194
84195         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
84196         (AC_REPLACE_FUNCS): Add memcpy and memset.
84197         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
84198         Add strpbrk.
84199         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
84200
84201 2000-01-12  Jim Meyering  <meyering@lucent.com>
84202
84203         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
84204         (jm_PREREQ): Use it.
84205         (jm_PREREQ_READUTMP): New macro.
84206         (jm_PREREQ): Use it.
84207
84208 2000-01-11  Paul Eggert  <eggert@twinsun.com>
84209
84210         Quote multibyte characters correctly.
84211         * m4/c-bs-a.m4: New file.
84212         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
84213         (jm_PREREQ): Use it.
84214
84215 2000-01-11  Paul Eggert  <eggert@twinsun.com>
84216
84217         * m4/uintmax_t.m4: Port to autoconf 2.13.
84218
84219 2000-01-08  Jim Meyering  <meyering@ascend.com>
84220
84221         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
84222         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
84223
84224 2000-01-04  Jim Meyering  <meyering@ascend.com>
84225
84226         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
84227         jm_STRUCT_DIRENT_D_TYPE.
84228         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
84229         jm_STRUCT_DIRENT_D_INO.
84230         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
84231         jm_STRUCT_UTIMBUF.
84232         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
84233         renamings.
84234         * m4/utime.m4: Likewise.
84235
84236         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
84237         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
84238
84239 2000-01-03  Paul Eggert  <eggert@twinsun.com>
84240
84241         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
84242         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
84243
84244 2000-01-02  Jim Meyering  <meyering@ascend.com>
84245
84246         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
84247         remember if this is necessary.
84248
84249 1999-12-26  Jim Meyering  <meyering@ascend.com>
84250
84251         * m4/jm-macros.m4: Use it here.
84252         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
84253
84254 1999-12-23  Jim Meyering  <meyering@ascend.com>
84255
84256         * m4/jm-macros.m4: Check for clock_gettime (moved from
84257         fileutils/configure.in)
84258         Check for gettimeofday.
84259
84260 1999-12-20  Jim Meyering  <meyering@ascend.com>
84261
84262         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
84263         autoconf-2.14a-1999-12-20.
84264
84265 1999-12-19  Jim Meyering  <meyering@ascend.com>
84266
84267         * m4/lstat-slash.m4: New file.
84268         * m4/jm-macros.m4: Use the new macro:
84269         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
84270
84271 1999-12-07  Jim Meyering  <meyering@ascend.com>
84272
84273         * m4/perl.m4: Require that File::Compare be available, too.
84274         Too many systems seem to lack it.
84275
84276         * m4/strftime.m4: Add checks for most of the cpp macros tested in
84277         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
84278
84279 1999-11-18  Paul Eggert  <eggert@twinsun.com>
84280
84281         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
84282         problem with the QNX 4.25 shell, which doesn't propagate exit
84283         status of failed commands inside shell assignments.
84284
84285 1999-11-17  Jim Meyering  <meyering@ascend.com>
84286
84287         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
84288
84289 1999-11-07  Jim Meyering  <meyering@ascend.com>
84290
84291         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
84292
84293 1999-11-06  Jim Meyering  <meyering@ascend.com>
84294
84295         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
84296         * m4/jm-macros.m4 (jm_MACROS): Use it here.
84297
84298 1999-11-05  Jim Meyering  <meyering@ascend.com>
84299
84300         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
84301         configure.in of textutils, fileutils, and sh-utils into this one
84302         (shared between those packages) file.
84303         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
84304         AC_STRUCT_ST_BLKSIZE.
84305
84306 1999-11-03  Jim Meyering  <meyering@ascend.com>
84307
84308         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
84309         of AC_CHECK_TYPE checks includes unistd.h.
84310         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
84311         Suggestion from Akim Demaille.
84312
84313 1999-10-30  Jim Meyering  <meyering@ascend.com>
84314
84315         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
84316         m4-quoted string.
84317         * m4/ls-mntd-fs.m4: Likewise.
84318         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
84319         * m4/jm-winsz1.m4: Likewise.
84320
84321         * m4/const.m4: Remove file, since the fix made it into the experimental
84322         version of autoconf.
84323         * m4/mktime.m4: Likewise.
84324
84325         * m4/check-type.m4: Remove file, now that the latest version of
84326         AC_CHECK_TYPE takes a third arg to specify additional #includes.
84327
84328         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
84329         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
84330         AC_CHECK_TYPE.
84331
84332 1999-10-04  Jim Meyering  <meyering@ascend.com>
84333
84334         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
84335
84336 1999-09-22  Paul Eggert  <eggert@twinsun.com>
84337
84338         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
84339         2.95.1 bug with HP-UX 10.20.
84340
84341 1999-09-17  Jim Meyering  <meyering@ascend.com>
84342
84343         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
84344         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
84345         due to missing strdup (against sh-utils-2.0).
84346
84347 1999-08-29  Jim Meyering  <meyering@ascend.com>
84348
84349         * m4/jm-macros.m4: Require jm_BISON.
84350         * m4/bison.m4: New file.
84351
84352 1999-08-17  Paul Eggert  <eggert@twinsun.com>
84353
84354         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
84355         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
84356
84357 1999-08-05  Jim Meyering  <meyering@ascend.com>
84358
84359         * m4/getline.m4: Rename test file from conftestdata to conftest.data
84360         to avoid conflicts with `conftest' on 8+3 filesystems.
84361         Suggestion from Eli Zaretskii.
84362
84363 1999-08-04  Jim Meyering  <meyering@ascend.com>
84364
84365         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
84366         fileutils and sh-utils (textutils's getline test was inadequate).
84367         (AM_FUNC_GETLINE): Run this test.
84368         (AC_CHECK_FUNCS): Check for getdelim.
84369         Reported by Bob Proulx.
84370
84371 1999-08-02  Jim Meyering  <meyering@ascend.com>
84372
84373         * m4/jm-macros.m4: Add a comment.
84374
84375 1999-08-01  Paul Eggert  <eggert@twinsun.com>
84376
84377         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
84378         <inttypes.h> defines strtoumax as a macro (and not as a
84379         function).
84380
84381 1999-08-01  Paul Eggert  <eggert@twinsun.com>
84382
84383         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
84384         that we can shift, multiply and divide unsigned long long
84385         values; Ultrix cc can't do it.
84386
84387 1999-08-01  Paul Eggert  <eggert@twinsun.com>
84388
84389         * m4/mktime.m4: New file, which is a preview of what should appear
84390         in the next public autoconf release.
84391
84392 1999-08-01  Paul Eggert  <eggert@twinsun.com>
84393
84394         * m4/lfs.m4: Remove this file.
84395         * m4/largefile.m4: New file.  It contains the old contents of
84396         lfs.m4, except that all names with prefix AC_LFS have been
84397         changed to use the prefix AC_SYS_LARGEFILE instead, to be
84398         compatible with future autoconf versions.  Also, some minor m4
84399         quoting problems have been fixed.
84400
84401 1999-08-01  Paul Eggert  <eggert@twinsun.com>
84402
84403         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
84404         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
84405         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
84406         and simplify the shell code.
84407
84408 1999-08-01  Jim Meyering  <meyering@ascend.com>
84409
84410         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
84411         m4.
84412
84413 1999-07-20  Jim Meyering  <meyering@ascend.com>
84414
84415         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
84416
84417 1999-07-15  Jim Meyering  <meyering@ascend.com>
84418
84419         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
84420
84421 1999-05-22  Jim Meyering  <meyering@ascend.com>
84422
84423         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
84424
84425 1999-05-20  Jim Meyering  <meyering@ascend.com>
84426
84427         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
84428         Add a colon after each `then' in case $4 is empty.
84429
84430 1999-05-16  Jim Meyering  <meyering@ascend.com>
84431
84432         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
84433
84434 1999-05-10  Jim Meyering  <meyering@ascend.com>
84435
84436         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
84437
84438         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
84439         AC_FUNC_MKTIME.
84440
84441 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
84442
84443         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
84444
84445 1999-05-04  Paul Eggert  <eggert@twinsun.com>
84446
84447         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
84448         not CPPFLAGS, so that linking works correctly in IRIX.
84449
84450 1999-04-30  Paul Eggert  <eggert@twinsun.com>
84451
84452         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
84453
84454 1999-04-20  Paul Eggert  <eggert@twinsun.com>
84455
84456         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
84457         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
84458         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
84459         jm_AC_TYPE_UNSIGNED_LONG_LONG.
84460         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
84461
84462         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
84463
84464 1999-04-20  Jim Meyering  <meyering@ascend.com>
84465
84466         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
84467         AC_REPLACE xstroull if necessary.  From Paul Eggert.
84468         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
84469
84470 1999-04-18  Jim Meyering  <meyering@ascend.com>
84471
84472         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
84473         * m4/jm-macros.m4: Use it.
84474
84475 1999-04-06  Jim Meyering  <meyering@ascend.com>
84476
84477         * m4/strftime.m4: Remove test for %f.
84478
84479 1999-03-29  Jim Meyering  <meyering@ascend.com>
84480
84481         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
84482         superset of the AC_TYPE_* checks in the textutils, fileutils,
84483         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
84484         AC_TYPE_PID_T.
84485
84486 1999-03-28  Jim Meyering  <meyering@ascend.com>
84487
84488         * m4/jm-macros.m4: Define GNU_PACKAGE here.
84489         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
84490         replaced e.g., in the *.sh files of the sh-utils.
84491
84492 1999-03-20  Jim Meyering  <meyering@ascend.com>
84493
84494         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
84495         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
84496         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
84497
84498 1999-03-19  Jim Meyering  <meyering@ascend.com>
84499
84500         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
84501
84502 1999-03-12  Jim Meyering  <meyering@ascend.com>
84503
84504         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
84505
84506 1999-03-07  Jim Meyering  <meyering@ascend.com>
84507
84508         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
84509         declared.
84510
84511 1999-02-17  Jim Meyering  <meyering@ascend.com>
84512
84513         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
84514         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
84515
84516 1999-02-07  Jim Meyering  <meyering@ascend.com>
84517
84518         * m4/group-member.m4: New file -- extracted from sh-utils'
84519         configure.in.
84520
84521         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
84522         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
84523
84524 1999-02-06  Jim Meyering  <meyering@ascend.com>
84525
84526         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
84527         * m4/fnmatch.m4: Likewise.
84528         * m4/getgroups.m4: Likewise.
84529         * m4/lstat.m4: Likewise.
84530         * m4/malloc.m4: Likewise.
84531         * m4/putenv.m4: Likewise.
84532         * m4/realloc.m4: Likewise.
84533         * m4/regex.m4: Likewise.
84534         * m4/stat.m4: Likewise.
84535         * m4/strftime.m4: Likewise.
84536         Suggestion from Alain Magloire.
84537
84538         * m4/chown.m4: Use `.$ac_objext', not `.o'.
84539         * m4/fnmatch.m4: Likewise.
84540         * m4/getgroups.m4: Likewise.
84541         * m4/getline.m4: Likewise.
84542         * m4/lstat.m4: Likewise.
84543         * m4/malloc.m4: Likewise.
84544         * m4/memcmp.m4: Likewise.
84545         * m4/putenv.m4: Likewise.
84546         * m4/realloc.m4: Likewise.
84547         * m4/regex.m4: Likewise.
84548         * m4/stat.m4: Likewise.
84549         * m4/strftime.m4: Likewise.
84550         Suggestion from Alain Magloire.
84551
84552         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
84553         an argument.
84554
84555         * m4/regex.m4: Add a run-time Test for proper operation of
84556         re_compile_pattern.
84557
84558 1999-01-31  Jim Meyering  <meyering@ascend.com>
84559
84560         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
84561
84562 1999-01-30  Jim Meyering  <meyering@ascend.com>
84563
84564         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
84565
84566         * m4/jm-mktime.m4: Make this a wrapper around the official
84567         AM_FUNC_MKTIME rather than my private copy, now that the official one
84568         is up to date.
84569         * m4/mktime.m4: Remove file.
84570
84571         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
84572         * m4/uptime.m4: Likewise.
84573         * m4/uintmax_t.m4: Likewise.
84574
84575 1999-01-28  Jim Meyering  <meyering@ascend.com>
84576
84577         * m4/jm-macros.m4: Use jm_AFS.
84578         * m4/afs.m4: New file (from fileutils' configure.in).
84579
84580         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
84581         * m4/chown.m4: Likewise.
84582         * m4/d-ino.m4: Likewise.
84583         * m4/d-type.m4: Likewise.
84584         * m4/fnmatch.m4: Likewise.
84585         * m4/getgroups.m4: Likewise.
84586         * m4/gettext.m4: Likewise.
84587         * m4/jm-mktime.m4: Likewise.
84588         * m4/jm-winsz2.m4: Likewise.
84589         * m4/lcmessage.m4: Likewise.
84590         * m4/ls-mntd-fs.m4: Likewise.
84591         * m4/malloc.m4: Likewise.
84592         * m4/memcmp.m4: Likewise.
84593         * m4/putenv.m4: Likewise.
84594         * m4/realloc.m4: Likewise.
84595         * m4/st_mtim.m4: Likewise.
84596         * m4/strftime.m4: Likewise.
84597
84598 1999-01-16  Jim Meyering  <meyering@ascend.com>
84599
84600         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
84601         (ARGMATCH_DIE_DECL): Define.
84602
84603 1999-01-12  Jim Meyering  <meyering@ascend.com>
84604
84605         * m4/Makefile.am.in: Rewrite to avoid using fmt.
84606         Reported by Lars Hecking.
84607
84608 1999-01-10  Jim Meyering  <meyering@ascend.com>
84609
84610         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
84611         gross kludge.
84612         * m4/inttypes_h.m4: Likewise.
84613         * m4/lstat.m4: Likewise.
84614         * m4/malloc.m4: Likewise.
84615         * m4/readdir.m4: Likewise.
84616         * m4/realloc.m4: Likewise.
84617         * m4/st_dm_mode.m4: Likewise.
84618         * m4/stat.m4: Likewise.
84619         * m4/utimbuf.m4: Likewise.
84620         * m4/utimes.m4: Likewise.
84621
84622         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
84623         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
84624         comments in config.h.in are meaningful.
84625
84626         * m4/jm-macros.m4: Require autoconf-2.13 here.
84627
84628         * m4/regex.m4: By default, don't use the included regex.c on systems
84629         with glibc 2.  Suggestion from Uli Drepper.
84630
84631 1999-01-02  Jim Meyering  <meyering@ascend.com>
84632
84633         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
84634
84635 1998-12-18  Jim Meyering  <meyering@ascend.com>
84636
84637         * m4/Makefile.am.in (Makefile.am): Simplify rule.
84638         Based on a suggestion from Lars Hecking.
84639
84640 1998-11-16  Paul Eggert  <eggert@twinsun.com>
84641
84642         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
84643
84644 1998-11-16  Jim Meyering  <meyering@ascend.com>
84645
84646         * m4/lfs.m4: Double-quote the `uname...` expression.
84647
84648 1998-11-14  Jim Meyering  <meyering@ascend.com>
84649
84650         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
84651         * m4/stat.m4: Likewise.
84652
84653 1998-11-03  Jim Meyering  <meyering@ascend.com>
84654
84655         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
84656         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
84657
84658 1998-10-18  Jim Meyering  <meyering@ascend.com>
84659
84660         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
84661
84662 1998-10-17  Jim Meyering  <meyering@ascend.com>
84663
84664         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
84665         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
84666         calls for those previously hard-coded headers.  Instead, take a new
84667         parameter.
84668         (jm_CHECK_DECLARATIONS): Reflect interface change.
84669         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
84670         (jm_CHECK_DECL_LOCALTIME_R): New macro.
84671
84672         * m4/mktime.m4: Test for spring-forward gap before long-running test.
84673
84674 1998-10-14  Jim Meyering  <meyering@ascend.com>
84675
84676         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
84677         instead of "TZ=America/Vancouver".  From Paul Eggert.
84678
84679 1998-10-11  Jim Meyering  <meyering@ascend.com>
84680
84681         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
84682         This adds a test for a recently added compatibility fix for mktime.c.
84683         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
84684
84685 1998-09-27  Jim Meyering  <meyering@ascend.com>
84686
84687         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
84688
84689         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
84690         ../configure.in, including a change from Gordon Matzigkeit to allow
84691         cross-compiling for the Hurd.
84692
84693         * m4/glibc.m4: New file/macro to test for the GNU C Library
84694         versions 1 and 2.  From Gordon Matzigkeit.
84695         Indent.
84696
84697 1998-09-21  Jim Meyering  <meyering@ascend.com>
84698
84699         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
84700
84701 1998-08-18  Paul Eggert  <eggert@twinsun.com>
84702
84703         Port nanosecond-resolution times to UnixWare 2.1.2 and
84704         pedantic Solaris 2.6.
84705
84706         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
84707         AC_STRUCT_ST_MTIM.
84708         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
84709         Generate name of ns member, instead of just 1 or undef.
84710         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
84711
84712 1998-08-15  Jim Meyering  <meyering@ascend.com>
84713
84714         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
84715         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
84716         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
84717         instead of jm_TYPE_SSIZE_T.
84718
84719 1998-08-12  Jim Meyering  <meyering@ascend.com>
84720
84721         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
84722
84723 1998-08-02  Jim Meyering  <meyering@ascend.com>
84724
84725         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
84726         in acconfig.h manually.
84727
84728 1998-07-31  Paul Eggert  <eggert@twinsun.com>
84729
84730         * m4/st_mtim.m4: New file.
84731
84732 1998-07-28  Jim Meyering  <meyering@ascend.com>
84733
84734         * m4/utimes.m4: Undef stat.
84735
84736 1998-07-25  Jim Meyering  <meyering@ascend.com>
84737
84738         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
84739         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
84740
84741 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
84742
84743         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
84744         uid and gid actually remain unchanged.
84745
84746 1998-07-07  Jim Meyering  <meyering@ascend.com>
84747
84748         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
84749
84750 1998-07-04  Jim Meyering  <meyering@ascend.com>
84751
84752         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
84753         to prove that this macro can be used in packages without regex.c.
84754
84755 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
84756
84757         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
84758         is to be used.
84759
84760 1998-07-03  Jim Meyering  <meyering@ascend.com>
84761
84762         * m4/gettext.m4: Add -lintl if it's found to be necessary.
84763
84764         * m4/gettext.m4: New file -- from gettext-0.10.35.
84765         * m4/lcmessage.m4: Likewise.
84766         * m4/progtest.m4: Likewise.
84767
84768         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
84769         * m4/jm-macros.m4: Require the new macro.
84770
84771 1998-06-29  Jim Meyering  <meyering@ascend.com>
84772
84773         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
84774         for the definition of NGROUPS (used in a system header included
84775         by sys/mount.h).
84776
84777 1998-06-28  Jim Meyering  <meyering@ascend.com>
84778
84779         * m4/ls-mntd-fs.m4: New file.
84780         * m4/fstypename.m4: New file.
84781
84782         * m4/jm-macros.m4: Require the new macro.
84783         * m4/jm-glibc-io.m4: New file.
84784
84785 1998-05-19  Jim Meyering  <meyering@ascend.com>
84786
84787         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
84788         * m4/lchown.m4: New file.
84789
84790         * m4/Makefile.am.in: New file.
84791         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
84792
84793 1998-05-14  Jim Meyering  <meyering@ascend.com>
84794
84795         * m4/Makefile.am (EXTRA_DIST): Add them.
84796         * m4/jm-macros.m4: New file.
84797         * m4/utimbuf.m4: New file.
84798
84799 1998-05-12  Jim Meyering  <meyering@ascend.com>
84800
84801         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
84802
84803 1998-05-11  Jim Meyering  <meyering@ascend.com>
84804
84805         * m4/isc-posix.m4: New file.
84806
84807 1998-05-10  Jim Meyering  <meyering@ascend.com>
84808
84809         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
84810
84811 1998-05-09  Jim Meyering  <meyering@ascend.com>
84812
84813         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
84814         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
84815         with automake.
84816
84817         * m4/ssize_t.m4: New file.
84818         * m4/mktime.m4: Remove file -- the new automake has this now.
84819
84820 1998-04-26  Jim Meyering  <meyering@ascend.com>
84821
84822         * m4/assert.m4: New file.
84823         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
84824
84825 1998-04-05  Jim Meyering  <meyering@ascend.com>
84826
84827         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
84828         (jm_PREREQ): Use it here.
84829
84830 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
84831
84832         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
84833         in acconfig.h.
84834
84835 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
84836
84837         * m4/prereq.m4: New file.
84838         * m4/error.m4: New file.
84839         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
84840
84841 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
84842
84843         * m4/getline.m4: Don't set am_cv_func_working_getline before the
84844         cache-check for the same variable -- that defeated the purpose of
84845         the test; the test program was never run.  This was a problem only
84846         on systems with losing getline functions -- HP-UX 10.20 is one.
84847         Reported by Bjorn Helgaas.
84848
84849 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
84850
84851         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
84852
84853 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
84854
84855         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
84856
84857         * m4/const.m4: New file.  Use an initializer in this declaration
84858         typedef int charset[2]; const charset x;
84859         Reported by Bob Glickstein.
84860
84861 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
84862
84863         * m4/chown.m4: Fix reversed types on -1 args to chown.
84864         From Kaveh Ghazi.
84865
84866 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
84867
84868         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
84869         Add lseek and memchr.
84870
84871         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
84872         T.E.Dickey <dickey@clark.net> said that some older preprocessors
84873         have a 20-character limit on names.
84874
84875 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
84876
84877         * m4/inttypes_h.m4: New file.
84878         * m4/uintmax_t.m4: New file.
84879         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
84880
84881
84882         -----
84883
84884         Local Variables:
84885         coding: utf-8
84886         End:
84887
84888         Copyright (C) 1997-2011 Free Software Foundation, Inc.
84889
84890         Copying and distribution of this file, with or without
84891         modification, are permitted provided the copyright notice
84892         and this notice are preserved.